前言
前言
生活中的深度學習
深度學習自2006年產生之後就受到科研機構、工業界的高度關注。最初,深度學習主要用於圖像和語音領域。從2011年開始,谷歌研究院和微軟研究院的研究人員先後將深度學習應用到語音識別,使識別錯誤率下降了20%~30%。2012年6月,谷歌首席架構師JeffDean和斯坦福大學教授AndrewNg主導著名的GoogleBrain項目,採用16萬個CPU來構建一個深層神經網路,並將其應用於圖像和語音的識別,最終大獲成功。
2016年3月,AlphaGo與圍棋世界冠軍、職業九段棋手李世石進行圍棋人機大戰,以4比1的總比分獲勝;2016年年末2017年年初,該程序在中國棋類網站上以「大師」(Master)為註冊賬號與中日韓數十位圍棋高手進行快棋對決,連續60局無一敗績;2017年5月,在中國烏鎮圍棋峰會上,它與排名世界第一的圍棋世界冠軍柯潔對戰,以3比0的總比分獲勝。AlphaGo的成功更是把深度學習的熱潮推向了全球,成為男女老少茶餘飯後關注的熱點話題。
現在,深度學習已經遍地開花,在方方面面影響和改變著人們的生活,比較典型的應用包括智能家居、智能駕駛、人臉支付和智能安防。
深度學習的脆弱性
深度學習作為一個非常複雜的軟體系統,同樣會面對各種黑客攻擊。黑客通過攻擊深度學習系統,也可以威脅到財產安全、個人隱私、交通安全和公共安全(見圖0-1)。針對深度學習系統的攻擊,通常包括以下幾種。
圖0-1深度學習的脆弱性
1.偷取模型
各大公司通過高薪聘請AI專家設計模型,花費大量資金、人力搜集訓練數據,又花費大量資金購買GPU設備用於訓練模型,最後得到深度學習模型。深度學習模型的最終形式也就是從幾百KB到幾百MB不等的一個模型文件。深度學習模型對外提供服務的形式也主要分為雲模式的API,或者私有部署到用戶的移動設備或數據中心的伺服器上。針對雲模式的API,黑客通過一定的遍歷演算法,在調用雲模式的API后,可以在本地還原出一個與原始模型功能相同或者類似的模型;針對私有部署到用戶的移動設備或數據中心的伺服器上,黑客通過逆向等傳統安全技術,可以把模型文件直接還原出來供其使用。偷取深度學習模型的過程如圖0-2所示。
2.數據投毒
針對深度學習的數據投毒主要是指向深度學習的訓練樣本中加入異常數據,導致模型在遇到某些條件時會產生分類錯誤。如圖0-3所示。早期的數據投毒都存在於實驗室環境,假設可以通過在離線訓練數據中添加精心構造的異常數據進行攻擊。這一攻擊方式需要接觸到模型的訓練數據,而在實際環境中,絕大多數情況都是公司內部在離線數據中訓練好模型再打包對外發布服務,攻擊者難以接觸到訓練數據,攻擊難以發生。於是攻擊者把重點放到了在線學習的場景,即模型是利用在線的數據,幾乎是實時學習的,比較典型的場景就是推薦系統。推薦系統會結合用戶的歷史數據以及實時的訪問數據,共同進行學習和判斷,最終得到推薦結果。黑客正是利用這一可以接觸到訓練數據的機會,通過一定的演算法策略,發起訪問行為,最終導致推薦系統產生錯誤。
圖0-2偷取深度學習模型
圖0-3針對深度學習的數據投毒
3.對抗樣本
對抗樣本由ChristianSzegedy等人提出,是指在數據集中通過故意添加細微的干擾所形成的輸入樣本,這種樣本導致模型以高置信度給出一個錯誤的輸出。在正則化背景下,通過對抗訓練減少原有獨立同分佈的測試集的錯誤率,在對抗擾動的訓練集樣本上訓練網路。
簡單地講,對抗樣本通過在原始數據上疊加精心構造的人類難以察覺的擾動,使深度學習模型產生分類錯誤。以圖像分類模型為例,如圖0-4所示,通過在原始圖像上疊加擾動,對於肉眼來說,擾動非常細微,圖像看起來還是熊貓,但是圖像分類模型卻會以很大的概率識別為長臂猿。
圖0-4針對圖像分類模型的對抗樣本
下面以一個圖像分類模型為例,更加直接地解釋對抗樣本的基本原理。通過在訓練樣本上學習,學到一個分割平面,在分割平面一側的為綠球,在分割平面另外一側的為紅球。生成攻擊樣本的過程,就是在數據上添加一定的擾動,讓其跨越分割平面,從而把分割平面一側的紅球識別為綠球,如圖0-5所示。
圖0-5對抗樣本的基本原理
對抗樣本按照攻擊后的效果分為TargetedAttack(定性攻擊)和Non-TargetedAttack(無定向攻擊)。區別在於TargetedAttack在攻擊前會設置攻擊的目標,比如把紅球識別為綠球,或者把麵包識別為熊貓,也就是說在攻擊后的效果是確定的;Non-TargetedAttack在攻擊前不用設置攻擊目標,只要攻擊后,識別的結果發生改變即可,可能會把麵包識別為熊貓,也可能識別為小豬佩琪或者小豬喬治,如圖0-6所示。
圖0-6TargetedAttack和Non-TargetedAttack
對抗樣本按照攻擊成本分為White-BoxAttack(白盒攻擊)、Black-BoxAttack(黑盒攻擊)和Real-WorldAttack/PhysicalAttack(真實世界/物理攻擊)。
White-BoxAttack(見圖0-7)是其中攻擊難度最低的一種,前提是能夠完整獲取模型的結構,包括模型的組成以及隔層的參數情況,並且可以完整控制模型的輸入,對輸入的控制粒度甚至可以到比特級別。由於White-BoxAttack前置條件過於苛刻,通常作為實驗室的學術研究或者作為發起Black-BoxAttack和Real-WorldAttack/PhysicalAttack的基礎。
圖0-7White-BoxAttack
Black-BoxAttack相對White-BoxAttack攻擊難度具有很大提高,Black-BoxAttack完全把被攻擊模型當成一個黑盒,對模型的結構沒有了解,只能控制輸入,通過比對輸入和輸出的反饋來進行下一步攻擊,見圖0-8。
圖0-8Black-BoxAttack
Real-WorldAttack/PhysicalAttack(見圖0-9)是這三種攻擊中難度最大的,除了不了解模型的結構,甚至對於輸入的控制也很弱。以攻擊圖像分類模型為例(見圖0-10),生成的攻擊樣本要通過相機或者攝像頭採集,然後經過一系列未知的預處理后再輸入模型進行預測。攻擊中對抗樣本會發生縮放、扭轉、光照變化、旋轉等。
圖0-9Real-WorldAttack/PhysicalAttack
圖0-10圖像分類模型的真實世界/物理攻擊
常見檢測和加固方法
1.深度學習脆弱性檢測
檢測深度學習脆弱性的過程,其實就是發起攻擊的過程,常見的白盒攻擊演算法列舉如下。
ILCM(最相似迭代演算法)
FGSM(快速梯度演算法)
BIM(基礎迭代演算法)
JSMA(顯著圖攻擊演算法)
DeepFool(DeepFool演算法)
C/W(C/W演算法)
常見的黑盒攻擊方法列舉如下。
SinglePixelAttack(單像素攻擊)
LocalSearchAttack(本地搜索攻擊)
2.深度學習脆弱性加固
針對深度學習脆弱性進行加固的常見方法主要包括以下幾種,我們將重點介紹Adversarialtraining。
Featuresqueezing(特徵凝結)
Spatialsmoothing(空間平滑)
Labelsmoothing(標籤平滑)
Adversarialtraining(對抗訓練)
Virtualadversarialtraining(虛擬對抗訓練)
Gaussiandataaugmentation(高斯數據增強)
Adversarialtraining如圖0-11所示,其基本思路是,常見的對抗樣本生成演算法是已知的,訓練數據集也是已知的,那麼可以通過常見的一些對抗樣本工具箱,比如AdvBox或者FoolBox,在訓練數據的基礎上生成對應的對抗樣本,然後讓深度學習模型重新學習,讓它認識這些常見的對抗樣本,這樣新生成的深度學習模型就具有了一定的識別對抗樣本的能力。
與Adversarialtraining思路類似的是Gaussiandataaugmentation。Gaussiandataaugmentation的基本原理是,對抗樣本是在原始數據上疊加一定的擾動,這些擾動非常接近隨機的一些雜訊。Adversarialtraining雖然簡單易於實現,但是技術上難以窮盡所有的攻擊樣本。Gaussiandataaugmentation直接在原始數據上疊加高斯雜訊,如圖0-12所示,k為高斯雜訊的係數,係數越大,高斯雜訊越強,其他參數分別表示高斯雜訊的均值和標準差。Gaussiandataaugmentation把訓練數據疊加了雜訊后,重新輸入給深度學習模型學習,通過增加訓練輪數、調整參數甚至增加模型層數,在不降低原有模型準確度的情況下,讓新生成的深度學習模型具有了一定的識別對抗樣本的能力。
圖0-11Adversarialtraining原理圖
圖0-12圖像增加高斯雜訊
對抗樣本領域的最新進展
對抗樣本是AI安全研究的一個熱點,新的攻擊演算法和加固方法層出不窮,而且攻擊場景也從實驗室中的簡單圖像分類,迅速擴展到智能音箱、無人駕駛等領域。百度安全實驗室的最新研究報告《感知欺騙:基於深度神經網路(DNN)下物理性對抗攻擊與策略》成功入選BlackHatEurope2018。報告展現了讓物體在深度學習系統的「眼」中憑空消失,在AI時代重現了大衛·科波菲爾的經典魔法。針對深度學習模型漏洞進行物理攻擊可行性研究有著廣泛的應用前景,在自動駕駛領域、智能安防領域、物品自動鑒定領域都有重要的實際意義。
如圖0-13所示,在時間t0的時候,當在車后顯示器中顯示正常logo時,YOLOv3可以正確識別目標車輛,而在t1時,切換到擾動后的圖片時,它可以立刻讓目標車輛在YOLOv3面前變得無法辨識;在t2時,如圖0-14所示切換回正常的圖片,YOLOv3重新可以識別目標車輛。這是首次針對車輛的物理攻擊的成功展示,與以往的學術論文相比,在攻擊目標的大小、解析度的高低以及物理環境的複雜性等方面,在影響和難度上都是一個巨大提升。
圖0-13t0時可以正常識別出車輛,t1時無法識別出車輛
圖0-14t2時可以正常識別出車輛
KanYuan和DiTang等人在論文《StealthyPorn:UnderstandingReal-WorldAdversarialImagesforIllicitOnlinePromotion》中介紹了黑產如何通過單色化、加雜訊、增加文字、仿射變化、濾波模糊化和遮蓋等方式讓違規圖片繞過目前主流的圖片內容檢測服務。這也標誌著對抗樣本技術已經從實驗室環境真正進入了網路對抗實戰。
國內安全人員在對抗樣本領域的研究成果得到了國際的普遍認可。朱軍等人指導的清華大學團隊曾在NIPS2017對抗樣本攻防競賽中奪冠,紀守領老師所在的NESALab提出了一種新型的對抗性驗證碼,能防範來自打碼平台等黑產的破解。