こんにちは、阿久津です。利便性の向上とセキュリティレベルの低下はトレードオフの関係にあり、その関係性を顕著に感じるのが、今年話題になったAutorun.infを用いるマルウェアです。本来Autorun.infはCD/DVD-ROMに収録されたファイルを自動実行するための定義ファイル。CD/DVDドライブにメディアを挿入すれば動作する、ほかのOSから影響を受け、Windows OSにも実装されました。
Windows XP Service Pack 2からは、USBメモリもサポートされるようになったため、便利になりましたが、マルウェアやウイルスが蔓延(まんえん)する温床になってしまったのも事実です(図01~03)。
リムーバブルメディアを無効にする[Shift]キーを押しながら挿入、というTipsを思い出される方もおられるでしょう。しかし、[Shift]キーを押しながらUSBメモリを接続しますと、USBメモリに割り当てられるドライブアイコンは変更されませんが、自動再生機能は実行され、コンテキストメニューにもAutorun.infで指定したアクション名が並ぶことから、Autorun.infによる動作を完全に無効化することはできません(図04~05)。
そこで今回のテーマとなるのが、レジストリ上からAutorun.infの読み込みを禁止するというものです。まずは下記の手順をお試しください。
クイック検索やファイル名を指定して実行などから「regedit」を実行してレジストリエディタを起動し、HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ IniFileMappingまでキーをたどって開きます。IniFileMappingキーを選択した状態で、<編集>メニューから<新規>→<キー>と選択し、新しいキーの名前を「Autorun.inf」に変更してください(図06~07)。
図07: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ IniFileMappingまでキーをたどって開き、<編集>メニュー→<新規>→<キー>と選択して、Autorun.infキーを作成します |
続いてAutorun.infキーを開き、右ペインにある「既定」をダブルクリックします。値のデータを「@SYS:DoesNotExist」に書き換えてから、<OK>ボタンをクリックしてください。変更内容をシステムに反映させるため[F5]キーを押し、レジストリエディタを終了すれば、チューニング完了です(図08~09)。
この状態でUSBメモリをコンピュータに接続しますと、自動再生は起動しますが、先ほどまでは異なる内容に変化します。これはAutorun.infを読み込まず、USBメモリ内のアイコンファイル(拡張子「.ico」)を画像ファイルとして認識しているからでしょう。また、USBメモリに割り当てられたドライブのコンテキストメニューにも、Autorun.infによるアクションは並んでいません。つまり、Autorun.infの読み込みが抑制されているのです(図10~11)。
USBメモリ経由のウイルス・マルウェア蔓延を回避するため、利便性を犠牲にできる方は、本チューニングをお試しください。ただし、一部のインストーラーでは、誤動作が生じることもあるそうです。その際は、Autorun.infキーのデータ値を一度クリアしてから、インストーラーを起動しましょう。なお、CD/DVD-ROMのAutorun.infを無効にするには、HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ CDRomキーにあるDWORD値「AutoRun」のデータ値を「0」にします。
それでは、また次号でお会いしましょう。
阿久津良和(Cactus)