ディレクトリトラバーサルとは?4つの有効な対策を解説

この記事は約8分で読めます。

ディレクトリトラバーサルとは、ファイルの参照の仕組みを悪用した攻撃のことです。不正にファイルを読み出され、多大な被害が引き起こされる可能性があります。

ここではディレクトリトラバーサルの概要と仕組み、対策について解説します。

また、ディレクトリトラバーサルのようなセキュリティインシデントの発生時に適切な対応を促す「インシデント管理台帳」を無料で配布しています。

ISMS規格にも準拠していますのでどうぞご活用ください。

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

ディレクトリトラバーサルとは、Webサーバーの非公開ファイルにアクセスを行う攻撃手法です。
ディレクトリトラバーサルの呼称は、閲覧可能な公開ファイルが存在するディレクトリから、非公開ファイルのあるディレクトリ階層に「横断する(トラバーサル)」かのように移動して不正にファイルを閲覧することに由来します。

もっと平たくいうと、ディレクトリトラバーサルは一般に利用を許可していないファイルを勝手に呼び出して参照・利用する不正行為です。
典型的なのは相対パスによる親ディレクトリと子階層のファイルの不正な読み出しです。原理的には相対パスの表記法を絶対パスにする「正規化」の仕組みを悪用した攻撃といえます。

絶対パスと相対パス

ディレクトリトラバーサルは、相対パスの表記を絶対パスに変換する「正規化」の仕組みを悪用した攻撃です。この相対パスと絶対パスとは何か、違いを簡単に説明します。

絶対参照

ファイルの「位置を指定して」移動

一般的にファイルは階層構造のフォルダ(ディレクトリ)に格納され、利用する場合は参照元(パス)を入れて呼び出す仕組みになっています。

パスとはWebサイトでいうURLのようなもので、「C:\Users\Public\A.txt」のようにファイルのある場所を直接指定する「絶対パス」を使用することを絶対参照といいます。

相対参照

ファイル名を指定し「今いる場所を起点に」移動

一方、パスの一部を現在参照中の場所との位置関係で表したものが「相対パス」です。

ファイルのある場所を直接明示せず、「.」「..」の代用文字を使ってファイルを参照します。この方法を相対参照といい、現在システムのどこを参照しているかによって表記方法が変化するため「相対」と呼称されます。

ディレクトリトラバーサルの攻撃を受けた場合の影響

では実際にディレクトリトラバーサルの攻撃を受けた場合の影響はどのようなものがあるのでしょうか?詳しく解説していきます。

情報漏洩

ディレクトリトラバーサルにより、通常ではアクセス不能なデータに参照されてしまい情報漏洩やデータ流出の危険性にさらされます。パスワードや個人情報の機密データが窃取されると、ユーザーに被害が波及する可能性があります。

ユーザーはシステムを利用できないばかりか、情報流出による2次被害を受ける恐れもあります。提供サービスの信頼が失われるだけでなく、事業運営にも重大な影響を及ぼしかねません。

アカウントのなりすまし

厳重に管理すべきIDやパスワードの情報を盗み見られれば、不正ログインによる重篤な被害が発生しかねません。管理者アカウントのIDやパスワードを盗まれた場合は、システム自体が乗っ取られてしまう可能性もあるのです。

ユーザーのIDやパスワードが流出すれば、なりすましによる不正利用やさらなる情報漏洩につながる可能性が高まります。

データの改ざん

ディレクトリトラバーサルでシステムデータにアクセスされ、Webページやサービスのデータを改ざんされてしまうこともあります。
誤った情報の発信や、社会通念上不適切な情報の掲載、マルウェアの拡散など、その被害ははかり知れません。信用失墜による顧客離れが起こり、事業基盤すら揺るがしかねないでしょう。

また、システムデータ自体が削除されれば、サービスの停止に追い込まれる恐れもあります。いずれにせよ、事業に多大な悪影響を及ぼすことは必至です。

ディレクトリトラバーサルの脆弱性は多数存在

実際にどのような影響があるのかは理解できたかと思います。ここからは実際にあった被害事例を紹介していきます。

数ある脅威の中でも、ディレクトリトラバーサルについてあまり聞いたことがない方も多いのではないでしょうか。しかし、過去に多数のWebサービスで脆弱性が発見されています。

「サイボウズ Garoon」にディレクトリトラバーサルの脆弱性

サイボウズ社提供のグループウェア「Garoon(ガルーン)」に、米国のNPOが識別設定した「CVE-2018-0673」の脆弱性があることが判明しました。
これはネットワークのセッション処理において、過大なパラメータを送付できるパラメータ検証不備の脆弱性になります。悪用されるとDoS攻撃による運用妨害を受けたり、サーバーのファイルの取得や改ざんの恐れがあるといいます。

サイボウズ社は緊急性をかんがみ、急遽修正パッチを用意し利用者に至急適用するよう呼びかけたとのことです。

「EC-CUBE」にディレクトリトラバーサルの脆弱性

国内で著名なECサイトシステム「EC-CUBE」に「CVE-2020-5590」のディレクトリトラバーサルの脆弱性があることが判明しました。EC-CUBEの管理画面のログイン権限が条件となるものの、同じサーバー内の任意のファイルやディレクトリ(フォルダ)が削除される恐れがあります。

EC-CUBEには各バージョンが存在しますが、開発会社からはEC-CUBE 4系のアップデート、またEC-CUBE 3系には修正パッチが提供されたとのことです。

業務用食洗機のWebサーバーにディレクトリトラバーサルの脆弱性

近年のIoTの広まりにより、ネットワークに接続できる家電がディレクトリトラバーサルの脅威にさらされる事例がみられます。
2017年3月にドイツメーカーの自動食洗機のWebサーバーに「CVE-2017-7240」の脆弱性があることが指摘されました。具体的にはハッシュ化されたパスワードの記録ファイルが外部から取得できる問題が存在するとのことです。

IoTにより、今後ますます多くの商品にネットワーク機能が搭載されることが予想されます。各メーカーも自社製品のネットワークセキュリティに対応する用意が必要です。

ディレクトリトラバーサルの対処法

ディレクトリトラバーサル攻撃が企業の信頼にとってどれだけ大きなものか感じてきた頃でしょう。では実際にどのように対策をしたらよいのでしょうか。

有効な4つの対策について解説していきます。

外部からの値でサーバ内のデータを直接指定しない

独立行政法人のIPAによると、ディレクトリトラバーサルの根本的解決のためには以下の2つが必要だと指摘しています。

  • パラメータの外部入力によるファイル指定機能の実装回避
  • 相対パスが入り込まないファイル参照設定

外部からパラメータとファイル名を指定して、サーバーのファイルにアクセスできる仕様にすると、パラメータが不正なものに改変されて非公開のファイルにアクセス・改ざんされる恐れがあります。
この機能の実装がそもそも必要か、設計段階において検討したいところです。

また、ファイルへのアクセスに際しては固定ディレクトリを指定させ、ファイル名の指定において相対パスが入りこまない設定とすべきです。

攻撃を検知できる仕組みを導入する

ディレクトリトラバーサルの被害を未然に防ぐため、各種攻撃に対する検知システムを導入する手もあります。

そのようなシステムとしてIDS(侵入検知システム)IPS(侵入防止システム)があり、サーバーや外部ネットワークとの通信の監視・検知を行えます。

前者は不正なアクセスを検知・通知し、後者はそれに加えて検知時の通信遮断などの防御策を講ずるものです。この方法はディレクトリトラバーサル以外の脅威にも対応可能で、企業のセキュリティ環境を確保するためにもぜひ取り入れたいものです。

システムの設定で対策する

システムにファイルの参照権限を設定することも、ディレクトリトラバーサルの対策になります。

各アカウントに閲覧可能なファイルの範囲を設定し、限定的にせよ、なりすましによる不正なファイル参照の危険性を抑えることができます。

WAFを導入する

サイトにWebアプリを設置しているなら、WAFを導入しディレクトリトラバーサルに対する一定の防御措置を講ずることもできます。WAF(Web Application Firewall)とはアプリケーションレベルで通信データを解析するWebアプリ専用のファイアウォールで、通常のファイアウォールでは防御不能な脅威に効果的です。

WAFはWebアプリの利用において、通常よくある通信形式とは異なる不審な通信データを検知してブロックに努めます。たとえば、格納されているファイルの特性から、閲覧を想定しないディレクトリを読みだすような、通常では考えられない通信行為からWebアプリを保護します。

まとめ

ディレクトリトラバーサルとは、公開を想定していないファイルに不正アクセスされることです。この攻撃はファイル名を参照する仕組み(相対参照)を悪用したものです。

ディレクトリトラバーサルを受けると、情報の流出や改ざんといった深刻な被害を受ける恐れがあります。被害を受けないためには、システム設計とその設定に留意するだけでなく、各種のセキュリティツールの利用を推奨します。

ディレクトリトラバーサルは古くからあるサイバー攻撃で、未だに被害事例がなくならない脅威の一つです。基本的な防御策をしっかり講じて、Webサイトやサービスの安全な運営に努めましょう。

インシデント発生時に役立つ「インシデント管理台帳」はこちら

情報セキュリティ対策サイバー攻撃対策
タイトルとURLをコピーしました