IE での Web セキュリティ

IE脆弱性のお話。主に XSS がらみ。
最近はセキュリティ製品が不正な Javascript を実行しないようにフィルタをするんだけど、文字コードUTF-7 を使うと、あまりに柔軟に JavaScript が記述できてしまい、フィルタを素通りして非常に危険。
じゃあ、UTF-7 を使わなければいいのだけど、IE文字コード自動判別が判断し切れなかった場合、デフォルトで UTF-7 になってしまうという仕様とのこと。なので、クラッカーさんは、IE文字コードをうまく判断できないように工夫して、不正な Javascript を埋め込むそうな。なのでサイト管理者の方は、メタタグにちゃんと Charset を指定しましょう。
あと us-ascii でも偽装した Javascript を埋め込めるそうなので、使わないようにしましょう。

他にも問題点はあって、IE にはスタイルシートスクリプトを埋め込めるそうで、例えば、

<div style='expression(alert(1))'>

と記述するとアラートダイアログが実行できてしまう。なので動的なスタイルシートを生成したり、ユーザが指定できるサイトは注意しましょう、という話でした。