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

 2020.05.22  株式会社ジェイピー・セキュア

私たちは日頃からインターネットを通じて、Webアプリケーションやサービスを利用し、その恩恵を受けています。その一方でWebサイトの改ざんや情報漏えいといった事件・事故が後を絶たないという実情もあり、Webサイトの運営者はセキュリティに対する正しい知識が身に付ける必要があります。

本稿では、外部からのアクセスを想定していないサーバー内の任意のファイルを読み出すディレクトリトラバーサルについて解説します。安心・安全なWebサイトを運営するために様々な攻撃手法についての知識を身に付けるようにしましょう。

ディレクトリとは

ディレクトリ(directory)の意味は「住所録」ですが、パソコンやIT用語のようにコンピュータにおいては、簡単に表現するとファイルの入れ物です。LinuxなどのUNIX系のOSを普段から操作している方にとっては、サーバー内のファイルがディレクトリによって整理され、ディレクトリの中にまた別のディレクトリが存在しているなど、階層構造で管理されるディレクトリという言葉に馴染み深いと思います。WindowsやMacなどのパソコンを業務で使用している方も日常的に「共有フォルダの下にある営業部フォルダに見積書のファイルをコピーしました。」のような会話をしているのではないでしょうか。このようにデータを保管し、整理整頓して一覧にするものが「ディレクトリ(フォルダ)」です。

ディレクトリとフォルダは同じような役割を持っていますが、利用シーンによってその呼び名が変わります。日常のパソコンの使用など、GUI(Graphical User Interface)を利用した操作では「フォルダ」、サーバーの運用管理など、文字列によるコマンドで操作するCUI(Character User Interface)では「ディレクトリ」と呼びます。Windowsパソコンにおいてもコマンドプロンプトを起動し、「dir」というコマンドを入力することでディレクトリとファイルの一覧を表示することができます。

cmd

Windowsの普及によってGUIによる操作が当たり前になっているため、普段のパソコン利用ではフォルダの方が馴染み深いかもしれませんが、上の画面のようにディレクトリと表示されていることが分かります。ディレクトリを移動するときは「cd」というコマンドを使用して、下位のディレクトリ(サブディレクトリ)に移動したり、親ディレクトリを示す表記(../等)により上位のディレクトリへ移動することができます。(「cd Users」、「cd ../../content」)

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

ディレクトリトラバーサルは、ディレクトリパスをさかのぼってサーバー上のファイルに不正にアクセスする攻撃です。先ほど、ディレクトリの中に別のディレクトリが存在し、階層構造によってファイルが管理されるという話をしました。Webの利用者である私たちが日頃から利用している検索サービスやオンラインショッピングなどのWebアプリケーションにおいて、パラメータとしてファイル名を扱う場合の実装に問題があると、意図していないファイルにアクセスされ、外部の第三者に重要な情報が漏えいする恐れがあります。パラメータに「../」のような親ディレクトリを示す表記を混入させて、サーバー内の任意のファイルにアクセスする攻撃、またはそのような脆弱性がディレクトリトラバーサルです。

  • 攻撃者によってWebサーバーのファイルを参照されたり、改ざん、削除される

安心・安全なWebサイトを運営するためにも、Webサイトの運営者やアプリケーション開発者は、ディレクトリトラバーサルの脆弱性のないプログラミングを徹底する必要があります。

いかがでしょうか?ディレクトリトラバーサルがどのようなものかを解説しました。以下の記事ではディレクトリトラバーサルについて、開発面での対策のほか、セキュリティ製品を活用した対策を紹介しています。ディレクトリトラバーサルについてより詳しく知りたい方は、ぜひ参考にしてください。

関連記事:WAFによるディレクトリトラバーサル攻撃の防御

信頼の純国産ソフトウェア型WAF SiteGuardシリーズ製品概要

SITEGUARD
ジェイピー・セキュアソフトウェアライセンス価格表

RECENT POST「入門」の最新記事


ディレクトリトラバーサル
SITEGUARD

RANKING人気資料ランキング

RECENT POST 最新記事

ブログ無料購読

RANKING人気記事ランキング

TOPIC トピック一覧