2009-08-18

ディレクトリトラバーサルの脆弱性

IPAがアクセスログの解析や脆弱性検査などの実施を呼び掛けている。

IPAが公開した、4月から7月のアタック件数のグラフをみると、ひとつき毎にほぼ倍のペースでアタックが増えていることがわかる。










直近7月のアタックの種類の内訳をみると、SQLインジェクションとディレクトリトラバーサルがトップ2で、全体の9割以上を占めている。他はクロスサイトスクリプティングなど複雑な手法がならぶ。

・7月のアタック件数内訳
 536件:SQLインジェクション
 364件:ディレクトリトラバーサル
 23件 :クロスサイト・スクリプティング


ディレクトリトラバーサルは、”../”など単純な手法は文字列チェックでフィルタされることがほとんだと思うが、UTF-8の冗長な符号化を利用した場合、このチェックをすり抜けてしまう場合がある。

たとえば、/はUTF-8で表現すると0x2Fとなるが、それ以外にも0xF0 0x80 0x80 0xAFと表現することもできる。0x2Fだけチェックしていると、それ以外の文字列を使われた場合、攻撃が成立してしまう。

ホワイトリストで許可する文字列を規定して、それ以外はすべてフィルタするような対策が効果的だろう。ライブラリでサポートしている場合がほとんどなので、自分で実装せずに標準的なミドルウェアを積極的に利用するようにしたい。


・リンク
wiki:ディレクトリトラバーサル
IPA:パス名パラメータの未チェック/ディレクトリ・トラバーサル
Webサーバを緊急点検すべし、IPAが警戒を呼び掛け
本当は怖い文字コードの話

No comments: