SPN通信 2011年2月18日

AutoRun機能を制限するWindowsの更新プログラム


みなさん、こんにちは。 SPNの塩月です。

先週、マイクロソフトから定例のセキュリティ更新プログラムが公開されました。過去のSPN通信で二度ほど取り上げたInternet Explorerの脆弱性を含め、複数の危険性の高い脆弱性が修正されていますので、ぜひ早めの対応をお勧めします。

さて今回、Microsoft Update等の自動更新で公開されたものの中には、Windows XPやVista向けのAutoRun機能を制限する更新プログラム(971029)が含まれています。

  マイクロソフト セキュリティ アドバイザリ (967940)
  Windows Autorun(自動実行)用の更新プログラム
  http://www.microsoft.com/japan/technet/security/advisory/967940.mspx
ちょうどよい機会ですので、WindowsにおけるAutoRun機能の制限方法について少し整理してみましょう。

WindowsのAutoRun機能は、それ自体は非常に便利なものですが、USBメモリなどの外部記憶媒体を経由したマルウェア感染でしばしば悪用されるため、組織内におけるリスク管理の観点ではコントロールすべき対象の一つとなっています。AutoRunによるマルウェア感染の仕組みやAutoRun機能を停止させる方法については、以前まとめた文書を下記URLで公開していますので、詳しくはこちらをご参照ください。

  Windowsセキュリティ・ワンポイントレッスン
  第2回 USBメモリ経由でのマルウェア感染を防ぐには
  http://www.st.rim.or.jp/~shio/winsec/autorun/
この中で書かれている通り、「NoDriveTypeAutoRun」のレジストリ設定を変更することでドライブタイプ(記憶媒体の種別)ごとにAutoRun機能を停止させることが可能になります。例えばUSBメモリ等のリムーバブルメディアについてAutoRun機能を停止させ、CD/DVDやHDでは動作させたい場合などは、NoDriveTypeAutoRunに「0x95」を設定する、という感じですね。同様の設定はグループポリシーを用いて行うことも可能です。

しかし一方で、NoDriveTypeAutoRunを設定してAutoRun機能を停止すると、そのドライブタイプではWindowsの「自動再生機能(AutoPlay)」にも制限がかかるというデメリットが発生します。自動再生というのはメディアを挿入した際にメディア内部のファイルタイプに応じてダイアログ(自動再生ダイアログ)を表示し、ユーザに実行したいプログラムを選択させたり、あるいは自動的に音楽などを再生したりする機能のことです。AutoPlayにはドライブ内にあるAutoRun設定ファイル「Autorun.inf」を参照し、その中の記述に従って自動再生ダイアログにメニュー項目を追加する機能がありますが、この機能はユーザをだましてそのメニューを選択させ、ドライブ内のマルウェアを実行することに利用されていました。

マイクロソフトはWindows 7からこのあたりの仕様を変更し、CD/DVDといった光学メディア以外ではAutorun.infの設定項目を自動再生ダイアログに表示しないように修正しました。つまりUSBメモリ内部のAutorun.infで自動再生ダイアログにマルウェアを実行させるような偽のメニュー表示をさせる記述があったとしても、Windows 7からはそれはダイアログに反映されなくなったわけです。ただし自動再生ダイアログ自体は表示されますので、NoDriveTypeAutoRunを設定した場合のように利便性が低下することはありません。

  AutoRun changes in Windows 7
  http://blogs.technet.com/b/srd/archive/2009/04/28/autorun-changes-in-windows-7.aspx
2009年8月、マイクロソフトは同様の修正をXPやVistaといった他のWindows OSに対して適用させるための更新プログラムを公開しました。この更新プログラムはダウンロードセンター(Webサイト)での公開でしたので、手に入れるためにはわざわざWebサイトへアクセスしてダウンロードする必要がありました。冒頭にお話したAutoRunの更新プログラムは、2009年に公開されたこの更新プログラムと同じものです。以前はWebサイトでのみ公開されていましたが、今月からは通常のWindows Updateのような自動更新のチャネルでも入手可能になり、組織内での展開がよりやり易くなったというわけです。(現時点ではオプションの更新プログラムなので、自動更新では「カスタム」→「追加選択(ソフトウェア)」でダウンロード指定する必要があります)
  Windowsの自動再生機能の更新プログラム
  http://support.microsoft.com/kb/971029/ja
さてますますややこしくなった感が否めませんが、シンプルに表現すると、 AutoRun機能の制限については以下のように二つの選択肢が提供されていると 考えていただければよいかと思います。

【選択肢その1】

    XPやVistaに更新プログラム「971029」を適用することで、Windows 7と同様にAutoRun機能に制限がかかります。この制限とは、CD/DVD以外のメディアにおいてAutorun.infの記述を自動再生ダイアログやドライブのコンテキストメニューに反映させないというものです。これによりUSBメモリ経由でのマルウェア感染リスクが低減すると同時に、ユーザの利便性もある程度確保されます。ただしCDやDVD経由でのAutoRunによるマルウェア感染の危険性は依然として残ります。
【選択肢その2】
    より厳密に制限をかけたい場合は、レジストリエディタやグループポリシーで「NoDriveTypeAutoRun」を設定します。NoDriveTypeAutoRunですべてのドライブタイプ「0xFF」を指定すると、CD/DVDを含む全ドライブタイプでAutoRun機能は停止し、自動再生ダイアログも表示されなくなります。ただしCDを挿入してプログラムをインストールする場合などでも、ユーザはいちいちドライブを開いてセットアッププログラムを起動するなど、利便性が損なわれるようになります。
AutoRun(自動実行)とAutoPlay(自動再生)は、機能面で依存関係にあるのみならず、用語としてもかなり混乱した使い方がされており、正直、私も全体を正確に把握しているわけではありませんが、ユーザの利便性を確保しつつ安全性を高めるWindows環境の構築の参考にしていただければ幸いです。

それではみなさん、またお会いしましょう。

合同会社セキュリティ・プロフェッショナルズ・ネットワーク
代表社員 塩月誠人