美國國防部國防高等計畫研究署(DARPA)推出的漏洞自動攻防比賽CGC(Cyber Grand Challenge)專案中,最終有七隊隊伍參與這樣的競賽,其中,最後獲得第三名的隊伍,就是美國加州大學聖塔芭芭拉分校組成的Shellphish設計的機器人Mechanical Phish,不僅是DEF CON CTF經常入圍決賽的強隊,更是此次同時參加CGC和人類CTF比賽的隊伍。
iThome專訪Shellphish其中一名成員Antonio Bianchi時,他表示,機器的確可以在簡單的漏洞上發揮優勢,但面對比較複雜的漏洞分析時,至少在未來五年內,人類仍必須和機器人協同合作,才能發揮最強的漏洞分析效果。而專長軟體品質分析的交通大學資工系教授黃世昆則指出,未來駭客就可能會是24小時不休息的機器人網軍大隊時,設計軟體一旦不重視品質,包括軟體產業和資安產業就會變成名符其實的慘業。
機器無法取代人類的直覺,協同合作可以發揮最大效益
DARPA除了舉辦CGC比賽外,之前也曾經舉辦過許多有趣的大挑戰(Grand Challenge),像是Robotics(機器人)、Autonomous Vehicles(自動駕駛)等等,而網路安全(Cyber Security)也只是其中之一。黃世昆表示,這些比賽的共通點就是機器人自動化,不過,這些比賽目前都會簡化環境來適應機器人的侷限性,是否可以成為主流,仍需要觀察。
而Antonio Bianchi表示,雖然不知道下一次由國防部舉辦的CGC大賽,會在什麼時候再舉辦第二屆,但可以肯定的是,至少在未來一年,自動化的Binary攻擊(Exploitation)和防禦(Defense)領域,一定會有長足的進步。
他也指出,其實目前已經有很多自動化工具,已經普遍使用在CTF的比賽以及用來挖掘真實世界的漏洞上,例如,可以自動化(Fuzzing Tools)挖掘弱點的工具AFL,便已經有許多成功的應用案例。
但是,Antonio Bianchi認為,要真正做到全自動化(Full Automation)而沒有任何人力的介入與干涉,至少在未來的一段時間內,也只有在某一些設計過的環境下,例如CGC這樣的比賽中,才做得到。畢竟,真實世界面臨的環境是更為複雜的,人類的理性、經驗、直覺等等,仍無法完全被一臺「機器」取代。
黃世昆坦言,機器人的優點就是:沒有情緒干擾問題、體力限制,並具有強大的運算能力,擅長解答天然、無意留下的 漏洞(Bug);相對於人類,就可能受限於情緒、體力限制,但優勢則是具有抽象思考的能力,可以解超級抽象化的問題。他舉例,最明顯的例子就是,愛因斯坦的 E=mc^2相對論或者是費馬最後定理等,機器人都不可能與人競爭。
另外,「還有環境的複雜性,也是機器人的罩門,」黃世昆表示,如同Robotics只能在限制的環境下通過障礙、爬樓梯,這是的CGC比賽, 也只能在簡化的環境中,設計機器人與人類對戰,「未來的互動,還是人類簡化環境、問題具體化後、再丟給機器人解決。」他說。
某些白帽駭客的觀察也和黃世昆雷同,從這次CGC的比賽結果來看,機器人擅長快速且固定的掃描模式,可以找出淺層的漏洞;但人類的優勢,則擅長在不規則的狀況中,找出漏洞的存在。
當CGC比賽一開始,設計的結果就決定比賽的結果
Antonio Bianchi分享他們CGC比賽的過程中就提到,面對CGC的比賽時,Shellphish要做的事情就是,設計一套完全自動化而且可以自己獨立運作的系統(Autonomous System),「當比賽正式開始時,Shellphish就什麼也無法改變了。」他坦言。
他進一步解釋,在開始比賽後,就算機器人出現了一個非常小、非常小的漏洞,因為無法立即做漏洞修正,這樣的小漏洞就可能會徹底摧毀整套機器人系統的運作。所以,他說:「Shellphish為了打造具有高可靠度的機器人系統,不僅需要設計讓系統很有彈性,也必須經過很多自動化和人工的測試機制。」
反觀一般的CTF比賽時,參賽選手並不需要擔心上述這些問題,Antonio Bianchi說:「即使比賽已經正式展開,但是,參賽選手仍然可以隨時隨地修補任何的系統漏洞,也可以隨時調整比賽策略,一切都非常有彈性。」
不過,可以確定的是,機器人在某一些特定的情境下,表現確實比人類優異。Antonio Bianchi表示,像是在比賽的過程中,有些相對簡單的漏洞,機器人自動搜尋的速度遠遠快過人類搜尋的速度;反觀一些比較複雜的漏洞,至少從現在開始,在未來五年內,機器在進行這類的漏洞分析時,還是需要仰賴人類的協助。「在未來,最有趣的研究應該是,在分析漏洞時,人類和機器應該如何做到協同合作。」他說。
其他白帽駭客的觀察也同意,要能夠發揮機器人的長處,就必須將繁複、重複性高的工作交給機器人負責,人類就可以專注在複雜但具有創造性的項目。黃世昆則認為,像是CGC這樣的比賽,可以將機器人推向具有更強大符號化的抽象思考能力,可以推衍出更能適應環境和化解環境因素的機器學習技術,他說:「這就是一種人類的進步。」
另外也有白帽駭客觀察表示,這場CGC比賽,其實是集結資安過去十多年來的研究所產生的一項成果,當這種自動化的攻防技術已經成熟到一定程度時,如何善用機器人的力量,來進行更大規模的自動化分析,並且讓人類可以專注在更特殊的狀況時,是我們應該要學習的方向。
第三名Mechanical Phish的優勢在於:可自動化產生複雜攻擊程式
加州大學聖塔芭芭拉分校組成的Shellphish團隊,一直是一個研究型的團隊,Antonio Bianchi表示,即便在去年八月宣布,正式入圍CGC最後七個參賽隊伍,在這個過程中,Shellphish依舊沒有偏廢其他的研究項目,甚至於,他們對於開源釋出的Binary分析工具Angr,在這段時間內,還新增了不少功能。但他認為,這一切的努力和付出並沒有白費,因為,最終的研究成果,都有更實質回饋到為了CGC比賽所設計的CRS(Cbyer Reasoning System,網路決策推理系統)機器人系統:Mechanical Phish上,改進了不同的漏洞也讓系統更具有彈性和可靠性。
Antonio Bianchi表示,越接近比賽時,Shellphish團隊成員們,更是日以繼夜、焚膏繼晷地,不敢鬆懈手邊的研究,甚至到最後距離正式比賽前的三個月,一天工作13小時都是基本款,完全沒有任何休假日可言;還有更多團隊成員到後來,甚至直接睡在研究室裡,以研究室為家更是最佳寫照。這種百分之兩百投入的成果,也讓Mechanical Phish最終獲得CGC比賽第三名,Antonio Bianchi說,「他們甚至沒有想到可以獲得這麼棒的成績。」
得到第三名雖然很值得開心,但是,Antonio Bianchi表示,團隊還是需要進一步分析在CGC比賽過程中所有的數據,才能夠進一步強化整個機器人自動化漏洞挖掘、分析和修補的能力。
但他認為,Mechanical Phish最大的優勢其實來自於,可以自動化產生非常複雜的攻擊程式(Exploits),DARPA也對Shellphish的表現印象深刻。像是自動化分析時,CRS系統面臨的困境之一就是,需要分析的漏洞會呈現等比級數的成長,最後會成長到CRS系統無法繼續分析下去。
例如,當程式有分支判斷(Y/N)時,分析系統就會有兩種選擇;繼續分析下去,當遇到另外一個分支需要判斷時,這時候CRS需要分析的路徑就有2x2種。但是,如果駭客故意用程式的迴圈弄個100次,CRS系統看起來雖然只需要分析小小的兩行程式,但靜態分析卻要進行2的100次方次數的路徑分析。
這次,DARPA把這個發生在真實郵件伺服器系統中的Crackaddr漏洞,移植到CGC平臺上,普遍認為對於自動分析系統是一個不好分析的漏洞,「而Shellphish則是七隊中,唯一在決賽中,攻破這個最難挑戰漏洞的隊伍。」Antonio Bianchi說。
此外,根據一些白帽駭客的觀察,七隊上場比賽的CRS系統,都是一套全自動化的系統,除了在比賽過程中,系統必須能穩定運作外,也必須同時處理數千個程式分析的任務,並且即時處理進入系統的封包。因此,白帽駭客觀察指出,這些參賽團隊要開發出這樣穩定運作又能即時分析的CRS系統,不僅需要駭客攻防的技能,更需要基礎扎實的系統軟體開發能力,以及先進的程式分析技術能力,才能達成。這次包括卡內基美隆、柏克萊大學,甚至是加州大學聖塔芭芭拉分校等,都是長久具有程式分析能量的學校。
也因為CGC這樣的比賽是無法單打獨鬥、需要團隊合作,Antonio Bianchi認為,如果不是整個Shellphish團隊都全心全意的投入這樣的研究成果,才能讓Mechanical Phish日增完美,最終才能拿到第三名的好成績,「如果沒有團隊成員的付出,沒有指導教授的鼓勵,甚至是沒有DARPA舉辦這樣的競賽,這一切都不可能成真。」他說。
上週(8/7~8/13)重要資安事件回顧:
※研究人員展示以40美元打造的監控設備打開車門,約1億輛福斯汽車曝險
※微軟例行更新修補32個漏洞,含PDF Library等5個重大漏洞
※Gartner:2016全球資安市場將成長7.9%,達816億美元
※資安業者揭露新網路間諜組織Strider,鎖定俄國、中國、瑞典及比利時竊取資料
※達美航空資料中心停電,全球數百航班停飛,凸顯災難備援重要性
※Check Point:高通驅動程式漏洞累及9億臺Android裝置
※安全專家展示攔截Samsung Pay交易代碼進行遠端信用卡盜刷