ここではディレクトリトラバーサルと呼ばれるサイバー攻撃について調査。どのような仕組みで不正アクセスを行うのか、被害事例や発生理由、対策方法などをご紹介します。
サイバー攻撃の手法の一つで、通常はアクセスを許可していない非公開のファイルやディレクトリ情報を取得し不正アクセスを行うことをディレクトリトラバーサルと言います。トラバーサルとは「横断する」という意味で、ディレクトリ階層を移動するようなパスをプログラムに与えることで非公開ファイルを呼び出し、不正処理を行います。
ディレクトリトラバーサルは、相対パスの表記法を絶対パスにする「正規化」の仕組みを悪用した攻撃です。この仕組みを理解するためには、絶対パスと相対パスについて知る必要があります。
ファイルは階層構造のフォルダに格納されているのが一般的です。ファイルを利用する際は、参照元を入れて呼び出します。
その際、ファイルの位置を直接指定するのが絶対パスです。「https://・・・」といったURLが絶対パスと考えると分かりやすいでしょう。
これに対して、今いる場所を起点に移動するのが相対パスの仕組みです。対象のファイルが同一ディレクトリに存在するときは「../ ファイル名」を、対象のファイルが上位のディレクトリに存在するときは「../ ディレクトリ名 / ファイル名」を使用します。階層が上がるごとに「../」を増やす仕組みです。
一般的にOSの機能として、相対パスの指定を正規化してファイル閲覧できるようになっています。この機能を悪用して、「../」を増やしてディレクトリをさかのぼり、非公開のディレクトリやファイルにたどりつくという不正アクセスがディレクトリトラバーサルの仕組みです。
Webアプリなどで外部からファイル名などの指定を受け付けるような状態になっていると、攻撃者は複数のパターンで試行を繰り返すことでディレクトリを横断し、パスワードや個人情報が入ったファイルなどを探り当てます。それにより情報漏洩やアカウントのなりすまし、データの改ざんといった被害を受けることになります。
通常はアクセス不能なデータを参照されることになるため、公開していない情報を取得される可能性があります。企業の機密情報やパスワードなど重要な個人情報、非公開のデータなどがターゲットです。
パスワードや個人情報などが流出すると、ユーザーにまで迷惑がかかります。システムを利用できないだけではなく、流出した情報が悪用され、被害が発生するかもしれません。情報流出が起きると、サービスの信頼が失墜し、事業にもダメージがあるでしょう。
ディレクトリトラバーサル攻撃を受けると、権限が与えられた人しかログインできないはずのシステムが不正ログインされる可能性があります。
不正ログインによって、管理者アカウントのIDやパスワードが盗まれると、気づかないうちにシステム自体を乗っ取られる可能性が高まります。
なりすましによる不正利用などの被害も発生しかねません。不正ログインによって、本人しか見ることができないはずの情報も流出することもあります。
ディレクトリトラバーサル攻撃を受け、運営しているWebページのIDとパスワードが取得されると、Webページへの不正な改ざんが行われるケースもあります。
Webページの不正改ざんは、誤った情報や社会通念上不適切な情報を掲載されたり、マルウェアの拡散をされたりといった内容です。信用を失墜させ、顧客が離れる他、さらなるユーザーの情報漏洩などの二次被害にもつながります。
また、システムデータを削除されてしまうと、サービスの停止に追い込まれるでしょう。事業基盤が崩れてしまいます。
コンピュータソフトウェア著作権協会(ACCS)は2003年11月12日、Webサイトから1184件の個人情報が漏洩したことを発表。第三者から抜き取られた個人情報の添付ファイルとともにサイト内にプログラムのテンプレート表示に脆弱性が存在すると指摘があり発覚。その後、不正アクセスしたとして大学研究員が逮捕されています。
2020年1月三菱電機は第三者による不正アクセスにより約8000人の個人情報が流出した可能性があることを発表しました。原因はウイルス対策システムの修正前の脆弱性を突いた攻撃によるもの。使用していたと考えられるウイルス対策システムの開発元はディレクトリトラバーサルの脆弱性があるためパッチ適用を呼びかけていました。
IPAおよびJPCERT/CCは2018年9月10日にグループウェア「サイボウズ Garoon」にディレクトリトラバーサルの脆弱性(CVE-2018-0673)が存在すると発表しました。悪用されるとサーバ上の任意のファイルの取得や改ざんされる可能性があり、パッチ適用を呼びかけ。幸いにもこの件での攻撃被害の報告はありません。
ディレクトリトラバーサルを防止するには、外部から入力されたパラメータでのファイル参照や対パスでのファイル参照を許可しないなどの対策が必要です。自社システムならこうした対応を徹底すればよいですがベンダー製品は脆弱性が見えにくくなります。
提供する製品に脆弱性が見つかるとベンダーから注意喚起とパッチ適用を促されます。その対応が遅れると攻撃者から不正アクセスを受ける可能性が高くなり、修正前のゼロデイ攻撃により情報漏洩などの被害が出てしまいます。
脆弱性診断(セキュリティ診断)とは?
目的や必要性について詳しく見る
ディレクトリトラバーサルの脆弱性診断は、ファイル名やディレクトリと思われる値を指定しているパラメータを特定することから始まります。パラメータが特定出来たら、相対パス表記でOSの設定ファイルなど、存在していることがわかっているファイルにアプローチしていき、設定ファイルに存在する文字列を検索して判断します。Webアプリケーションの実装によって柔軟な診断が求められるため、脆弱性診断員は専門的な技術を駆使して診断します。
対策はSQLインジェクションと同じです。データベースに送る予め用意されているSQL文の変数箇所を、「プレースホルダ」と言う記号を用いて指定する実装が推奨されています。プレースホルダ部分はただの値として処理されるため、SQL文として特殊な意味を持つ文字列が入力されたとしても無効化され、実行されることがありません。
本サイトの監修者であるアルファネットでは今回解説したディレクトリトラバーサルも含むサイバー攻撃対策アドバイスや社員教育なども行っています。社内のセキュリティレベル向上を考える際は相談することをおすすめします。
当ページの監修協力であるホワイトハッカーが所属する株式会社アルファネット。事務機器用品を中心とするカタログ通販サービス「たのめーる」が有名な大塚商会のグループ企業です。
大塚商会はコンピュータ・ネットワーク関連のシステムインテグレーション事業や、コンピュータ機器の保守、アウトソーシングのサービスも中核にしており、その中でアルファネットはサイバーセキュリティ対策の専門グループ企業として活躍しています。
巨大なデータベース・ネットワークを日々守り続けているのは、ホワイトハッカーの主導による正確な診断と、ツールによる包括的な診断によるもの。大塚商会のグループ企業や顧客を中心に、そのサービスを提供してきました。
またメール訓練など、社員育成の提供にも力を入れています。
ペネトレーションテスト(Webアプリケーション侵入試験)/標的型メール訓練サービス/情報セキュリティ教育/CSIRT構築/クラウド型WAFサービス/セキュリティ診断サービス/ランサムウェア対策調査サービス
データの参照やファイルの改ざん
ディレクトリトラバーサルは、通常ではアクセスできない、データの参照やファイルの改ざん、削除、パスワード情報や個人情報等の機密情報の漏洩の危険性があります。 取得できた機密情報の種類によっては不正なコード実行などにも繋がるため、多大な影響を及ぼす恐れがあります。