影片理解模型攻擊
透過影格注入、時序操控和對抗性影片生成,攻擊 AI 影片理解系統(如 Gemini 2.5 Pro)的技術。
概述
影片理解模型在多模態攻擊面中增加了時序維度。Gemini 2.5 Pro、GPT-4o 等專業影片語言模型透過對影格進行取樣、提取視覺特徵,以及對時序序列進行推理來處理影片。安全影響是重大的:影片為對抗性內容提供了比單張靜態圖像多得多的表面積,而時序維度創造了靜態圖像處理中不存在的獨特攻擊向量。
核心漏洞源自模型如何對影片進行取樣。目前沒有任何模型以完整解析度處理影片的每一影格。相反,模型對影片時長內均勻分佈的影格子集進行取樣——通常是 8 到 64 個影格。了解取樣策略的攻擊者可以將對抗性內容放置在將被取樣的影格中,同時保持所有其他影格乾淨。以正常播放速度審查影片的人類可能永遠不會注意到對抗性影格。
Li 等人 (2024) 的研究表明,影片中的單影格對抗性注入可以覆蓋多模態模型中的系統提示詞。Wang 等人 (2024) 展示了時序一致性攻擊可以透過在特定時間位置放置矛盾信息來操控模型對影片中事件的理解。
影片處理架構
影格取樣策略
理解不同模型如何取樣影格對於設計有效攻擊至關重要。
VideoProcessingConfig 資料類別記錄每個模型的處理配置:model_name、sampling_strategy(均勻、關鍵影格、場景變化、注意力為基礎、層次化)、num_frames(取樣的影格數)、max_resolution、supports_audio、max_duration_seconds 和 temporal_encoding。
三個已記錄的模型配置:
- Gemini 2.5 Pro:層次化取樣,32 個影格,支援音訊,最長 3600 秒,使用絕對時間戳符元
- GPT-4o:均勻取樣,16 個影格,支援音訊,最長 300 秒,使用影格索引嵌入
- Video-LLaVA:均勻取樣,8 個影格,不支援音訊,最長 600 秒,使用位置嵌入
compute_sampled_frame_indices 函式計算模型將取樣哪些影格索引:
- 均勻策略:在影片時長內均等間隔,步長 = 總影格數 / 取樣數量
- 關鍵影格策略:取樣影片編解碼器的 I 影格(通常每秒一個 I 影格)
- 層次化策略:先粗略取樣(取樣數的一半),然後在關注區域進行精細取樣
這是影格注入攻擊的關鍵函式:知道哪些影格將被取樣,就能告訴攻擊者確切在哪裡放置對抗性內容。
攻擊面地圖
| 處理階段 | 攻擊向量 | 難度 | 影響 |
|---|---|---|---|
| 影格取樣 | 只在取樣影格中放置對抗性內容 | 中 | 高——對抗性內容被處理但難以察覺 |
| 影格編碼 | 對個別影格進行對抗性擾動 | 高 | 高——需要代理模型存取 |
| 時序編碼 | 操控感知的事件時序 | 中 | 中——可以改變模型對序列的理解 |
| 音軌 | 與影片同步的音訊中的隱藏指令 | 中 | 高——在視覺攻擊之上增加音訊注入 |
| 字幕/說明字幕軌道 | 透過字幕元資料注入文字 | 低 | 中——許多系統處理字幕軌道 |
| 縮圖 | 影片縮圖中的對抗性內容 | 低 | 低——只影響基於縮圖的處理 |
影格注入攻擊
單影格注入
FrameInjector 類別將對抗性影格注入影片檔案,支援多種注入策略:
inject_single_frame(單影格注入):在已知將被目標模型取樣的位置替換單個影格。在 30fps 下,單個影格持續 33ms——通常太短,人類觀看者無法閱讀內容。方法:讀取原始影片,在目標影格索引處替換對抗性影格,輸出修改後的影片。
inject_at_all_sample_points(在所有取樣點注入):在模型將取樣的所有位置注入對抗性影格。在每個取樣點周圍添加±2影格的緩衝以確保穩健性,保持絕大多數影格(人類審查者看到的)乾淨。這確保模型處理對抗性內容,而不論取樣實作的細微差異。
inject_subliminal(潛意識注入):對抗性影格在 blend_frames 期間淡入,保持 duration_frames 的持續時間,然後淡出。這創造了更平滑的視覺過渡,人類審查者即使逐影格瀏覽影片也更難偵測。
create_adversarial_video_frame 函式建立包含注入指令的對抗性影格,設計成看起來像合法影片內容(文件、投影片、終端機或白板),以便即使人類審查者停在這一影格上,它也不會立即顯得惡意。
時序操控攻擊
TemporalManipulator 類別操控影片的時序結構,利用模型依賴取樣影格重建時序敘事的特性:
reverse_segment(反轉片段):反轉影片片段以改變感知的因果關係。如果模型從反轉片段取樣影格,它可能得出事件以相反順序發生的結論。
duplicate_frame_at_sample_points(在取樣點複製影格):用特定影格的副本替換模型取樣點的影格,使模型過度重視那一時刻。這可以使模型相信影片中的特定事件是主要的或唯一的事件,壓制其對其他事件的理解。
影片系統的防禦策略
VideoConsistencyChecker 類別透過比較相鄰影格偵測注入和操控攻擊:
check_frame_consistency(影格一致性檢查):計算連續影格之間的異常分數。合法影片在影格之間有平滑過渡,注入的影格在像素統計、顏色直方圖和結構特徵上創造明顯的不連續性。異常分數 = 像素差異 × 0.6 + 直方圖差異 × 0.4。超過閾值:超過 2 個異常 = 封鎖;1-2 個異常 = 需審查;0 個異常 = 通過。
此方法對突然注入有效,但對混合或潛意識影格攻擊效果較差。
測試方法論
對影片理解系統進行紅隊演練時:
-
確定模型的取樣策略:發送每影格都有影格計數器或獨特模式的影片,並詢問模型描述所看到的內容。這揭示哪些影格被取樣。
-
測試單影格注入:在已知的取樣點插入一個對抗性影格。驗證模型讀取注入的內容。
-
測試潛意識注入:為 1-2 個影格(33-66ms)插入對抗性影格,驗證模型是否處理它們。測試人類審查者在正常播放期間是否能偵測到它們。
-
測試時序操控:反轉或重新排列片段,並檢查模型對事件序列的理解是否改變。
-
測試字幕注入:如果系統處理字幕軌道,透過 SRT 或 VTT 字幕檔案注入對抗性文字。
-
測試組合音訊-影片攻擊:將視覺影格注入與隱藏音訊指令組合,以獲得最大影響。
參考資料
- Li, Y., et al. "Video-based Adversarial Attacks on Multimodal Large Language Models." arXiv preprint (2024).
- Wang, Z., et al. "VideoAdvBench: A Benchmark for Adversarial Robustness of Video Understanding Models." NeurIPS (2024).
- Carlini, N., et al. "Are aligned neural networks adversarially aligned?" arXiv preprint arXiv:2306.15447 (2023).
- Zou, A., et al. "Universal and Transferable Adversarial Attacks on Aligned Language Models." arXiv preprint arXiv:2307.15043 (2023).
- MITRE ATLAS framework — https://atlas.mitre.org
- OWASP LLM Top 10 — https://owasp.org/www-project-top-10-for-large-language-model-applications/
為什麼影格注入對影片理解模型特別有效?
對影片理解系統進行紅隊演練時,最可靠的第一步是什麼?