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