由美國國防部國防高等研究計畫署(DARPA)推出的CGC(Cyber Grand Challenge)漏洞自動攻防比賽,由美國七個團隊設計出七套CRS(Cyber Reasoning System,網路決策推理系統)競技的結果,在美國8月4日比賽出爐,由卡內基美隆大學成員組成的新創公司AllForSecure推出的Mayhem機器人(Bot),不僅是CGC初賽的冠軍,更在全球第一次的機器人漏洞修補的決賽中奪冠,並獲得200萬美元的獎金。其餘第二名為TECHx的Xandra機器人,第三名原本8月4日宣布是由Shellphish的Mechaphish機器人獲得,但8月5日主辦單位則宣布,第三名的成績需要重新複驗,因此第三名目前尚未能正式確認。
而Mayhem也在DEF CON CTF舉辦團隊正式邀請下,成為8月5日~7日舉辦的第24屆DEF CON CTF比賽中,最後一位、也是第十五名的參賽者,將和其他全球14隊人類CTF團隊較勁。
這次的DEF CON比賽主題是:Rise of the Machines,代表臺灣參賽的HITCON CTF戰隊領隊李倫銓表示,CTF參賽的14個人類隊伍和機器人隊伍Mayhem,都必須一起在CGC的開發平臺上DECREE比賽找漏洞的速度,HITCON有機會和機器人冠軍一起在CTF比賽一爭高下,更是臺灣隊伍見證人類決戰機器人的歷史性時刻。
在DEF CON CTF第一天的比賽中,機器人冠軍Mayhem一直未能突破排名末位的窘境,反倒是去年DEF CON CTF冠軍DEFKOR首先取得First Blood(第一滴血)突破零分,臺灣隊伍HITCON表現也漸入佳境,第一天比賽結束排名第三名,僅次於韓國隊DEFKOR和美國隊PPP。
漏洞出現速度超過人類能力所及,只能仰賴自動化工具才能解決
由美國國防部DARPA推出的這個CGC挑戰賽,其實是為了解決當軟體和系統有越來越多的漏洞時,原本透過人類找尋相關漏洞的速度,根本追不上軟體和系統漏洞出現的速度,更遑論是漏洞修補的速度。
李倫銓便說,像是在2003年曾經出現的微軟SQL漏洞:SQL slammer蠕蟲,在短短10分鐘內就感染7萬多臺電腦,這樣的感染速度,人類根本沒辦法追上,唯有依賴電腦的自動化工具,才有可以遏止。因此,DARPA希望,透過這樣的CGC計畫,可以研發出一套自動分析,找出系統漏洞、過濾各種攻擊程式,並且自動產生防禦機制以及自動修補系統漏洞的CRS系統。而這套系統的出現,將對人類追求軟體和系統的安全,帶來極大的進步和發展。
因為,現在各種常用的作業系統中,在經過多年的發展下,都已經有相對完善的軟體安全機制,像是在記憶體中檢查以防止惡意程式執行的DEP(Data Execution Prevention,防止資料執行)技術、防止惡意程式對已知位址攻擊的ASLR(隨機分配位址空間)技術等。
使用簡化過的作業系統DECREE,進行自動化漏洞攻防研究
所以,這次CGC的比賽中,是使用一套由DARPA簡化過的、專門做電腦安全研究的開源DECREE系統(DARPA Experimental Cybersecurity Research Evaluation Environment)。李倫銓指出,DECREE具有單純性(Simplicity)、可重現性(High Determinism)和限制性(Incompatibility)等特色,以單純性為例,DECREE僅有7個系統呼叫,簡單的系統可以讓電腦自動分析漏洞,並使用修改過ELF作為自己的檔案格式,並限制只有單一入口點以降低分析的難度。
再者,他說,DARPA也透過調整DECREE的作業系統核心(Kernel),讓這個作業系統可以記錄完整的程式執行流程,可以重現問題或狀況,改善現在的作業系統,因為太多包括時間、亂數等不確定因素,而無法順利的分析漏洞。
第三點,李倫銓指出,為了讓研究可以聚焦,DECREE使用自己的檔案格式,並不相容於主流作業系統的程式碼和通訊協定,也讓DECREE上面的程式漏洞沒辦法用於真實世界,而真實世界的漏洞也沒辦法用在DRCREE作業系統中。
七隊CGC參賽隊伍,不乏CTF比賽常客隊伍
整個CGC的比賽從2013年10月正式展開,期間經過3場初賽後,在2015年8月的DEF CON中,宣布最終入圍的7個隊伍,包括:由加州柏克萊大學組成的CodeJits所設計的Galactica機器人;由卡內基美隆大學David Brumley教授創立的新創公司ForAllSecure設計的Mayhem機器人;由程式分析公司GrammaTech和維吉尼亞大學組隊的TECHx所設計的Xandra機器人;由愛德華大學資工系的教授Jim Alves-Foss及其博士後研究員Jia Song組成的兩人團隊CSDS所設計的Jima機器人;美國國防公司Raytheon(雷神)組成的DeepRed設計出的Rebeus機器人;喬治亞大學學術理論分析人員和CTF選手組成的四人小組disekt所設計的Crspy機器人;以及加州大學聖塔芭芭拉分校的學生組成的Shellphish所設計的machaPhish等七隊機器人,其中,像是Shellphish則是同時參與CGC比賽,且入圍DEF CON CTF比賽的隊伍。
這次的CGC比賽,主要是希望解決現實社會中難以解決的零時差(Zero Day)漏洞的問題,透過即時的自動化網路防禦系統,可以透過系統自動化找出漏洞並且完成修補,真正做到降低這種零時差漏洞對系統和使用者帶來的損害。因此,HITCON副領隊陳仲寬表示,這次CGC的比賽,主要是以記憶體操作錯誤的軟體漏洞為主,像是常見的緩衝區溢位(Buffer Over Flow)、Format String Error等。
七隊CGC參賽隊伍,可以使用相關的自動化和漏洞修補技術包括:動態分析(Dynamic Analysis)、靜態分析(Static Analysis)、符號化執行(Symbolic Execution)、Constraint Solving、資訊流追蹤技術(Data Flow Tracking)以及自動化測試(Fuzz Testing)等,並和其他半自動化技術搭配,開發出一整套全自動的網路決策推理系統(Cyber Reasoning System,CRS)。陳仲寬指出,CGC參賽隊伍也將針對所有待測試的各種漏洞,包括曾經對於全球網站造成極大衝擊的Heartbleed漏進行分析,不僅要自動推論出漏洞的所在位置,也必須要能觸發該漏洞以證明漏洞的存在,最後,則必須要可以自動化產生修補該漏洞的程式,「所有的過程和步驟,都必須要做到全程自動化,才符合CGC比賽的規定。」他說。
李倫銓表示,這次DEF CON CTF比賽,加入了機器人團隊,不僅是拚技術,也要拚速度,「不然一旦這場人類對電腦之戰輸了,將證明了電腦又快又穩,人類就只能被電腦慢慢取代了。」他說。
CGC專案經理 Mike Walker在2015年DEF CON活動中,除了宣布入圍CGC決賽的七隊參賽隊伍外,也宣布CGC比賽冠軍,將加入DEF CON CTF比賽,和其他14隊CTF隊伍一起較勁。照片來源:黃彥棻攝
為了讓更多人了解CGC比賽的過程,主辦單位DARPA也透過視覺化的設計,讓更多人可以即時了解攻防狀況。照片來源:DARPA提供
曾經影響百萬臺網站伺服器安全的Heartbleed漏洞,也成為此次CGC比賽的待測漏洞之一。照片來源:DARPA
這次的CGC比賽中,主辦單位還安排了主播現場播放比賽實況。照片來源:DARPA提供
CGC比賽由卡內基美隆大學組成的新創團隊AllForSecure設計的Mayhem機器人,得到冠軍並贏得200萬美元獎金。照片來源:HTCON CTF領隊李倫銓提供
代表臺灣參加DEF CON CTF的HITCON戰隊,在8月5日也正面迎擊來自全球其他13個CTF戰隊以及機器人Mayhem的挑戰。照片來源:HITCON CTF領隊李倫銓