選自mcafee.com
作者:Steve Povolny、Jesse Chick
機器之心編譯
編輯:杜偉
當你自己與其他人的圖像高度匹配時,人臉識別系統還能發揮其作用嗎?網絡安全公司McAfee生成的對抗性偽圖像就騙過了人臉識別系統。
在進入正文之前,我們先想像一個場景:如果對象 A(正文中的 Jesse)在航空系統的禁飛名單中,因而無法通過機場的護照人臉識別系統,也從未提交過護照照片。那麼有沒有辦法幫助 Jesse 順利地通過護照人臉識別系統呢?
近期,世界最大安全軟體公司之一的邁克菲(McAfee)對此發起了挑戰,成功幫助 Jesse 騙過了護照人臉識別系統,也證明了機器有時較人類更容易出錯。
邁克菲是如何做到的呢?它們引入了對象 B(正文中的 Steve),此人不在禁飛名單中,因而不受任何航空限制。所以關鍵是要利用 Steve 的身份通過護照人臉識別系統,也就是需要提交一張看起來像 Steve 但又能與 Jesse 的實時視頻完全匹配的護照照片。
Jesse 創建了一個攻擊生成模型,其中提取了 1500 張他們兩人的靜態照片作為數據集,通過 CycleGAN 和 FaceNet 進行訓練。在經過數百次訓練迭代後,終於生成了滿足要求的護照照片。
最終,這張看起來像 Steve 的護照照片由 Steve 提交給政府,Jesse 使用 Steve 的護照順利地通過了護照人臉識別系統。
這項挑戰由邁克菲高級威脅研究團隊(McAfee Advanced Threat Research, ATR)發起,參與人員有 ATR 團隊負責人 Steve Povolny以及俄亥俄州立大學大四學生、前邁克菲實習生 Jesse Chick。
接下來我們來看這項研究的技術詳解。
研究用例:護照驗證的實時人臉識別
研究者將用於護照驗證的人臉識別作為研究用例。基於人臉識別的護照驗證概念非常簡單,攝像頭拍攝乘客的實時視頻或者靜態照片,然後驗證服務系統會將它們與以前收集的已有照片進行對比。這些已有照片可能來自護照或者美國國土安全部資料庫等其他來源。
接著,這些實時拍攝的照片被處理成與目標照片類似的格式,包括圖像大小和類型等。如果兩者匹配,則護照持有者得到驗證。如果不匹配,檢查員將會比對登機牌和身份證表格上的照片。
所以,作為一項脆弱性研究,研究者需要分析如何才能破解人臉識別系統,包括預期的操作方法和可能出現的疏忽。他們考慮是否可以利用底層系統的缺陷來騙過目標人臉識別系統。
更具體地講,研究者想知道是否能夠創建護照格式的「對抗性圖像」,然後被誤驗證為目標對象。在此之前,研究者曾進行過針對圖像識別系統的數字和物理介質攻擊。
概念攻擊場景
此外,研究中採用的概念攻擊場景很簡單。研究者將攻擊者稱為「對象 A」(Jesse),他在禁飛名單中。所以,如果他實時拍攝的照片或視頻與存儲的護照照片比對的話,則會立即被拒絕登機並遭到警告,甚至還會被逮捕。
對象 A Jesse。
所以,研究者假設 Jesse 從未提交過護照照片。與此同時,同謀者對象 B(Steve)不在禁飛名單中,他協助 Jesse 騙過護照人臉識別系統。
對象 B Steve。
Jesse 是模型黑客攻擊領域的專家,他通過自己構建的系統生成了 Steve 的一張偽圖像,然後讓 Steve 提交給政府。最為關鍵的是這張提交上去的照片必須看起來像 Steve,又能與 Jesse 的實時視頻完全匹配。這樣才能幫助 Jesse 順利地騙過人臉識別系統。
方法選擇
在偽圖像生成過程中,研究者首先選擇使用了 CycleGAN 框架。但是,在這項人臉識別對抗攻擊測試中又用到了圖像驗證系統,所以需要對 CycleGAN 進行擴展。
所以,他們又用到了 FaceNet。研究者意識到,模型不僅需要準確地創建逼真的對抗性圖像,而且需要將對抗性圖像驗證為目標對象。
最終,考慮到需要首先進行白盒測試,以理解整個框架,研究者選擇將 CycleGAN 和開源的 FaceNet 變體架構 InceptionResnet v1 相結合。
訓練過程
研究者清楚他們需要足夠大的數據集來準確地訓練攻擊生成模型,但在該研究中的數據集要小於很多其他的用例。這是因為他們的研究對象只有兩個人:對象 A Jesse 和對象 B Steve,並在將圖像輸入 FaceNet 時最小化生成的兩個人臉嵌入之間的「距離」,同時保持任意一個方向上的誤分類。
換句話說,護照照片需要看起來像 Steve,又能完全匹配 Jesse 的實時視頻。反過來也是這樣。
研究者在包含 1500 張 Jesse 和 Steve 圖像的數據集上進行訓練,它們都是從實時視頻中捕獲的靜態圖像。此外還提供了多種表情和人臉姿勢,以豐富訓練數據並準確地表示(represent)為想要拍攝有效護照照片的人。
對象 A Jesse 和對象 B Steve。
然後,研究者集成 CycleGAN 和 FaceNet 架構,並開始訓練模型。
如下圖所示,生成器的原始輸出非常粗糙,雖然看起來有幾分像人類,但辨認起來卻非常困難,並且出現了極其明顯的擾動(perturbation)。
但隨著訓練迭代的增加,圖像的視覺展示效果出現了明顯改觀。人臉開始消除一些異常(abnormality),同時融合 Jesse 和 Steve 的特徵。具體效果如下圖所示:
隨著訓練迭代的進一步增加,判別器對生成器的輸出圖像越來越「滿意」。雖然還需要處理一些細節,但生成的圖像越來越像 Steve 了。
數百次訓練迭代之後,研究者終於得到了符合要求的「候選圖像」,它可以作為有效護照照片幫助 Jesse 通過護照人臉識別系統。
Steve 的偽圖像。
可以看到,Steve 的偽圖像足夠真實,能夠令人相信它不是計算機生成的。
Demo 展示
下面的三個 Demo 視頻展示了使用灰盒模型的對抗攻擊。
但是需要注意的,在 Demo 展示中,對象 A Jesse 和對象 B Steve 互換了身份,即 Steve 成為了攻擊者,他在禁飛名單中,想要騙過護照人臉識別系統;Jesse 成為了同謀者,他不在禁飛名單中,想要協助 Steve 通過護照人臉識別系統。
也就是說,Demo 展示的內容是 Steve 藉助生成的 Jesse 偽圖像通過護照人臉識別系統。此外,研究者還添加了一個隨機測試對象 Sam,以作為參考。
首先是正向測試(positive test),屏幕右側為 Steve 的真實、非生成圖像。系統在對照 Sam 時是不匹配的,對照 Steve 自己時匹配度 100%。這說明系統可以正確地識別出 Steve 自己。
其次是負向測試(negative test),屏幕右側為 Jesse 的真實、非生成圖像。系統準確地識別出了 Sam 和 Steve 與右側 Jesse 不是同一個人。這說明系統在非對抗性條件下可以正確區分不同的人。
最後是對抗性測試(adversarial test),屏幕右側為模型生成的 Jesse 的對抗性或者偽圖像。由於 Sam 不在 CycleGAN 訓練集中,所以他與右側的 Jesse 不匹配。攻擊者 Steve 則對誤分類為 Jesse。
所以,在這種對抗性攻擊場景中,如果護照掃描儀完全取代人類檢查員,則它已經誤認為攻擊者 Steve 與護照資料庫中同謀者 Jesse 的偽圖像是同一個人。由於 Jesse 不在禁飛名單中,也沒有任何其他限制,所以 Steve 能夠以 Jesse 的身份通過機場人臉驗證並順利登機。
而如果這時有人類檢查員的參與,則很可能會辨認出 Steve 與護照上的 Jesse 偽圖像並不是同一個人。這也由此說明了人臉識別系統較人類更容易出錯。
目前,該研究已經在白盒和灰盒攻擊測試中取得了進展,並實現了很高的成功率。他們希望啟發或者與其他研究者合作進行黑盒攻擊測試,從而證明該研究同樣適用於護照驗證系統等真實世界的目標,並由此對這些系統做出改進。
原文連結:https://www.mcafee.com/blogs/other-blogs/mcafee-labs/dopple-ganging-up-on-facial-recognition-systems/?utm_source=twitter_mcafee_labs&utm_medium=social_organic&utm_term=
&utm_content=&utm_campaign=&sf236565025=1