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