A COM Object (Msdds.dll) Could Cause Internet Explorer to Unexpectedly Exit - Microsoft Security Advisory (906267)

昨日の話のアドバイザリ。回避策だけ。個人的には kill-bit の設定が無難と思います。確認ダイアログを表示させる設定では、頻繁にダイアログが表示され過ぎるため、結局は条件反射的に「はい」を押すことになってしまいますので、適切に信頼済みサイトと組み合わせて利用しましょう。

インターネットおよび てイントラネットのセキュリティゾーンを高に設定し、ActiveX コントロールの実行時に確認ダイアログを表示させる。

  1. IE のメニューより ツール → オプションをクリック
  2. セキュリティ」タブをクリックして「インターネット」または「イントラネット」のアイコンをクリック
  3. 「このゾーンのセキュリティのレベル」のスライダーを「高」に動かす

スライダーが見えていない場合、「規定のレベル」をクリックしてスライダーを表示させてください。
セキュリティレベル「高」ではいくつかのWebサイトで正常に動作しない可能性がある。そのサイトの安全性が信頼できるのであれば、そのサイトを「信頼済みサイト」に追加するとよい。

インターネットおよびイントラネットゾーンにてActiveX コントロールの実行前に確認ダイアログが表示されるように、またはActiveXコントロールを無効にする。

  1. IE のメニューより ツール → オプションをクリック
  2. セキュリティ」タブをクリック
  3. 「インターネット」アイコンをクリックし、「レベルのカスタマイズ」をクリック
  4. 「設定」の中の「ActiveXコントロールプラグイン」セクションにある「AcviveXコントロールプラグインの実行」を「ダイアログを表示する」に設定する。
  5. イントラネット」についても同様に設定する。

IE での Microsoft DDS ライブラリシェープコントロール (Msdds.dll) COM オブジェクトの実行を無効にする。

kill bit の設定により、IE内での Msdds.dll の実行を無効にする。
Microsoft DDS ライブラリシェープコントロール (Msdds.dll) COM オブジェクトの CLSID は EC444CB6-3E7E-4865-B1C3-0DE72EF39B3F であるので、Microsoft Knowledge Base Article 240797に従い、COMオブジェクトの実行を無効化する。

Msdss.dll COM オブジェクトの登録を解除する。

  1. 「スタート」→「ファイル名を指定して実行」をクリックし、"regsvr32 /u Msdds.dll" を入力(ダブルクォートは入力しない)。
  2. 解除に成功した場合、確認のダイアログが表示されるので OK を押す。
  3. 変更を反映させるために一度IEを閉じ、再度開く。

副作用として、Microsoft DDS ライブラリシェープコントロールを利用するアプリケーションは正しく動作しなくなる。

Msdds.dll をより制限するようにアクセス制御リストを変更する。

  1. コマンドプロンプトより下記を実行し、将来元に戻すときに備え、現在のACLをメモして残しておく
cacls %windir%\system32\Msdds.dll
  1. コマンドプロンプトで以下を実行し、'everyone' グループのファイルのアクセスを禁止する。
cacls %windir%\system32\Msdds.dll /d everyone
  1. 変更を反映させるために一度IEを閉じ、再度開く。

副作用として、Microsoft DDS ライブラリシェープコントロールを利用するアプリケーションは正しく動作しなくなる。