0
本文作者: 李勤 | 2017-09-21 19:18 |
9月21日上午9點(diǎn),首屆國(guó)際機(jī)器人網(wǎng)絡(luò)安全大賽開始,22支機(jī)器人戰(zhàn)隊(duì)正式廝殺。
9月20日晚上7點(diǎn),同期網(wǎng)絡(luò)安全峰會(huì)的演講者參加晚宴時(shí),22支機(jī)器人戰(zhàn)隊(duì)的在會(huì)場(chǎng)緊急調(diào)試他們的機(jī)器人接口,進(jìn)行賽前的最后一輪檢查。當(dāng)時(shí)有位工作人員告訴雷鋒網(wǎng)宅客頻道編輯,其實(shí)結(jié)局在調(diào)試完就已“命中注定”。
因?yàn)橹坏缺荣愰_始,一切程序自動(dòng)化運(yùn)行,再也沒人類什么事了——除了和機(jī)器人戰(zhàn)隊(duì)一起參賽的少量遠(yuǎn)程在線的人類戰(zhàn)隊(duì),但是雷鋒網(wǎng)宅客頻道編輯從大賽承辦方之一永信至誠(chéng)了解到,此次人類戰(zhàn)隊(duì)甚至不參與積分排名。
機(jī)器人背后的選手在開賽后也不能再進(jìn)行任何調(diào)試,只能旁觀。
幾乎可以說,這是一場(chǎng)純機(jī)器人的戰(zhàn)斗,雖然背后閃耀的是人類智慧之光。
這不是世界上第一場(chǎng)機(jī)器人參與的網(wǎng)絡(luò)安全大賽。
2016年,美國(guó)國(guó)防部國(guó)防高等研究計(jì)劃署(DARPA)推出了第一場(chǎng)機(jī)器人CGC(Cyber GrandChallenge)漏洞自動(dòng)攻防賽。在同年的DEF CON CTF比賽上,共有15支隊(duì)伍參賽,包括14支人類隊(duì)伍和CGC比賽冠軍機(jī)器人隊(duì)伍,他們?cè)贑GC平臺(tái)上比賽查找漏洞的速度。
在這場(chǎng)較量中,機(jī)器人隊(duì)伍與國(guó)際頂尖CTF 人類戰(zhàn)隊(duì)一戰(zhàn)的結(jié)果不好也不壞——它沒拿到第一名,也沒拿到最后一名。
這意味著,一部分人可以吊打機(jī)器人,另一部分人被機(jī)器人吊打。
既然還能被吊打我就不開心,人家阿法狗在圍棋上可以打遍人類無敵手,在攻防領(lǐng)域,機(jī)器人能不能這樣?
▲潘柱廷(上),張凱(下)
永信至誠(chéng)高級(jí)副總裁潘柱廷和CTO 張凱這樣介紹中國(guó)首屆機(jī)器人網(wǎng)路安全大賽誕生的部分原因:
第一,人工智能在網(wǎng)絡(luò)安全領(lǐng)域要想得到發(fā)展,需要在比圍棋更復(fù)雜的訓(xùn)練環(huán)境,先讓機(jī)器人在這種環(huán)境里自己battle,才能鍛造出最牛的機(jī)器人;
第二,既然wannacry 能自動(dòng)化攻擊,機(jī)器人也要自動(dòng)化地挖掘漏洞以及防御,以彼之道,還之彼身。
第三,其實(shí)大家以前也搞自動(dòng)化漏洞挖掘工具,安全圈都知道這件事,但是誰搞得好,這些工具到底行不行,得拉出來一起比拼才知道。
在 22 支戰(zhàn)隊(duì)中,不乏曾參與 2016 年那次機(jī)器人與人類戰(zhàn)隊(duì)混戰(zhàn)的著名國(guó)際戰(zhàn)隊(duì)。在參賽名單中,還有打慣 CTF 的好手,也有頂尖科研院校和安全公司的研究人員。
CGC 使用的是自建系統(tǒng)(某種程度上看,也可以被稱為改良版的 Linux 系統(tǒng))——主辦方擔(dān)心標(biāo)準(zhǔn)的 Linux 系統(tǒng)一旦 0 day 被發(fā)現(xiàn)和利用,這場(chǎng)比賽還有什么搞頭?
與 CGC 比賽不同的是,在此次“中國(guó)制造”的RHG(robot hacking game)平臺(tái)上,這是第一場(chǎng)基于標(biāo)準(zhǔn)Linux二進(jìn)制的自動(dòng)化漏洞挖掘和防御競(jìng)賽。官方稱,當(dāng)前互聯(lián)網(wǎng)上大多數(shù)業(yè)務(wù)系統(tǒng)運(yùn)行于 Linux 操作系統(tǒng)之上,針對(duì) Linux 系統(tǒng)二進(jìn)制文件的漏洞挖掘和防御具有極佳的現(xiàn)實(shí)意義。
意思就是,既然比賽能這樣搞,以后自己真正挖漏洞時(shí),完全沒問題。
不過,雷鋒網(wǎng)宅客頻道此前也報(bào)道過,對(duì)于復(fù)雜的邏輯漏洞等,還是要靠技藝高超的安全研究人員的,這也是為什么此次針對(duì)的是二進(jìn)制漏洞挖掘。
張凱認(rèn)為,對(duì)大規(guī)模的漏洞挖掘,如人類與機(jī)器人水平比較接近的二進(jìn)制漏洞挖掘上,機(jī)器人擁有無與倫比的資源優(yōu)勢(shì)——它可以24小時(shí)不間斷工作,用大量計(jì)算量和硬件的擴(kuò)充在同一時(shí)間完成更多漏洞挖掘,解決人類靠人力難以解決的問題。
在 RHG 上,機(jī)器人需要完成這些步驟:
第一,利用 fuzz 模塊,輸入錯(cuò)誤的東西讓程序崩潰;
第二,利用漏洞挖掘引擎,找到可以挖掘的漏洞;
第三,根據(jù)漏洞點(diǎn),生成可利用的 EXP;
第四,驗(yàn)證該漏洞利用程序的破壞性。
他們是這樣給機(jī)器人打分的:把機(jī)器人在二進(jìn)制的漏洞挖掘和利用過程中的攻擊成果劃分為程序崩潰、程序執(zhí)行流程可控、指定內(nèi)存的內(nèi)容讀取、指定內(nèi)存的內(nèi)容寫入、有效防御 5 個(gè)得分點(diǎn),衡量機(jī)器人生成的攻擊流量的價(jià)值。
事實(shí)證明,文頭出現(xiàn)的那位工作人員是從哲學(xué)角度下的結(jié)論(約等于瞎扯)。
20日調(diào)試當(dāng)晚,一支參賽隊(duì)伍沖進(jìn)了前三。21日開賽后它表現(xiàn)尚可,下午時(shí)情況卻沒有像調(diào)試時(shí)那樣順利了。
該隊(duì)員對(duì)宅客頻道稱,正式比賽的題目難度比賽前調(diào)試的題目要大得多了?!芭艿貌惶樌?,還要看后面的情況?!彼f。
此時(shí)已經(jīng)是 21 日下午 1 點(diǎn)多,該隊(duì)伍的得分在四位數(shù),而第一名得分是五位數(shù),距離比賽結(jié)束還有一個(gè)半小時(shí)。但局勢(shì)瞬息萬變,城頭大王旗換了好幾撥。
下午 3 點(diǎn),機(jī)器人大戰(zhàn)分出了勝負(fù):國(guó)防科技大學(xué)電子科學(xué)學(xué)院 hatbit 戰(zhàn)隊(duì)以總分 78822 分奪得第一名,山東科技大學(xué)PSK 戰(zhàn)隊(duì)和北京郵電大學(xué)天樞戰(zhàn)隊(duì)奪得第二名和第三名。
不過,比賽相當(dāng)戲劇化,最后奪冠的國(guó)防科技大學(xué)電子科學(xué)學(xué)院 halfbit 戰(zhàn)隊(duì)是從第六名慢慢爬上去的,相當(dāng)穩(wěn)健。而整個(gè)比賽最后的分?jǐn)?shù)分成了三大梯隊(duì):第一梯隊(duì)平均得分四萬分以上,第二梯隊(duì)幾千分,第三梯隊(duì)零分,甚至負(fù)分。
張凱稱,這取決于針對(duì)這場(chǎng)比賽的準(zhǔn)備和積累。比如,奪冠的 halfbit 戰(zhàn)隊(duì)背后是6個(gè)博士、1名碩士和1個(gè)博導(dǎo),他們利用的技術(shù)是之前兩年的研究成果。
但是,宅客頻道了解到,這次參賽的海外戰(zhàn)隊(duì)DCUA(烏克蘭戰(zhàn)隊(duì))和俄羅斯LC?BC戰(zhàn)隊(duì)的準(zhǔn)備時(shí)間相當(dāng)少,前者是兩個(gè)星期,后者也就一個(gè)星期。LC?BC戰(zhàn)隊(duì)的一個(gè)小哥稱,對(duì)戰(zhàn)平臺(tái)是中文的,難度很大,前天他們才急匆匆地找了一位翻譯……小哥表示:“沒事,我們也沒啥期待,這次可以為來年機(jī)器人大戰(zhàn)做鋪墊?!?/p>
比賽過程中,還發(fā)生了這么幾件有趣的事情:
1.為什么有些隊(duì)伍在防御失誤那一項(xiàng)上扣分那么多?因?yàn)闄C(jī)器人出了故障,胡亂地生成了針對(duì)所有10道題的防御,結(jié)果,既起不到有效防御,還影響系統(tǒng)的正常功能,扣分,眼睜睜地看著10道題扣下分來沒商量……
2.在比賽過程中,因?yàn)橹挥新┒蠢?,沒有修補(bǔ)程序,所以雖然趕在前面發(fā)現(xiàn)了漏洞的機(jī)器人就可以對(duì)沒有發(fā)現(xiàn)漏洞的機(jī)器人所在系統(tǒng)發(fā)起攻擊,但后者留過神分析了攻擊流量后,就會(huì)發(fā)起攻擊……大家一起扣分吧!
但是問題來了?為什么有的戰(zhàn)隊(duì)扣分稍微少一點(diǎn)?因?yàn)槿思曳烙胧┳龅煤茫愎羲?,攻擊成功得分,他防守成功,你的一次攻擊又幫助?duì)手漲了一次分。
3.之前也提到,這次正式比賽現(xiàn)場(chǎng)機(jī)器人背后的選手很清閑,聽聽會(huì)唱唱歌就好,沒想到選手們開始跟張凱套瓷了:看見我扣分、不漲分很捉急,你們能不能改個(gè)規(guī)則?還有的選手直接把分?jǐn)?shù)一輪一輪抄下來再寫一個(gè)自動(dòng)化分析工具分析數(shù)據(jù),看自家機(jī)器人的失誤在哪。
4.張凱稱,21日當(dāng)天抽取的 10 道賽題并沒有之前選手說的比測(cè)試時(shí)難。那為什么第一天做得好好的,第二天杯具了?張凱分析,很可能是有些選手在設(shè)計(jì)機(jī)器人系統(tǒng)時(shí),沒有設(shè)計(jì)識(shí)別題目名字,以為題目都是從pwn 01 開始,萬萬沒想到,今天抽到的第一道題其實(shí)命名為 pwn 02。
“很多人問 AI 在網(wǎng)絡(luò)安全領(lǐng)域到底能做什么?這次比賽中有一個(gè)初級(jí)例子供大家了解,一個(gè)大概兩百行代碼編譯出來的含溢出漏洞的二進(jìn)制文件,丟到機(jī)器人面前,機(jī)器在10秒左右的時(shí)間里就能發(fā)現(xiàn)漏洞點(diǎn),而生成exp僅用了6秒左右的時(shí)間。人類打開ida的平均時(shí)間是多少?作為安全從業(yè)十七年的安全人,我被驚到了。當(dāng)然,人工智能的網(wǎng)絡(luò)安全應(yīng)用路還很長(zhǎng),今天我們見證了日出光輝?!?/p>
永信至誠(chéng)CEO 蔡晶晶在比賽結(jié)束后這樣感慨。
事實(shí)上,張凱稱,這次比賽的賽題難度沒有很高,他更愿意把這場(chǎng)比賽看作一場(chǎng)表演:在公眾面前,將此前可能只有網(wǎng)絡(luò)安全圈才了解的自動(dòng)漏洞挖掘技術(shù)呈現(xiàn)出來,打開一扇窗,讓大家看到人工智能技術(shù)在網(wǎng)絡(luò)安全上是一種怎樣的狀態(tài)。
在潘柱廷一條激動(dòng)的朋友圈里,他說:希望今天的武漢,今天的賽場(chǎng),不會(huì)成為時(shí)間穿越回來的惱怒的未來人的攻擊目標(biāo)。
正如他們所說,路還遠(yuǎn),但窗子打開了,未來人類定義安全,但機(jī)器人會(huì)助一臂之力。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。