文字列ごとの情報フロー追跡手法のPHPへの実装と評価

元データ 2010-07-27

概要

近年,クロス・サイト・スクリプティングや SQL インジェクションといった Web アプリケーションの脆弱性を突いたインジェクション・アタックによる被害が深刻化している.インジェクション・アタックを検出する方法として DTP (Dynamic Taint Propagation) が研究されている.DTP では,外部からの入力にテイント (汚染) をつけ,演算の入力から出力に伝播させ,最後にテイントのついたデータが '危険' な使われ方をしないかチェックする.従来の DTP では,命令間のデータの依存関係に基づいてテイント情報を伝播していたため,検出漏れと誤検出のトレードオフに陥り,伝播精度が十分ではなかった.そこで李らは,load/store 命令のメモリアクセスから文字列操作を識別し,文字列から文字列へテイント情報を伝播させる SWIFT を提案している.SWIFT はこのようにローカルでない追跡を行うため,その伝播精度は従来の DTP より高いことが示されている.しかし,SWIFT はハードウェア上に実装するため普及のハードルが高い.本稿では,SWIFT を Web 用スクリプト言語として現在最も多く用いられている PHP 上に実装し,典型的な文字列操作を行うプログラム,および脆弱性の確認されている Web アプリケーションにおいて正しくテイント情報を伝播することを確認した.

著者

五島 正裕 東京大学情報理工学系研究科
坂井 修一 東京大学大学院工学系研究科
塩谷 亮太 東京大学大学院情報理工学系研究科
五島 正裕 東京大学大学院情報理工学系研究科
坂井 修一 東京大学
塩谷 亮太 東京大学情報理工学系研究科:日本学術振興会
都井 紘 東京大学大学院情報理工学系研究科
坂井 修一 東京大学 情報理工学系研究科
ハイハー グェン 京都大学情報学研究科
坂井 修一 東京大学大学院 情報理工学系研究科

関連論文

▼もっと見る