サイバー攻撃

ディレクトリトラバーサルとは?わかりやすく仕組みや対策・事例を解説

Written by 伏見みう

エンジニアとしてEVやHEV、産業用設備の研究開発職に従事していた。退職後は北欧デンマークで1年過ごし、現地の風力発電設備などを見学。現在はフリーランスとして活動している。

ディレクトリトラバーサルとは?わかりやすく仕組みや対策・事例を解説

ディレクトリトラバーサル攻撃とは、WEBサイトやアプリケーションにおいて、本来管理者が公開する意思のないファイルや情報に対し、攻撃者が不正にアクセスするサイバー攻撃手法です。

「ディレクトリ」とはファイルを格納する場所のことで、ファイルの格納場所(ディレクトリ)へアクセスするため、場所を指定する方法として「絶対パス」と「相対パス」の2種類があります。このうち「相対パス」」を悪用し、公開を意図していないディレクトリ・ファイルへ不正アクセスする攻撃を「ディレクトリトラバーサル攻撃」といいます。

ディレクトリトラバーサル攻撃をうけると、機密情報の漏洩や、データの改ざんといった被害リスクが想定されます。対策としては「相対パスによるファイルアクセスの無効化」や「Webサイトの脆弱性を診断する」などの方法が有効です。

▼この記事を要約すると

  • ディレクトリトラバーサルとは、非公開のディレクトリに不正な手段でアクセスするサイバー攻撃手法
  • ディレクトリへアクセスするための方法として、ファイルのある場所を直接指定する「絶対パス」と、パスの一部を今いる場所との位置関係で表す「相対パス」の2種類がある。ディレクトリトラバーサルは「相対パス」」を悪用したもの
  • ディレクトリトラバーサル攻撃をうけると、機密情報の漏洩、データの改ざん、アカウントの乗っ取りといった被害リスクが想定される
  • 根本的な解決策としては設計の段階で、外部からパラメータとファイル名を指定してサーバーやWebサイトへのアクセスをできない仕様にすることが有効

【TOP5】Webアプリケーション脆弱性診断で検出数の多い「注意したいポイントTOP5」とは?

現場で頻繁に発見される「特に多いWebアプリの5つのリスク」について、対策も含めて解説します!

資料をダウンロードする

ディレクトリトラバーサル攻撃とは


ディレクトリトラバーサル攻撃とは、アクセスされることを想定していない非公開情報が保存されているディレクトリ(ファイル)に不正な手段でアクセスするサイバー攻撃手法です。

パス・トラバーサル」とも呼ばれています。
パラメータを悪用した、ディレクトリトラバーサル攻撃によるファイル参照のイメージ
出典:IPA|安全なウェブサイトの作り方 – 1.3 パス名パラメータの未チェック/ディレクトリ・トラバーサル

「ディレクトリ」とは、コンピュータで複数のファイル管理を行う際に使用する、フォルダの格納場所を指す言葉です。

例えば以下は「ディレクトリ構造」の例で、「プロジェクトA」というディレクトリの中に「営業資料」「企画資料」といった子ディレクトリが存在しています。

▼プロジェクトAのディレクトリ構成例
PC内ファイル管理におけるディレクトリ楮のイメージ
このディレクトリ構造は、Webサイトやアプリケーションの仕組みとしても採用されています。

また「トラバーサル」とは「横断」を意味する単語です。ディレクトリトラバーサル攻撃とは、攻撃者がディレクトリの場所を指定するパス(住所のようなもの)を横断し、非公開の機密情報が格納されたディレクトリ(ファイル)に、不正アクセスする行為を指します。

ディレクトリトラバーサル攻撃をされると、機密情報の漏洩や勝手にデータを改ざんされるといった被害リスクがあります。アカウントの乗っ取り・なりすましなどの危険性もあり、Webサイトやサービスを運営する企業・組織は、十分に注意しなければなりません。

【詳しく解説】ディレクトリとは


「ディレクトリ」に関して、もう少し詳しく解説を行います。

ディレクトリが活用される例としては、「PCやファイルサーバーのディレクトリ構成」と「WEBサイト上のディレクトリ構成」の2種類が存在します。

まず Windows のエクスプローラーやや macOSのFinder にて「目的ごとにファイルを分けて整理・保存したい」となった場合、活用するのが「ディレクトリ」です。

例えば以下は、PCやファイルサーバーに、「プロジェクトA」というディレクトリを作成し、その中に「営業資料」「企画資料」というサブディレクトリを作成した事例です。営業資料や企画資料の中では、さらなるファイルや文書など「孫ディレクトリ」に該当するものが含まれます。

▼PCやファイルサーバーのディレクトリ構成例
PC内ファイル管理におけるディレクトリ構造のイメージ
次に今回の主テーマとなる「Webサイトのディレクトリ構成」の例を見てみましょう。以下は「○△✕株式会社」という企業Webサイトの、ディレクトリ構成を表した例となります。

TOPがあり、その下に「企業情報」や「製品情報」「問合せ」「ブログ」といったサブディレクトリが存在します。

▼Webサイトのディレクトリ構成例
ウェブサイトにおけるディレクトリ構造のイメージ
このディレクトリ構成のうち、最下部の「コンテンツD(下書き)」というファイルは、企業側が作成したものの、下書き状態で、世間にはまだ公開していないページです。

しかしWebサイトに脆弱性があれば、他の公開中のページから「非公開ページ(コンテンツD)」へ不正アクセスし、閲覧や意図しない公開などができてしまいます。
この攻撃が、今回テーマとなる「ディレクトリトラバーサル攻撃」です。

絶対パスと相対パス


パスとは「経路」を意味する単語で、目的のファイルが保存されているディレクトリへアクセスする道順を表します。Webサイトのアドレスもパスの一種です。

パスは「絶対パス」と「相対パス」の2種類に分けられます。

絶対パス ディレクトリ階層構造の頂点から、目的地の階層までの経路を全て示したパスを表します。頂点から順に、子ディレクトリ、孫ディレクトリと経路をたどって目的のディレクトリへアクセスするので、いつでも同じ文字列のパスが表示されます。

例えば、階層のディレクトリ「product」までの絶対パスは次の通りです。「http://www.ABCsite.com/index/contact/product.html」

ディレクトリの頂点である「http://www」を起点に、閲覧したい階層のディレクトリ「product」までが表示されます。

相対パス 現在作業しているディレクトリを基準に、目的のディレクトリまでの経路を表すのが相対パスです。スタート地点が「現在のディレクトリ」なので目的のディレクトリに行くまでの経路は都度異なるのが特徴です。

例えば、今見ている「contact」ディレクトリから目的の「product」ディレクトリにアクセスする場合は「../contact/product.html」と表示されます。

絶対パスの利点は、階層の頂点からの経路を示すため、複雑な構造のディレクトリで階層を移動した作業をしていても、目的のディレクトリまで混乱せずにパスを表記できることです。

一方、相対パスの利点は下の階層のディレクトリを、別のディレクトリの中に移動させた場合においても、ディレクトリの位置関係が変わらなければ移動前後で同じパスを使えることです。

例えば、「http://www.ABCsite.com/index/contact/product.html」における「contact 以下のディレクトリ」を他サイトに移すと、その絶対パスは「http://www.DEFsite.com/index/contact/product.html」という風に表記されます。

このとき「絶対パス」は表記が変わりますが、contact 以下のディレクトリの相対的な位置は変わらないため、「contact」ディレクトリから、「product」 ディレクトリへアクセスする場合。は「../contact/product.html」。と同じ相対パスを使うことができます

ディレクトリトラバーサルは「相対パス」を用いたサイバー攻撃

本記事のテーマディレクトリトラバーサル攻撃は、前述した「相対パス」を悪用するサイバー攻撃です。

例えば、「http://www.ABCsite.com/index/contact/product/blog.html」という構造のWebサイトがあるとしましょう。

この時、攻撃者が「非公開ブログ」のファイル名を予測し「../blog/20231201memo.html」などの相対パスを記述すれば、該当のページを不正に閲覧できる可能性があります。あるいは「contact」ディレクトリの中に非公開の情報が置かれた「secret」ディレクトリがある場合、下の階層である「product」からの相対パスで「http://www.ABCsite.com/index/contact/product.cgi.file=../secret」と表記すれば、下の階層から上の階層にあるディレクトリにアクセスできてしまいます。

このように、攻撃者から予測されやすいディレクトリ構造やファイル名を用いると、相対パスの仕組みを悪用する攻撃者から、ディレクトリトラバーサル攻撃を受けるリスクがあります。

ディレクトリトラバーサル攻撃を受けると、どんな被害がある?


実際にディレクトリトラバーサル攻撃を受けた場合、どういった被害が発生するのでしょうか?

1.個人・機密情報などの漏洩

ディレクトリトラバーサル攻撃を受けると、本来公開する予定のないディレクトリへアクセスされ、格納した企業の機密情報や顧客情報などが漏洩する恐れがあります。

Webサイトやシステムの情報が漏洩すれば、それら個人情報や企業機密の悪用、顧客からの信頼停止・損害賠償請求による金銭的な被害などが発生するリスクもあるでしょう。

2.Webサイトやファイルデータの改ざん・削除

攻撃者がディレクトリトラバーサルの脆弱性を悪用することで、設定ファイルやデータの改ざん・削除が行われる可能性もあります。

サーバーがクライアントから送られる「データ」と「書き込み先ファイル名」を受け取る際、データを悪意のある内容へ、ファイル名をディレクトリトラバーサルの脆弱性を悪用し任意のファイル名に改ざんすることで、ファイルデータは改ざんできるという仕組みです。

改ざんを許せば、Web上で誤情報や不適切な情報を掲載したり、サイト訪問者がマルウェアに感染する仕様に書き換えられたりと、企業にとって信頼を失う様々なリスクが考えられます。

またデータの削除はシステムダウン、サービス提供の停止に追い込まれる可能性があります。

3.アカウントの乗っ取り、なりすまし

ディレクトリトラバーサルによって閲覧されてしまったファイルの中に、IDやパスワードなどに繋がる情報が含まれていた場合、アカウントの乗っ取りやなりすましなどに利用される可能性があります。

Webサイトの管理者アカウントが乗っ取られれば、上記で紹介したようなWebサイトの改ざん・不正運用・サービス停止などが発生するリスクもあります。

また盗んだアカウント情報は、他サービスの不正アクセスに二次利用されたり、ダークウェブなどで不正売買されたりといった、さらなる被害を生む可能性もあるでしょう。

【TOP5】Webアプリケーション脆弱性診断で検出数の多い「注意したいポイントTOP5」とは?

現場で頻繁に発見される「特に多いWebアプリの5つのリスク」について、対策も含めて解説します!

資料をダウンロードする

大手電機メーカーの「ディレクトリトラバーサル」による不正アクセス被害


国内で実際に発生した「ディレクトリトラバーサル」による、不正アクセスの被害の実例を紹介いたします。

2020年1月、日本の大手電機メーカーがディレクトリトラバーサルを用いた不正アクセスを受け、機密情報の漏洩が疑われるセキュリティ事件が発生しました。攻撃者は企業が運用する、ウイルス対策システムの脆弱性を突いたディレクトリトラバーサル攻撃により、機密情報へ不正にアクセスを行いました。

この不正アクセスは不審なファイル動作を検知したことで発覚し、国内外のコンピュータ、サーバーあわせて、少なくとも数十台以上が不正に侵入された形跡が見つかったとのことです。不正アクセスによって、従業員や採用応募者などの個人情報や、鉄道、通信など複数分野での企業の機密情報が外部流出した可能性が報告されました。

大手電機メーカーでは、以前より「ウイルス対策システムの脆弱性」が問題視されており、「管理者権限」にて攻撃者が、管理コンソールへ不正ログインできてしまう可能性があったとのことです。

このように「ディレクトリトラバーサル攻撃」は、Webサイトやアプリケーションの脆弱性に付け込み、巧妙に仕掛けられます。次項ではディレクトリトラバーサルに効果的な、5つのセキュリティ対策についてご紹介します。

ディレクトリトラバーサル攻撃に有効なセキュリティ対策


ディレクトリトラバーサル攻撃に対して、どのように備えれば良いのでしょうか。

ここでは「根本的な解決策」「保険的な対策」に加え、診断サービスを使う方法について解説します。

1.【根本的な解決策】パラメータの外部入力による、ファイルアクセスを不可に

ディレクトリトラバーサル攻撃は外部入力による相対パスで侵入されてしまうので、これを根本的にできない仕組みにすれば、不正アクセスを防ぐことができます。

つまり、設計の段階で「外部からパラメータとファイル名を指定し、サーバーやウェブサイトへアクセスすること」ができない仕様で、設計を行います。

また相対パスを記述するのに必要な文字列「..」を無効にすることにより、相対ファイルを使ったファイル参照を不可にすることも可能です。これらの対策を施すことで、ディレクトリトラバーサル攻撃の根本的な対策ができます。

2.【保険的な対策】そもそもサーバー上に、非公開情報を置かない

そもそも外部からアクセスできる可能性のあるサーバーやWebサイトに、「社内機密」や「個人情報」などの非公開情報を、なるべく置かないよう心掛けることも対策の1つです。

3.【保険的な対策】Webサーバー内のディレクトリのアクセス権限を最適化する

Webサイトやサーバー内に保管している機密情報など、本来外部からアクセスされることを想定していないファイルへのアクセス権限を正しく管理することも大切です。

閲覧権限を管理者のみに設定するなど、そもそもの設定を正しく行うことで、仮に任意の機密ファイルへアクセスしようとされても、閲覧を拒否することが可能です。

4.【あわせて行うべき対策】プロにWebサイトの脆弱性診断を依頼する

「ディレクトリトラバーサル攻撃の予防策」として効果的なのが、WEBサイトやアプリケーションに潜む脆弱性をプロの診断士が明らかにし、適切な処置をアドバイスする「WEBアプリケーション脆弱性診断」です。

ディレクトリトラバーサル攻撃の原因となるファイル名やディレクトリを指定する「パラメータ」を特定し、根本的な対策に向けてサポートを実施します。

「自社でWEBサイトの脆弱性に対する専門的な対処が難しい」という企業様におすすめです。

ディレクトリトラバーサル対策なら、LANSCOPEプロフェッショナルサービスにお任せください


ディレクトリトラバーサル攻撃をはじめとする「WEBサイトの脆弱性に付け込むサイバー攻撃対策」であれば、過去12,000件以上のサービス提供実績・90%以上のリピート率を誇る「LANSCOPE プロフェッショナルサービス」にお任せください。

当社の「Webアプリケーション脆弱性診断」ではスペシャリストがきめ細かい診断を行い、トラバーサル攻撃の発生要因となる、Webアプリケーションの脆弱性(課題)を暴き、有効な対策をご提案します。

効率的かつ網羅的に、優先順位をつけてWEBサイトの課題に対策できるため、リリース前の確認をはじめ定期的なセキュリティチェックにも最適です。

関連ページ

LANSCOPE プロフェッショナルサービス の「Webアプリケーション脆弱性診断」はこちら

また、診断内容を重要項目に絞り、より低価格でWebアプリケーションの脆弱性診断を受けていただける「セキュリティ健康診断パッケージ」も提供しております。

関連ページ

低コスト・短期で診断を行う『セキュリティ健康診断パッケージ』の詳細はこちら

まとめ


本記事では「ディレクトリトラバーサル攻撃」について、具体的な攻撃内容や被害リスク・知っておきたい対策について解説しました。

▼本記事をまとめると

  • ・ディレクトリトラバーサルとは「ディレクトリ(フォルダ)」を横断し、機密情報が格納されたディレクトリに不正アクセスする、サイバー攻撃の一つ
  • ・ディレクトリとはコンピュータやWebサイトでデータを格納する場所のことで、階層構造になっているのが一般的である
  • ・目的のディレクトリまでアクセスする経路は「絶対パス」「相対パス」で表示され、ディレクトリトラバーサルは「相対パス」を悪用して行われる
  • ・ディレクトリトラバーサル攻撃を受けると、機密情報の漏洩やデータ改ざん、アカウント乗っ取りなどのリスクが発生する
  • ・対策として「外部からパラメータでファイルを直接指定できる実装を行わない」「アクセス権限を正しく設定する」などが効果的。またプロに診断を依頼できる「Web脆弱性診断」も有効

ディレクトリトラバーサル攻撃は古くからある攻撃手法でありながら、未だに被害事例が報告される脅威の1つです。WEBサイトやアプリケーションを運営する企業は、自社はもちろん顧客の情報資産を守るためにも、安全なサイト・サービス作りに努めましょう。

【TOP5】Webアプリケーションの脆弱性診断で検出数の多い「注意したいポイントTOP5」とは?

現場で頻繁に発見される「特に多いWebアプリの5つのリスク」について、対策も含めて解説します!

資料をダウンロードする