AutoRunと付随機能のAutoPlay は、ドライブがマウントされたときにシステムが実行するアクションを指示するMicrosoft Windows オペレーティング システムのコンポーネントです。
AutoRun は、技術に詳しくないユーザーでもアプリケーションのインストールが簡単になり、ソフトウェア サポートへの問い合わせコストが削減されるように、 Windows 95で導入されました。適切に構成されたCD-ROMが CD-ROM ドライブに挿入されると、Windows は CD-ROM の到着を検出し、その内容を調べて、一連の指示を含む特別なファイルがあるかどうかを確認します。ソフトウェアを含む CD の場合、通常、これらの指示によって CD-ROM からハード ドライブへのソフトウェアのインストールが開始されます。インストールが成功する可能性を最大化するために、AutoRun はWindows エクスプローラ(または「マイ コンピュータ」)でドライブにアクセス (「ダブルクリック」) したときにも動作します。
Windows XPが導入されるまで、AutoRun と AutoPlay という用語は互換的に使用されており、開発者は前者、エンド ユーザーは後者を使用する傾向がありました。この傾向は、AutoRun という Windows レジストリ エントリを変更する AutoPlay という Windows ポリシー設定や、ドライブのコンテキスト メニューautorun.infに "AutoPlay" を追加するファイルに反映されています。この用語は、Windows XP が登場し、新しいメディアやデバイスが検出されたときにユーザーが適切なアクションを選択できるようにする新機能が追加されるまで、あまり重要ではありませんでした。この新機能はAutoPlayと呼ばれ、2 つの用語が区別されるようになりました。[1]
Windows 95 で導入されたWindows エクスプローラー (実際は shell32 dll ) の機能である AutoRun により、メディアのルート ディレクトリautorun.infに保存されているというファイルにリストされているコマンドを使用して、メディアやデバイスがプログラムを起動できるようになります。
主にインストール CD-ROM で使用され、呼び出されるアプリケーションは通常、アプリケーション インストーラーです。autorun.inf ファイルでは、他の高度な機能とともに、エクスプローラーでデバイスを視覚的に表すアイコンを指定することもできます。[1]
AutoRun と AutoPlay という用語は、開始アクション、つまり検出されたボリュームを検出して読み取りを開始するアクションを指すときに、同じ意味で使用される傾向があります。AutoRun は、AutoPlay と Shell Hardware Detection サービスの間のレイヤーとして位置付けられており、用語の理解に役立ちます。ただし、混乱を避けるために、この記事では開始アクションを指すときに AutoRun という用語を使用します。
自動再生


自動再生は、Windows XP で導入された機能で、リムーバブル メディアとデバイスを調べ、画像、音楽、ビデオ ファイルなどのコンテンツに基づいて、適切なアプリケーションを起動してコンテンツを再生または表示します。[1]利用可能な場合、autorun.inf ファイルの設定により、ユーザーに提示されるオプションを追加できます。
自動再生は、自動再生システムに登録されたハンドラー アプリケーションのセットに基づいています。各メディア タイプ (画像、音楽、ビデオ) には、そのタイプのメディアの再生や表示を処理できる登録済みハンドラーのセットを設定できます。
各ハードウェア デバイスには、特定のメディア タイプが検出されたときに実行されるデフォルトのアクションを設定できます。また、自動再生ダイアログで、ユーザーに実行するアクションをプロンプトすることもできます。
自動実行の有効化
AutoRun シーケンスは、新しいデバイスまたは新しいメディアの最初の検出から始まります。その後、関係するパーティへの通知が行われますが、その中で最も関係するのは Windows エクスプローラー シェルです。AutoRun を続行できるかどうかを確認するために特定のレジストリ設定をチェックした後、オプションの autorun.inf の解析が行われ、必要なアクションが実行されます。
初期シーケンスは、Windows 95 以降のすべてのバージョンの Windows でほぼ同じように処理されます。ただし、autorun.inf ファイルの読み取りと処理の方法、および AutoRun と AutoPlay の統合レベルは、Windows XP で自動再生が導入されたときからWindows 7の現在の処理まで大幅に変更されています。Windows 10では、Microsoft は設定で自動実行を有効にするオプションを追加しました。ユーザーはこれをオンにできるだけでなく、自動再生用に特定の外部デバイスを選択することもできます。
開始と通知
AutoRun 互換ドライバーを備えたデバイスが新しいメディアを受信すると、「メディア変更通知」イベントが発生します。その後、Windows OS は、デバイスの変更が発生したことを関係するアプリケーションに通知します。使用される通知方法は、デバイスの種類に応じて変わることがあります。
変更されたデバイスがボリューム(CDなど)またはポート(シリアルポートなど)の場合、WindowsはWM_DEVICECHANGEすべてのトップレベルウィンドウに通知をブロードキャストします。[2] [3] Windowsではこれを「基本」通知と呼びます。トップレベルウィンドウはデスクトップの子孫です。
ただし、変更されたデバイスがこれらのタイプのいずれでもない場合は、アプリケーションはRegisterDeviceNotification[4]関数を使用してデバイス通知を受信するように登録できます。
CodeProject の Web サイトにある記事「ハードウェアの挿入および/または取り外しの検出」は、 Doran Holan のブログでの説明付きで、特に技術的な興味深い記事です。
非ボリューム デバイスとは、「マイ コンピューター」にドライブ文字として表示されないデバイスのことです。これらは AutoRun のどの部分でも処理されません。これらのデバイスに対して実行されるアクションは、デバイス固有のソフトウェアまたは AutoPlay によって実行されます。AutoPlay #ドライブ以外のデバイスを参照してください。
エクスプローラーは音量変更の通知を受け取ると、いくつかのアクションを実行します: [5] [6]
- レジストリを通じて自動実行が無効になっているかどうかを確認します。そのドライブまたはドライブの種類に対して自動実行が無効になっている場合、エクスプローラーはそれ以上先に進みません。この領域にはバグがあります。
- 挿入されたメディアのルート ディレクトリに、読み取り可能な autorun.inf ファイルが含まれているかどうかを確認します。以下を参照してください。
- フォアグラウンドウィンドウにメッセージを送信します
QueryCancelAutoPlay。このメッセージを受信することを登録したアプリケーションは、この時点でこのメッセージに応答して自動実行 (および自動再生) を停止できます。フォアグラウンドかどうかに関係なく、Windows XP 以降で使用可能なCOMインターフェイス[7]RegisterWindowMessageを使用して、任意のアプリケーションに通知することもできます。IQueryCancelAutoPlay - ダブルクリックとコンテキスト メニューの動作を変更します。ユーザーがエクスプローラーでドライブ アイコンをダブルクリックするか、右クリックしてコンテキスト メニューを表示する場合の動作は、autorun.inf ファイルの設定によって完全にプログラム可能です。
- ドライブ アイコンに autorun.inf 制御可能なアイコンと説明テキストを追加します。
- キーが押されているかどうかを確認します。押されている場合、Windows Vista (およびそれ以降のバージョンの Windows) は、設定に関係なく自動再生ダイアログを呼び出します。[8]以前のバージョンの Windows では、このプロセスは続行されません。[6]⇧ Shift
- 最後に、この点に達した場合は、次のいずれかを実行します。
- それ以上のアクションは実行されません。
- autorun.inf の[autorun]
openセクションのまたはキーでオプションで指定されたアプリケーションである「AutoRun タスク」を実行します。shellexecute - 自動再生を呼び出します。
- どちらの選択が行われるかは、使用している Windows のバージョン、autorun.inf からの指示 (存在する場合)、および検出されたメディアの種類によって異なります。
行動の変化
自動再生前
Windows XP より前のバージョンの Windows では、任意のドライブ タイプ上の autorun.inf ファイルが読み込まれ、その指示に従います。AutoRun タスクが指定されている場合は、ユーザーの介入なしに直ちに実行されます。[9]これには、DRIVE_REMOVABLE、DRIVE_FIXED、および DRIVE_REMOTE ドライブ タイプが含まれます。
AutoRun は、ドライブ文字にマップされたネットワーク ドライブ (DRIVE_REMOTE ドライブ タイプ) で動作します。また、AutoRun は、自動実行対応のドライバーが付属するフロッピー ドライブでも動作します。[6]
Windows XP より前のバージョンの Windows の既定のレジストリ設定 (NoDriveTypeAutoRun を参照) では、リモート ドライブとリムーバブル ドライブの自動実行の開始が無効になり、固定ドライブ タイプと CDROM ドライブ タイプが既定でアクティブのままになります。
自動再生のご紹介
Windows XP で自動再生が導入されたことで、一部のドライブ タイプでは最終段階のアクション (上記の段階 7) がアプリケーションの実行から自動再生の呼び出しに変更されました。Windows Vista からは、自動再生システムがメディア処理のあらゆる側面に統合され、自動実行タスクが自動的に実行されることはなくなりました。
デフォルトのレジストリ設定では、AutoRun を開始したドライブにリムーバブル ドライブが追加されます。Windows XP 以降 ( Windows Server 2003を除く)では、不明なドライブ タイプとリモート ドライブ タイプのみが AutoRun に対してアクティブになりません。
autorun.inf ファイルの処理は、Windows のバージョンごとに大きく異なります。詳細については、autorun.inf の記事を参照してください。Windows 7 の現在の処理では、 DRIVE_CDROM タイプのドライブのみが AutoRun タスクを指定したり、ダブルクリックの動作を変更したり、コンテキスト メニューを変更したりできます。
レジストリ設定
AutoRun は、Windows レジストリ値を参照して、特定のドライブまたはドライブ タイプに対してアクションを開始するかどうかを決定します。これらの値は、グループ ポリシーを使用する方法など、いくつかの方法で変更できます。
主な関連レジストリ エントリ名はNoDriveTypeAutoRunと ですNoDriveAutoRun。これらはマシンごとの設定とユーザーごとの設定の両方に存在し、レジストリ内での場所と優先順位については以下で詳しく説明します。
ドライブの種類
ドライブタイプはタイプ名によって次のように区別されます。[10]
レジストリ用語
Windows レジストリは、オペレーティング システムの構成設定とオプションを保存する 階層型データベースです。用語がやや誤解を招く可能性があるため、ここで簡単に説明します。
レジストリキーはフォルダーに似ており、値に加えて、各キーにはサブキーを含めることができ、サブキーにもサブキーを含めることができます。
レジストリ値は、名前とデータのペアで構成されます。Microsoft のドキュメントでは、通常、同等の用語として「エントリ」という用語を使用します。また、意味が明らかな場合は、「データ」の代わりに「値」を使用します。混乱を避けるため、この記事では、名前とデータのペアを指す場合は常に「エントリ」という用語を使用します。
よく参照される 2 つのレジストリ キーは、HKEY_LOCAL_MACHINEマシンごとの設定が含まれる と、HKEY_CURRENT_USER現在ログオンしているユーザーの設定が含まれる です。これらは、ほとんどの場合、それぞれ とHKLMと省略されますHKCU。マシンには多くのユーザーが存在する可能性があり、それらの設定は に保存されます。 はHKEY_USERS、HKCU実際には 内の適切な場所へのリンクにすぎませんHKEY_USERS。
レジストリ設定の変更
レジストリ設定は、GUIregeditツールまたはコマンドラインユーティリティを使用して直接変更できます。設定は、.reg拡張子の付いたreg.exeテキストファイル[11]mychanges.regに配置することもできます。たとえば、「 」などです。ファイルをダブルクリックすると、アクセス許可が許せば、ファイル内の設定がレジストリに入力されます。
これらは、グループ ポリシーを使用して間接的に変更したり、単一のコンピューターにローカルに適用したりGPEdit.msc、ドメインに適用したりできますgpmc.msc。
レジストリの変更を有効にするには、ログアウトするかコンピューターを再起動する必要がある場合があります。
評価順序
NoDriveAutoRunおよびレジストリNoDriveTypeAutoRunエントリは、ユーザーごとの設定 (HKEY_CURRENT_USER の下) とマシンごとの設定 (HKEY_LOCAL_MACHINE の下) の 2 つの場所に存在できます。エントリが HKEY_LOCAL_MACHINE の下に表示された場合、HKEY_CURRENT_USER の下の対応するエントリは完全に無視されます。データ値はいかなる方法でも結合されません。
AutoRun を有効にするかどうかを決定するときは、NoDriveAutoRunとNoDriveTypeAutoRunレジストリ エントリの両方が参照されます。いずれかの値がドライブを無効にする必要があることを示している場合、そのドライブの AutoRun は無効になります。
したがって、次の例では次のようになります。
取得されるデータ値はNoDriveAutoRun0x08 で、ドライブ D が無効になります。取得されるデータ値はNoDriveTypeAutoRun0x95 で、リムーバブル ドライブとネットワーク ドライブが無効になります。ユーザーごとのNoDriveAutoRunエントリは使用されません。
ドライブタイプ自動実行なし
このレジストリエントリは、指定されたタイプのすべてのドライブで自動実行機能を無効または有効にします。[12]これは、関連する自動再生グループポリシーの設定を反映します。有効なデータの範囲は、 16進表記で0x00から0xFFです。エントリが存在しない場合、デフォルトのデータ値は、使用しているWindowsのバージョンに応じて0x95または0x91になります。HKLMに存在するエントリは、HKCUに存在するエントリよりも優先されます。
エントリ データはビットマップ値であり、ビットを 1 に設定すると、特定の種類のドライブで AutoRun が無効になります。各種類のドライブのビット設定を以下に示します。

ドライブタイプのビット単位の設定
ビット番号 1 は未使用であり、「不明」タイプが 2 回表されていることに注意してください。すべてのビットを 1 に設定すると、16 進数値は 0xFF、10 進数値は 255 となり、すべてのタイプのドライブで AutoRun が無効になります。
このエントリのデフォルト設定は、使用しているWindowsのバージョンによって異なります。[9] [13]
ドライブなし自動実行
このレジストリエントリは、個々のドライブの自動実行機能を無効または有効にします。[14]これはグループポリシーに関連付けられておらず、デフォルトでは存在しません。エントリが存在しない場合は、データ値は 0 になります。HKLM に存在するエントリは、HKCU に存在するエントリよりも優先されます。
データは 32 ビット (DWORD) のビットマップ値で、下位 26 ビットは A から Z までの 26 個のドライブ文字のそれぞれを表すために使用されます。したがって、有効なデータ範囲は 0x0 から 0x03FFFFFF です。最下位ビット (右端のビット) はドライブ A を表し、右から 26 番目のビットはドライブ Z を表します。
ビットを 1 に設定すると、特定のドライブで AutoRun が無効になります。たとえば、データ値が 0x8 (バイナリ 1000) に設定されている場合、ドライブ D で AutoRun は無効になります。
グループポリシー

AutoRun に使用できるグループ ポリシー設定は、NoDriveTypeAutoRunレジストリ エントリにのみ影響します。ポリシーは、HKLM または HKCU のレジストリ エントリの場所を反映して、マシンごとまたはユーザーごとに使用できます。[12] [14]前述のように、マシンごとのポリシー設定により、ユーザーごとのポリシー設定は無視されます。
ポリシーが有効になっている場合、グループ ポリシーによってNoDriveTypeAutoRunレジストリにエントリが追加されます。ポリシーが無効になっているか、未構成に設定されている場合、グループ ポリシーは、マシン ポリシー (HKLM) のレジストリからこのエントリを削除し、ユーザー ポリシー (HKCU) のシステム既定値に戻します。その後、NoDriveTypeAutoRun セクションで説明されているように、システム既定値が有効になる場合があります。
ポリシー名、場所、および設定可能な項目は、Windows のバージョンによって若干異なります。設定項目のリストは比較的短く、常にシステムのデフォルト設定に追加されます。したがって、Windows 2000 では、「自動再生を無効にする」ポリシーを有効にして「CD-ROM ドライブ」に設定すると、CD-ROM ドライブ、DVD ドライブ、リムーバブル ドライブ、ネットワーク ドライブ、および不明な種類のドライブの自動実行 (自動再生とは異なります) が無効になります。
この設定は、デフォルトで無効になっているドライブで自動実行を有効にしたり、リストされていないドライブで自動実行を無効にしたりするためには使用できません。特定のドライブまたはドライブの種類を無効または有効にするには、レジストリを手動で編集する必要があります。
Windows Server 2003、Windows XP、および Windows 2000
マシンごとのポリシーの場所は次のとおりです。
- グループ ポリシー \ コンピュータの構成 \ 管理用テンプレート \ システム
ユーザーごとのポリシーの場所は次のとおりです。
- グループ ポリシー \ ユーザーの構成 \ 管理用テンプレート \ システム
関連するポリシーは「自動再生をオフにする」です。Windows 2000 では、このポリシーは「自動再生を無効にする」と呼ばれます。
ポリシーを有効にすると、「すべてのドライブ」または「CD-ROM ドライブ」に設定できます。後者の設定では、上記のように、無効なドライブ タイプの既存のリストに CD-ROM ドライブが追加されます。
Windows Vista、Windows Server 2008 の場合
マシンごとのポリシーの場所は次のとおりです: [15]
- コンピューターの構成 \ 管理用テンプレート \ Windows コンポーネント \ 自動再生ポリシー
ユーザーごとのポリシーの場所は次のとおりです。
- ユーザーの構成 \ 管理用テンプレート \ Windows コンポーネント \ 自動再生ポリシー
関連するポリシーは「自動再生をオフにする」であり、CD-ROM、DVD-ROM、リムーバブル ドライブ、またはすべてのドライブに設定できます。
VistaとServer 2008では関連する2つのポリシーが追加されました: [16]
- AutoRun のデフォルトの動作
- autorun.inf ファイルにある AutoRun コマンドのデフォルトの動作を設定します。
- Windows Vista より前では、自動実行タスクを指定する autorun.inf を含むメディアが挿入されると、デフォルトのアクションは、ユーザーの介入なしにプログラムを自動的に実行することでした。Windows Vista からのデフォルトの動作は、自動再生を起動し、自動実行タスクをダイアログ オプションの 1 つとして表示することです。これは、このポリシーが未構成または無効になっている場合の動作でもあります。
- このポリシーを有効にすると、動作を次のいずれかに変更できます。
- autorun.infコマンドを完全に無効にするか、
- 以前の Windows バージョンと同様に、autorun.inf コマンドを自動的に実行します。
- 常にこれを行うチェックボックスをオンにしないでください
- このポリシーを有効にすると、自動再生ダイアログが表示されたときに、ダイアログの「常にこれを行う...」チェックボックスはデフォルトで設定されません。
Windows 7、Windows Server 2008 R2 の場合
これらのバージョンの Windows では、autorun.inf ファイルによる自動実行タスクの設定、ダブルクリックの動作の変更、コンテキスト メニューの変更は、DRIVE_CDROM タイプのドライブに制限されています。この動作を上書きするポリシー設定はありません。ポリシーの場所と設定は、上記のWindows Vista、Windows Server 2008と同じですが、次のものが追加されています: [16]
- 音量のないデバイスの自動再生をオフにする
- このポリシーを有効にすると、ボリューム以外のデバイスでは自動再生が無効になります。
自動実行の動作を変更する
Shiftキーを押す
実行シーケンスの特定の時点でキーが押されたままになっていると、Windows Vista は、自動再生の設定に関係なく、自動再生ダイアログを起動します。 [8]以前のバージョンの Windows では、自動実行タスクは実行されません。この目的では、左Shift キーを使用することが不可欠です。右 Shift キーを 8 秒間押し続けると、フィルター キーが起動します。[6]⇧ Shift
Windows がチェックするまで Shift キーを押し続ける必要があるため、有効になるまでにかなりの時間がかかる可能性があります。かかる時間は主に、新しいハードウェアを認識する時間と CD-ROM が回転するのにかかる時間によって決まります。この方法に頼るのは安全ではありません。
自動挿入通知
特定のレジストリ エントリを変更することで、特定のメディア変更通知イベントを抑制することができます。「メディア変更通知」は一般的な用語です。CD-ROM ドライブの場合、具体的な用語は「自動挿入通知」です。
CD-ROMドライブの場合、このレジストリエントリの値を0に変更すると、CD-ROMドライブのみの自動挿入通知が無効になります。[17] Windowsの再起動が必要になります。
Windows 95/98/ME では、コントロール パネルのシステム アイコンからアクセスできるデバイス マネージャーでこの設定を変更できます。

レジストリ エントリの名前は「AutoRun」ですが、MCN メッセージを抑制するだけです。MCN メッセージは AutoRun の開始をトリガーしますが、エクスプローラー シェルにビューとコンテンツを更新するように指示します。
したがって、副作用として、CD-ROM ドライブの自動実行が無効になります。ただし、新しい CD が挿入されてもエクスプローラの表示は更新されなくなり、 が押されるか、エクスプローラ メニューから [表示/更新] が選択されるまでは、以前の CD の内容が表示されます。これにより、ユーザーに大きな混乱が生じる可能性があります。 F5
このため、絶対に他に選択肢がない限り、メディア変更通知メッセージを無効にしないでください。グループ ポリシーまたはレジストリを使用して、個々のドライブの自動実行を無効にすることができます。
このエントリは、特にリストされているタイプのCD-ROMドライブ[18]、主にCD-ROMチェンジャーのMCNメッセージを抑制するために使用されます。データはデバイス識別子のセットであり、デバイス自体によってシステムに報告された識別子と一致します。
このエントリの既定値は、Microsoft のテストによって AutoRun をサポートできないと特定された製品で構成されています。このエントリは既定値から変更しないでください。
グループポリシーの編集
グループポリシーのセクションで説明されている方法を使用すると、特定のドライブおよびドライブの種類で自動実行を抑制することができます。ただし、グループポリシーエディターは、Windows XPのHomeバージョン[19]では使用できず、きめ細かいドライブ選択機能は提供されていません。
ただし、グループ ポリシーは、Windows ドメイン全体で自動実行を無効にする方法として認められています。
レジストリファイル
レジストリ設定ファイルを作成すると、実行するとレジストリに必要な変更が行われます。
上記の例では、すべてのドライブとすべてのユーザーに対して AutoRun が無効になります。この例は管理者として実行する必要があり、設定を完全に有効にするには再起動が必要になります。
初期化ファイルのマッピング
Windows Vista 以降のバージョンの Windows には、「AutoRun の既定の動作」というポリシー設定があり、任意のボリューム上の autorun.inf ファイルの読み取りを禁止するように設定できます。これにより、マルウェアがautorun.inf 機能を利用してマシンに感染するという特定のシナリオを回避できます。以前のバージョンの Windows にはこのポリシー設定はありませんが、初期化ファイル マッピングの使用は効果的な回避策です。[20] [21]
autorun.inf ファイルは標準の Windows INI ファイルであるため、Windows は設定を取得する際に適切なAPI呼び出しを使用します。これらの API 呼び出しは、INI ファイル マッピング メソッドを使用してリダイレクトできます。次のレジストリ ファイルは、すべての autorun.inf 設定がレジストリ キーからのみ取得される回避策を示していますHKEY_LOCAL_MACHINE\Software\DoesNotExist。
このキーが存在しないため、autorun.inf ファイルには設定情報が含まれていないことになります。これは、任意の場所および任意のドライブ上の任意の autorun.inf に適用されることに注意してください。
ポリシー設定またはこの回避策のいずれかによって自動実行が無効になるため、自動実行インストール CD または DVD からのソフトウェアのインストールは自動的に行われなくなります。CD の autorun.inf ファイルを表示し、適切なインストール プログラムを手動で実行する必要があります。
問題とセキュリティ
マイクロソフトは、「ユーザーの知らないうちに、または同意なしにコードが実行される可能性があるため、ユーザーはセキュリティ上の懸念からこの機能を無効にしたい場合がある」ことを認識し、レジストリの編集に慣れていないユーザーのために自動実行を無効にする「Fixit」をリリースしました。[13]
自動実行無効化バグ
Windows 2000からWindows Server 2008まで、AutoRun関連のレジストリエントリが適切に処理されず、セキュリティ上の脆弱性が生じていました。[22] Windows 95とWindows 98は影響を受けませんでした。
AutoRun が無効になっている場合、Windows はレジストリ チェックより先にアクティベーション シーケンスを進めません。ただし、見つかった autorun.inf を解析し、自動再生を起動したりアプリケーションを実行したりする最終アクション以外のすべての操作を実行します。
これにより、ユーザーは、autorun.inf を使用してダブルクリックやコンテキスト メニューの動作を変更するマルウェアの攻撃を受ける可能性が高くなります。ドライブ アイコンをダブルクリックすると、マシンが感染します。右クリックしてコンテキスト メニューから [エクスプローラ] または [開く] オプションを選択しても、回避策にはなりません。これらのメニュー項目は、適切な autorun.inf エントリによって乗っ取られる可能性があるためです。
このバグは、 Microsoft Knowledge Baseの記事967715に詳細が記載されているいくつかのセキュリティ更新プログラムで修正されました。[13]
その他の問題
- コンピュータをActive Directoryドメインに追加すると、
NoDriveTypeAutoRun値がデフォルト値にリセットされることがあります。[23]これは、ドメインのグループポリシー設定が有効になるためです。これはバグではありません。 - 一部のプログラムは、AutoRunレジストリ設定を意図的に変更することがあります。RoxioなどのCD書き込みソフトウェアの初期バージョンでは、このように設定を変更することが知られています。[24]
- グループ ポリシーの「CD-ROM へのアクセスをローカル ログオン ユーザーのみに制限する」セキュリティ オプションが次の場合に有効になります。
- コンピューターの構成\Windows の設定\セキュリティの設定\ローカル ポリシー\セキュリティ オプション
がオン(有効)になっていると、自動実行が機能しない可能性があります。[24]
WindowsインストーラーもCD-ROMへの「ローカルシステム」アクセスが拒否されるため、正常に動作しなくなります。[25]
このグループ ポリシー設定は、レジストリ エントリの値を反映します。
0 に設定する必要があります。 - RealPlayer 10は自動再生機能に干渉し、自動実行や自動再生がまったく機能していないように見えることがあります。[26] [27] [28]
攻撃ベクトル
AutoRun 機能は、以前からマルウェアのベクターとして使用されてきました。Windows Vista より前のバージョンでは、CD-ROM ドライブ タイプの場合、プロンプトや警告を表示せずに autorun.inf ファイルの指示に従うのがデフォルトの動作でした。そのため、不正な CD-ROM が感染ベクターの 1 つになる可能性があります。
同じカテゴリには、混合コンテンツ CD-ROM があります。ユーザーがソフトウェアをまったく含まないと予想するオーディオ CD に、autorun.inf を含むデータ セクションが含まれている場合があります。Sony BMGなどの一部の企業は、このベクトルを使用して、オーディオ トラックのコピーを防止しようとするマルウェアをインストールしています。
U3対応のフラッシュ ドライブは、 CD-ROM ユニットをエミュレートすることにより、エミュレートされた CD-ROM にある autorun.inf からのコマンドを Windows に実行させることもできます。
Huawei E220 HSDPA モデムなどのデバイスは、この方法を有効に使用して、モデム自体のドライバーを自動インストールします。ただし、不明なソースからのフラッシュ ドライブを接続するのは賢明ではありません。USB Switchblade や同様のツールにより、U3 フラッシュ ドライブ攻撃は容易になりました。スクリプトベースの攻撃を簡単に記述できるため、ウイルス対策ソフトウェアではデータやパスワードの盗難を防止できない可能性があります。

標準的なフラッシュ ドライブでは、ソーシャル エンジニアリング攻撃を利用して、自動再生ダイアログで適切な項目をクリックするようにユーザーを誘導できます。無料ゲームやポルノを約束する魅力的なアクション文字列は、多くのユーザーを罠に誘い込みます。いつでも、ドライブ アイコンをダブルクリックすると、autorun.inf が自動的に使用されます。これは、上級ユーザーが陥る可能性のある罠です。
どのユーザーも、自動再生を設定してさまざまな決定を行うことができます。自動再生ダイアログで適切なボックスをオンにすると、フラッシュ ドライブ マルウェアの実行が静かに自動的に行われます。
AutoRunマルウェアは、ハードドライブ、 [29]フォトフレーム、その他のデジタルデバイスを使用するように拡張されています。 [30]外部デバイスの取り扱いには注意が必要です。 AutoRunとUSBフラッシュドライブによるマルウェア感染の蔓延は、2011年前半に世界中の6億を超えるシステムのデータを分析した2011年のMicrosoftの調査[31]で文書化されています。この調査では、Windowsシステムのマルウェア感染の26%が、 Microsoft WindowsのAutoRun機能を悪用したUSBフラッシュドライブによるものであることがわかりました。 この結果は、ウイルス対策会社ESETによる最も一般的に検出されたマルウェアの月次レポートなど、他の統計と一致しており、autorun.infの悪用は2011年の脅威のトップ10の1位に挙げられています。[32]
攻撃の緩和
基本的なセキュリティ対策に加えて、[33]
グループ ポリシーとレジストリ設定を適切に使用することで、これらの攻撃にさらされるリスクを最小限に抑えることができます。以下のセキュリティ ポリシーは、この記事で説明されている内容の要約です。
- 自動実行を無効にする(ただし、自動実行の無効化のバグを参照)
- Vista の「AutoRun の既定の動作」グループ ポリシー (上記参照) を使用して、autorun.inf コマンドを無効にします。
- 初期化ファイルマッピングを使用して autorun.inf セクションを無効にする
- Windows 7では、CDとDVDドライブのみがautorun.infファイルでAutoRunタスクのようなアプリケーションを指定できます。Windows XP以降では、更新プログラムを適用することで同様の動作をするように修正
KB971029できます。[34] 2011年2月に、この修正プログラムは公式のWindows Updateチャネルに追加されました。[35] Windows 7のAutoRunタスクの動作は、Windows OSの現在のすべてのバージョンのデフォルトになりました。
さらに、主にConfickerワーム攻撃の際に、Microsoft は次のアクションを推奨しています。
- ネットワーク共有からのautorun.infの呼び出しを防ぐには、次の方法があります: [13]
- マップされたネットワークドライブのルートから既存の autorun.inf ファイルを削除する
- マップされたネットワークドライブのルートへの作成権限を拒否する
- 以下の方法で USB ストレージ デバイスの使用を防止します。
- システムBIOS内のUSB設定
- ナレッジベースの記事
823732[36]に記載されている適切なレジストリ設定 - 未知のワームの拡散(および独自データの盗難)を防ぐためにUSBデバイスを読み取り専用に設定する[37]
参照
参考文献
- ^ abc 自動再生と自動実行の違いは何ですか?、Microsoft、Windows Vista ヘルプ
- ^ CD-ROM の挿入または取り出しの通知を受け取る方法、Microsoft、サポート技術情報
- ^ メディアの挿入または取り外しの検出、Microsoft、MSDNライブラリ
- ^ RegisterDeviceNotification 関数、Microsoft、MSDN ライブラリ
- ^ 自動実行対応アプリケーションの作成、Microsoft、MSDN ライブラリ
- ^ abcd AutoRun の有効化と無効化、Microsoft、MSDN ライブラリ
- ^ IQueryCancelAutoPlay インターフェイス、Microsoft、MSDN ライブラリ
- ^ ab 自動再生: よくある質問、Microsoft、Windows Vista ヘルプ
- ^ ab autorun.inf ファイルのテスト方法、Microsoft、サポート技術情報
- ^ GetDriveType 関数、Microsoft、MSDN ライブラリ
- ^ ab 登録エントリ ファイルの使用方法、Microsoft、サポート技術情報
- ^ ab Windows 2000 レジストリ: NoDriveTypeAutoRun、Microsoft、TechNet
- ^ abcd Windows で自動実行機能を無効にする方法、Microsoft、ナレッジ ベース
- ^ ab Windows 2000 レジストリ: NoDriveAutoRun、Microsoft、TechNet
- ^ Windows Vista セキュリティ ガイド、第 3 章、Microsoft、TechNet
- ^ ab Windows および Windows Server のグループ ポリシー設定リファレンス、Microsoft、ダウンロード、Excelスプレッドシート。
- ^ Windows 2000 レジストリ: AutoRun、Microsoft、TechNet
- ^ Windows 2000 レジストリ: AutoRunAlwaysDisable、Microsoft、TechNet
- ^ Windows XP Pro リソース キット、Windows XP Home Edition との違い、Microsoft、TechNet
- ^ メモリースティックワーム Archived 2011-10-31 at the Wayback Machine、Nick Brown のブログ
- ^ 感染したUSBフラッシュドライブから保護するために自動実行を無効にする最良の方法 2013-06-06にWayback Machineでアーカイブ、Michael Horowitz - Defensive Computing
- ^ Windows Vista は NoDriveTypeAutoRun レジストリ値を適切に処理できない、US-CERT
- ^ NoDriveTypeAutoRun サブキーの値がリセットされました...、Microsoft、ナレッジ ベース
- ^ ab 自動実行機能または自動再生機能が動作しません...、Microsoft、サポート技術情報
- ^ 「インストールが途中で終了しました...」というメッセージが表示される、Microsoft、サポート技術情報
- ^ カメラとスキャナ ウィザード、動作停止、Gladiator Security チャット フォーラム
- ^ デジタルカメラで自動再生が機能しない、Vista-XP チャット フォーラム
- ^ カメラの修理方法 自動再生ダウンロード、tech-archive.net チャット フォーラム
- ^ Maxtor HDD 上の中国製トロイの木馬が台湾を脅かす、The Register、2007 年 11 月 12 日
- ^ マルウェアがデジタルデバイスに侵入、The Register、2008年1月11日
- ^ Microsoft セキュリティ インテリジェンス レポート 第 11 巻、2011 年 1 月 - 6 月。
- ^ 世界脅威レポート、2011年12月。
- ^ Win32/Conficker ワームに関するウイルス警告、Microsoft、ナレッジ ベース
- ^ Windows の自動再生機能の更新、Microsoft、ナレッジベース
- ^ セキュリティ アドバイザリ 967940 更新プログラムに関する詳細な情報、Microsoft、セキュリティ レスポンス センターのブログ
- ^ ユーザーが USB ストレージ デバイスに接続できないようにするにはどうすればよいですか?、Microsoft、サポート技術情報
- ^ Windows XP SP2 をインストールした後、リムーバブル ストレージ デバイスが認識されない、Microsoft、ナレッジ ベース
外部リンク
- AutoRun および AutoPlay リファレンス、Microsoft、MSDN ライブラリ
- メモリースティックワーム、ニック・ブラウンのブログ
- Autorun Protector は、PC を自動実行ワームから保護し、リムーバブル デバイスが他のソースから感染するのを防ぐスタンドアロン ソフトウェアです。
- Dan McCloy の Autorun リファレンス ガイド
- セキュリティウォッチアイランドホッピング:ベンダーのお土産の魅力、TechNet マガジン
- 図 4: querycancelautoplay サンプル コード、Microsoft Systems Journal、1998 年 9 月
- 自動再生修復ウィザード、Microsoft ダウンロード センター
- 悪意のある USB フラッシュ ドライブに対する防御力をテストする、Computerworld ブログ、2009 年 1 月 24 日
- 感染した USB フラッシュ ドライブから保護するために自動実行を無効にする最善の方法、Computerworld ブログ、2009 年 1 月 30 日
- AutoRunウイルスを削除する方法
- Microsoft PowerToys、Microsoft、Tweak UI
- Microsoft Windows の自動実行/自動起動機能に関するオンライン情報リソース
- AutoRunConf は、自動実行設定用のシンプルな構成ツールです。
- ドライブの自動実行を有効/無効にする方法(レジストリを使用)
- 自動実行を無効にする Windowsの自動実行/自動再生機能をオン/オフにします
- オートランメニューを作成する 独自のオートランメニューを作成する
