依然猛威を振るい続けるUSBワーム、今一度脅威の再認識を

 USBメモリなどを媒体として感染を拡げるウイルス報告(いわゆるUSBワーム)が後を絶ちません。

 トレンドマイクロに寄せられたMAL_OTORUN1* 注釈1)報告件数は7月141件、8月143件、9月347件、10月471件、11月611件と右肩上がりとなっており、被害報告件数は2008年2月から4ヶ月連続、8月から4ヶ月連続一位となっています。

図1. 2008年度2月~11月におけるMal_Otorun1の報告数推移
図1. 2008年度2月~11月におけるMal_Otorun1の報告数推移

* 注釈1. Mal_Otorun1は不正な「Autorun.inf」に対する検出名です。文中ではMal_Otorun1を利用するウイルスをUSBワームと総称・記載します。

 トレンドマイクロでは昨年度よりその脅威について言及してきましたが、AP通信社発、テクノバーン株式会社 11月21日付け報道(「米国防省、USBドライブの使用を突然禁止 中国からのサイバー攻撃?」)によれば、アメリカ国防総省(DoD:Department of Defense)においてもリムーバブルメディアの全面使用禁止命令が出るなど、被害の深刻度はますます高まっています。

 今回、欧米でも大きく注意喚起が行われた事で、USBワームの被害はグローバルにおいてより深刻化してきている事がわかります。

 感染経路に使用される媒体において、メールなどと比較すると、物理メディアは物理的な制約から一般的にあまり重要視されませんが、なぜUSBワームはここまで被害が拡大しているのでしょうか。

 社会的な背景の一つに安価な商品流通が挙げられます。

 国内でもUSBメモリの価格急落は留まることを知らず、12月15日現在32GBで5,700円を切る商品も出始めており、1GB辺りの単価は180円前後になっています。こうした状況もUSBワームの感染増加に拍車をかけている要因の一つと考えられます。

<USBワームの脅威再認識におけるハイライト 目次>

 今回はUSBワームにおける脅威の再認識を行うための項目を用意しました。

  • USBワームは「Autorun.inf」で感染を広げる
  • 環境により異なる挙動となるAutorun.inf
  • 技術的な対策
  • レジストリによる「Autorun.inf」の無効化における注意点
  • 具体例を用いた感染の仕組み
  • USBワームの感染経路はUSBメモリだけではない
  • 最大・最後の脆弱性は「人間」
  • USBワーム対応策のまとめ
  • ■USBワームは「Autorun.inf」で感染を広げる

     USBワームが被害を拡大させている技術的要因は「Autorun.inf」による自動実行にあります。Windowsでは「Autorun.inf」というファイルを利用してメディアの利便性を高める仕組みが存在します。

     「Autorun.inf」は通常ドライブのアイコンの変更やソフトウエアの自動実行を行うためのシステムファイルであり、多くの市販CD-ROM等に使用されています。

    図2. ウイルスバスター2009 CD-ROMにも「Autorun.inf」が存在する
    図2. ウイルスバスター2009 CD-ROMにも「Autorun.inf」が存在する

     ウイルスバスターのCD-ROMも例外なく「Autorun.inf」を使用しています(図2)。

     下図3は、ウイルスバスター2009の「Autorun.inf」を開いたものです。

    図3. ウイルスバスター2009 「Autorun.inf」の中身
    図3. ウイルスバスター2009 「Autorun.inf」の中身

      OPEN=Autorun.exe という記述により、CD-ROMの挿入時ドライブ内の「Autorun.exe」が自動実行されます。

     また、 ICON=Autorun.exe という記述により、CD-ROMドライブのアイコンが「Autorun.exe」のアイコンに変更されます。

    図4. ウイルスバスター2009 CD-ROMのドライブアイコン
    図4. ウイルスバスター2009 CD-ROMのドライブアイコン

     USBワームはこうした「Autorun.inf」の利便性を悪用し感染を拡げていきます。

     感染済のコンピュータにUSBメモリを挿入すると、USBワームは自身のコピーとそのファイルパスが書かれた「Autorun.inf」をUSBメモリ内に作成します。

     その後、ウイルス混入済USBメモリを他コンピュータに挿入した際に「Autorun.inf」により自動的にUSBワームが実行されます。

    図5. USBワームの感染サイクル
    図5. USBワームの感染サイクル

     このサイクルが繰り返され感染が拡大するのです。

    目次に戻る

    ■環境により異なる挙動となるAutorun.inf

     自動実行させるための「Autorun.inf」の書式には「openコマンド」と「shellコマンド」というものがあります。

     「openコマンド」はメディアの挿入をトリガーにしてファイルを実行させるものです。(一般的に「自動再生」と呼びます)
     「shellコマンド」はドライブのダブルクリックや右クリックメニューなどをトリガーにしてファイルを自動実行させるものです。

     これらのため、「Autorun.inf」の挙動は環境によって差異が生まれてきます。

     例えば、Windows XPの環境ではCDメディアのみに 「Autorun.inf」内の「openコマンド」が有効になります。つまりWindows XPでは、USBメモリを挿した時点で表示されるダイアログ中に「openコマンド」にあたる選択肢がなく(図6)、この時点で感染することはありません。しかし、「Autorun.inf」内の「shellコマンド」は有効となるため、マイコンピュータ内のドライブアイコンをダブルクリックするとウイルスが呼ばれ感染してしまいます。

    図6. リムーバブルメディアを挿した場合のダイアログ(Windows XP)
    図6. リムーバブルメディアを挿した場合のダイアログ(Windows XP)

     一方Windows Vistaでは「Autorun.inf」内の「openコマンド」による有効範囲がCDメディアに加えUSBメモリまで拡大されました。

     このことによりWindows Vistaのデフォルト設定環境においては、USBメモリの挿入で現れる自動再生のダイアログの中で、「openコマンド」に該当する選択肢(プログラムのインストール/実行)を選ぶと感染してしまう可能性があります(図7)。

    図7. リムーバブルメディアを挿した場合のダイアログ(Windows Vista)
    図7. リムーバブルメディアを挿した場合のダイアログ(Windows Vista)

     また、ダイアログにおいて「常に次の動作を行う」にチェックした場合、USBメモリを挿すだけで感染する可能性があります。

     ※なおWindows XPではドライブのダブルクリックによる感染を防ぐことが出来る更新プログラムが公開されています。

  • Microsoft「Windows XP 用の更新プログラム (KB950582)
  • 目次に戻る

    ■技術的な対策

     では、どのような技術的対策があるのでしょうか。

    ●自動実行させないようにレジストリを設定する

     以下の通り、レジストリ設定を行います。これにより、全種類のドライブにおいて自動再生無効にすることが出来ます。

    警告
    レジストリはWindowsの構成情報が格納されているデータベースです。レジストリの編集内容に問題があると、システムが正常に動作しなくなる場合があります。弊社ではレジストリの編集による如何なる問題に対しても補償いたしかねます。レジストリの編集はお客様の責任で行っていただくようお願いいたします。なお、レジストリの編集前に必ずバックアップを作成することを推奨いたします。

    レジストリの場所
    HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersion
    PoliciesExplorer
    追加するサブキー
    NoDriveTypeAutoRun
    追加する値のデータ(16進数)
    0xFF

     ※Windows OSにおける自動実行機能関連の詳細情報は以下のページに記載されています。

  • Microsoft「Windows で強制”無効”に自動実行レジストリ キーを修正する方法
  • ●Shiftキーを押しながらメディアを挿入する

     リムーバブルディスクを挿入する際Shiftキーを押し続ける事でOSの自動再生機能を停止させることが出来ます。

     ただし、Shiftキーにより防げるのはOSによる自動再生機能(「Autorun.inf」内の「openコマンド」)であって、「Autorun.inf」自体を無効化させるものではありません。

     つまり、Shiftキーを押しながらでもドライブをダブルクリックすると通常通り「Autorun.inf」が読み込まれるためUSBワームに感染してしまいますので注意してください。

    ●ウイルス対策ソフトでUSBメモリの定期的な手動スキャンを行う

     ウイルス対策ソフトのリアルタイムスキャンによりそのコンピュータに対する感染は防げたとしてもUSBメモリ内にUSBワームが残るケースがあります。そのため、USBメモリの使用前には念のため手動スキャンを実施することをおすすめします。

    ●「Autorun.inf」フォルダを作成する

     USBメモリ内に「Autorun.inf」フォルダを予め作成しておくことで、ウイルスによる「Autorun.inf」の作成を妨害するという方法もよく取られています。

     注目すべき点は、「Autorun.inf」ファイルではなくフォルダの作成を推奨しているということです。その理由は、ウイルスの作成上、ファイルとフォルダの存在有無を調べるプログラム関数にそれぞれ違いが出てくる場合があるためです。つまり、ウイルスもプログラムである以上、「Autorun.inf」というファイルの存在有無は調べても、同名のフォルダの存在有無を確認するプログラムコードを持っていない可能性があります。

     さらに読み取り専用属性を付けておくことで、属性変更のプログラムコードを持っていないウイルスの書き換えを防ぐことが出来ます。

     しかし、ウイルスの中には「Autorun.inf」と同名のファイル・フォルダが存在しても通用しないものが存在するため、この手段は一つの予防策に過ぎない点に注意してください。

     例えば、「Autorun.inf」を利用し感染を拡げるWORM_AGENT.HBは、リムーバブルメディア内に「Autorun.inf」が存在するとその正規な「Autorun.inf」を「Autorun{半角空白}.inf」に改名し感染を成功させます。このウイルスの場合は「Autorun.inf」ファイルのみならずフォルダの場合も改名を行います。

    図8. AutoRun.infフォルダ改名の様子
    図8. AutoRun.infフォルダ改名の様子

     以前はUSBメモリ内に「Autorun.inf」が存在していれば感染に失敗するウイルスも多くありましたが、近年のウイルスにはあまり有効でない防御方法となってきています。
    しかし、前述したとおり予防策の一つとして行う価値はあるので、一対策として実施をおすすめします。

    目次に戻る

    ■レジストリによる「Autorun.inf」の無効化における注意点

     「技術的な対策」として、「NoDriveTypeAutoRun」のレジストリ値を変更する方法を案内いたしました。その後の調査により、この変更だけを行っても、「NoDriveTypeAutoRun」の値を適切に参照しない問題があり、「Autorun.inf」の記述に従ってプログラムが実行されてしまう可能性があることが明らかとなりました。

     マイクロソフト社では、この問題に関するサポートドキュメント「KB953252」を公開し、「NoDriveTypeAutoRun」の値を参照しない問題を修正するための更新プログラムをリリースしています。

     更新プログラムは、Windows Vista および Windows Server 2008 には更新プログラム (MS08-038) として Microsoft Update 経由でアップデートが配布されています。Windows 2000/XP/Server 2003 を使用している場合には手動で KB950582 をインストールしてください。

     同更新プログラムをインストールした上で、「NoDriveTypeAutoRun」の値を「0xFF」に設定することで自動実行機能の無効化を行うことが可能です。

     ※参考情報

  • US-CERT Vulnerability Analysis Blog「The Dangers of Windows AutoRun
  • US-CERT Vulnerability Note VU#889747「Microsoft Windows fails to properly handle the NoDriveTypeAutoRun registry value
  • JPCERT/CC JVNTA09-020A「Microsoft Windows 自動実行機能の無効化における注意点
  • Microsoft サポートオンライン (KB953252)「Windows で強制”無効”に自動実行レジストリ キーを修正する方法
  • Microsoft TechNet (91525)「NoDriveTypeAutoRun
  • 目次に戻る

    ■具体例を用いた感染の仕組み

     それでは、実際にUSBワームはどのようにして感染を拡げていくのか、先に紹介したWORM_AGENT.HBを例に用いて簡単にご紹介します。

     WORM_AGENT.HB混入済みのUSBメモリには、隠しファイルのゴミ箱と「Autorun.inf」が作成されます。

     感染済みのコンピュータでは、一般的にウイルスによって隠しファイルや拡張子を表示出来ないように設定変更されてしまうため、USBメモリ内にコピーされたこれらのファイルの存在にユーザは気づきません。

     「Autorun.inf」の中にはこのような記述が見られます。

    図9. ウイルスが作成した「Autorun.inf」の中身
    図9. ウイルスが作成した「Autorun.inf」の中身

     open=Recycledcleardisk.pif という記述が確認出来ます。このことから、「Recycled」というフォルダの下に「cleardisk.pif」というファイルが存在し、それを自動実行させているということが理解出来ます。

     しかし、実際に「Recycled」を開いても本当のゴミ箱の中身が確認出来るだけで、「cleardisk.pif」というファイルは確認出来ません。実はこのUSBメモリ内に存在する「Recycled」というゴミ箱は、Windowsの持つシェルエクステンションと呼ばれる仕組みを利用して偽装された普通のフォルダです。

     シェルエクステンションを利用すれば、簡単な方法で本物のゴミ箱に転送させる事が出来ます。

    [ゴミ箱フォルダの確認方法]

    通常の新規フォルダ内に、以下の内容を記述した「desktop.ini」というファイルを作成します。

    [.ShellClassInfo]
    CLSID={645FF040-5081-101B-9F08-00AA002F954E}

    そしてそのフォルダをシステム属性に設定します。
    (コマンドプロンプトにより「attrib +s “フォルダ名”」を実行)

    すると、それまで普通のフォルダだったアイコンがゴミ箱に変化します。
    ダブルクリックしてもそのフォルダ直下にはアクセス出来ず、ゴミ箱に転送される事が確認出来ると思います。
    (解除するにはコマンドプロンプトにより「attrib -s “フォルダ名”」を実行してください)

     この手法が巧妙なのは、「単純にアイコンを偽装しているのではない」という点です。
    実際に本物のゴミ箱として機能するために、一見その偽装が見破れません。

     一般的なユーザは、USBメモリの中に「Autorun.inf」が確認出来たとしてもゴミ箱しか見あたらなければ、特に不審に思わず使い続けてしまうと思われます。

     また多少不審に思えたとしても「ウイルス本体が駆除されて「Autorun.inf」だけが残っているのだろう」
    という判断をするかもしれません。

     こうした偽装が可能であるという知識を持っているか持っていないかで、感染の拡大を十分防ぐことが出来ます。情報管理者であれば、「Autorun.inf」を見つけたらすぐにウイルスの存在を疑う程の慎重さが必要です。

     また今回のWORM_AGENT.HBが利用した拡張子「pif」は、過去大流行したWORM_NETSKYファミリでも用いられた注目すべき拡張子です。
      「pif」は本来MS-DOSプログラムを動作させるための設定用ファイルに付けられる拡張子ですが、

  • 「exe」を「pif」に変更してもそのまま実行可能である
  • 「拡張子を全て表示する」設定にしても表示出来ない拡張子である
  • アイコンがショートカットになる
  • というセキュリティ上重要な問題を含んでいるため多くのウイルスに悪用されています。

    図10.シェルエクステンションによるゴミ箱転送/pifファイルはMS-DOSのショートカットアイコンとなり拡張子が見えない
    図10. シェルエクステンションによるゴミ箱転送/pifファイルはMS-DOSのショートカットアイコンとなり拡張子が見えない

     メールにexe形式のファイルが添付されていれば実行しない方でも、ショートカットであれば何気なく開いてしまう方はたくさんいるのではないでしょうか。
    今後見慣れないMS-DOSのショートカットがあれば、決して実行しないようにすることが大切です。

     ※なお、レジストリ HKEY_CLASSES_ROOTpiffile にある NeverShowExt を削除することで「pif」という拡張子を表示させる事が出来ます。

    警告
    レジストリはWindowsの構成情報が格納されているデータベースです。レジストリの編集内容に問題があると、システムが正常に動作しなくなる場合があります。弊社ではレジストリの編集による如何なる問題に対しても補償いたしかねます。レジストリの編集はお客様の責任で行っていただくようお願いいたします。なお、レジストリの編集前に必ずバックアップを作成することを推奨いたします。

    レジストリの場所
    HKEY_CLASSES_ROOTpiffile
    削除するサブキー
    NeverShowExt

    目次に戻る

    ■USBワームの感染経路はUSBメモリだけではない

     一般的にUSBワームと呼ばれていることから、その注意対象をUSBメモリのみに向けがちですが、リムーバブルメディアであればどのようなものでも感染する事に注意してください。

     例えば、外付ハードディスク、デジカメ、音楽プレイヤー、デジタルフォトフレーム、SDカード、メモリースティック、ICレコーダーなどディスク領域がある機器は全てウイルスの感染媒体となります。
    現に、トレンドマイクロにはSDカードでの感染報告も多数寄せられており、USBメモリ以外に対する注意喚起も必須となってきています。

     ※関連情報として、Windows のCD ライティング機能を悪用し拡散を試みるウイルスの流通も報告されています。
     Windows XP ではCD 書き込み用データを一端ステージング領域と呼ばれる隠しフォルダに格納します。
     つまり、以下のフォルダあるファイルはCDメディア作成時に自動的に書き込まれます。

    C:Documents and Settings<ユーザ名>Local SettingsApplication DataMicrosoftCD Burning

     この方法を悪用したウイルスによる感染ケースが報告されています。

    目次に戻る

    ■最大・最後の脆弱性は「人間」

     どこまでハードウエアやソフトウエアによりセキュリティを強固にしたところで、そのセキュリティを運営し活用するのは最終的には人間です。

     Mal_Otorun1を技術的に食い止める事ももちろん有効な対策ですが、使用する側が正しいポリシーに基づきプロシージャ(手順書)を作成し適切に運用させることが最大の防御策といえます。

     リムーバブルディスクを共有しない、私用・業務用と用途別に分ける、不振なコンピュータには挿入しないなど運営を徹底させることはUSBワームの感染予防に加え、情報漏洩予防にも繋がります。

     USBワームが急増している今、より適切なポリシー設定の見直しおよびプロシージャの作成・運用が急務となっています。

     一般的なセキュリティにおいては、外からの脅威には敏感ですが、内部における脅威には鈍感になりがちです。 この機会に、内部における脅威にも目を向け、より強固なセキュリティ対策を構築しましょう。

     一人一人がこうした脅威をしっかりと認識する事が最重要課題となります。

    目次に戻る

    ■USBワーム対応策のまとめ

     USBワーム対策の適切な順序は以下となります。

    1. 脅威を理解し、適切なポリシーを設定・運営する
    2. ウイルス対策製品・OS・その他製品を常に最新の状態し必ず手動検索を行う
    3. 自動実行を禁止する/「Autorun.inf」フォルダを作成しておく/Shiftキーを押して挿入する

    目次に戻る

     

    【訂正と追記】

    2009/03/24 15:16 「レジストリによる「Autorun.inf」の無効化における注意点」項目を新たに追加致しました。
    2008/12/18 21:00 見出し「環境により異なる挙動となるAutorun.inf」において、一部誤解を招く記述がありましたので訂正致しました。