
Google Gemini for Workspaceが悪用されると、一見合法的に見えるが、添付ファイルや直接リンクを使用せずにユーザーをフィッシングサイトに誘導する悪意のある指示や警告を含む電子メールの要約を生成することができる。
このような攻撃は、電子メール内に隠され、メッセージ要約を生成する際にGeminiが従う間接的なプロンプトインジェクションを利用する。
2024年以降、同様のプロンプト攻撃が報告され、誤解を招くような応答をブロックする安全策が導入されているにもかかわらず、この手法は依然として成功している。
Geminiを使った攻撃
GoogleのGeminiモデルに対するプロンプトインジェクション攻撃は、MozillaのGenAI Bug Bounty Programs Managerである研究者Marco Figueroaによって、Mozillaの生成AIツールに対するバグ報奨金プログラムである0dinを通じて公開された。
このプロセスでは、Gemini用の不可視のディレクティブを含む電子メールを作成する。攻撃者は、フォントサイズをゼロに設定し、色を白に設定するHTMLとCSSを使用して、メッセージの最後にある本文に悪意のある命令を隠すことができます。

ソース: 0DIN
悪意のある指示はGmailではレンダリングされず、添付ファイルやリンクが存在しないため、メッセージは潜在的なターゲットの受信トレイに届く可能性が高い。
受信者がメールを開き、Geminiにメールの要約を作成するよう依頼すると、グーグルのAIツールは目に見えない指令を解析し、それに従う。
Figueroaが提供した例では、Geminiが隠れた指示に従い、ユーザーのGmailパスワードが漏洩しているというセキュリティ警告とサポート電話番号が含まれている。

出典:0DIN
多くのユーザーは、Google Workspaceの機能の一部としてGeminiの出力を信頼している可能性が高いため、この警告が悪意のあるインジェクションではなく、正当な警告とみなされる可能性は高い。
Figueroa氏は、セキュリティチームがこのような攻撃を防ぐために適用できる、いくつかの検出と緩和方法を提示している。1つの方法は、本文の中に隠れるようにスタイルされたコンテンツを削除、無効化、無視することです。
もう1つの方法は、Geminiの出力をスキャンして緊急メッセージ、URL、または電話番号を検出し、さらに確認するためにメッセージにフラグを立てる後処理フィルタを実装することである。
また、セキュリティアラートに関しては、Geminiの要約は権威のあるものとみなされるべきではないことも認識しておく必要がある。
このような攻撃を防止または軽減する防御策についてGoogleに問い合わせたところ、広報担当者が、プロンプトインジェクション攻撃に対するセキュリティ対策に関するGoogleブログの投稿を案内してくれた。
「グーグルの広報担当者は、「私たちは、このようなタイプの敵対的な攻撃から防御するためのモデルを訓練するレッドチーム演習を通じて、すでに強固な防御を常に強化しています。
同社の広報担当者は、緩和策の一部は現在実施中であるか、これから実施するところであることを明らかにした。
グーグルは、フィゲロアの報告で示されたような方法でジェミニを操作するインシデントの証拠を確認していないと、広報担当者は述べた。
.ia_ad { background-color:#width: 95%; max-width: 800px; margin: 15px auto; border-radius: 8px; border:1px solid #d6ddee; display: flex; align-items: stretch; padding: 0; overflow: hidden; }:0; overflow: hidden; } .ia_lef { flex: 1; max-width: 200px; height: auto; display: flex; align-items: stretch; } .ia_lef a { display: flex; width: 100%; height: 100%; } .ia_lef a img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px 0 0 8px; margin: 0; display: block; } .ia_rig { flex: 2; padding:display: flex; flex-direction: column; justify-content: center; } .ia_rig h2 { font-size: 17px !important; font-weight: 700; color:#line-height: 1.4; font-family:margin: 0 0 14px 0; } .ia_rig p { font-weight: bold; font-size: 14px; margin: 0 0 clamp(6px, 2vw, 14px) 0; } .ia_button { background-color:#border:1px solid #3b59aa; color: black; text-align: center; text-decoration: none; border-radius: 8px; display: inline-block; font-size: 16px; font-weight: bold; cursor: pointer; padding:10px 20px; width: fit-content; } .ia_button a { text-decoration: none; color: inherit; display: block; } @media (max-width: 600px) { .ia_ad { flex-direction: column; align-items: center; text-align: center; } .ia_lef { max-width: 100%; } .ia_lef a img { border-radius: 8px 8px 0 0; } .ia_rig { padding:15px;
width: 100%;
}
.ia_button {
width: 100%;
margin: 0px auto;
}
}




Comments