詳解對抗性攻擊與機器學習
一、背景
機器學習在近些年一直是非常火的研究主題,它是人工智能核心,也是推進計算機具有智能的根本途徑。它的基本任務有分類、聚類等,其本質都是在試圖使機器通過學習大量的知識,獲得模擬人的思路進行預測或決策的能力,例如決定某一封郵件是不是惡意的。這樣的技術特點與網絡安全自動化的發展趨勢是吻合的,我們需要一臺24小時工作的機器來幫助人們判斷好與壞并采取應急響應措施,于是機器學習在網絡安全得以大顯身手。但是往往解決一個問題可能就會產生新的問題,一個技術可以被用來防御,同時也可能被人拿來攻擊。機器學習的應用在某種方面解放了網絡安全防御者的同時,也給了攻擊者一個新的切入點,與此相關的對抗攻擊開始成為一個新的問題。
二、內容概述
本文首先介紹了機器學習、網絡安全及對抗攻擊這三個領域及其交叉應用方面的基礎知識,主體部分由六章組成:機器學習基礎、機器學習在網絡安全中的應用、針對機器學習的對抗攻擊方法、對抗攻擊分類、對抗攻擊風險評估與對抗攻擊的防御方法,文章最后基于前述工作進行了前期工作的總結和未來研究方向的闡述。
1、機器學習基礎
機器學習根據所需方法和可用數據類型執行各種類型的任務[1]。文章按照三種標準對機器學習進行分類:學習技術、目標任務與學習深度(如圖一),并逐一介紹其特點。
在目標任務的部分,文章將通用的機器學習任務與網絡安全結合起來,并舉出具體的算法例子。分類任務模型在網絡安全中被用于檢測已知類型的欺詐[2],并用于對不同用戶進行分組,如社交垃圾郵件發送者[3]。此外,它還用于將程序和文件分為惡意軟件、間諜軟件和勒索軟件三種類型;聚類任務則是通過比較業務流程來檢測異常值[4];在網絡安全中,使用回歸模型從網絡數據包中預測相關參數,然后將它們和常規參數進行比較[5],還被用于計算機網絡中的異常檢測、用戶行為分析(如人機交互證明)和異常行為預測 [2],如信用卡欺詐交易。這體現出當前機器學習在網絡安全領域已經得到了較為廣泛的應用,如果出現攻擊問題將會帶來很大后果,因此這些研究是非常必要且有意義的。
圖一 機器學習分類[1]
2、機器學習在網絡安全中的應用
機器學習被廣泛地用于執行網絡安全方面的任務[6],包括網絡內部和網絡邊緣的多層防御。文章從網絡、終端、應用程序、進程行為和用戶行為這五個方面對機器學習的應用展開闡述(如圖二)。
圖二 機器學習在網絡安全中的應用[1]
3、針對機器學習的對抗攻擊方法
在對抗式機器學習中,攻擊者試圖混淆機器學習模型使其做出錯誤的決策,通常的方法是在訓練階段[7]或推理階段[8]修改輸入到機器學習模型的輸入數據。文章首先介紹了網絡安全中對抗性攻擊的威脅模型,包括已有知識、攻擊空間、策略、目標和對象,隨后介紹了各種對抗性攻擊算法的分類方法(如圖三)。
圖三 對抗性攻擊的威脅模型分類[1]
4、網絡安全中的對抗攻擊分類
前面幾章是對機器學習和對抗技術的分類,那么本章就是對整個攻擊行為的分類,其標準是特征范圍,即攻擊者在操縱或干擾哪些特征,以生成對抗性樣本。針對惡意軟件檢測、網絡釣魚檢測和垃圾郵件檢測應用程序的對抗性攻擊試圖干擾有效負載功能,如二進制文件、URL或電子郵件。這些攻擊被歸類為針對端點保護系統的對抗性攻擊。除此之外,還有針對網絡異常檢測應用程序的對抗性攻擊,這些類型的攻擊將試圖干擾協議功能,如網絡元數據或協議頭。這些攻擊被歸類為針對網絡保護系統的對抗性攻擊(如圖四)。
圖四 對抗攻擊分類[1]
5、對抗攻擊風險評估
文章介紹了攻擊風險評估的指標與框架:可遷移性的概念、基于模糊性概念的對抗性風險框架[9]以及對抗性風險網格映射的概念。可遷移性指的是,為特定深度學習模型制作的對抗性樣本可以有效地導致不同模型中的錯誤分類,這被稱為交叉模型對抗性樣本。對抗性風險網格映射的目標是評估針對機器學習模型的對抗性攻擊成功的可能性,以及該攻擊成功后的后果(如圖五)。
圖五 對抗性風險網格映射[1]
6、對抗攻擊的防御方法
文章介紹了目前使用的最常見的攻擊方法,并根據策略和方法對其進行分類,包括梯度掩藏、防御蒸餾、對抗訓練、對抗性樣本檢測、特征縮減和集成防御。此處與全文的攻擊方法部分呈現一定程度的對應關系(如圖六)。
圖六 基于攻擊者策略的對抗性防御方法[1]
三、總結和展望
機器學習模型在網絡安全中的對抗性漏洞風險不斷增加,辨別自主性和指令自主性降低。然而,由本文引入的基于對抗性風險網格圖可以分析得出,只有辨別自主性和指令自主性的增強,對抗性脆弱性的風險才會降低。在惡意軟件分類領域觀察到最大的對抗攻擊效應是對抗性樣本將基于深度學習的惡意軟件分類器的準確率從97%降低到5%,這是需要引起重視的。
與此相關還有很多可以研究的方向。攻擊角度來看,在已有的對抗性樣本的生成方法中,大量特征受到干擾,事實上這只是一個次優解,目前仍然缺乏對對抗性樣本生成時需要擾動的最優特征的研究;從防御角度來看,目前大多數防御措施都是針對計算機視覺中機器學習應用程序的攻擊而設計的,并且研究的防御通常是針對特定攻擊或攻擊的一部分而設計的。
安全技術的選擇和使用需要萬分謹慎。安全在任何領域都是十分重要的,尤其是互聯網時代下的網絡安全。因此,人們總是想要盡可能地把前沿高端的技術運用在安全領域中,例如區塊鏈、機器學習等。然而,這些“美麗的補丁”也可能會成為攻擊者的新入口。
參考文獻
[1] bitoye O , Abou-Khamis R , Matrawy A , et al. The Threat of Adversarial Attacks on Machine Learning in Network Security -- A Survey[J]. 2019.
[2] Sahin Y , Duman E . Detecting Credit Card Fraud by Decision Trees and Support Vector Machines[J]. lecture notes in engineering & computer science, 2011.
[3] Lee K , Caverlee J , Webb S . Uncovering social spammers: social honeypots + machine learning[C]// International Acm Sigir Conference on Research & Development in Information Retrieval. ACM, 2010.
[4] Kravchik M , Shabtai A . Anomaly detection; Industrial control systems; convolutional neural networks[J]. 2018.
[5] Zamani M , Movahedi M . Machine Learning Techniques for Intrusion Detection[J]. 2013.
[6] Deepak B N , Pavithra H . Applications of Machine Learning in Cyber Security. 2018.
[7] [1]Muoz-González, Luis, Biggio B , Demontis A , et al. Towards Poisoning of Deep Learning Algorithms with Back-gradient Optimization[C]// the 10th ACM Workshop. ACM, 2017.
[8] Biggio B , Corona I , Maiorca D , et al. Evasion Attacks against Machine Learning at Test Time[J]. 2017.
[9] Liao F , Ming L , Dong Y , et al. Defense against Adversarial Attacks Using High-Level Representation Guided Denoiser[J]. 2017.