■Internet ExplorerでActiveXコントロールの実行を個別に禁止する方法
「TechNetセキュリティ情報:MS05-037(JViewプロファイラの脆弱性)」以降、Internet Explorer(IE)の「累積的な更新プログラム(MS005-038/052)」では、COMコンポーネントに対して、IEからそのCOMコンポーネントが呼び出されないように設定される修正が追加されるようになった。これは、本来はIEを介してアクセスされるように設計されていない非ActiveXコントロール(COMオブジェクトなど)のインスタンスが、IE経由で作成できてしまうことで、その機能を悪用した攻撃が行われるのを防ぐためだ。
このようにIEからActiveXコントロールが実行されないようにするには、レジストリ・エディタで、対象となるActiveXコントロールに付けられたCLSID(クラス識別子)に対して、値Compatibility
Flags(DWORD型)のデータとして「0x00000400」を設定すればよい。なお、この設定をkillbit(キルビット)と呼ぶ。
キー: |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet
Explorer\ActiveX Compatibility\{ActiveXコントロールのCLSID} |
名前: |
Compatibility Flags(DWORD型) |
データ: |
0x00000400 |
ただユーザーが、ActiveXコントロールのCLSIDを特定するのは難しい。ActiveXコントロールのフレンドリ名が分かっている場合は、レジストリ・エディタで「HKEY_CLASSES_ROOT\CLSID」のCLSIDキーに含まれている「ProgID」を調べることで特定できる可能性がある。だが多くの場合、開発元にCLSIDを確認することになる。
通常、ユーザーが個別にkillbitを設定する必要はない。しかし、例えばサポート対象外となっていてセキュリティ修正プログラムがもはやリリースされないバージョンのIEをどうしても利用しなければならない、といった場合には、脆弱性となり得るActiveXコントロールやCOMオブジェクトにkillbitを設定すると、多少は安全になる。それには、IE
6 SP1向けの累積的なセキュリティ更新プログラムのうち最新のものをダウンロードして/extractオプションで展開し、updateフォルダのupdate_xp.infの[Product.Add.Reg]セクションを参照しながら、killbitを設定するとよい。
|