
前に、このグループの犯罪行為について書きました。独自のエクスプロイトを使用して、正当なWebサイトを侵害し、その後ユーザーをマルウェアに感染させました。 このグループの活動は、 FirePyeのAPT28グループに関するレポートで報告され、また、Trend MicroはOperation Pawn Stormレポートで報告されました。 この記事では、 Win32 / USBStealerマルウェアを使用してインターネットから隔離されたネットワーク上のコンピューターから機密データを盗むこのグループの新しい攻撃領域に焦点を当てます。
Sednitグループは、少なくとも2005年以降、 Win32 / USBStealerマルウェアを使用していることが調査で示されています 。 このような攻撃の目的は、東ヨーロッパのさまざまな政府組織です。 このマルウェアのいくつかのバージョンは、さまざまな複雑さの攻撃に使用されています。
企業ネットワークに接続されたコンピューターの機密データの漏洩を防ぐためにエンタープライズセキュリティサービスで使用できるセキュリティ対策の1つは、技術的な手段によるインターネットからの隔離です。 ただし、リムーバブルメディアの使用は、このようなデータの漏洩の開始点となる場合があります。 同時に、企業の一部の従業員が企業データをUSBドライブに転送でき、世界中のネットワークにアクセスできるコンピューターにコピーされることが想定されています。
このシナリオは、 Win32 / USBStealerを操作するときにSednitチームによって使用されます。 この場合、マルウェアを使用して機密データを取得するためのスキームは多段階になり、5つの段階で構成されます。
ステージ1
最初の段階で、攻撃者はインターネットにアクセスできるコンピューター(従業員の自宅のコンピューターなど)を侵害します。 それをコンピューターAと呼びましょう。 侵害の過程で、コンピューターAはWin32 / USBStealer.Dとして検出する悪意のあるプログラムのドロッパーに感染します。 このドロッパーの実行可能ファイルはUSBSRService.exeと呼ばれ、その偽のリソースセクションは、このファイルが合法的なロシアのプログラムUSB Disk Securityのインストーラーであることを示しています。

図 Win32 / USBStealerドロッパーメタデータ 。
ドロッパーのメインロジックは次のとおりです。
- このようなイベントが発生した場合に呼び出されるコールバック関数を持つウィンドウを作成することにより、リムーバブルストレージシステムへの接続を監視します。
- リムーバブルドライブがシステムに挿入されるとすぐに、ドロッパーは実行可能ファイルのリソースセクションのいくつかの要素を解読します。 それらの1つは別のWin32 / USBStealer実行可能ファイルで、 USBGuard.exeという名前でリムーバブルドライブにコピーされます。 リソースセクションの2番目の要素はAUTORUN.INFファイルで、その内容を以下に示します。
- ファイルはリムーバブルドライブのルートにコピーされ、自動起動機能が有効になっている場合、自動起動が有効になっているコンピューターにドライブが挿入されるとすぐに、またはドライブアイコンをダブルクリックして実行されます(以下のAUTORUN.INF形式を参照)。 Windowsスタートアップ設定は、 KB971029更新により2009年に廃止されました。 ただし、データは、サイバー犯罪者が4年前、つまり2005年にWin32 / USBStealerの使用を開始したことを示しています。さらに、エアギャップネットワークで動作するコンピューターでは、必要な更新プログラムがないことが非常に一般的であると考えられます。
- 最後のステップで、マルウェアはdestktop.inという空のファイルをディスクのルートにコピーします。 これは、このドライブが既にインターネットにアクセスできるコンピューターに接続されているという悪意のあるプログラムへの信号として機能します。

図 AUTORUNファイルの内容。
ファイルをリムーバブルドライブに書き込む場合、ドロッパーはファイルのメタデータ、つまり「最終アクセス」および「最終書き込み」のタイムスタンプを、Windowsシステムファイルの対応する値に対応する値に変更します。 システムおよび隠しファイルの属性が割り当てられます。 したがって、悪意のあるファイルの特定の「システム」の錯覚が作成されます。 また、メモリで復号化されたリソースセクションの要素は、ファイルの書き込み操作後に暗号化され、フォレンジック分析ツールによるメモリからの削除が除外されることにも注意してください。
ステージ2
感染したUSBドライブが企業のインターネットネットワークから隔離されたコンピューターに挿入されると、 Win32 / USBStealerは自動的にシステムにインストールされます。 これは、このコンピューターで自動実行機能が有効になっている場合に発生します。 隔離されたエアギャップネットワークで実行されるこのコンピューターをコンピューターBと呼びます.Win32 / USBStealerが制御を取得すると、システムに現在接続されているすべてのディスクを一覧表示し、ディスクの種類に応じて、その動作の異なるスキームを使用します。
- 検出されたドライブがリムーバブルで、ドライブのルートにあるdesktop.inファイルとしてマークされている場合(つまり、この検出されたドライブがインターネットに接続できるシステムに既に存在していた場合)、マルウェアはこのドライブのルートにディレクトリを作成します。名前はコンピューターの名前です。 この操作により、オペレーターは感染したドライブが挿入されたコンピューターを区別できます。 その後、ドライブがインターネットに接続されたコンピューターAに戻ったときに、攻撃者のサーバーにデータを送信するときにこのデータが使用されます。
- ドライブがリムーバブルでない場合、 Win32 / USBStealerはその後のデータの流出(盗難)の手順のために特別な準備を行います。
この最後の手順の意味は、悪意のあるコードに関係するファイルを1つのローカルディレクトリにグループ化することです。 このステップは、データの実際の流出の準備と呼ぶことができます。 同じリムーバブルドライブがコンピューターBのUSBポートに再び挿入されるとすぐに発生します。悪意のあるプログラムに関係のあるファイルの種類を以下に示します。
- 拡張子が「.skr」、「。pkr」または「.key」のファイル。 最初の2つは、PGP Desktop暗号化アプリケーションファイルに関連しています。 パブリックおよびプライベート暗号化キーを保存します。 3番目の拡張機能は、他の暗号化ツールでよく使用され、同様のキーを保存します。
- 以下のリストに名前が一致するファイル。 そのようなファイルの2つのリストが見つかりました。それらは以下の表にリストされています。

初期使用期間は、これらのリストが抽出された実行可能ファイルのコンパイル日付に基づいて計算されます。 オープンソースでは、これらのファイル名のほとんどへのリンクはほとんど見つかりませんでした。 おそらく彼らは狭い専門化ソフトウェアに属しているからでしょう。 また、タルガー(talgar.exe)という名前が、カザフスタン南東部のアルマトイ地方の都市の名前と一致していることも興味深いです。
悪意のあるプログラムは、Symantec、Norton、McAfee、ESET Smart Security、AVG9、Kaspersky Lab、Doctor Webの名前と一致する名前のディレクトリを除き、ハードドライブ上のあらゆる場所でこれらのファイルを検索します。
ステージ3
この段階では、第2段階で隔離されたコンピューターBにアクセスした後、ユーザーが感染したUSBドライブをコンピューターAに挿入し直すことを想定しています。 このステップでは、コンピューターAのマルウェアコンポーネントは、ステップ4で実行する必要のあるWin32 / USBStealerコマンドのセットを発行します 。これを行うために、必要なコマンドがドライブルートのCOMPUTER_NAME.inという名前の暗号化ファイルに書き込まれます。
ステージ4
4番目の段階で、同じ感染したメディアが再びコンピューターBに移動すると想定されます。この場合、実行する必要があるマルウェアボットの命令は既にそこに保存されています。 この段階で、攻撃者が選択したファイルは、2番目の段階でコンピューターBに作成されたディレクトリからコピーする必要があります(ファイルのグループ化)。 その後、最終段階で攻撃者のリモートサーバーに送信されます。
この時点で、 Win32 / USBStealerは、前の手順でUSBドライブのルートにフラッシュされたバッチファイル( COMPUTER_NAME.in )を解読します。 このファイルには、ボットが連続して実行する必要があるコマンドが含まれています。 コマンドは、2バイトの識別子とそれに続くコマンド引数で識別されます。

0x0003および0x0005コマンドは、マルウェアがコンピューターBのローカルドライブに作成する特別なファイルで動作します。このファイルには、「ルート=パス=日」という形式のファイル情報テンプレートが含まれています。 Windowsを起動するたびに、 Win32 / USBStealerはこのリスト内のファイルに対して0x0002コマンドを実行します。
0x0008コマンドは、攻撃者にとって関心のあるファイルを検出するために使用されます。 攻撃者がこのコマンドで攻撃を開始したと想定してから、0x0002および0x0003コマンドを使用してデータを収集します。
ファイルをリムーバブルメディアにコピーする操作を実行するチームには、特別なバックアップ方法が提供されます。 悪意のあるプログラムがファイルをメディアにコピーできない場合、たとえば書き込み保護されている場合、ファイルはローカルドライブの特別なディレクトリにコピーされます。 将来、悪意のあるコードは、別の感染したメディアが接続されると、そこからそれらをコピーしようとします。
ステージ5
この時点で、感染したUSBドライブは再びコンピューターAに入ります。この場合、マルウェアはコンピューターBからコピーされたファイルをリモートサーバーに転送します。
おわりに
Win32 / USBStealerマルウェアは、エアギャップネットワークの企業ユーザーに対するSednit攻撃者の特定の焦点を示しています。 また、次の興味深い機能にも気付きました。
- 手術はほぼ10年間行われています。 下のスクリーンショットに示すように、2005年5月のコンパイル日付のマルウェアを含むファイルを検出しました。 ファイルのコンパイル日付は、その時点でファイルをコンパイルするために使用されたコンパイラのバージョンにも関連しています。 検出された他のマルウェアファイルも現実的なコンパイル日を持っているため、このデータは偽物ではないと言えます。
- 攻撃の明らかな焦点。 既に述べたように、盗難に使用される名前とファイル拡張子により、この攻撃の明らかな焦点について話すことができます。

図 悪意のあるファイルのコンパイル日(タイムスタンプ)。
いくつかの質問は未解決のままです。 たとえば、コンピュータAマルウェアの最初の感染がどのような特定の方法で発生したのか、フィッシングメッセージがこれに使用されたと想定できます。 このグループのこの記事の冒頭で述べたFireEyeレポートには、フィッシングキャンペーンに関する情報が含まれています。 同時に、次のテキストがメッセージに示されました:「USBディスクセキュリティは、PCを損傷したり、USBストレージを介して個人情報を侵害したりする脅威をブロックするのに最適なソフトウェアです。」