高度な技術を使ったファイル感染型ウイルス「PE_VIRUX」ファミリ

 2009年2月、ファイル感染型ウイルス「PE_VIRUX」ファミリの最初の亜種が確認されています。その巧みな拡散戦略、侵入後の広範囲にわたる破壊活動、ステルス性から今後更なる被害拡大が予測されます。本記事ではこれまでに判明した情報についてお知らせします。

 この記事執筆時において、「PE_VIRUX.A」の被害が最も深刻なのが米国、「ウイルストラッキングセンター(World Virus Tracking Center)」の集計によれば約83,000台の感染が報告されています。次いでランクインしているのが日本、約7,900台と数こそ米国に劣るものの無視できる値ではありません。

図1 「PE_VIRUX.A」感染状況(2009年2月13日時点)
図1 「PE_VIRUX.A」感染状況(2009年2月13日時点)

 「PE_VIRUX.A」はこれまでに報告されているウイルスの集大成ともいえる多機能性が大きなポイントと言えます。ほんの一例をあげるだけでも、ファイルの改ざん、リモートサイトからの不正プログラムダウンロード、バックドア活動、Windowsファイル保護(Windows File Protection)機能に対する妨害が確認されています。これまでの傾向を踏まえると、今後更なる機能強化が図られる可能性もあります。

正規ファイルに感染し脅威を広げる「PE_VIRUX」ファミリ 目次

 今回、正規ファイルに感染し脅威を広げる「PE_VIRUX」ファミリの脅威を注意喚起するにあたり、以下の項目を用意しました。

  • コンピュータ内部のスクリプトファイルを改ざん
  • 転送先では脆弱性診断、リモートからのコード実行
  • 駆除後も新たなウイルスに変化
  • 感染環境の保護も考えた破壊活動
  • 高度な技術を使ったファイル感染機能
  • 今後の展開
  • コンピュータ内部のスクリプトファイルを改ざん

     「PE_VIRUX.A」は、悪意のあるWebサイト(ソーシャルネットワーキングサイトのような利用者が書き込みできるサイトからダウンロードできるようになっているケースも報告されています)からユーザが誤ってダウンロードすることによりコンピュータに侵入します。 被害者の実行により、拡散活動に手を貸すこととなります。拡散活動においてウイルスは、全ての物理ドライブ内のフォルダおよびサブフォルダ内でスクリプトファイル (.PHP, .ASP, .HTM) を検索します。対象ファイルを見つけ出すと次のコードを注入します。

    図2 「PE_VIRUX.A」がスクリプトファイルに注入するコード
    図2 「PE_VIRUX.A」がスクリプトファイルに注入するコード

     このコードには、スクリプトファイルの閲覧によって、ウイルス配布サイトへ誘導させる意図を持っています。このため、トレンドマイクロではコードが注入されたスクリプトファイルを「HTML_IFRAME.NV」の検出名にて警告を出力する対応を実施しています。

     多くのコンピュータにおいて、不正コードの注入対象となるスクリプトファイルは多数存在しています。プログラムのReadmeファイル、ライセンスファイル、テンプレートファイルなどが被害を受ける可能性があります。もちろんウェブサーバとして運用しているコンピュータであれば、その被害はより甚大なものへと発展します。

    目次に戻る

    転送先では脆弱性診断、リモートからのコード実行

     「HTML_IFRAME.NV」によって香港(過去にはドイツにて同一ドメインが稼働していた事を確認しており、今後各国にその場所を移していく可能性もあります)に位置するウイルス配布サイトへ転送されます。その先では接続コンピュータの脆弱性診断、攻撃ルーチンの呼び出しがスクリプトによって行われます。トレンドマイクロではこの呼び出しスクリプトを「HTML_XPLOIT.V」の検出名にて警告を出力する対応を実施しています。現在確認されている診断対象は次の通りです。これら脆弱性は誘導型攻撃を仕掛けるツールキットでは定番とされているものばかりです。今後攻撃者側のアップデートにより、診断対象が拡張される可能性も十分考えられます。

    CVE番号 情報のタイトル
    CVE-2005-2127 Internet Explorer 用の累積的なセキュリティ更新プログラム (896688) (MS05-052)
    CVE-2006-3730 Windows Explorer の脆弱性により、リモートでコードが実行される (923191) (MS06-057)
    CVE-2006-4446 Internet Explorer 用の累積的なセキュリティ更新プログラム (922760) (MS06-067)
    CVE-2007-2223 XML コア サービスの脆弱性により、リモートでコードが実行される (936227) (MS07-042)
    CVE-2008-4844 Internet Explorer 用のセキュリティ更新プログラム (960714) (MS08-078)
    CVE-2008-2463 Microsoft Access Snapshot Viewer の ActiveX コントロールの脆弱性により、リモートでコードが実行される (955617) (MS08-041)
    CVE-2007-0018 NCTsoft Products “NCTAudioFile2” ActiveXコントロールの脆弱性

     脆弱性診断を行った上でコードを実行させる為にMicrosoft XML Core Servicesサービスの脆弱性(MS07-042)を衝きます。これにより、次のサイトへの接続が行われます。

    http://www.{BLOCKED}ef.pl/rc/load.php?id=5446&spl=7
    http://www.{BLOCKED}ef.pl/rc/load.php?id=5446&spl=9

     ウェブサイト接続によりダウンロード、実行されるのが「PE_VIRUT.BO」です。ウイルス連鎖は再びローカル環境で続きます。

    目次に戻る

    駆除後も新たなウイルスに変化

     「PE_VIRUT.BO」はその振る舞いからみた場合、「PE_VIRUX.A」と非常に高い類似性が挙げられます。更にダウンロードされた「PE_VIRUT.BO」には新たな仕掛けが組み込まれています。ダウンロードされたファイルからウイルスコードが駆除されると「TROJ_VIRUX.A」という別のウイルスと変化します。このようなウイルスの多重感染事例はこれまでにも報告されています。ウイルス作成者側は解析側を混乱させる効果を狙っていると推測されます。

     「TROJ_VIRUX.A」は次のサイトへ接続する振る舞いを確認しています。

    http://{BLOCKED}f.pl/rc/ld=php?i=0

     現在、このサイトは既に接続不能状態です。サイトを移転し新たな攻撃を仕掛けてくる可能性も十分考えられます。引き続きの注意が必要と言えそうです。

    目次に戻る

    感染環境の保護も考えた破壊活動

     ここまでの流れを図解すると次の通りです。その巧みな拡散戦略を改めて理解いただけるのではないでしょうか。引き続き破壊活動にスポットライトを当て、分析していきます。

    図3 「PE_VIRUX.A」活動の概要
    図3 「PE_VIRUX.A」活動の概要

     「PE_VIRUX.A」は自身を正規のプログラム「winlogon.exe」に組み込みます。このときシステム・ファイル・チェッカー「SFC.EXE」無効にします。システム・ファイル・チェッカーは、Windowsファイル保護(Windows File Protection)機能を利用し、システムファイルについて問題や破損がないかをチェック、書き換えられて問題が発生しているシステムファイルなどをオリジナルのファイルに書き戻すことができるコマンドラインのツールです。ウイルス作成者はこれを無効にすることにより感染活動を実現し、復旧を困難にすることを狙っていると思われます。

     このほか、今後の感染活動を円滑に進める為、HOSTSファイルの改変、Windowsファイアウォールの設定変更、バックドア活動(IRCサーバへ接続し、リモートコントール可能にする)活動が確認されています。

     さらにウイルスは宿主となる実行ファイル(「.EXE」または「.SCR」)を探しだします。このときプロセスおよびファイル名に以下の文字列が含まれている場合感染を行いません。


    OTSP
    WC32
    WCUN
    WINC

     これはウイルス自身の動作に支障を来すことがないよう、感染環境を保護する目的で設計されたものと推測されます。

    目次に戻る

    高度な技術を使ったファイル感染機能

     感染ファイルを分析した結果、ウイルス作成者がWindows実行ファイルの構造を熟知していることがわかります。ウイルスを正規プログラムに注入させる手法は大きく3種類(上書き感染(Overwrite)型/追記感染(Append/Prepend/Cavity)型/EPO(Entry Point Obscuring)型)あると言われています。

    概要
    上書き感染(Overwrite)型 元のプログラムのコードの一部またはすべてを上書きし,破壊して感染を行う。元のファイル情報がなくなってしまうため駆除ができない。
    追記感染(Append/Prepend/Cavity)型 元のプログラムを破壊しないようにウイルスが自分のコードを追加または挿入して感染を行うもの。ウイルス・コードの実行が終わった後に元のプログラムに制御を返す。
    EPO(Entry Point Obscuring)型 エントリ・ポイントやファイル・ヘッダ情報の変更を行わずにファイル感染を行う。元のプログラムのコードの中にある呼び出しコードを自分のコードを呼び出すように書き換える。

     「PE_VIRUX.A」ではこれら感染方法を組み合わせて使い、更に多層構造の暗号化手法を採ることでステルス性を高める工夫が施されています。トレンドマイクロでは感染方法に応じて検出名称を変える対応を行っています。

    感染・暗号化スキーム 検出名
    EPO-Cavity-Appending, encrypted more than once PE_VIRUX.A
    Cavity-Appending, encrypted more than once PE_VIRUX.A-1
    EPO-Cavity-Appending, than encrypted once PE_VIRUX.A-2
    Cavity-Appending, than encrypted once PE_VIRUX.A-3
    EPO-Appending, than encrypted once PE_VIRUX.A-4
    EPO-Appending, than encrypted once (with long jump instruction) PE_VIRUX.GEN
    EPO-Cavity-Appending, than encrypted once (with long jump instruction) PE_VIRUX.A-6

    図4 「PE_VIRUX」の動作図解
    図4 「PE_VIRUX」の動作図解

    目次に戻る

    今後の展開

     正規ファイルを宿主とするファイル感染型ウイルスは判別が困難となるため、新種の発見には困難を極めることが多いです。また、感染した正規ファイルが破損し、検出できても駆除することができない場合もあります。このため、もしもに備えての定期的なバックアップ作業が非常に重要になります。また、既にバックアップ作業を実施している場合にはこの機会に是非、データリストアのシュミレーションを計画することをお勧めします。安心できるバックアップシステムでも残念ながら記録メデイア側に故障、不具合は起きないとは限りません。

     ウイルス作成者は過去のベストプラクティスを取り入れ、変化に臨機応変に対応してきています。我々対策側もこれを上回るスピードで対応して行かなければ、理想的なサイバースペースを確保することは困難であると言えるのではないでしょうか。

    【訂正と追記】

    2009/03/13 14:50 「PE_VIRUX」の動作図解を追加。