Webクライアント側でのページフィルタリングは有用なのか?

Security 9月 9, 2008
(Last Updated On: 2008年9月9日)

悪意のあるページからブラウザを保護する為のフィルタリングツールにはクライアントにインストールするタイプ、プロキシタイプなどある。これらのツールは本当にクライアントを保護できているのだろうか?

最近の攻撃は悪意のあるサイトにアクセスしなくても、広告から悪意のあるサイトに誘導されたり、SQLインジェクションやネットワークレベルの攻撃で悪意のあるページへのiframeを挿入される事例が多い。

個人的にはこれらのフィルタリングツールを使用した事はないが、これらのツールの有用性には疑問が多い。JavaScriptの難読化には多くの手段がある。例えば、.replaceを利用する方法がある。

start();
function z_sa(o,p,v){ o.setAttribute(p,v); }
function start(){
var z = document.createElement(‘object’); z_sa(z,’id’,’z’);
z_sa(z,’classid’,”cjlWsTiWdI:HBWDH9T6jCT5T5H6T-T6I5IAj3j-”
“W1W1IDH0I-W9H8W3HAT-I0T0WCH0W4jFICW2T9TEI3T6T”.replace(/[WHjIT]/g, ”));

replace(/[WHjIT]/g, ”)

によって

clsid:BD96C556-65A3-11D0-983A-00C04FC29E36

と変換され、RDS.Dataspaceの脆弱性 MS06-014を攻撃するためコードなる。
出典:http://dvlabs.tippingpoint.com/blog/2008/08/14/threatlinq-javascript-bad-juju

他にもJavaScriptの難読化やURLの動的生成など、単純なブラックリスト方式の防御を無効化する手法はいろいろあります。

一般ユーザは本当にWebを利用する危険性を理解しているのか心配になります。

投稿者: yohgaki