ブラックベリーサイランスvs. ポリモーフィック型 ウイルス Parite

By Masaki Kasuya

本ブログ記事は、2019年8月20日に米国で公開された抄訳版です。原文はこちらからご覧頂けます。

Parite は自身を変化させながら他のファイルに感染を拡げるポリモーフィック型ウイルスです。このような特徴はシグネチャ型のアンチウイルス製品による検知を回避するために有効であることが知られています。Parite は感染したシステム上にある実行ファイルに次々と感染し、その駆除を困難にさせます。その結果、完全な駆除を行うためにはOSのクリーンインストールが必要となります。

ブラックベリーサイランスの脅威解析チームはこの脅威に関する動作を明らかにするために調査を行いました。

Parite の解析

Pariteは感染したシステム、及びシステムが接続しているネットワークストレージにある2種類のPE実行ファイル (.exe と .scr) に対して感染します。感染対象のファイルを発見すると、PE 実行ファイルの最終セクションに新たなセクションを作成し、そこに悪意あるコードを格納します。

Parite の主な侵入経路はUSB メモリやインターネットであることが一般的に知られています。

感染したシステムは以下の4つの特徴を持ちます:

  • 追加されたPEセクション - Parite に感染したファイルの最終セクションは下記の規則に従っています:  “.{3 文字のASCII 文字}{非 ASCII文字}” (例: “.khe{非 ASCII 文字}”)。 これに加え、エントリーポイントが追加されたPEセクションに変更されます。

  • %TEMP% フォルダにDLL ファイルを作成 - Parite はDLL ファイルを %TEMP% ディレクトリに作成します。このファイル名は .tmp の拡張子を持ちます (例: qal9A7.tmp)、しかしその実体はDLLファイルです。まず、この DLL ファイルはドロップしたプロセスにロードされます。初期化を行った後、他のプロセスにこのDLLモジュールをインジェクトするために “SetWindowsHookExA” API を利用します。インジェクトされた DLL モジュールは自身が1) “explorer.exe” で実行しており、 2) “Residented” ミューテックスが存在しない場合、“Residented” ミューテックスを作成し、悪意ある動作を実行します。

  • “Residented” ミューテックスを作成

  • レジストリの追加 - Parite によって作成されたDLLファイルのフルパス名をレジストリに保存します。関連するレジストリ情報は下記のとおりです:
            ◦  Key – HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer
            ◦  Value – PINF
            ◦  Data – (例 %TEMP%/qal9A7.tmp)

一連の処理を終えた後、Parite は感染したファイルのオリジナルのエントリポイントに戻り、あたかも通常のプログラムのように動作します。一見すると、期待通りにプログラムが動作するため Parite に感染していることに気付かず、感染が拡大する可能性があります。     

追加の PE セクション

Parite により作成された追加セクションは図1に示す3つの特徴が現れます。

        1.   特徴的なセクション名:
             " .{3 文字のASCII 文字}{非 ASCII文字}"
        2.   Writable と Executable の権限を持つ
        3.   このセクションにエントリポイントが存在する

図 1: .khe{非_ASCII 文字} が最終セクションに存在

DLL ファイルの作成

Parite がドロップしたDLLファイルはPariteの主な機能を保持しています。このファイルは図 2 で示すように %TEMP% フォルダに作成されます。拡張子は .tmp と表示されているものの、図 3 で示すように実際にはDLL ファイルであることが分かります。


図 2: Parite がドロップしたファイル

図 3: ドロップされたファイルが DLL であることを確認

ミューテックス

Parite の初回実行時には “Residented” ミューテックスが作成されます (図 4)。二重起動を防ぐために、 “OpenMutexA” API により “Residented” ミューテックスが存在するかどうかを初期化時に調べます (図5)。

図 4: Residented ミューテックスの作成

図 5: Residented ミューテックスのチェック

図6では作成された “Residented” ミューテックスが確認できます。

図 6: Parite が作成した “Residented” ミューテックス

追加のレジストリ

Parite は新しいレジストリ値を HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer に作成します。そのレジストリ名は図7のように “PINF” となります。

図7: HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer に作成された PINF

その値は Parite が作成した DLL ファイルへのフルパス名が格納されます (図 8)。

図 8: Parite が作成した dll ファイルへのパス名が PINF に格納

ファイル感染のプロセス

Parite は .exe と .scr の拡張子を持つファイルに感染します。これらは図9に示すようにParite のコード内で確認できます。


図 9: .exe と .scr の拡張子を持つファイルを探索

図10のようにParite はネットワークドライブ上のファイルも探索します。

図 10: ネットワークストレージ上のファイル探索

Parite が .exe もしくは .scr の拡張子を持つ実行ファイルを見つけた場合、それらの最終セクションに悪意あるコードを格納します。図 10 と図 11 にて感染前と感染後の違いを確認できます。

図 11: Parite感染前

図 12: Parite 感染後

Pariteの重大性と懸念すべき理由

ポリモーフィック型ウイルスであるParite はその特徴からシグネチャ型のアンチウイルス製品による検知を回避するために有効であることが知られています。Parite は実行されたコンピュータ上にて着実に感染を拡大しつつも、感染したファイルは一見期待通りに実行するため、感染の兆候を発見した時にはシステム上に存在する大多数のファイルが Parite に感染している傾向があります。こうした特徴から、Parite に感染したシステムの復旧はしばしばクリーンインストールが必要となります。

ブラックベリーサイランスは Parite を阻止

ブラックベリーサイランスが使用する人工知能(AI)に基づくエージェントは、何百万もの安全なファイルと安全でないファイルによる脅威検知のトレーニングを積んでいます。そのため、特定のファイルシグネチャではなく、無数のファイル属性に基づいて脅威を発見できます。Parite は自身のコードを変更できるポリモーフィック型の脅威ですが、AIを活用した弊社のセキュリティエージェントは、Parite といえども回避することはできません。このソリューションは、特定のファイルシグネチャではなく、何百万もの脅威の特徴に基づいて脅威を分析し、判定を下します。ゼロデイ脅威に対する予測優位性をもたらすブラックベリーサイランスは、新旧両方のサイバー攻撃に対するトレーニングを重ねて効果を上げています。


著者について

Tags: