マイライブラリ
マイライブラリ

+ マイライブラリに追加

電話

お問い合わせ履歴

電話(英語)

+7 (495) 789-45-86

Profile

ニュース一覧に戻る

BIOSを感染させるTrojan.Bioskit.1

2011年09月20日掲載

株式会社Doctor Web Pacific


9月初旬、Doctor Webのウイルスアナリストは驚くべきマルウェアのサンプルを手に入れました。Trojan.Bioskit.1と呼ばれるその悪意のあるプログラムは当初、一般的なトロイの木馬のペイロードを用いてMBRを感染させ、ネットワークから何かをダウンロードするものであると思われました。しかしより詳細な解析によって、BIOSを感染させるメカニズムをも備えていることが明らかになりました。

このトロイの木馬の機能について明らかになればなるほど、我々は、このプログラムは完成形ではなく実験の段階であるか、あるいは製作者が意図するよりも早く流出してしまったものではないかという確信を強くしました。以下の特徴は、後者の説を裏付ける証拠となるでしょう。

  • コマンドラインパラメータパーサー(サンプルを-uキーで実行するとシステムが修復される)
  • 第三者ユーティリティの使用
  • 50日後にマルウェアを無効化するコードが無効
  • システムファイルを感染させる2通りの方法(使用されているのはそのうちの1つのみ)
  • タイプミスと思われるコードエラー

しかしながら、上記の事柄のいずれもこのトロイの木馬の危険性を減じるものではありません。先へ進む前に、このプログラムに感染する可能性があるのはAward BIOSチップのみであるということを述べておきます。

システムに感染

まずTrojan.Bioskit.1ドロッパーが、中国のアンチウイルスシステムプロセスがあるかどうかをチェックし、そのようなプロセスがあった場合、トロイの木馬はその主な機能を呼び出すための透明なダイアログウィンドウを表示させます。次にTrojan.Bioskit.1はOSのバージョンを判別し、Windows 2000以降(Windows Vistaを除く)であればその感染プロセスを続行します。このトロイの木馬はコマンドラインをチェックし、様々なキーを使用してコマンドライン経由で起動されます。

  • -d — このオプションは使えません(「リリースビルド」用にこの機能が削除されたと思われます)
  • -w — システムを感染させます(デフォルト)
  • -u —システムを修復します(MBRおよびBIOSを含む)

ドロッパーのリソースには複数のファイルが含まれています。

  • cbrom.exe
  • hook.rom
  • my.sys
  • flash.dll
  • bios.sys

ドロッパーは%windir%\system32\drivers\bios.sysドライバを解凍し、ハードドライブに保存します。システム内に\\.\MyDeviceDriverデバイスが存在した場合(解析されたドロッパーにはそのようなデバイス用のドライバは含まれていませんでした)、トロイの木馬は%windir%\flash.dllファイルをディスク上に保存し、そして恐らくservices.exe、svchost.exe、およびexplorer.exeプロセスにそれを侵入させようとします。このライブラリは、biosサービスを作成する為にサービスコントロールマネージャ経由でbios.sysドライバを起動する際に使用されます。ライブラリがアンロードされるとサービスは削除されます。\\.\MyDeviceDriverデバイスが存在しない場合、トロイの木馬はbeep.sysドライバを上書きする形でシステム内にインストールされます。トロイの木馬が起動されるとbeep.sysは前回作成されたバックアップから復元されます。ただしWindows 7のみ例外で、この場合ドロッパーは%windir%\flash.dllをディスクに保存してそれをロードします。

次にドロッパーはルートキットドライバmy.sysをCドライブのルートディレクトリに保存します。bios.sysの起動に失敗した場合や、Award BIOSが検出されなかった場合、トロイの木馬はMBRを感染させ、%temp%\hook.romファイル(PCI Expansion ROM)をディスクにドロップします。しかしこの段階でこのファイルは、データをそこから抜き取ってディスクに保存するためのコンテナとしての役割しか持ちません。その後トロイの木馬はMBRを含むディスクの最初の14セクタを上書きし、元のMBRは8番目のセクタに保存します。

My.sysドライバ

このドライバは、現在の基準からするとやや旧式のドライバで、システムドライバdisk.sysのIRP_MJ_READ、IRP_MJ_WRITE、およびIRP_MJ_DEVICE_CONTROLをフックします。

この場合、IRP_MJ_READは最初の63セクタの代わりに0を返し、IRP_MJ_WRITEはその63セクタに書き込むことが出来ません。同時にトロイの木馬は、ドロッパーがMBRやその他のセクタを上書き出来るようにしようとしますが、明らかなコードエラーによって失敗します。そこで製作者は、ドロッパーが0xE (14)のみに書き込み、トロイの木馬が0x14 (20)セクタを上書きするようにしました。 IRP_MJ_DEVICE_CONTROLIOCTL_DISK_GET_DRIVE_LAYOUT_EXIOCTL_STORAGE_GET_MEDIA_TYPES_EX、およびIOCTL_DISK_GET_DRIVE_GEOMETRY_EXリクエストに対してSTATUS_UNSUCCESSFULを返します。

BIOSに感染

では、bios.sysがAward BIOSを検出した場合はどうでしょう。MBRを感染させる膨大な数のトロイの木馬の中でもTrojan.Bioskit.1を際立たせているのはこのドライバで、小型ですが恐ろしい破壊能力を持ち、以下の3つの手法を用います。

  • Award BIOSを検出する(そして、トロイの木馬がSMI(System Management Interrupt) を作成しSMMモードでコードを実行して、イメージサイズとI/Oポートのアドレスを決定します)
  • BIOSイメージをC:\bios.binに保存
  • C:\bios.binからBIOSイメージを作成

BIOSチップにアクセスして上書きすることは容易ではありません。チップにアクセスして検出し、そのチップがサポートするデータ削除/書き込みプロトコルを使用する為に、マザーボードチップセットとの通信が可能である必要があります。しかしトロイの木馬の製作者は、それらを全てBIOSに実行させるという簡単な方法を選びました。利用したのは通称Icelordという中国の研究者によって得られた情報です。この研究は2007年に行われ、Award BIOS用のWinflashユーティリティを解析した結果、BIOSのサービスを介してSMMモードでチップを上書きするシンプルな方法が明らかになりました。OSはSMMおよびSMRAMコードにアクセスすることが出来ないので(正しく書かれたBIOSは、コードへのアクセスをブロックします)、コードは独立して実行され、様々な目的を果たします(マザーボードのハードウェアで実行されなかった機能をエミュレーション、ハードウェアエラーを処理、他のパワーマネージメントモードに切り替え、サービスタスクを実行)。

このトロイの木馬はBIOSイメージを改変するために、リソースに組み込まれたcbrom.exeユーティリティ(Phoenix Technologies)を使用し、モジュールhook.romをISA BIOS ROMとしてイメージ内に挿入します。そしてTrojan.Bioskit.1が、アップデートされたファイルを使用してBIOSを上書きするよう、他のドライバにコマンドを出します。

次にシステムが再起動されるとBIOSは、hook.romを含む全ての使用可能なPCI Expansion ROMを呼び出します。その度に、モジュールに挿入された悪意のあるコードが、MBRが感染しているかどうかをチェックし、必要な場合は再度感染させます。Award BIOSを使用したシステムが必ずしも感染するわけではありません。ウイルスラボでの実験では感染したのは3つのマザーボードの内の1つで、残りの2つには新しいモジュールを書き込むための十分なメモリがありませんでした。

MBRに感染

thewinlogon.exe(Windows 2000、Windows XP)、またはwininit.exe(Windows 7)ファイルを感染させる為に、このトロイの木馬はそのコードをMBRに書き込みます。そのためにTrojan.Bioskit.1は独自のNTFS/FAT32パーサーを備え、24時間に1回更新される、システムの起動カウンタを備えています。悪意のあるコードがそれ以上実行されないようにモジュールが改変されるため、その感染したモジュールは50日後に無効化されるようになっています。しかし、この機能はこのバージョンのトロイの木馬では無効になっています。Trojan.Bioskit.1には2種類のシェルコードが含まれ、そのうちの1つだけが使用されます。

結論

このプログラム、または同じようなペイロードを持つその他のウイルスのさらに高度な バージョンが近い将来現れるであろうことを考慮すると、この脅威の危険性を軽視することはできません。現在、Dr.Webアンチウイルスソフトウェアはトロイの木馬のコンポーネントを検出し、MBRおよびシステムファイルを修復することが出来ます。悪意のあるファイルが検出され、感染したファイルが修復された後もまだシステムがTrojan.Bioskit.1に感染していた場合、BIOSが感染している可能性が考えられます。Doctor Webウイルスラボではこの問題の解決に向けた取り組みを続けています。

Tell us what you think

To ask Doctor Web’s site administration about a news item, enter @admin at the beginning of your comment. If your question is for the author of one of the comments, put @ before their names.


Other comments