「ゴーストジャッキング」、AIエージェントにおけるアイデンティティガバナンスの欠陥を露呈

新たな調査により、AIエージェントの正当なアクセス権や特権を悪用してユーザー自身に牙を剥く乗っ取り攻撃から身を守るためには、AIエージェントを対象とした強固なアイデンティティガバナンスと運用面のガードレールが不可欠であることが改めて示されました。

今週開催されたDEF CON 34のセッションで、Tenet Securityは、セキュリティアラートやログ、エラーレポートといった信頼されたシステム内のコンテンツを攻撃者が汚染し、エージェントを騙してコード実行や認証情報の窃取、さらにはインフラの乗っ取りに至るまでの行動を取らせる手口を実演しました。

「ゴーストジャッキング」でインフラ乗っ取りへの道を切り開く

Tenet Securityの新たな「GhostJacking」に関する調査は、6月に発表された、信頼されたテレメトリを攻撃者が汚染することでAIコーディングエージェントを騙し、悪意あるコマンドを実行させる手口を示した先行レポートを土台としています。今回の新しい調査は、同社が最初に発表した「Agentjacking」の手法を拡張し、複数の信頼されたデータソースと、より広範な被害をもたらしうる行動を組み込んだ、より大がかりな攻撃モデルへと発展させたものです。

こうした攻撃は、AIエージェントが監視プラットフォームやセキュリティプラットフォームなどのシステムからデータを取り込み、その情報に基づいて行動を起こせるという性質を突いています。Tenetは、攻撃者がそうしたデータの中に悪意ある指示を仕込むことができ、エージェントがそれを正当な指示だと解釈し、既存の権限を使って実行してしまう可能性を示しました。研究者らはCloudflare、Datadog、Sentryを通じてこの手法を実演しており、この攻撃パターンの根本原因が特定の単一プラットフォームに限定されるものではないことを示しています。

ある実演では、TenetはCloudflareのファイアウォールがブロックしてログに記録していたリクエストを利用し、AIエージェントを騙してその会社のDNS設定を変更させ、事実上ドメインを乗っ取ることに成功しました。この攻撃は、AIエージェントが処理中の信頼できないコンテンツと、自らが従うべき指示とを区別するのが苦手であるという弱点を突いたもので、攻撃者にとっては、一見信頼できそうなコンテンツの中に悪意あるリクエストを紛れ込ませるのが比較的容易であることを意味します。Tenetの調査では、Claude Codeは10回中9回、この手口に引っかかりました。

Tenetの共同創業者兼最高経営責任者(CEO)であるBarak Sternberg氏はDark Readingに対し、次のように語っています。「Cloudflare自身のファイアウォールがすでにブロックしていたリクエストこそが、侵入口でした。それは一字一句そのままログに記録され、アナリストが自分のエージェントにブロックされたイベントを確認するよう依頼すると、そのブロック記録自体が攻撃を運んでくるのです。Cloudflareが推奨する設定のもとで、Claude Codeに対する成功率は90%に達しました。ファイアウォール自体が機能停止したわけではありません。ただ、意味をなさなくなっただけなのです」

別の実演では、Tenetの研究者らはDatadog内に偽の診断アラートを仕込み、エージェントに攻撃者が制御するコマンドを実行させ、環境変数のシークレットやクラウドの認証情報を窃取させました。さらに、ある攻撃が1つのAIエージェントから別のAIエージェントへと飛び火する様子も実演しています。この際、研究者らは悪意あるSentryレポートを利用してSentry自身のAIを騙し、攻撃者が用意した修正案を推奨させ、それを別のコーディングエージェントが信頼して実行してしまう、という流れを作り出しました。

これら一連の攻撃はいずれも、先に発表されたAgentjacking手法も含め、Tenetは攻撃者が制御しうるコンテンツを利用してエージェントの挙動に影響を与えるという手法を取っています。

AIエージェントに共通するパターン

Tenetがレポートに記したように、これらの攻撃は特定のバグに起因するものではなく、共通の構造的な問題から生じています。Tenetは次のように述べています。「AIは外部の信頼されたデータを読み取り、そして同じAIがそのデータに基づいて行動もできてしまう。この2つが交わるところに、常に扉が開いているのです。同じパターンは、この3つの事例をはるかに超えて、ビルドシステムと組み合わさったSplunkや、Kubernetesと組み合わさったDatadogといった構成でも見られます」

組織にとっての教訓は、従来型のアイデンティティ制御だけではAIエージェントに対して不十分だという点です。なぜなら、攻撃者は認証済みのエージェントを操り、そのエージェントが正当に保持している権限を悪用させることができるからです。したがって問題の本質は、不正なアクセスではなく、正当なアクセスが悪意を持って使われてしまうことにあります。「だからこそ、エージェントには必要最小限の権限しか与えないようスコープを絞るべきです。タスクごとの最小権限、短命な認証情報、そしてエージェントがアクセスできるトークンはすでに漏洩しているものとみなすべきです」とSternberg氏は述べます。「そうすれば攻撃者が得られるものは限定されます。何も検知しないのは、検知すべき不正なものがそもそも存在しないからです」

重要なのは、エージェントの読み取り権限と書き込み権限を分離するだけでは問題は解決しないという点です。同氏は、それではエージェントを導入する本来の目的そのものが損なわれてしまうと付け加えます。「アラートを読み取れても、それに基づいて行動できないエージェントなど、誰も望んで導入したものではありません。むしろ、こう自問すべきです」とSternberg氏は言います。「自分たちのエージェントのうち、外部データを読み取り、かつ書き込みや実行も行えるものはどれか。そのリストこそが自社のリスク登録簿であり、それを作成するのに費用は一切かかりません」

Tenetの共同創業者兼最高技術責任者(CTO)であるNevo Poran氏は、特に機密性の高い操作について、エージェントが実行・書き込みを行う可能性のあるあらゆる処理に人間の承認を組み込むよう組織に推奨しています。つまり、自動実行を許可せず、シェルアクセスに関する回避策も認めないということです。「外部の第三者が影響を及ぼせるフィールドはすべて、攻撃者に制御されている可能性があるものとして扱うべきです。User-Agent、Referrer、エラーメッセージ、ログの本文、チケットのテキスト、アラートのタイトルなどがそれに当たります」とPoran氏は述べています。

残念ながら、エージェントが想定外の挙動を取り始めた際に組織が監視できるテレメトリはほとんどない、とAction1のフィールドCTOであるGene Moody氏は指摘します。悪用の形態としては、システムを直接侵害するケースのほか、一見無関係に見える複数のデータソースを組み合わせて機密情報を推測したり、匿名化を無効化したりするケースも考えられます。

「システムがいったんデータへのアクセス権を得てしまうと、その後どのように使われ、さらには学習された挙動として定着していくのかを、こうしたシステムの一部ではパターンの発生源まで遡って特定することはほぼ不可能です」と同氏は述べています。

Moody氏はさらに、組織は少なくとも、プロンプトとその結果として出力される内容の両方について改ざん不可能なログを保持し、処理される前のプロンプトを独自にレビューすべきだと付け加えます。そうすることで、たとえ根本的な仕組みの解明が難しい場合であっても、何か問題が発生した際に因果関係を把握できるようになる、と同氏は述べています。

翻訳元: https://www.darkreading.com/cyber-risk/ghostjacking-identity-governance-gaps-ai-agents

ソース: darkreading.com