Webサーバー上の非公開ファイルへ不正にアクセスする攻撃手口として、「ディレクトリトラバーサル」があります。「ディレクトリトラバーサルによって非公開ファイルが盗まれると、情報漏えいなどの被害が起きるかもしれません。この記事では、ディレクトリトラバーサルの手口や対策を詳しく解説します。
ディレクトリトラバーサルとは
ディレクトリトラバーサルとは、企業などの非公開ファイルに不正アクセスし、情報の窃取や改ざんを行うサイバー攻撃です。攻撃者は、一般ユーザーがアクセスできる公開ファイルのディレクトリを悪用します。「公開ファイルが格納されたディレクトリ」から「非公開ファイルが格納されたディレクトリ」へと侵入し、非公開ファイルに辿り着きます。ディレクトリを「横断・縦走(traversal:トラバーサル)」する様子から、ディレクトリトラバーサルと名付けられました。
ディレクトリとは
そもそもディレクトリとは、複数のファイルをまとめたフォルダです。ディレクトリの中にはファイルのほか、子ディレクトリも保管可能です。WebサイトやWebサービスが稼働するWebサーバーは、「ディレクトリ→子ディレクトリ→孫ディレクトリ→…」といった階層構造になっています。
ディレクトリトラバーサルの仕組み|絶対パスと相対パス
ディレクトリトラバーサルの手口は、「パス(path)」を悪用します。パスとは、コンピュータ内にあるディレクトリやファイルの場所を示す文字列です。パスには「絶対パス」と「相対パス」の2種類があります。
絶対パス
絶対パスとは、ディレクトリやファイルが存在する場所を直接記述する方法です。Webサイトを例にすると、以下が絶対パスとなります。
■「ディレクトリB」内にあるファイル「ファイルX」を指定する絶対パス
https://ディレクトリA/ディレクトリB/ファイルX
こうした絶対パスを使い、指定のディレクトリやフォルダに直接移動する方法を「絶対参照」と呼びます。
相対パス
ディレクトリトラバーサルで悪用される手法が、相対パスです。相対パスとは、現在の場所から、目当てのディレクトリやファイルがどの位置にあるのかを表す方法です。相対パスによって移動する方法を「相対参照」と言います。
攻撃者は、公開ファイルから1つ上のディレクトリへさかのぼる「../」を入力し、目当てのディレクトリやファイルを探し出します。たとえば、公開ファイルに「../../ファイル名」と入力すれば、現在の階層から2つ上のディレクトリにあるファイルを閲覧できるわけです。
絶対パスと異なり、相対パスはディレクトリやファイルの正確な場所を記述する必要がありません。ゆえに、攻撃者は正確なディレクトリ名やファイル名を知らなくても、非公開ファイルへとアクセスできてしまいます。
ディレクトリトラバーサル攻撃を受けた際の影響
ディレクトリトラバーサル攻撃の被害に遭った場合、以下3つの影響が生じる可能性があります。
- 情報漏洩・個人情報流出
- ファイルの改ざん
- アカウントやシステムの不正アクセス
それぞれ具体的な内容を見ていきましょう。
1.情報漏洩・個人情報流出
非公開ファイルへアクセスされると、無関係な第三者に自社の機密情報が知られてしまいます。顧客の個人情報が漏えいすれば、自社だけでなくユーザー1人ひとりにも及ぶでしょう。また、自社の独自技術といった重要データが流出する恐れもあります。いずれにせよ自社の信頼が失われるため、事業の存続にも悪影響が生じるでしょう。
2.ファイルの改ざん
ディレクトリトラバーサルの被害として、非公開ファイルの内容が改ざんされるパターンも考えられます。あるいは、重要な機密情報が破壊され、事業に大きなダメージを受けるかもしれません。また、Webサイトの内容を不正に変更し、マルウェアを埋め込むケースもあります。Webサイトの訪問者に被害が発生するため、自社の信用が大きく低下します。
3.アカウントやシステムの不正アクセス
IDやパスワードなどのログイン情報が盗まれた場合、アカウントに不正アクセスされるかもしれません。たとえば、社員のアカウントが乗っ取られると、社内システムに侵入されて重要情報を盗み見られる可能性があります。
ディレクトリトラバーサル攻撃の被害事例
ディレクトリトラバーサル攻撃による被害として、以下5つの事例を紹介します。
- サイボウズ「Garoon」の事例
- Apache Tomcatの事例
- muhttpdの事例
- EC-CUBEの事例
- ウイルスバスター コーポレートエディションの事例
1つずつ解説します。
1.サイボウズ「Garoon」の事例
2018年、サイボウズのグループウェア「Garoon」の脆弱性が発見されました。セッション情報の処理にディレクトリトラバーサルの脆弱性があり、DDoS攻撃やファイル改ざんにつながる可能性があります。サイボウズ社はパッチプログラムを配布し、脆弱性を修正しました。
2.Apache Tomcatの事例
「Apache Tomcat」とは、Javaで構築したWebアプリケーションを実行するソフトウェアです。2008年にディレクトリトラバーサルの脆弱性が見つかり、後日修正されました。
3.muhttpdの事例
「muhttpd」とは、ホームルーターなどの製品に利用されているWebサーバーです。2022年、muhttpdにディレクトリトラバーサルの脆弱性と対応策が公表されました。muhttpdを採用した機器のパスワードやSSIDが不正に読み取られる可能性があったようです。
4.EC-CUBEの事例
2022年、ECサイト構築システム「EC-CUBE」に、ディレクトリトラバーサルの脆弱性が発見されました。脆弱性の危険度は低いものの、悪用されると同一サーバー内のディレクトリやファイルが削除される恐れがありました。後日、修正ファイルが配布されています。
5.ウイルスバスター コーポレートエディションの事例
「ウイルスバスター コーポレートエディション」とは、トレンドマイクロ社の企業向けエンドポイントセキュリティ製品です。2019年にディレクトリトラバーサルの脆弱性が見つかり、すでに当該の脆弱性を突いた攻撃も確認されました。トレンドマイクロ社は後日、修正パッチを配布しています。
ディレクトリトラバーサル攻撃の対策方法
ディレクトリトラバーサル攻撃に遭うと、情報漏えいやデータ改ざんといった被害が生じます。被害を未然に防ぐためには、以下の対策を実施しましょう。
- IPAの対策を徹底する
- ファイルへのアクセス権限を設定する
- IDS / IPSで不正アクセスを検知する
- WAFを導入する
順番に説明します。
1.IPAの対策を徹底する
IPA(情報処理推進機構)は、ディレクトリトラバーサル攻撃の根本的な解決策を2つ明示しています。
- 外部からのパラメータ入力によるファイル指定を拒否する
- 固定ディレクトリによるファイル参照を設定する
外部からのパラメータ入力によってファイルを参照できる仕様は、危険度が高いと言えます。攻撃者によりパラメータが変更され、非公開ファイルに直接アクセスされてしまうためです。また、ファイルの参照時は固定ディレクトリの指定を必須とし、相対パスによる参照を防ぎましょう。
参照安全なウェブサイトの作り方 – 1.3 パス名パラメータの未チェック/ディレクトリ・トラバーサル/IPA
2.ファイルへのアクセス権限を設定する
ファイルへのアクセス権限の設定も効果的です。万一、ディレクトリトラバーサルによって攻撃者がファイルに辿り着いたとしても、権限がなければ閲覧できません。アカウントごとに閲覧できるファイルの範囲を決め、アクセス権限を設定しましょう。
3.IDS / IPSで不正アクセスを検知する
「IDS」や「IPS」を導入すると、Webサーバーとインターネットの境界を常時監視できます。IDSは不正侵入を検知し、IPSは不正進入の検知と遮断を行います。IDSやIPSがあれば、ディレクトリトラバーサルを使った第三者による侵入の検知および遮断が可能です。
4.WAFを導入する
WAFとは、Webアプリケーションをサイバー攻撃から保護するシステムです。Webサーバーの手前に設置し、インターネットを経由したさまざまな攻撃を防ぎます。Webアプリケーションに特化したファイアウォールであり、ディレクトリトラバーサルを含む不審な通信を遮断します。
ディレクトリトラバーサル攻撃を受けた!対処方法は?
ディレクトリトラバーサル攻撃が疑われる被害が起きたら、どのように対処するべきなのでしょうか。
被害の種類ごとの初期対応
ディレクトリトラバーサル攻撃による被害内容によって、以下のように初期対応は異なります。
- 不正アクセス:ネットワーク遮断、パスワード変更
- 情報漏えい:ネットワーク遮断、情報隔離
- データ改ざん:Webサイトの一時利用停止
上記はあくまで応急措置ですので、被害発生から対応終了までの詳しい流れは、IPAによる以下のサイトをご覧ください。
ディレクトリトラバーサル攻撃対策も行う
被害対応を終えたら、「ディレクトリトラバーサル攻撃の対策方法」で紹介した事後対策を実施しましょう。ディレクトリトラバーサル攻撃を阻止できる体制にすることで、再発防止が見込めます。WAFやIDS / IPS導入のほか、外部パラメータ入力の拒否といった根本的な対策から取り組んでみてください。
まとめ
ディレクトリトラバーサルとは、非公開ファイルに不正アクセスして情報を盗んだり改ざんしたりする攻撃手法です。攻撃者は相対パスを利用し、公開ファイルの位置から非公開ファイルを見つけ出します。WAF導入や外部からのパラメータ入力拒否などの対策を行い、ディレクトリトラバーサルによる被害を未然に防ぎましょう。