ディレクトリトラバーサル攻撃とは?仕組みや被害例・6つの対策を解説

Webサイトやサーバーには、外部からは本来アクセスできないはずのファイルが多数保存されています。ディレクトリトラバーサル攻撃は、そのセキュリティの盲点をついてシステム内部のファイルに不正アクセスする手法です。情報漏えいやデータ改ざんなど深刻な被害につながるおそれがあるため、仕組みを正しく理解した上で対策を講じることが大切です。
この記事では、攻撃の仕組みや具体的な被害例、実践できる6つの対策を解説します。
目次
ディレクトリトラバーサル攻撃とは?
ディレクトリトラバーサル攻撃とは、Webアプリケーションの脆弱性を悪用し、サーバー上の非公開ファイルに不正アクセスするサイバー攻撃の1種です。「ディレクトリ」はファイルを格納するフォルダのような領域を指し、「トラバーサル(traversal)」は「横断する」「移動する」という意味です。
攻撃者はURLのパラメータなどに「../」(上位ディレクトリへの移動を表す記号)を埋め込むことで、公開が想定されていないパスへ移動します。そして、設定ファイルや認証情報を含むファイルを閲覧・取得しようとします。
適切な入力値の検証が行われていないシステムでは、このような操作が通ってしまうリスクがあります。Webサイト運営者や情報システム担当者にとって注意すべき攻撃手法の1つです。
ディレクトリトラバーサル攻撃の仕組み
ディレクトリトラバーサル攻撃を正しく理解するには、ファイルの場所を示す「パス」の概念を把握しておくとよいでしょう。パスには「絶対パス」と「相対パス」の2種類があり、それぞれの特徴や違いを理解することはセキュリティ対策の基礎となります。
- 絶対パス
- 絶対パスとは、ファイルシステムの最上位(ルートディレクトリ)から目的のファイルまでの経路をすべて記述したパスです。「/var/www/html/index.html」のように、ルートから完全なパスを指定します。記述が一意であるため、どの位置から参照しても同じファイルを指し示す点が特徴です。
- 相対パス
- 相対パスとは、現在いるディレクトリを起点としてファイルの場所を示すパスです。「../」は1つ上のディレクトリへ移動することを意味し、「../../」とすることで2階層上へ移動できます。ディレクトリトラバーサル攻撃では、この相対パスの仕組みが悪用されます。
攻撃者がパラメータに「../../etc/passwd」などと入力することで、公開領域の外にある機密ファイルへのアクセスを試みます。入力値のサニタイジング(無害化)が不十分なシステムでは、このような操作が実行されてしまうことがあります。
ディレクトリトラバーサル攻撃の被害例
ディレクトリトラバーサル攻撃を受けた場合、情報漏えいやデータの改ざん、アカウント乗っ取りなど、深刻な被害につながるおそれがあります。ここでは、代表的な被害のパターンを紹介します。
個人情報や機密データが外部へ流出する
ディレクトリトラバーサルの脆弱性が悪用された場合、最も深刻な被害の1つが個人情報や機密データの外部流出です。サーバー内には、顧客の氏名・住所・メールアドレス、ログイン認証情報、企業の内部資料など、公開を想定していない情報が保存されています。攻撃者が本来アクセス権を持たないディレクトリへ侵入した場合、これらのデータを窃取される危険性があります。
ディレクトリトラバーサルに限らず、脆弱性を悪用したサイバー攻撃による情報漏えい事例として、2020年1月に発覚した三菱電機の情報流出が挙げられます。同社では不正アクセスにより多数の機密情報が外部へ漏えいしたとされており、企業のセキュリティ上の課題が改めて注目されました。
重要なデータやファイルが改ざん・削除される
ディレクトリトラバーサルの脆弱性は、情報を「見る」だけでなく「書き換える」操作にも利用されるおそれがあります。サーバー上の設定ファイルや実行ファイルに書き込み権限が設定されていた場合、攻撃者によってファイルを改ざんされたり、重要なデータを削除されたりするリスクがあります。
Webサイトのファイルが書き換えられると、訪問者へのマルウェア配布やフィッシング誘導に悪用される可能性もあるため、ファイルへのアクセス権限を最小限に絞ることが大切です。
アカウントの不正利用やなりすまし被害につながる
サーバー上に認証情報や設定ファイルが保存されている場合、ディレクトリトラバーサルによってこれらにアクセスされると、アカウントの不正利用につながるリスクがあります。窃取されたIDやパスワードはなりすましログインに悪用され、さらなる情報漏えいや不正操作の起点となり得ます。
セキュリティ関連の事例として、2019年にはトレンドマイクロ製品においてディレクトリトラバーサルの脆弱性が確認されました。悪用された場合に任意ファイル操作や任意コード実行につながるおそれがあるとして、JPCERT/CCが注意喚起を行いました。
出典:一般社団法人JPCERTコーディネーションセンター「ウイルスバスターコーポレートエディションの脆弱性 (CVE-2019-18187) に関する注意喚起」(外部リンク)
ディレクトリトラバーサル攻撃への対策6つ
ディレクトリトラバーサル攻撃を防止するためには、セキュリティのベストプラクティスを踏まえた上で、適切な対策を実施するとよいでしょう。以下では、具体的な対策を6つ紹介します。
パラメータ経由での不正なファイルアクセスを防ぐ
ディレクトリトラバーサル攻撃の主な侵入口となるのが、URLのパラメータです。攻撃者は「../」などの文字列を入力値に含めることで、本来アクセスできないディレクトリへの移動を試みます。ユーザーからの入力値を適切に検証・サニタイズすることが基本的な対策です。
やむを得ずパラメータを使用する場合は、ディレクトリ移動を示す文字列を除去・無効化する処理を実装し、絶対パスへの変換後に許可された範囲内かどうかを検証するとよいでしょう。
Webサーバー内のディレクトリ権限を適切に設定する
サーバー上のディレクトリやファイルへのアクセス権限を最小化することも、重要な対策の1つです。Webアプリケーションが動作するために必要な範囲のみ読み書きを許可し、不要なファイルへのアクセスを禁止する設定を行います。
公開ディレクトリと非公開ディレクトリを明確に分離し、設定ファイルや認証情報を格納したファイルにはWebサーバーのプロセスからアクセスできないよう制限することで、万が一攻撃を受けた場合でも被害の拡大を抑えやすくなります。
サーバー上に非公開情報をできるだけ保存しない
機密情報がそもそも存在しなければ、不正アクセスを受けた場合でも被害を最小限に抑えられます。パスワードや認証トークン、顧客情報などは、Webサーバーの公開領域に近い場所には保存しないことが望ましいでしょう。専用のデータベースサーバーやストレージに分離して保管し、最低限のアクセス経路のみを設ける構成が有効です。
WAFを導入して不正アクセスを検知・遮断する
WAF(Web Application Firewall)は、Webアプリケーションへの不正なリクエストを検知・遮断するセキュリティツールです。ディレクトリトラバーサル攻撃に特有の「../」などのパターンを含むリクエストをリアルタイムで検出し、攻撃を水際で防ぐ効果が期待できます。
アプリケーション側での対策が不完全な場合でも防御の第2の層として機能するため、クラウド型WAFの導入も含めて検討するとよいでしょう。
セキュリティ対策ソフトを活用する
セキュリティ対策ソフトを導入することで、不審な操作やマルウェアの動作をリアルタイムで検知し、インシデントへの対応速度を高められます。あわせて、OSやミドルウェア、Webアプリケーションのセキュリティパッチを常に最新の状態に保つことも欠かせません。
既知の脆弱性が修正されずに放置されると攻撃の標的になりやすくなるため、監視と定期的な更新を組み合わせた運用が大切です。
専門業者にWebサイトの脆弱性診断を依頼する
専門業者による脆弱性診断では、実際の攻撃手法を模した検査によってシステムの弱点を洗い出し、対策が必要な場所を明確にします。社内のエンジニアが気づきにくい設定ミスや実装上の問題点も、専門家の視点から発見できるケースがあります。特にWebサイトのリリース前やシステムの大規模改修後には実施することをおすすめします。
ISOプロでは、セキュリティマネジメントに関する認証支援を提供しているため、組織全体のセキュリティ強化を検討する際はぜひ活用を検討してください。
まとめ
ディレクトリトラバーサル攻撃は、サーバー上の非公開ファイルに不正アクセスするサイバー攻撃であり、情報漏えいやデータの改ざん、アカウントの不正利用といった深刻な被害につながるリスクがあります。
被害を防ぐためには、パラメータの入力値検証やWAFの導入、専門業者による脆弱性診断など、複数の対策を組み合わせることが大切です。自社のWebサイトやシステムのセキュリティを定期的に見直し、攻撃への備えを強化することをおすすめします。
ISOプロでは月額4万円から御社に合わせたISO運用を実施中
ISOプロではISO各種の認証取得から運用まで幅広くサポートしております。
また、マニュアル作成など御社に合わせたムダのない運用を心がけており、既に認証を取得しているお客様においてもご提案しております。
サポート料金においても新プランを用意し、業界最安級の月額4万円からご利用いただけます。

























こんな方に読んでほしい