算法、數據與算力是人工智能發展的三大核心要素。近些年來,在算法增強、數據爆增及算力提升等多種有利因素的驅動下,人工智能飛速發展并在各行各業得到廣泛應用,在網絡空間安全領域也不例外。網絡攻防對抗不斷演化升級,人工智能因其具備自學習和自適應能力,可為自動化網絡攻防提供助力,已成為網絡攻防的核心關鍵技術之一。
一、人工智能在網絡攻防領域的應用
為了更好地理解人工智能在網絡攻防領域的應用,現從攻防視角及攻防主體采用人工智能意圖這兩個維度共四個方面展開(如下圖所示)。
圖 人工智能在網絡攻防領域的應用
(一)人工智能助力網絡攻擊
人工智能使得網絡攻擊更加強大,一方面,可將參與網絡攻擊的任務自動化和規模化,用較低成本獲取高收益;另一方面,可以自動分析攻擊目標的安全防御機制,針對薄弱環節定制攻擊從而繞過安全機制,提高攻擊的成功率。調研近幾年人工智能在網絡攻擊方面的應用研究顯示,利用人工智能開展的網絡攻擊方式包括但不限于:定制繞過殺毒軟件的惡意代碼或者通信流量;智能口令猜解;攻破驗證碼技術實現未經授權訪問;魚叉式網絡釣魚;對攻擊目標的精準定位與打擊;自動化滲透測試等。
1. 惡意代碼免殺。利用深度強化學習網絡提出一種攻擊靜態 PE(移植文件)反殺毒引擎的黑盒攻擊方法,這是當前第一個可以產生對抗性 PE 惡意代碼的工作,在模擬現實的攻擊中達到 90% 的成功率。
2. 基于生成對抗網絡框架 IDSGAN 生成惡意流量。基于生成對抗網絡的框架 IDSGAN 利用生成器將原始惡意流量轉換為對抗性惡意流量,可以欺騙和逃避入侵檢測系統。實驗證明,多數對抗流量可以欺騙并繞過現有的入侵檢測系統的檢測,規避率達到 99.0% 以上。
3. 智能口令猜解。基于多數據集的密碼生成模型 GENPass,借用 PCFG(概率上下文無關文法)和GAN(生成式對抗網絡)的思想,通過長短時記憶神經網絡訓練,提高了單數據集的命中率和多數據集的泛化性。
4. 新型文本驗證碼求解器。提出一種基于 GAN的通用有效的文本驗證碼求解器。通過將驗證碼所用的字符、字符旋轉角度等參數化,自動生成驗證碼訓練數據,并使用遷移學習技術調優模型,提高了驗證碼識別模型的泛化能力和識別精度。該方法可以攻破全球排名前 50 網站使用的所有文本驗證碼(截至 2018 年 4 月),包括谷歌、eBay、微軟、維基百科、淘寶、百度、騰訊、搜狐和京東等網站。
5. 自動化高級魚叉式釣魚。基于 Twitter 的端到端魚叉式網絡釣魚方法,采用馬爾可夫模型和遞歸神經網絡(LSTM)構造更接近于人類撰寫的推文內容。經測試發現,該釣魚框架成功率為 30%~60%,一度超過手動魚叉式網絡釣魚的成功率(45%)。
6. 網絡釣魚電子郵件生成。基于 RNN(循環神經網絡)的自然語言生成技術 NLG,自動生成針對目標的虛假電子郵件(帶有惡意意圖),并通過個人真實郵件數據和釣魚郵件數據進行訓練。實驗證明,RNN 生成的電子郵件具有更好的連貫性和更少的語法錯誤,能更好地進行網絡釣魚電子郵件攻擊。
7. DeepLocker 新型惡意軟件。該惡意軟件具有高度的針對性及躲避性,可以隱藏惡意意圖直到感染特定目標。一旦人工智能模型(深度神經網絡 DNN)通過面部識別、地理定位、語音識別等方式識別到攻擊目標,就會釋放出惡意行為。人工智能的使用使得解鎖攻擊的觸發條件幾乎不可能進行逆向工程。
8. DeepExploit 全自動滲透測試工具。利用 A3C 分布式訓練的強化學習高級版算法實現自動化滲透測試,可以自動完成情報收集、威脅建模、漏洞分析、漏洞利用、后滲透并生成報告。
9. 基于深度學習的 DeepDGA算法。采用 Alexa 網站上收錄的知名域名作為訓練數據,利用LSTM 算法和 GAN 構建模型,生成的域名與正常網站域名非常相似,很難被檢測出。
10. 基于人工智能的漏洞掃描工具。從 2019 年 8 月 開 始,Instagram 的用戶發現賬戶信息被黑客更改,無法登錄賬戶;2019年 11 月,Instagram 代碼中的 bug導致數據泄露,在用戶瀏覽器的網頁地址中可以顯示用戶的密碼。據推測,在兩次攻擊中,攻擊者采用了基于人工智能的工具掃描的服務器漏洞。
以洛克希德-馬丁公司于2011 年提出的網絡殺傷鏈(CyberKill Chain)模型(將攻擊過程劃分為偵查跟蹤、武器構建、載荷投遞、漏洞利用、安裝植入、命令與控制、目標達成共七個階段)作為參考,描述人工智能在網絡攻擊中的應用研究情況(如下表所示),可以看到黑客在網絡殺傷鏈模型的各個攻擊階段都嘗試使用人工智能技術進行優化以期獲得最大收益。
表 人工智能在網絡攻擊中的應用研究
(二)人工智能助力網絡防御
網絡安全威脅層出不窮且呈現智能化、隱匿性、規模化的特點,網絡安全防御面臨著極大的挑戰。人工智能驅動的網絡防御擁有強大的自主學習和數據分析能力,大幅縮短威脅發現與響應的間隔,實現了自動化快速識別、檢測和處置安全威脅,在應對各類安全威脅發揮著重要作用。尤其是,人工智能在發現未知威脅及 APT 等高級威脅方面有很大優勢。
人工智能為人們應對日趨復雜的網絡安全問題不斷提供新的思路。目前,人工智能已經應用于惡意軟件/流量檢測、惡意域名/URL 檢測、釣魚郵件檢測、網絡攻擊檢測、軟件漏洞挖掘、威脅情報收集等方面。具體應用研究包括:
1. 惡意軟件檢測。將惡意軟件樣本轉換為二維圖像,將二維圖像輸入到經過訓練的深度神經網絡 DNN,二維圖像會被分類為“干凈”或“已感染”。該檢測方法達到了 99.07%的準確性,誤報率為 2.58%。
2. 未知加密惡意流量檢測。在無法通過對有效傳輸載荷提取特征的情況下,基于 LSTM 的加密惡意流量檢測模型經過為期兩個月的訓練之后,可以識別許多不同的惡意軟件家族的未知加密惡意流量。
3. 惡意(僵尸)網絡流量檢測。利用深度學習且獨立于底層僵尸網絡體系結構的惡意網絡流量檢測器 BoTShark,采用堆疊式自動編碼器 Autoencoder 和卷積神經網絡 CNN 兩種深度學習檢測模型,以消除檢測系統對網絡流量主要特征的依賴性。該檢測器實現了 91% 的分類準確率和 13% 的召回率。
4. 基于人工智能檢測惡意域名的方法。針對威脅情報誤報/漏報多且不可控的特點,將威脅情報作為訓練集,采用支持向量機 SVM 學習威脅情報背后的數據特征,通過人工智能強大的泛化能力,減少漏報并讓安全系統變得可控。
5. 運用機器學習檢測惡意 URL。結合域生成算法 DGA 檢測的機器學習聚類算法可以獲得較高的惡意 URL 檢出率,不僅可以檢測已知的惡意 URL,并且也能檢測到從未暴露的新變種。
6. 新型網絡釣魚電子郵件檢測。利用深度神經網絡 DNN 對網絡釣魚電子郵件進行檢測,并且通過實驗證明 DNN 在釣魚郵件的檢測上可以實現 94.27%的檢測性能,進一步證明了深度學習技術在自動化網絡釣魚識別中的可行性。
7. 基于人工智能的網絡安全平臺 AI2。該平臺結合無監督機器學習和有監督學習的方法,首先用無監督機器學習自主掃描日志文件,分析人員確認掃描結果,并將確認結果納入 AI2 系統,用于對新日志的分析。該平臺能檢測出約 85% 的網絡攻擊。
8. 基于機器學習的通用漏洞檢測方法。這是第一個基于漏洞不一致性的通用漏洞檢測方法。區別于已有漏洞檢測方法,該方法使用兩步聚類來檢測功能相似但不一致的代碼片段,無需花費大量時間進行樣本收集、清理及打標簽。同時,該方法采用手工分析聚類結果,以更快定位真正的漏洞。該方法發現了開源軟件中未知的 22 個漏洞。
9. 基于深度學習的威脅情報知識圖譜構建技術。利用深度置信網絡 DBN 訓練的模型,對威脅情報的實體和實體關系進行自動化抽取。該方法較淺層神經網絡的識別準確率有較大提高,比人工抽取的速率也有很大提高,可為自動化構建威脅情報知識圖譜提供有力的保障。
10. 基于混合詞向量深度學習模型的 DGA 域名檢測方法。首次結合了 DGA 域名的字符級詞向量和雙字母組詞向量,以提高域名字符串的信息利用度,并設計了基于混合詞向量方法的深度學習模型,模型由卷積神經網絡 CNN 和 LSTM 組成。實驗證明該方法有著較好的特征提取能力與分類效果,并在一定程度上緩解了數據不平衡帶來的負面影響。
從上述應用研究可以看出,目前人工智能應用研究主要以惡意行為檢測為主,在檢測成果基礎上不斷提升響應處置、積極防御和威脅預測的能力。
(三)針對人工智能自身安全問題的攻擊
隨著人工智能的廣泛應用,由于技術不成熟及惡意應用導致的安全風險逐漸暴露,包括深度學習框架中的軟件實現漏洞、惡意對抗樣本生成、訓練數據投毒及數據強依賴等。黑客可通過找到人工智能系統弱點以繞過防御進行攻擊,導致人工智能所驅動的系統出現混亂,形成漏判或者誤判,甚至導致系統崩潰或被劫持。人工智能的自身安全問題,主要體現在訓練數據、開發框架、算法、模型及承載人工智能系統的軟硬件設備等方面,具體如下。
1. 數據安全。數據集的質量(如數據的規模、均衡性及準確性等)對人工智能算法的應用至關重要,影響著人工智能算法的執行結果。不好的數據集會使得人工智能算法模型無效或者出現不安全的結果。較為常見的安全問題為數據投毒攻擊,通過訓練數據污染導致人工智能決策錯誤。例如,垃圾郵件發送者通過在垃圾郵件中插入“好話”,實現簡單的“回避攻擊”以繞過垃圾郵件過濾器中的分類器,從而使得惡意郵件逃避垃圾郵件的分類檢測(最早研究)。
2. 框架安全。深度學習框架及其依賴的第三方庫存在較多安全隱患,導致基于框架實現的人工智能算法運行時出錯。來自 360 安全實驗室等單位的研究人員,對 Caffe、TensorFlow 和 Torch 三個主流的深度學習框架實現中存在的安全威脅進行了研究,發現框架中存在堆溢出、數字溢出等許多漏洞,其中 15 個漏洞擁有 CVE 編號。
3. 算法安全。深度神經網絡雖然在很多領域取得很好的效果,但是其取得好效果的原因及其算法中隱藏層的含義、神經元參數的含義等尚不清楚,缺乏可解釋性容易造成算法運行錯誤,產生對抗性樣本攻擊、植入算法后門等攻擊行為。有研究人員介紹了針對 Gmail PDF 過濾的逃逸攻擊,利用遺傳編程隨機修改惡意軟件的方法,實現了對基于 PDF結構特征的機器學習惡意軟件分類器的逃逸。該方法不僅成功攻擊了兩個準確率極高的惡意 PDF 文件分類器,而且可對 Gmail 內嵌的惡意軟件分類器進行攻擊,只需 4 行代碼修改已知惡意 PDF 樣本就可以達到近 50% 的逃逸率,10 億 Gmail 用戶都受到了影響。
4. 模型安全。模型作為人工智能應用的核心,成為攻擊者關注的重點目標。攻擊者向目標模型發送大量預測查詢,利用模型輸出竊取模型結構、參數、訓練及測試數據等隱私敏感數據,進一步訓練與目標模型相同或類似模型;采用逆向等傳統安全技術把模型文件直接還原;攻擊者利用開源模型向其注入惡意行為后再次對外發布分享等。2017 年,Papernot 等人提出一種黑盒模型竊取攻擊,通過收集目標分類器的輸入和輸出構建綜合數據集,用于訓練目標模型的替代品(本地構建的相似模型),實現對目標模型的攻擊。除了最新的深度神經網絡外,該方法也適用于不同的機器學習分類器類型。
5. 軟硬件安全。除上述安全問題外,承載人工智能應用的(數據采集存儲、應用運行等相關)軟硬件設備面臨著傳統安全風險,存在的漏洞容易被攻擊者利用。在 Black Hat 2018 大會上,騰訊科恩實驗室介紹了在避免物理直接接觸的遠程攻擊場景下,針對特斯拉 Autopolit 自動輔助駕駛系統的攻擊測試情況。整個的攻擊過程從利用 Webkit 瀏覽器漏洞實現瀏覽器任意代碼執行開始,最終獲得了 Autopilot的控制權。
攻擊者可以針對上述人工智能自身存在安全問題發起攻擊,其中較為常見的攻擊為對抗樣本攻擊,攻擊者在輸入數據上添加少量精心構造的人類無法識別的“擾動”,就可以干擾人工智能的推理過程,使得模型輸出錯誤的預測結果,達到逃避檢測的攻擊效果。此外,對抗樣本攻擊具有很強的遷移能力,針對特定模型攻擊的對抗樣本對其他不同模型的攻擊也同樣有效。
(四)針對人工智能自身安全問題的防護
隨著數據量及算力不斷提升,未來人工智能應用場景不斷增多,人工智能自身安全問題成為其發展的瓶頸,人工智能自身安全的重要性不言而喻。針對人工智能自身在訓練數據、開發框架、算法、模型及軟硬件設備等方面的安全問題,目前較為常用的防護手段有:
1. 數據安全。分析異常數據與正常數據的差異,過濾異常數據;基于統計學方法檢測訓練數據集中的異常值;采用多個獨立模型集成分析,不同模型使用不同的數據集進行訓練,降低數據投毒攻擊的影響等。
2. 框架安全。通過代碼審計、模糊測試等技術挖掘開發框架中存在的安全漏洞并進行修復;借助白帽子、安全研究團隊等社區力量發現安全問題,降低框架平臺的安全風險。
3. 算法安全。在數據收集階段,對輸入數據進行預處理,消除對抗樣本中存在的對抗性擾動。在模型訓練階段,使用對抗樣本和良性樣本對神經網絡進行對抗訓練,以防御對抗樣本攻擊;增強算法的可解釋性,明確算法的決策邏輯、內部工作機制、決策過程及依據等。在模型使用階段,通過數據特征層差異或模型預測結果差異進行對抗樣本檢測;對輸入數據進行變形轉化等重構處理,在保留語義前提下破壞攻擊者的對抗擾動等。
4. 模型安全。在數據收集階段,加強數據收集粒度來增強訓練數據中環境因素的多樣性,增強模型對多變環境的適應性。在模型訓練階段,使模型學習到不易被擾動的特征或者降低對該類特征的依賴程度,提高模型魯棒性;將訓練數據劃分為多個集合分別訓練獨立模型,多個模型投票共同訓練使用的模型,防止訓練數據泄露;對數據/模型訓練步驟加噪或對模型結構進行有目的性的調整,降低模型輸出結果對訓練數據或模型的敏感性,保護模型數據隱私;將水印嵌入到模型文件,避免模型被竊取;通過模型剪枝刪除模型中與正常分類無關的神經元,減少后門神經元起作用的可能性,或通過使用干凈數據集對模型進行微調消除模型中的后門。在模型使用階段,對輸入數據進行預處理,降低后門攻擊可能性;在模型運行過程中引入隨機性(輸入/參數/輸出),使得攻擊者無法獲得模型的準確信息;混淆模型輸出和模型參數更新等交互數據中包含的有效信息,減少模型信息可讀性;采用訪問控制策略(身份驗證、訪問次數等)限定對模型系統的訪問,防止模型信息泄露;對模型文件進行校驗或驗證,發現其中存在的安全問題。
5. 軟硬件安全。對模型相關數據在通信過程或者存儲時進行加密,確保敏感數據不泄露;對軟硬件設備進行安全檢測,及時發現惡意行為;記錄模型運行過程中的輸入輸出數據及核心數據的操作記錄等,支撐系統決策并在出現問題時回溯查證。
近幾年,也出現了一些針對算法模型評估的工具或產品。瑞萊智慧和阿里于 2020 年分別發布了針對算法模型自身安全的檢測平臺,除了可對算法模型進行安全評估,還針對模型給出防御增強建議;今年 5 月,微軟開源了內部使用的 AI 安全風險評估工具 Counterfit,該工具可被用于進行紅隊演練、滲透測試及漏洞掃描,同時在遭受攻擊時可以記錄攻擊事件。
在具體到人工智能業務應用時,還需要結合具體應用場景制定安全機制,確保業務應用的安全性。
二、人工智能應用情況及問題分析
綜上所述,人工智能在網絡攻防領域已經有較多的應用研究,應用潛力巨大。國內外也在積極探索自動化網絡攻防的可能性,但是網絡攻防的獨特屬性及人工智能技術的特點給人工智能在網絡攻防領域的應用帶來一定的局限性。
(一)網絡攻擊
人工智能在網絡攻擊方面的應用已經有了較多的嘗試,而且取得了較好的效果。但是,人工智能的作用仍舊受限。在漏洞挖掘方面,目前相關挑戰賽及賽題主要考察二進制程序的漏洞挖掘。雖然自動化工具已經顯示出了較強的漏洞發現利用能力,但是對有較強的邏輯分析能力的漏洞,還無法完全靠自動化工具去挖掘。
此外,由于人工智能模型所需的計算力、人力等成本較高,現實中采用人工智能技術方法的網絡攻擊較少。目前,尚未有利用人工智能方法進行大范圍網絡攻擊的真實案例。
(二)網絡防御
人工智能的應用大大提升了網絡安全的防御水平,但是也存在一些問題。以深度學習為代表的人工智能技術雖然能自動提取特征,但面臨數據饑餓、可解釋性等問題。數據量越多,人工智能模型的準確性就會越高。但是,在惡意代碼檢測、軟件漏洞挖掘等領域,仍缺乏較好的數據集,導致基于人工智能方法的檢測率和準確率較低。使用深度學習等人工智能算法,雖然可以較好識別出未知威脅,卻往往知其然不知其所以然,算法模型缺乏可解釋性,無法確定威脅來源。
此外,由于人工智能在網絡安全領域的應用比較特殊,誤報的代價較高,人工智能在網絡防御方面的應用多采用人工智能和人相結合的方式。2020年 RSA 大會針對 102 名網絡安全行業專業人士的調查結果顯示,有近 60% 的受訪者認為,相比于人工智能的自動化處理,通過人工驗證的網絡安全威脅更讓人信服。
三、總結展望
人工智能有著獨特的價值和優勢。攻擊者以人工智能為武器,使惡意攻擊行為可以自我學習,并根據目標防御體系的差異自適應地“隨機應變”,通過尋找潛在的漏洞達到攻擊的目的。同時,采用人工智能技術可以改善網絡安全現狀,能更快地識別已知或未知威脅并及時響應,可以更好地應對復雜的網絡攻擊。目前,科研機構與產業界已達成共識,融入人工智能技術將成為網絡攻防的新常態。人工智能在網絡攻防領域的應用還處在初期階段,人工智能只是輔助手段,距離實現真正的自動化攻防,還有很長的路要走。