このページの本文へ

ゼロからわかる最新セキュリティ動向 ― 第13回

ウイルス解析の現場 その1 USBウイルスの仕組み

USBメモリで拡がるウイルス「オートラン」は、なぜ怖い

2010年08月16日 09時00分更新

文● 飯田朝洋/トレンドマイクロ株式会社 セキュリティエキスパート本部 セキュリティエンハンスメントサポートグループ
Threat Monitoring Center 課長

  • この記事をはてなブックマークに追加
  • 本文印刷

ガンブラーやオートラン、アンティニーなど不正プログラムは多数ある。しかし、Webサイトを改ざんする、USBで感染するなどおおまかな動作はわかっていても、どのようなロジックで感染しシステムファイルやスクリプトを変更するのかを知っている人は少ないだろう。そこで本稿では、4回に渡りウイルス解析の視点から不正プログラムを解説していこう。

2009年感染トップとなったUSBウイルス

 USBメモリを感染源とする「MAL_OTORUN(オートラン)」は、ここ数年でもっとも有名な不正プログラムの1つだ。しかし、不正プログラムが保存される媒体としてはフロッピーディスクやCD、DVDとさまざまなものが存在する。その中で、なぜUSBウイルスだけがこれ程までに感染が拡大したのだろうか?

 1つの要因としてUSBメモリが非常に使い勝手がよく、データの持ち運びに適しているという事実がある。だが、筆者がもっとも感染が拡大した要因と考えているのがUSBウイルスの仕組みによるものだ。

 USBウイルスと一般的に呼ばれるものは、2つのコンポーネントに分けられる。1つ目がウイルス本体で、2つ目がウイルス本体を自動実行させるための命令文だ。画面1をご覧いただきたい。

画面1 ウイルス感染したUSBメモリの中身

 これが実際にUSBウイルスに感染しているUSBメモリの中身だ。「autoregistry.exe」がウイルス本体、「autorun.inf」がウイルス本体を実行させる命令文だ。

 こうしたことから感染は広がり、トレンドマイクロが調査した2009年ウイルス感染被害報告数ランキングでは、1位が「MAL_OTORUN(オートラン)」で3617件の感染報告があった。なお、この報告されたオートランは、ウイルス本体を実行させる命令文を検出するものといえる。

表1 不正プログラム感染被害報告数ランキング 2009年度

 では実際にどのような命令文が書かれているのだろうか。画面2が、実際にautorun.infに記載された命令文だ。2009年の感染被害報告数ランキング1位で世間を騒がせた不正プログラムがどれ程巧妙なプログラムかと思う方もいるだろうが、実際はわずか数行の命令文に過ぎない。

画面2 autorun.infに記載されている命令文

 もともとオートランという機能はCDやDVDをコンピュータに読み込ませた際に、アプリケーションやインストーラを自動的に起動させる便利な機能だ。ところが、起動する対象が不正プログラムになった瞬間に大きな脅威となってしまった背景がある。

USBウイルスを削除するとどうなるか?

 一般的にウイルス対策ソフトがインストールされたコンピュータからUSBメモリ内の「autoregistry.exe」と「autorun.inf」を削除すれば、何も問題がなく削除できる。しかし、すでにUSBウイルスに感染したコンピュータからUSBメモリ内の「autoregistry.exe」と「autorun.inf」を削除するとどうなるだろうか?

 検証したケースでは、すぐさまUSBメモリ内に新しい「autoregistry.exe」と「autorun.inf」が作成されていた。このようにUSBウイルスでは削除したから安心と思っていたにもかかわらず、コンピュータ内のウイルス駆除が行なわれておらず、感染を繰り返してしまう場合もある。

どのように止めているのか?

 このUSBウイルスが非常にやっかいな要素の1つが、特定の不正プログラムに依存しないことだ。ファイルを自動実行するための「autorun.inf」は、さまざまなプログラムを実行できる。それが正規のプログラムである場合もあるし、不正プログラムである可能性もある。

 攻撃者からすれば、感染させるウイルス本体を変更することで、柔軟に(といういい方は少々おかしいが)ユーザーに対して感染を広げられるのだ。セキュリティベンダーの努力が足りないといわれればそれまでなのだが、現状USBウイルスすべてを検出することはできない。なぜなら、USBメモリ内にautorun.infと一緒に保存するだけで、無数のUSBウイルスができてしまうからだ。

 そのため、トレンドマイクロが提供しているエンドポイント向けウイルス対策ソフトであるウイルスバスターでは不正、正規を問わず「autorun.inf」で記述されたファイルを読み込ませずに自動実行をさせないという仕組みを取り入れている。これにより、前述の「autoregistry.exe」のような、ウイルス本体の実行を阻止するわけである。

カテゴリートップへ

この連載の記事
ピックアップ