Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

Windowsの自動実行機能(Autorun)を完全に無効化してウイルス感染を防ぐ

解説をスキップして操作方法を読む

デジタルアドバンテージ 島田 広道
2009/03/06
対象OS
Windows 2000
Windows XP
Windows Server 2003
Windows Vista
Windows Server 2008
Windowsにはリムーバブル・ストレージなどをコンピュータに装着したとき、自動的にプログラムを起動するAutorun機能がある。ウイルスがこれを悪用し、USBメモリなどを介して感染被害が広がる事例が報告されている。
AutorunはWindowsの設定変更で無効化できるはずだったが、実際には無効化できない場合や状況があった。
完全にAutorunを無効化するには、修正パッチの適用と設定変更の両方が必要となる。

解説

 Windows OSには「自動実行(Autorun)」という機能があり、CD/DVDメディアをドライブに挿入したりUSBメモリなどのリムーバブル・ストレージをコンピュータに装着したりしたとき、格納されているプログラムを自動的に実行できる。例えば、ソフトウェアのセットアップCDをドライブに挿入するだけでインストーラが起動するなど便利に活用されている一方で、ウイルスなどの悪意のあるソフトウェアがこの機能を悪用して感染を広げるという弊害も報告されている。

 Autorunを悪用するウイルスは、Autorun.infという自動実行用の設定ファイルをウイルス本体とともにUSBメモリなどにコピーする。これをAutorunの有効な別のコンピュータに装着すると、Autorunによってウイルスが自動実行され、そのコンピュータにウイルスが感染してしまう。近年、こうした感染手法を持つウイルスが増加しているとのことだ。

 こうした脅威への対策としては、Autorunを無効にすることがよく推奨されている。Windowsには標準でAutorunを無効化する機能があり、TIPS「リムーバブル・ストレージの自動再生機能を制御する方法(Windows XPの場合)」「CD-ROMドライブの自動再生機能を有効/無効にする方法(Windows 2000の場合)」でもその方法を紹介している。このほかにも、レジストリあるいはグループ・ポリシーの設定変更により全種類のドライブに対して一律にAutorunを無効化できる、とされていた。

 ところが、こうした設定をWindowsが正しく解釈しないため、無効化の設定をしても実際にはAutorunが働いてしまう、ということがマイクロソフトから報告されている。例えば、本来はデフォルトで無効なはずのネットワーク・ドライブでのAutorun機能が、実際にはデフォルトで起動してしまうとのことだ。

 また米国のセキュリティ対策組織US-CERTによれば、Autorunの無効化設定後、新たに接続したリムーバブル・ストレージに対しては無効にならない、という。そのほか、ユーザーがWindowsエクスプローラのドライブ・アイコンをダブル・クリックした場合、依然としてAutorunによってプログラムが起動するため危険である、とのことだ。

 この問題を解消するには、マイクロソフトが提供しているAutorun修正パッチを適用し、かつ従来からあるAutorunの無効化の設定を行う(両方とも実施する必要がある)。本稿では、セキュリティ強化のため全種類のドライブに対して一律かつ完全にAutorunを無効にする方法を説明する。

操作方法

 リムーバブル・ストレージやネットワーク・ドライブを含む全種類のドライブに対して、一律にAutorunを無効化するには、マイクロソフト提供のパッチ適用と、レジストリ(またはグループ・ポリシー)の設定変更の両方が必要だ。以下では、適用すべきパッチやグループ・ポリシーの設定個所が異なるため、Windows 2000/Windows XP/Windows Server 2003と、Windows Vista/Windows Server 2008に分類して説明する。

Windows 2000/Windows XP/Windows Server 2003の場合

■Autorun修正パッチを適用する
  Windows 2000/Windows XP/Windows Server 2003に適用すべきAutorun修正パッチは、以下のKB967715のパッチである(いずれもリンク先はマイクロソフトのダウンロード・センター)。

 これらは自動更新で配信されており、またWindows Update/Microsoft、WSUSでも適用可能だ。それぞれ上記リストの名称で登録されているので、「KB967715」というKB番号で検索すると見つけやすいだろう。

 適用方法は通常のセキュリティ・パッチと同じだ。手動で再起動を抑制しつつサイレント・インストールをするには、以下のようにオプションを指定して実行する。

<パッチ・ファイル名> /quiet /norestart

 なお、以下のサポート技術情報からダウンロードできるKB950582のパッチが適用済みであれば、上記のKB967715のパッチを適用する必要はない。

 この2種類のパッチは同等のもので、異なるのは実質、KB950582の方が早くリリースされたことと、自動更新などで適用可能なのはKB967715の方だけ、という2点のみだ(すなわちKB950582のパッチがマイクロソフトのパッチ適用ツールで自動的に適用されることはない)。両方とも未適用ならKB967715の方を適用すればよい。

■レジストリ設定でAutorunを無効化する

[注意]

レジストリに不正な値を書き込んでしまうと、システムに重大な障害を及ぼし、最悪の場合、システムの再インストールを余儀なくされることもあります。レジストリ・エディタの操作は慎重に行うとともに、あくまで御自分のリスクで設定を行ってください。何らかの障害が発生した場合でも、本Windows Server Insider編集部では責任を負いかねます。ご了承ください。

 レジストリ設定によって、Autorunによる自動実行を全種類のドライブに対して無効化するには、以下のレジストリ・エントリを操作する。NoDriveTypeAutoRunの設定値を0xFFから変えることで、一部のドライブのみ無効化することも可能だ(詳細はマイクロソフトのサポート技術情報967715の「特定の自動実行機能を選択して無効にする方法」を参照のこと)。なお、HonorAutoRunSettingはWindows XP/Windows Server 2003だけの機能だ。

項目 内容
キー HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\
Policies\Explorer\
値の名前 NoDriveTypeAutoRun
値の型 DWORD型(REG_DWORD型)
値の内容 0xFF→全種類のドライブでAutorunを無効化する
値の名前 HonorAutoRunSetting
値の型 DWORD型(REG_DWORD型)
値の内容 1→KB967715あるいはKB953252のパッチによる修正を有効にする(正しくAutorunを無効化できるようにする)
全種類のドライブでAutorunを無効化するためのレジストリ設定値
NoDriveTypeAutoRunの値を0xFFから変えると一部のドライブのみ無効化できる(サポート技術情報967715参照)。HonorAutoRunSettingは前述のKB967715あるいはKB953252のパッチを適用すると自動的に「1」が設定される。通常は「1」が設定済みであることを確認すればよい(Windows XP/Windows Server 2003のみ)。

■グループ・ポリシーでAutorunを無効化する
  Active Directoryに所属する複数のコンピュータでAutorunを無効化するには、レジストリ設定よりグループ・ポリシーの方が簡単だろう。それにはグループ・ポリシー・エディタで[コンピュータの構成]−[管理用テンプレート]−[システム]にある[自動再生機能をオフにする]のプロパティを開き、[設定]タブで[有効]を選択してから[自動再生機能をオフにする]を「すべてのドライブ」に設定する。

全種類のドライブでAutorunを無効化するためのグループ・ポリシー設定
グループ・ポリシー・エディタで[コンピュータの構成]−[管理用テンプレート]−[システム]にある[自動再生機能をオフにする]をダブル・クリックすると、この画面が表示される。
これを選ぶ。
これを選ぶ。

Windows Vista/Windows Server 2008

■Autorun修正パッチを適用する
  Windows Vista/Windows Server 2008の場合、Autorunに関する修正はMS08-038のセキュリティ・パッチに含まれるので、このパッチを適用すればよい(以下、いずれもリンク先はマイクロソフトのダウンロード・センター)。

 これらも自動更新やWindows Update/Microsoft、WSUSで適用できる。適用方法は通常のセキュリティ・パッチと何ら変わらない。手動で再起動を抑制しつつサイレント・インストールをするには、以下のオプションを指定して実行する。

<パッチ・ファイル名> /quiet /norestart

■レジストリ設定でAutorunを無効化する
  Autorunを無効化するためのレジストリ・エントリは下記のとおり、Windows 2000/Windows XP/Windows Server 2003と変わらない。ただしHonorAutoRunSettingの設定はない。

項目 内容
キー HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\
Policies\Explorer\
値の名前 NoDriveTypeAutoRun
値の型 DWORD型(REG_DWORD型)
値の内容 0xFF→全種類のドライブでAutorunを無効化する
全種類のドライブでAutorunを無効化するためのレジストリ設定値
NoDriveTypeAutoRunの値を0xFFから変えると一部のドライブのみ無効化できる(サポート技術情報967715参照)。

■グループ・ポリシーでAutorunを無効化する
  Autorunをグループ・ポリシーで無効化するには、グループ・ポリシー・エディタで[コンピュータの構成]−[管理用テンプレート]−[Windows コンポーネント]−[自動再生のポリシー]にある[自動再生機能をオフにする]のプロパティを開き、[設定]タブで[有効]を選択してから[自動再生機能をオフにする]を「すべてのドライブ」に設定する。End of Article

全種類のドライブでAutorunを無効化するためのグループ・ポリシー設定
グループ・ポリシー・エディタで[コンピュータの構成]−[管理用テンプレート]−[Windows コンポーネント]−[自動再生のポリシー]にある[自動再生機能をオフにする]をダブル・クリックすると、この画面が表示される。
これを選ぶ。
これを選ぶ。

「Windows TIPS」

@IT Special

- PR -

TechTargetジャパン

Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

イベントカレンダー

PickUpイベント

- PR -

アクセスランキング

もっと見る

ホワイトペーパーTechTargetジャパン

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間
ソリューションFLASH