Slapdash Safeguards

にわか仕込みのセキュリティ

AIがマルウェア作成を支援するのではなく、AIがマルウェアの一部になる「AIDマルウェア(AI-Driven Malware)」

Check Point Research(CPR)は、動作をAIに委ねるマルウェアの検証を公開した。

AIを使って多言語のフィッシングメール、スキルが無くても高度な攻撃ツールの作成といったものが、AIを使用した攻撃という多くのイメージだと思われる。

しかし、徐々にAIをマルウェアの一部とする攻撃事例は増えている。

今回は大手のAIプロバイダーを使用したマルウェアの検証の一例が示されている。

AI in the Middle: Turning Web-Based AI Services into C2 Proxies & The Future Of AI Driven Attacks - Check Point Research

AIDマルウェア(AI-Driven Malware)

CPRの記事では、マルウェアの意思決定の一部としてAIモデルを組み込んだものをAI駆動型マルウェア(AI-Driven Malware)と呼んでいる。繰り返しだが、開発時のAI利用ではなく実行時情報に応じたAIモデル出力により挙動を変化させるということ。

AIに対して環境情報、攻撃のコンテキスト、インストール済みアプリ、セキュリティ設定などを送信して、マルウェアの次の重要な操作のお伺いを立てる。

AIモデルは、「APIでリモートのサーバ上のモデル」、「組み込みモデル」といった大きく分けて2つの方法で利用すると考えられている。

単純な話、API利用ならマルウェア自体は軽量になるがネットワーク監視で遮断されたら終わり。組み込み版はステルス性は高そうだが、マルウェアのサイズが大きくなったりリソース消費量も大きくなりがちで目立ちやすい。

モデル方式 メリット デメリット
API利用    ペイロード軽量、モデル更新容易 ネットワーク依存、テレメトリ露出、APIキー無効化リスク
組み込み    外部通信不要、ステルス性高い バイナリサイズ増大、リソース消費、更新困難


ただ、マルウェアのサイズとかリソース消費大きくなるっていってもNova(Phantom)みたいなこともできる。何か一つに特化したものであれば大きく目立つというほどではないかもしれない。
www.sdsg.moe

それとも、EDR/XDRと全力で向き合うならそんなことも言ってられないか?

CPRが検証したシンプルなAIDマルウェア

上で挙げたのはAPIと組み込みという話だが、AIと会話したいときに自分たちが普段使うのはAPIとかじゃなくてWebブラウザですよね。

WebブラウザでアクセスできるAIサービスは、ものによってはアカウント作成不要で直ぐに使用できる。

では、これをマルウェアの実行に組み込むのはどうだ?というのが、今回の話。

これに関して以下の2つの条件で、AIプロバイダーを選定したようだ。

  • 認証不要: APIキーもアカウントも不要で匿名アクセス可能である
  • 任意のWeb Fetch + データ送受信: AIがクエリパラメータ付きの任意URLにデータを送信、レスポンス内容をAI出力として返せる

これによって、選ばれたのは以下の2つ。

AIプロバイダ 悪用手法
Copilot     ロード済みページ内でJavaScriptをインジェクトし、Copilot UIにプロンプトを送信
Grok    URLのqパラメータにプロンプトを直接注入。ページロード時に自動実行。

以前にもちょっと触れたが、URLのqパラメータにデータ入れるだけで使えるって危なくない?って話は時々話題になって、悪用方法が研究されている。
www.tenable.com

今回もまた新しい活用方法といえる。

ざっくり言えば、次の5ステップで悪用する感じ。

  1. ホスト基本情報を列挙
  2. C2サイトURLのクエリパラメータにデータを付与
  3. 非表示のWebViewウィンドウでAIプロバイダのWebサイトを開く
  4. 「このURLを要約して」とプロンプトで指示
  5. AIのレスポンスをパースし、埋め込みコマンドを実行

ただし、直接IPアドレス指定やプレーンHTTPは制限されるため、攻撃者はHTTPSのドメインとWebサイトを用意する必要があったらしい。

用意したWebサイトへのアクセス時のURLクエリパラメータで、AIモデルから情報を受け取り、Webサイト内を書き換え、AIモデルに情報を取得させることでマルウェアが次の行動をすることになる。

このような操作により、calc.exeを実行した証拠を解説記事で挙げている。

以下、もう少し具体的な攻撃ステップ。

感染端末 (WebView2)
    │
    │  1. ホスト情報収集
    │  2. 収集データをURLクエリパラメータに付与
    │  3. AIのWeb UIにプロンプト注入
    │
    ▼
Grok / Copilot (AI Web UI)
    │  4. AIが攻撃者URLにHTTPSリクエスト発行
    ▼
攻撃者C2サーバ(偽サイト)
    │  5. クエリパラメータで被害者データ受信
    │  6. HTMLにコマンド埋め込みレスポンス返却
    ▼
Grok / Copilot
    │  7. AIがHTMLを「要約」しコマンドを含む応答生成
    ▼
感染端末
    8. レスポンスをパースしコマンド抽出・実行

正規サービスを攻撃経路に

CPRの記事にもあるように、正規サービスをC2サーバとの通信経路にしようすることで攻撃をバレにくくするというのはよくある。

Googleスプレッドシート, Googleカレンダー, Microsoft Outlook, Twitter, Discordなど。

Mattermost, Asana, GitHub, Dropbox, Cisco WebEx Teams, JIRA, Slack等、何でもござれである。

インフォスティーラーでよく聞くのは、DiscordとTelegramをC2として使うやつ。でも、Discordは今後本人確認が厳しくなるので使用率は下がるかもしれない。

ただし、これらはサービス運営側とかアカウント侵害された側が「アカウント無効化」とか「APIキー無効化」すれば防げる話だった。

しかし、今回の話はアカウント不要なので止められない。そもそも運営側がサービス形態を変えなければいけない。

AIサービス系のドメインとの通信って今の企業だと普通のことなので、正規の通信に紛れ込みやすい。

AIDマルウェアの将来

CPRがAIDマルウェアの将来的な姿として、3つケースを示した。

1. 環境に応じたサンドボックス環境判定

ターゲットシステムのRAMサイズ、CPUコア数、デバイスシリアル、レジストリキー、インストールされたアプリ一覧などが取得できるなら、その環境がサンドボックス等でマルウェア解析者が解析中かどうかも自動判定できるようになる。

以前のRenEngine Loaderの話で挙げたように、今はサンドボックス環境と判定するための判定値みたいのを導入してチェックしている。
www.sdsg.moe

これらはあらかじめマルウェア内に仕込んでおいたハードコードされた値を元に判定しているが、AIモデルでもっと柔軟できるようになってしまうだろう。

2. 脆弱性や重要情報などでターゲットをスコアリング、自動的な優先度づけや状況を切り分けられるC2サーバ

マルウェアであったりターゲット端末側で動くものにAIを組み合わせるのもそうだが、それらに指示を出すC2側にAI機能を組み合わせるのもある。

てか、もう既にある。
github.com

C2にAIを組み込んだViperの比較表(https://github.com/FunnyWolf/Viper/?tab=readme-ov-file#product-comparison)

ここまで大々的になると、流石に大手AIプロバイダをを使うことで攻撃者が身バレするので自前サーバ上でのモデル実行になってくるだろう。

マルウェアとC2との通信か、マルウェアと自前AIモデルサーバとの通信か。怪しいドメインを見つけたらブロックすれば良いと思うかもしれないが、プロキシすればいくらでも通信先は量産できる。

3. 暗号化・窃取すべき重要ファイルを判別し、特定のファイルだけ窃取・暗号化

AIにファイルの名前、サイズ、パス、タイムスタンプ、拡張子、中身とか分析させると重要なファイルは直ぐに見分けられるようになる。

今のランサムウェア被害では、拡張子ごとやドキュメント/画像など重要そうなファイル形式といった具合の絞り込みで暗号化被害を受ける。

XDR/EDRは暗号化の量・速度ベースのしきい値で検知しているものもあるわけが、これがさらに的確なものなってしまったらどうだろうか。

高度なランサムウェアも数分で約100GBのデータを暗号化するとのこと
www.splunk.com

これがさらにターゲティングされると、窃取のためのファイルアップロード量は減少し、ファイル改ざんによるI/Oイベント総量が大幅減少し、ボリューム型検知を回避しやすくなるかもしれない。

AIがマルウェアの一部っていうのは既にある。PromtSpyとか、Nova(Phantom)とか。

これまでは、AIといえば攻撃者自体の行動支援、特に攻撃ツール作成支援のイメージ。

例えば、先月話題になったVoidlinkとか。これもCPRが紹介していた。
VoidLink: Evidence That the Era of Advanced AI-Generated Malware Has Begun - Check Point Research

余談だが、Voidlinkを作成したというTRAEは、個人的にプログラム作成に超良かった。ClaudeのAgent Teamとかのコーディング力の所為で埋もれているがお試しあれ。(結局Claudeとかを内部で使うことになるのだが。)
www.trae.ai

このようなAIの作成支援に対してPromptLockやNova(Phantom)の他、最近ESETが報告したPromptSpyなどのAIを機能の一部とするマルウェアが増えている。
www.welivesecurity.com

AIサービスの使用ってよく言われるのは情報漏洩リスクが主だが、今回の件みたいな話も今後はリスクの話題として盛り上がってくるかもしれませんね。

この辺の話、つまりAIトラフィックに関する脅威ハンティングって皆さん今後どのように対応していくんでしょうか。

気になります。