網(wǎng)絡(luò)安全攻防人機大戰(zhàn)人工智能依舊不敵人類
參與CGC決賽的機器戰(zhàn)隊之一CodeJitsu的共同領(lǐng)隊張超博士在現(xiàn)場接受采訪
2016年8月5日,全球矚目的第24屆黑客攻防奪旗大賽Defcon CTF在美國拉斯維加斯開幕。此次最具亮點的,就是參與的15支隊伍中,有一支是機器人系統(tǒng)Mayhem,它與其他的14支人類組成的CTF團隊,在CGC(網(wǎng)絡(luò)超級挑戰(zhàn)賽,簡稱CGC)平臺上比拼查找漏洞、利用漏洞和修補漏洞的速度。
這次的Defcon比賽主題是:Rise of the Machines。CTF參賽的14支人類隊伍和機器人隊伍Mayhem必須一起在CGC的開發(fā)平臺上DECREE比賽找漏洞的速度。
在Defcon CTF首日比賽中,機器人Mayhem一直排名末位,到第二天,Mayhem雖然擊敗了兩支人類隊伍,但是排名仍然靠后,這一狀況一直持續(xù)到7日比賽結(jié)束。最終,人類團隊美國卡內(nèi)基梅隆大學(xué)的PPP戰(zhàn)隊、來自中國的藍蓮花團隊與上海交大0ops團隊聯(lián)合組成的b1o0ps戰(zhàn)隊,以及來自韓國的DEFKOR戰(zhàn)隊分列大賽前三名。
這次比賽對于安全領(lǐng)域的意義類似于1970年的首屆機器國際象棋比賽,雖然CGC的人工智能系統(tǒng)初期表現(xiàn)還沒有跡象能夠全面超越人類黑客的能力,但自動系統(tǒng)用于安全攻防實踐將加快到來,就像無人駕駛技術(shù)在美國國防部先進項目研究局(DARPA)舉辦了三屆超級挑戰(zhàn)賽之后,其技術(shù)成熟程度突飛猛進。
Mayhem是 在 由美國國防部先進項目研究局(DARPA)推出的 CGC(Cyber Grand Challenge)網(wǎng)絡(luò)超級挑戰(zhàn)賽(或自動化攻防比賽)中勝出的機器人系統(tǒng),由卡內(nèi)基美隆大學(xué)組成的新創(chuàng)團隊ForAllSecure設(shè)計。
CGC于2013年 發(fā)起,是一個全球性網(wǎng)絡(luò)安全競賽,目的在于提升利用人工智能進行網(wǎng)絡(luò)攻防的能力。當軟件和系統(tǒng)有越來越多的漏洞時,人工找尋和修補漏洞的能力遠遠落后于機器的速度,遇到計算機故障生成成百上千條崩潰報告時,這項工作就變得尤其艱巨,2003年的SQL slammer蠕蟲在短短10分鐘內(nèi)就感染7萬多臺電腦,要解決這樣的問題,需要靠計算機的自動化工具。因此,DARPA啟動了CGC計劃,希望研發(fā)出一套自動分析、挖掘和利用系統(tǒng)漏洞以及自動修補系統(tǒng)漏洞的CRS系統(tǒng)(Cyber Reasoning System,網(wǎng)絡(luò)決策推理系統(tǒng)),從而改進人工智能系統(tǒng)對漏洞的檢測與防御能力。也就是說,這是機器與機器之間的較量,是全球第一次利用機器人進行網(wǎng)絡(luò)攻防的比賽。
CGC比賽從2013年10月開始報名,經(jīng)過3場初賽,在2015年8月的Defcon中,宣布最終入圍的7個隊伍,包括:由加州伯克利大學(xué)Dawn Song教授帶領(lǐng)的CodeJitsu團隊所設(shè)計的Galactica機器人;由卡內(nèi)基美隆大學(xué)David Brumley教授創(chuàng)立的新創(chuàng)公司ForAllSecure設(shè)計的Mayhem機器人;由程序分析公司GrammaTech和維吉尼亞大學(xué)組隊的TECHx所設(shè)計的Xandra機器人;由愛德華大學(xué)計算機系的教授Jim Alves-Foss及其博士后研究員Jia Song組成的兩人團隊CSDS所設(shè)計的Jima機器人;美國國防公司Raytheon(雷神)組成的DeepRed設(shè)計出的Rubeus機器人;喬治亞大學(xué)學(xué)術(shù)理論分析人員和CTF選手組成的四人小組disekt所設(shè)計的Crspy機器人;以及加州大學(xué)圣塔芭芭拉分校的學(xué)生組成的Shellphish所設(shè)計的machaPhish等七隊機器人,其中Shellphish和卡內(nèi)基梅隆大學(xué)的隊伍是同時參與CGC比賽且入圍Defcon CTF比賽的隊伍。
圖1
2016年8月4日,CGC比賽的決賽正式在拉斯維加斯舉行,此次決賽主要是希望解決現(xiàn)實社會中難以解決的零時差(Zero Day)漏洞的問題,通過即時的自動化網(wǎng)絡(luò)防御系統(tǒng),可以通過系統(tǒng)自動化找出漏洞并且完成修補,真正做到降低這種零時差漏洞對系統(tǒng)和使用者帶來的損害。這次CGC的比賽,以內(nèi)存破壞類型的軟件漏洞為主,比如常見的緩沖區(qū)溢位(Buffer Over Flow)、Format String Error等。
所有的過程和步驟,都要求做到全程自動化,因此,現(xiàn)場只能看到7臺機器的無聲較量,95輪的比賽均由兩個解說員進行全程解說,7支研發(fā)機器人系統(tǒng)的團隊成員在一旁觀戰(zhàn)。
最終,由卡內(nèi)基美隆大學(xué)成員組成的新創(chuàng)公司ForAllSecure推出的Mayhem機器人(Bot)勝出,并獲得200萬美元的獎金。第二名為TECHx的Xandra機器人,獎金為100萬美元。第三名為Shellphish的Mechaphish機器人,獎金75萬美元。
值得一提的是,七支入圍決賽的機器戰(zhàn)隊中,有多名華人的面孔。如disekt的領(lǐng)隊喬治亞大學(xué)李康教授,CodeJitsu領(lǐng)隊為加州大學(xué)伯克利分校的宋曉東教授,以及共同領(lǐng)隊張超博士和戰(zhàn)隊成員清華大學(xué)楊坤,Shellphish戰(zhàn)隊的fish原是清華大學(xué)的王若愚等,并且他們大多與國內(nèi)著名CTF戰(zhàn)隊百度-藍蓮花有關(guān)。
這七個機器人系統(tǒng)可以使用相關(guān)的自動化和漏洞修補技術(shù)包括:動態(tài)分析(Dynamic Analysis)、靜態(tài)分析(Static Analysis)、符號執(zhí)行(Symbolic Execution)、約束求解、數(shù)據(jù)流跟蹤技術(shù)(Data Flow Tracking)以及模糊測試(Fuzz Testing)等,并和其他半自動化技術(shù)搭配,開發(fā)出一整套全自動的網(wǎng)絡(luò)決策推理系統(tǒng)(Cyber Reasoning System,CRS)。決賽中,各CRS系統(tǒng)需要針對所有待測試的各種漏洞,也包括曾經(jīng)對于全球網(wǎng)站造成極大沖擊的Heartbleed漏洞進行分析,不僅要自動推論出目標程序的漏洞所在位置,也必須要能觸發(fā)對手系統(tǒng)中的該漏洞以證明漏洞的存在,最后,則必須要自動化修補該漏洞,并防止其他隊伍的攻擊。
總決賽開始時,每個參賽的人工智能系統(tǒng)被置身于一個受控的封閉環(huán)境中。每個系統(tǒng)負責維護自己的所有服務(wù),使其可用性不受影響,同時發(fā)掘和修補服務(wù)中存在的漏洞,并且攻擊對手系統(tǒng)的服務(wù)中的漏洞。為了攻擊對手,這些參賽的系統(tǒng)需要分析所有服務(wù)中存在的漏洞。一旦發(fā)現(xiàn)漏洞,CRS系統(tǒng)需要進一步生成攻擊樣本攻擊對手系統(tǒng)。經(jīng)證實對手服務(wù)器確實存在報告的漏洞后就能得分。同理,如果自身的服務(wù)被對手系統(tǒng)攻擊成功將被扣分。因此,這些人工智能系統(tǒng)還必須同時對自身進行網(wǎng)絡(luò)防御,保護服務(wù)器不受對手的攻擊。
為了將網(wǎng)絡(luò)安全人工智能系統(tǒng)用于打擊惡意行為,此次大賽的成果以及參賽軟件以開源形式公開,開源軟件使得各種漏洞或漏洞利用程序更容易被網(wǎng)民發(fā)現(xiàn)和修復(fù)。并且,這種開放性也是為了防范對人工智能技術(shù)“惡意濫用”。
此次比賽的負責人Walker未對人工智能系統(tǒng)可能帶來的網(wǎng)絡(luò)安全益處進行預(yù)測,但他指出,商業(yè)軟件的各種網(wǎng)絡(luò)安全進步同樣也將給美國軍事帶來益處,因為后者一般依賴于這種現(xiàn)成的成果。
決賽階段從2015年7月末開始,七支通過預(yù)賽進入決賽的隊伍均獲得DARPA的獎金和計算資源資助。挑戰(zhàn)的內(nèi)容是:在更貼近實際網(wǎng)絡(luò)攻防的對戰(zhàn)環(huán)境中,自動化地挖掘漏洞并生成利用程序(exploit)攻擊其他隊伍,同時自動化地防護自己隊伍的程序,包括系統(tǒng)和網(wǎng)絡(luò)層面防護。
DARPA官方為每個參賽隊伍提供的計算資源總價值達60萬美元:每個獨立的HPC包含64個節(jié)點,每個節(jié)點包括20 Xeon cores、256GB of RAM、2TB of storage,總計:1280 Xeon cores,16384GB of RAM,以及128TB的存儲。
據(jù)了解,DARPA為CGC項目共投入5500萬美元,除上述各隊伍的HPC服務(wù)器之外,還包括預(yù)賽階段各隊伍資助金額825萬美元,決賽資助金額525萬美元,決賽獎金375萬美元,以及其他平臺和賽題開發(fā)費用、項目管理費用等。
(本文匯編自天極網(wǎng)、人工智能快報、安全牛等編譯及原創(chuàng)文章,CodeJitsu隊伍的共同領(lǐng)隊張超博士亦對本文有貢獻。)