人工智能(AI)或機器學習融入傳統模糊測試技術造就出查找應用程序或系統漏洞的強大工具,但研究人員和網絡罪犯都能利用這一點。
定義AI模糊測試
AI模糊測試采用機器學習及類似技術查找應用或系統中的漏洞。模糊測試概念的提出已經有些年頭了,但其執行相當困難,對公司企業沒有太大吸引力。引入AI技術可使模糊測試更加靈活,更易于執行。
這是個好消息,但同時也是個壞消息。好消息是企業和軟件供應商可以更容易地找出系統中的潛在可利用漏洞,以便搶在壞人之前修復。
壞消息是,壞人也可以利用該技術快速找出很多零日漏洞。澳大利亞技術咨詢機構 Rightsize Technology 將AI模糊測試列為2019十大安全威脅之一。
模糊測試運作機制
傳統模糊測試用大量不同輸入嘗試令應用程序崩潰的切入點。因為不同應用輸入方式相異,產生并嘗試大量輸入需要很多人工設置。而且,僅靠暴力破解的方式嘗試每個可能輸入并觀察應用程序的響應是行不通的——光耗時都能讓人絕望。10個字符的輸入域要試完全部可能組合需要幾個月甚至幾年。
虛擬出每個應用比嘗試可能輸入組合更復雜,所以模糊測試器基本都是隨機嘗試,并運用各種策略去試最具前景的那些輸入組合。AI工具有助于生成測試用例,且模糊測試的事后分析階段也可以用AI工具來確定造成崩潰的條件是否可利用。不是每個漏洞都是安全漏洞。
模糊測試技術已經出現好些年了。甚至智能模糊測試也不是什么新的東西,只不過是沒在學術界以外廣泛應用而已。優秀的商業工具并不多。
模糊測試屬于動態分析,很難整合進開發生命周期中。相比之下,掃描應用程序源代碼的靜態分析就容易整合得多了。而且,商業領域有大量靜態工具可用。所以企業傾向于選擇靜態分析不足為奇。
AI模糊測試工具
不過,隨著公司企業將模糊測試作為服務推出,該技術的部署難度大幅下降,情況開始發生改變。微軟的 Security Risk Detection 很是令人興奮,他們將Web模糊測試器也集成了進去。而在過去,你得購買和維護幾個不同工具。
頂級AI模糊測試工具有:
MSRD采用智能約束算法。另一種主流智能模糊測試選項是遺傳算法。兩種算法都能使模糊測試工具鎖定最具前景的路徑來找到漏洞。
開源工具集 American Fuzzy Lop (AFL)使用遺傳算法。該工具集是基于云的新工具Fuzzbuzz的核心,也是谷歌ClusterFuzz項目的一部分。
模糊測試器即服務正在逐步推出。如果可以的話,最好能采用這種技術。即便剛開始可能有些難上手,堅持用下去絕對能值回票價,因為它能保證產品安全。AI模糊測試器最令人激動的一點,是不僅能夠減少所需工作量,還能得到更好的結果,更深入應用程序底層,找出更多漏洞。
位于加州桑尼維爾的安全初創公司RiskSense就提供模糊測試服務,這家公司的主要業務為企業客戶進行風險評估。盡管該公司將此服務自稱為“攻擊驗證即服務”,其實質就是“模糊測試即服務”。
機器學習進場的時機是在該公司發現漏洞之后,用于確認漏洞是否值得利用,以及是否會被利用。模糊測試本身采用傳統自動化方法加人工監督的方式進行。該公司確實計劃在初始階段就開始使用AI——只要具備了足夠的訓練數據。足夠的數據才能產生足夠的模式,運用機器學習才有意義。如果沒有良好的數據集,得到的只會是一堆誤報,你將不得不回頭驗證結果,然后浪費大量時間。
已設立自身AI模糊測試項目的公司企業最好再找家供應商合作。有谷歌、微軟或其他公司作為提供商,你會獲得規模經濟效應。因為除非是跨國大型企業,否則很難擁有合適的資源。大型云提供商的數據比政府都多。
唯一的例外是真正關鍵的系統,比如防務公司的武器系統。任何政府都不會將數據放到AWS上做模糊測試。如果是武器系統,除非有非常嚴格的安全要求,否則絕不會用谷歌或微軟的AI模糊測試器。但如果是普通公司,大型供應商還是很靠譜的,他們可能不是最先做這個的,但肯定是能做出一定規模的。
用AI模糊測試查找零日漏洞
2月,微軟安全研究員 Matt Miller 在該公司藍帽大會上做了關于零日漏洞問題的演講。他表示,2008年,絕大部分微軟漏洞都是在補丁發布后才被利用的,僅21%是作為零日漏洞被利用。2018年,這一比例逆轉了,83%的漏洞遭零日利用,其中大部分漏洞利用是針對性攻擊的一環。
到目前為止,發現零日漏洞依然不是件容易的事,新零日漏洞的價格居高不下。Zerodium公司如今為帶有效漏洞利用的高風險漏洞開出單個200萬美元的高價,并宣稱如果是特別有價值的零日漏洞,價碼還可以更高。Zerodium收購零日漏洞后再轉賣給少數幾個機構,主要是政府機構。
零日漏洞的平均價格自然沒那么高。統計各操作系統、暗網市場、付費服務和個體從業者漏洞利用平均價格的 RunSafe Pwn Index 得出結論:當前漏洞利用平均價格略高于1.5萬美元,并呈現不斷增長的趨勢。
民族國家和高端網絡罪犯可能已經在用AI模糊測試了。攻擊者總想省時省力地獲取最佳收益。而且,隨著IoT設備和聯網系統的普遍增殖,潛在攻擊界面也在持續擴大。
最終,攻擊者將能簡單地指定一個目標就可以自動挖掘該目標的零日漏洞利用了。
AI模糊測試無疑將成為網絡犯罪的巨大推力。AI模糊測試應會以服務的形式呈現,這是模糊測試的趨勢。能用AI進行模糊測試的時候,人工來測就不再有意義了。
這意味著我們將見證更多零日漏洞,但今年內應該還不會出現太多AI發現的漏洞利用?,F在還早了點兒,這項技術本身還相當年輕。
但應開始為此做好準備了,宜早不宜晚。任何供應商、開發人員、軟件公司都應對自己的產品進行模糊測試。這是確保不留明顯漏洞的最佳方式。
AI模糊測試實例尚少
盡管引發熱議,在用AI模糊測試的實例卻幾乎沒有。目前,沒引入AI的模糊測試更有效些。
Positive Technologies擁有大型安全研究中心,每年發現大約700個應用安全漏洞。傳統技術依然統治模糊測試領域,比如使用符號執行的模糊測試。不過,機器學習和其他新技術也為該領域吹入了一股新風。下一次大型安全會議上估計就會有人描述能顛覆行業的新東西了。
很難將網絡罪犯是否已經在用AI模糊測試,因為他們通常不會談論自己的手法。模糊測試就是模糊測試,模糊測試器背后的算法一般不會在漏洞被暴露時成為人們的話題中心。
由于AI提供了快速找出漏洞的可能性,能夠找出傳統方法沒檢測出的漏洞,AI模糊測試領域可能會出現一場軍備競賽。如果攻擊者提升其模糊測試技術,安全人員就必須跟進。