
「ディレクトリ・トラバーサル」とは、WebサイトやWebアプリケーションの脆弱性を利用して、本来アクセスできないファイルやディレクトリを不正に操作する攻撃です。攻撃者は、パスを操作してシステムのルートディレクトリや重要なファイルにアクセスし、システムの制御を奪ったり、情報を盗み出したりします。
ディレクトリ・トラバーサルの仕組み
ディレクトリ・トラバーサルは、WebサイトやWebアプリケーションのURLに対し、主に相対パス指定を悪用して攻撃する仕組みです。
ディレクトリ・トラバーサルを理解するためには、絶対パスと相対パスの概念を理解しておく必要があります。
絶対パスとは、ファイルシステムの最上位に位置するルートディレクトリから省略せずに記述する方法です。例えば、「/home/user/documents/file.txt」は絶対パスにあたります。
一方、相対パスは、現在のディレクトリを基準にして、相対的にパスを指定する方法です。相対パスでは、1つ上のディレクトリを「../」で表します。例えば、現在「/home/user/」にいるとしましょう。このとき、相対パス「../etc/passwd.txt」を指定すると、1つ上のディレクトリ「/home/」に移動して「/home/etc/passwd.txt」にアクセスすることが可能です。
攻撃者はディレクトリ構造を予測し、URLのパラメータに相対パス指定でファイル名などを入力して、本来アクセスできないはずのファイルに不正アクセスを試みます。適切に対策されていない場合、重要なファイルの閲覧や操作を許してしまう可能性のある恐ろしい攻撃です。
ディレクトリ・トラバーサルの脅威
ディレクトリ・トラバーサルの攻撃を受けると、以下のような脅威にさらされます。
- 機密情報の漏えい:
- 個人情報や企業の内部情報にアクセスされて盗み出される
- サイトやデータの改ざん:
- データを書き換えられて誤った情報が公開される
- システム制御の乗っ取り:
- システムファイルを書き換えられて、システム全体の制御を奪われる
- 管理者アカウントのなりすまし:
- 管理者ID、パスワードの搾取により権限を濫用される
こうした被害に遭うと、顧客や取引先に対する信用が失われ、ビジネスに大きな影響をおよぼす可能性があります。
ディレクトリ・トラバーサルの事例
具体的な事例としては、コンテンツ管理システム(CMS)や文書管理システムなどで、サーバ上の任意のファイル取得または削除の可能性が報告されています。
つまり、ディレクトリ・トラバーサルは、我々が利用するWebサイトやWebアプリケーションに潜む身近な脆弱性なのです。
ディレクトリ・トラバーサルへの対策
ディレクトリ・トラバーサルは、適切な対策を講じることで、その多くを未然に防げます。代表的な対策は以下のとおりです。
- 1. 入力の検証と無効化
- ユーザー入力に含まれる危険な文字列(../など)を受け付けないようフィルタリングする
- 2. 適切なシステム権限設定
- Webアプリケーションからアクセスできるファイルやディレクトリの権限を最小限に制限する
- 3. セキュリティツールの導入
- Webアプリケーションファイアウォール(WAF)などのセキュリティツールを導入する
さらに常に最新のセキュリティ情報にアンテナを張り、脆弱性を未然に防ぐ意識を持つことが大切です。