公開日:2007年6月28日
独立行政法人情報処理推進機構
セキュリティセンター
本ページの情報は2007年6月時点のものです。
記載の資料は資料公開当時のもので、現在は公開されていないものも含みます。
ここに言うデバッグオプションとは、次のような WebプログラムのURLがあるとする。
http://(domain)/(path)/program?param=value
これに対して、例えば、debug=yes のようなパラメータを追加して次のようなURL
http://(domain)/(path)/program?param=value&debug=yes
で呼び出すと、このプログラムが饒舌にHTMLページ上にデバッグ情報を出力しながら動作するようになる、というものである。
このようなデバッグオプションは、プログラマのデバッグ作業をし易くするものである。しかし、それと同時に攻撃者にも侵害の手がかりを与えてしまう。攻撃者は、この1種類のみでなく、例えば、次のようなバリエーションを試すことによってデバッグオプションを活性化させようと試みる。
debug=yes, debug=1, debug=true, debug=on,
dbg=yes, dbg=1, dbg=true, dbg=on,
test=yes, test=1, test=true, test=on,
verbose=yes, verbose=1, verbose=true, verbose=on,
(および、大文字を用いたこれらのバリエーション)
これら以外のものであったとしても、デバッグオプションのパラメータが、攻撃者に見つけられるおそれがある。
したがって、デバッグ情報をブラウザに向けて出力するのは避けた方がよい。
隠したデバッグオプションの活性化対策として、はじめからHTMLページに情報を出力する形のデバッグ機能を設けないか、設けたとしても本番前に機能を無効にする。
すなわち、次のいずれかを行う。
加えて、これらの対策が確実に行われていることを確認する運用を行う。
また、この検査のタイミングで、次のことも行うとよい。