天天看點

22 支機器人戰隊比賽“收割”漏洞,國家隊這樣赢了……

9月21日上午9點,首屆國際機器人網絡安全大賽開始,22支機器人戰隊正式厮殺。

9月20日晚上7點,同期網絡安全峰會的演講者參加晚宴時,22支機器人戰隊的在會場緊急調試他們的機器人接口,進行賽前的最後一輪檢查。當時有位從業人員告訴雷鋒網(公衆号:雷鋒網)宅客頻道編輯,其實結局在調試完就已“命中注定”。

因為隻等比賽開始,一切程式自動化運作,再也沒人類什麼事了——除了和機器人戰隊一起參賽的少量遠端線上的人類戰隊,但是雷鋒網宅客頻道編輯從大賽承辦方之一永信至誠了解到,此次人類戰隊甚至不參與積分排名。

機器人背後的選手在開賽後也不能再進行任何調試,隻能旁觀。

幾乎可以說,這是一場純機器人的戰鬥,雖然背後閃耀的是人類智慧之光。

這不是世界上第一場機器人參與的網絡安全大賽。

2016年,美國國防部國防高等研究計劃署(DARPA)推出了第一場機器人CGC(Cyber GrandChallenge)漏洞自動攻防賽。在同年的DEF CON CTF比賽上,共有15支隊伍參賽,包括14支人類隊伍和CGC比賽冠軍機器人隊伍,他們在CGC平台上比賽查找漏洞的速度。

在這場較量中,機器人隊伍與國際頂尖CTF 人類戰隊一戰的結果不好也不壞——它沒拿到第一名,也沒拿到最後一名。

這意味着,一部分人可以吊打機器人,另一部分人被機器人吊打。

既然還能被吊打我就不開心,人家阿法狗在圍棋上可以打遍人類無敵手,在攻防領域,機器人能不能這樣?

▲潘柱廷(上),張凱(下)

永信至誠進階副總裁潘柱廷和CTO 張凱這樣介紹中國首屆機器人網路安全大賽誕生的部分原因:

第一,人工智能在網絡安全領域要想得到發展,需要在比圍棋更複雜的訓練環境,先讓機器人在這種環境裡自己battle,才能鍛造出最牛的機器人;

第二,既然wannacry 能自動化攻擊,機器人也要自動化地挖掘漏洞以及防禦,以彼之道,還之彼身。

第三,其實大家以前也搞自動化漏洞挖掘工具,安全圈都知道這件事,但是誰搞得好,這些工具到底行不行,得拉出來一起比拼才知道。

在 22 支戰隊中,不乏曾參與 2016 年那次機器人與人類戰隊混戰的著名國際戰隊。在參賽名單中,還有打慣 CTF 的好手,也有頂尖科研院校和安全公司的研究人員。

CGC 使用的是自建系統(某種程度上看,也可以被稱為改良版的 Linux 系統)——主辦方擔心标準的 Linux 系統一旦 0 day 被發現和利用,這場比賽還有什麼搞頭?

與 CGC 比賽不同的是,在此次“中國制造”的RHG(robot hacking game)平台上,這是第一場基于标準Linux二進制的自動化漏洞挖掘和防禦競賽。官方稱,目前網際網路上大多數業務系統運作于 Linux 作業系統之上,針對 Linux 系統二進制檔案的漏洞挖掘和防禦具有極佳的現實意義。

意思就是,既然比賽能這樣搞,以後自己真正挖漏洞時,完全沒問題。

不過,雷鋒網宅客頻道此前也報道過,對于複雜的邏輯漏洞等,還是要靠技藝高超的安全研究人員的,這也是為什麼此次針對的是二進制漏洞挖掘。

張凱認為,對大規模的漏洞挖掘,如人類與機器人水準比較接近的二進制漏洞挖掘上,機器人擁有無與倫比的資源優勢——它可以24小時不間斷工作,用大量計算量和硬體的擴充在同一時間完成更多漏洞挖掘,解決人類靠人力難以解決的問題。

在 RHG 上,機器人需要完成這些步驟:

第一,利用 fuzz  子產品,輸入錯誤的東西讓程式崩潰;

第二,利用漏洞挖掘引擎,找到可以挖掘的漏洞;

第三,根據漏洞點,生成可利用的 EXP;

第四,驗證該漏洞利用程式的破壞性。

他們是這樣給機器人打分的:把機器人在二進制的漏洞挖掘和利用過程中的攻擊成果劃分為程式崩潰、程式執行流程可控、指定記憶體的内容讀取、指定記憶體的内容寫入、有效防禦 5 個得分點,衡量機器人生成的攻擊流量的價值。

事實證明,文頭出現的那位從業人員是從哲學角度下的結論(約等于瞎扯)。

20日調試當晚,一支參賽隊伍沖進了前三。21日開賽後它表現尚可,下午時情況卻沒有像調試時那樣順利了。

該隊員對宅客頻道稱,正式比賽的題目難度比賽前調試的題目要大得多了。“跑得不太順利,還要看後面的情況。”他說。

此時已經是 21 日下午 1 點多,該隊伍的得分在四位數,而第一名得分是五位數,距離比賽結束還有一個半小時。但局勢瞬息萬變,城頭大王旗換了好幾撥。

下午 3 點,機器人大戰分出了勝負:國防科技大學電子科學學院 hatbit 戰隊以總分 78822 分奪得第一名,山東科技大學PSK 戰隊和北京郵電大學天樞戰隊奪得第二名和第三名。

不過,比賽相當戲劇化,最後奪冠的國防科技大學電子科學學院 halfbit 戰隊是從第六名慢慢爬上去的,相當穩健。而整個比賽最後的分數分成了三大梯隊:第一梯隊平均得分四萬分以上,第二梯隊幾千分,第三梯隊零分,甚至負分。

張凱稱,這取決于針對這場比賽的準備和積累。比如,奪冠的 halfbit 戰隊背後是6個博士、1名碩士和1個博導,他們利用的技術是之前兩年的研究成果。

但是,宅客頻道了解到,這次參賽的海外戰隊DCUA(烏克蘭戰隊)和俄羅斯LC↯BC戰隊的準備時間相當少,前者是兩個星期,後者也就一個星期。LC↯BC戰隊的一個小哥稱,對戰平台是中文的,難度很大,前天他們才急匆匆地找了一位翻譯……小哥表示:“沒事,我們也沒啥期待,這次可以為來年機器人大戰做鋪墊。”

比賽過程中,還發生了這麼幾件有趣的事情:

1.為什麼有些隊伍在防禦失誤那一項上扣分那麼多?因為機器人出了故障,胡亂地生成了針對所有10道題的防禦,結果,既起不到有效防禦,還影響系統的正常功能,扣分,眼睜睜地看着10道題扣下分來沒商量……

2.在比賽過程中,因為隻有漏洞利用,沒有修補程式,是以雖然趕在前面發現了漏洞的機器人就可以對沒有發現漏洞的機器人所在系統發起攻擊,但後者留過神分析了攻擊流量後,就會發起攻擊……大家一起扣分吧!

但是問題來了?為什麼有的戰隊扣分稍微少一點?因為人家防禦措施做得好,你攻擊他,攻擊成功得分,他防守成功,你的一次攻擊又幫助對手漲了一次分。

3.之前也提到,這次正式比賽現場機器人背後的選手很清閑,聽聽會唱唱歌就好,沒想到選手們開始跟張凱套瓷了:看見我扣分、不漲分很捉急,你們能不能改個規則?還有的選手直接把分數一輪一輪抄下來再寫一個自動化分析工具分析資料,看自家機器人的失誤在哪。

4.張凱稱,21日當天抽取的 10 道賽題并沒有之前選手說的比測試時難。那為什麼第一天做得好好的,第二天杯具了?張凱分析,很可能是有些選手在設計機器人系統時,沒有設計識别題目名字,以為題目都是從pwn 01 開始,萬萬沒想到,今天抽到的第一道題其實命名為 pwn 02。

“很多人問 AI 在網絡安全領域到底能做什麼?這次比賽中有一個初級例子供大家了解,一個大概兩百行代碼編譯出來的含溢出漏洞的二進制檔案,丢到機器人面前,機器在10秒左右的時間裡就能發現漏洞點,而生成exp僅用了6秒左右的時間。人類打開ida的平均時間是多少?作為安全從業十七年的安全人,我被驚到了。當然,人工智能的網絡安全應用路還很長,今天我們見證了日出光輝。” 永信至誠CEO 蔡晶晶在比賽結束後這樣感慨。

事實上,張凱稱,這次比賽的賽題難度沒有很高,他更願意把這場比賽看作一場表演:在公衆面前,将此前可能隻有網絡安全圈才了解的自動漏洞挖掘技術呈現出來,打開一扇窗,讓大家看到人工智能技術在網絡安全上是一種怎樣的狀态。

在潘柱廷一條激動的朋友圈裡,他說:希望今天的武漢,今天的賽場,不會成為時間穿越回來的惱怒的未來人的攻擊目标。

正如他們所說,路還遠,但窗子打開了,未來人類定義安全,但機器人會助一臂之力。

本文作者:李勤

繼續閱讀