セキュリティ研究者らは、画像や動画内のピクセルデータに悪意のある実行ファイルを符号化して埋め込み、従来の検知メカニズムを回避する秘匿的な配布手法を実証した。
PixelCodeは、完全な実行ファイルを含むバイナリデータを視覚的なピクセル表現へ変換し、マルチメディアコンテンツに埋め込むという新しい回避手法である。
この手法は標準的な画像・動画フォーマットを配布チャネルとして利用し、YouTubeのような正規プラットフォームが、従来のファイルに適用されるのと同等の厳密さで符号化された視覚データを精査しない可能性がある点を悪用する。
研究者らはこのアプローチを、既存のセキュリティフィルタに挑戦するデータ難読化の一形態だと説明している。
マルウェアを直接送信するのではなく、攻撃者は動画フレーム全体にわたって実行コードをピクセル値へ符号化し、無害に見えるコンテンツを作り出す。
概念実証(PoC)攻撃は、次の6つの連続ステージに従う。
ステージ1: ペイロード開発 — C++のリバースシェル・ペイロードをコンパイルして実行ファイル化する。このステルスコンポーネントは、コマンド&コントロール通信にハードコードされた鍵を用いたAES-CBC暗号化を使用し、可視のコンソールウィンドウを表示せずにcmd.exeまたはPowerShell経由で暗号化されたコマンド実行をサポートする。
ステージ2: バイナリからピクセルへの変換 — コンパイル済みEXEをPythonベースのエンコーダで処理し、バイナリデータを視覚表現へ変換する。各ピクセルが元ファイルの一部を符号化し、実行ファイル全体をMP4動画ファイルへ変換する。
ステージ3: プラットフォームでのホスティング — 生成されたPixelCode MP4をYouTubeにアップロードし、通常の動画として見せかける。正規プラットフォームでのホスティングは正当性の印象を与えると同時に、信頼されたサービスが非伝統的な符号化コンテンツを検知できるかを試す。
ステージ4: ローダーの展開 — カスタムC++ローダーにYouTube動画URLを埋め込む。C++にはマルチメディア復号ライブラリがないため、PythonステージャをEXEにコンパイルし、Base64でエンコードして、URLとともにローダー内へ直接埋め込む。
ステージ5: ペイロードの復元 — 実行されると、ローダーはYouTubeからPixelCode MP4をダウンロードし、埋め込まれたPythonステージャを起動する。ステージャはフレームごとにピクセルデータから元のバイナリを再構築する。
ステージ6: メモリ内実行 — 復元されたペイロードがメモリ内で実行され、バックエンドサーバ(研究環境ではBEAR-C2)との暗号化されたコマンド&コントロール通信を再確立する。
この手法は、現在の防御戦略における重大な脆弱性を浮き彫りにしている。従来のエンドポイント検知・対応(EDR)ソリューションは、ピクセルデータ内に偽装されたバイナリの特定に苦戦する可能性がある。
ネットワーク監視ツールは通常、マルチメディアストリームではなくネットワークアーティファクトに焦点を当てるため、信頼されたプラットフォームからのマルウェアダウンロードを見逃す恐れがある。
このアプローチはまた実証しているように、符号化技術が従来のファイル転送を検知するよう設計されたコンテンツフィルタリングシステムを回避する新たな攻撃ベクトルを生み出す。
組織は、正規プラットフォームからの異常な動画ダウンロードを監視し、不審なプロセス生成チェーンに対する振る舞い分析を実装し、マルチメディアファイルの検査能力を強化すべきである。
セキュリティチームはまた、EDRプラットフォームが復元されたペイロードのメモリ内実行を検知できるかどうかを評価しなければならない。
脅威アクターが回避手法の革新を続ける中、防御側は従来の侵害指標に加えて、非典型的なデータ配布メカニズムを特定できるよう検知フレームワークを適応させる必要がある。
翻訳元: https://cyberpress.org/new-pixelcode-attack-smuggles-malware-using-image-pixel-encoding-technique/