<コラム>USBワームが作成する「Autorun.inf」の分析とその傾向

■自動実行ファイルの拡張子から見る「Autorun.inf」

 引き続き、「Autorun.inf」に記載されたファイルの拡張子分布について調査を行いました。

 記載された拡張子の割合を見てみると下記のようになります。

図7 「Autorun.inf」に記載されたファイルの拡張子の割合(期間:2007年11月~2009年2月)
図7 「Autorun.inf」に記載されたファイルの拡張子の割合(期間:2007年11月~2009年2月)

 やはりTOP3は単体で動作可能なEXE、COM、CMDが並んでいますが、ここで注目するのは、4位にランクインしたDLLです。その背景として、3つの感染技法を挙げます。

 1つ目として、正規プログラムである「rundll32.exe」を介した不正DLLの呼び出しによる感染をあげます。

コード例:
shell\open\Command=rundll32.exe .\desktop.dll,InstallM

※上記は、システムに存在する正規な「rundll32.exe」に対し、ウイルスそのものである「desktop.dll」を呼び出させているコードとなります。

 「DLL」を含む「Autorun.inf」は全体の6.8%であり、そのうちの44.4%が「rundll32.exe」を利用したdll呼び出しによる感染手法でした。

 「DLL」がランクした理由として次にあげられるのは、「Shell32.dll」を利用したアイコンの偽装です。

コード例:
icon=%SystemRoot%\system32\SHELL32.dll,4

 上記コードを「Autorun.inf」に記述することで、USBドライブのアイコンを「フォルダアイコン」に偽装させる事が出来ます。

図8 ドライブアイコン、ドライブ名を「Autorun.inf」により指定することができる
図8 ドライブアイコン、ドライブ名を「Autorun.inf」により指定することができる

 ※「label」指定を使うことでドライブ名も任意の文字列に変更することができます。リージョナルトレンドラボに寄せられた全「Autorun.inf」のうち、「label」指定を利用したものは0.42%であり、現状のUSBワームにはあまり使用されていません。

 なお、「Shell32.dll」には多くのシステムアイコンが収納されており、「Autorun.inf」内で指示すれば、任意のシステムアイコンに変化させることが出来ます。

図9 「shell32.dll」には多くのシステムアイコンが収納されており、引数で指定できる
図9 「shell32.dll」には多くのシステムアイコンが収納されており、引数で指定できる

 アイコン偽装を行うコードが含まれていた「Autorun.inf」は全体の7.5%であり、そのうち48.3%が「Shell32.dll」を利用したシステムアイコンへの偽装、その他の51.7%が独自にアイコンファイルを同梱しているか、もしくは同梱した実行ファイルのアイコンを利用するものでした。

 最後3つ目として挙げるのが、「url.dll」を利用した「Autorun.inf」の存在です。

 「Autorun.inf」で使用されるopenコマンドは、実行形式のファイルしか開くことが出来ないという制約があります。

 つまり、

open=index.html

 という記述方法ではHTMLファイルを開くことが出来ないため、ウイルス作者が行う方法としては「rundll32.exe」および「url.dll」を利用します。※「rundll32.exe」、「url.dll」は両方ともWindows OSに標準で存在している正規ファイルとなります。

 具体的には、下記のコードを記述することで、指定したファイルを「関連付けで開く」という事が可能になります。

shell\open\Command=rundll32.exe url.dll,FileProtocolHandler index.html

 「rundll32.exe」はDLLを呼び出す為に使用され、上記コードは、「rundll32.exe」に「url.dll」を渡したのち、「url.dll」が持つ内部関数FileProtocolHandlerを呼び出させ、「index.html」というパラメータを渡しています。

 上記は「関連付けで開く」という動作となるため、IE限定ではなく普段使用しているブラウザが呼び出されます。また、もちろんHTML以外のファイルも、システムに関連づけられている場合は上記の方法で実行させることが可能です。

 なお、「rundll32.exe url.dll,FileProtocolHandle」を利用した「Autorun.inf」は全体の2.9%であり、そのうちの58.9%はEXEファイルを、残りの41.1%はHTML、HTM、PDFを実行させるものでした。

 こうしたことからわかる通り、USBメモリの中に実行形式のファイルが存在していないからといって安心するべきではありません。USBメモリを開いて見慣れない「Autorun.inf」が存在していた場合、すでに何らかの脅威が発生している可能性があることを認識し、早急にセキュリティ対策製品による検索を実施しましょう。また、その環境で脅威の有無が解決されるまでは、USBメモリ等の接続を控える事が大切です。

目次に戻る

前のページへ 3/4 次のページへ

Index
USBワームが作成する「Autorun.inf」の分析とその傾向

Page 1
数から見るUSBワーム

Page 2
さらに巧妙になる「Autorun.inf」の難読化
→ Page 3
自動実行ファイルの拡張子から見る「Autorun.inf」

Page 4
URLを直接開くことが可能な「Autorun.inf」
利用方法により拡がる「Autorun.inf」の危険性
まとめ