ディレクトリトラバーサルとは?想定外のファイルを指定して不正に機密情報を窃取

プログラマとは? エンジニアとは? 様々な種類のエンジニア総ざらい 後編

プログラム内の膨大なデータから必要なデータが入ったファイルを簡単に引き出すことができるWebアプリケーションやサーバは、日常的に大量な処理がおこなわれています。

作業に必要なデータが入ったファイルは、パスを利用して指定しますが、ディレクトリトラバーサル攻撃では悪意のある攻撃者が、想定外のファイルを指定して不正に機密情報を窃取します。

今回はこのディレクトリトラバーサルの概要、仕組み、被害状況から対策までを紹介します。

ディレクトリトラバーサルの概要

ディレクトリトラバーサルとは、不正にWebサーバにアクセスを行い、公開していないファイルにたどり着いて、情報を窃取するサイバー攻撃の手口の総称です。

悪意のある攻撃者が公開しているファイルのディレクトリへの指定に不正な書き換えを行って、非公開ファイルが保管されているディレクトリに移動し、機密情報などが入った公開していないファイルを閲覧します。

ディレクトリトラバーサルの仕組み

ディレクトリトラバーサルの基本となる仕組みは、「相対パス」からファイルを指定する際の不備を利用します。

ファイルを指定する場合は、ファイル自体の位置を直接指定する(絶対パス)を利用するか、ファイル自体の位置を直接指定せずに、現在の場所を起点にファイルを指定する(相対パス)が利用されます。

たとえば、絶対パスでは公開されているファイル(例:kokai)を指定する場合には「/kokai.txt」と指定することでファイルを探し出すことができます。

ディレクトリトラバーサルでは、非公開の機密情報が入ったファイル(例:kimitu)を閲覧するために、相対パスではひとつ上の階層に戻る意味をあらわす「..」といった代用文字を使って「../kimitu.txt」と指定します。

相対パスで指定されると、ファイルの位置を探すために、絶対パスに正規化がおこなわれます。この正規化に不備がある場合、相対パスで「..」を使用すると、本来非公開であるファイル(例:kimitu)にたどり着いて閲覧できてしまうケースが存在します。

ディレクトリトラバーサルの被害

ディレクトリトラバーサルはセキュリティ対策についての知識と経験が不足している場合に発生しやすいサイバー攻撃です。実際に被害を受けてしまうと大きな打撃を被ります。

個人情報・機密情報の流失

ディレクトリトラバーサルによって悪意のある攻撃者に本来非公開のファイルを閲覧され、個人情報や機密情報が流失してしまう事例があります。

企業の保有する個人情報や機密情報が流失した場合、ユーザーが被害を受ける可能性が高く、企業の信頼性が失われます。

システムの乗っ取りやなりすまし

ディレクトリトラバーサルによってIDやパスワードが摂取され、気づかないうちにシステムが乗っ取られてしまう可能性があります。

また、ユーザーのIDやパスワード、メールアドレスなどの個人情報が摂取され、ユーザーになりすました不正なサービス利用やSNS発信がおこなわれることがあります。

Webサイトの改ざん

ディレクトリトラバーサルによって企業が運営しているWebページ運用のためのIDやパスワードが摂取され、Webページへの不正な改ざんなどがおこなわれた事例があります。

事実ではない情報が掲載されたり、Webサイトにあるデータを削除されてしまうことで、Webサイトの運営が困難になる可能性があります。

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

ディレクトリトラバーサルは、攻撃されてしまうと大きな被害を引き起こしますので、対策をしっかりととる必要があります。

ここでは代表的な対策を紹介します。

外部からサーバへファイル名を直接指定する方法を見直す

ディレクトリトラバーサルは、悪意のある攻撃者が外部からサーバ内のファイル名を直接指定できることが前提となって引き起こされます。

外部からサーバへファイル名を直接指定する方法が、絶対に必要なのか見直し、他の方法で対応することができないか検討します。

相対パスが入り込まない設定にする

ディレクトリトラバーサルは、相対パスからファイルを指定する方法から発生します。

ファイルへのアクセスは固定のディレクトリを指定して、相対パスが入り込まないようにします。

アクセス権限の管理強化

Webサーバへのアクセス権限の管理を強化することで、ディレクトリトラバーサルによってWebアプリケーションがディレクトリのファイルを開こうとしても、Webサーバがアクセス拒否をおこなう場合があります。

WAFの導入

WAF(Web Application Firewall)は、サイバー攻撃の防御につかわれるセキュリティシステムのひとつで、ディレクトリトラバーサル攻撃対策にも有効といわれています。

シグネチャとよばれる定義ファイルを使って通信を監視や制御します。

まとめ

今回はこのディレクトリトラバーサルの概要、仕組み、被害状況から対策までを紹介しました。

ディレクトリトラバーサルは、個人情報や機密情報が流失やシステムの乗っ取りやなりすまし、Webサイトの改ざんを引き起こすサイバー攻撃です。概要と仕組みを理解し、最適なセキュリティ対策を実施していきましょう。