每日最新頭條.有趣資訊

神仙黑客打架,遭遇機器人吐血突襲,發生了什麽?

說起世界頂級黑客大賽DEF CON,可能是連網咖老闆都知道的“神仙大戰”(這裡先埋下一個梗,網咖老闆不要不服氣)。

長期關注宅客頻道的宅友應該知道,黑客戰隊要到DEF CON 一決高下,必須拿到一張金燦燦的入場券。今年,在中國的大地上,又多了這麽一張讓人爭得頭破血流的入場券——百度安全舉辦的 BCTF 正式成為 DEF CON 的外卡賽,冠軍就可以走上 DEF CON 的花路。

就是這樣驚險刺激的神仙打架,今年居然加入了“機機大戰”“人機混打”的元素,而且在緊要關頭,神秘機器人戰隊居然突襲了人類戰隊一把,而且第一次在真實的作業系統環境中解決了一個世界性難題!

這是什麽操作?我們從 2017 年說起。

人機混戰現驚天逆轉

2016 年,在 DEF CON 上,美國國防部資助了第一場自動漏洞挖掘大賽“CGC”。

美國軍方為這個大賽傾注了相當多的財力——上億元的經費支持,專門打造一個 DECREE 的簡化版作業系統,選手有強大的伺服器來承載訓練集和智能機器人。

美國老大哥都有,中國怎麽可能沒有。

說乾就乾。

2017年,我國也誕生了第一個人工智能網絡安全賽“RHG(Robo Hacking Game)”,但是這個大賽不是由政府大大支持的,而是由一個名叫永信至誠的民間安全公司打造。這個安全公司非常有家國情懷,他們的目標是:舉辦這個大賽是為了在未來網絡安全技術競爭中,為國家提供戰略技術和人才儲備,推動中國的 AI 技術在網絡安全領域的發展 。

那一年,這場大賽在武漢舉辦,宅客頻道編輯也到場採訪過,發現除了伺服器,什麽都沒有啊!人類都在底下嗑瓜子是怎麽回事?

對接人傲客也很尷尬:我們也很無奈啊,這些 AI 戰隊都是自己做好了程序,程序跑起來就可以了啊,科科,你們要觀摩戰勢,只能看大螢幕。

完全沒有什麽硬核機器壯漢互相毆打的場面!摔!

雖然場景不刺激,但是這個比賽每年搞一次,進步很大,到了今年,通過 BCTF-RHG 系列賽事的運作,RHG 比賽已經有了除自動化漏洞挖掘及利用以外的新的方向——自動化場景對抗,也就是說,機器人除了能吭哧吭哧比賽挖漏洞,還到了壯漢互搏的階段——雖然還是在程序中。

我們看看是怎麽個玩法:

RHG-漏洞挖掘和 RHG-場景對抗兩個賽場同時開賽。通過預選賽選拔出來的5支(X2組,共計10支)機器人隊伍在 DEF CON 1.0 的賽場上角逐勝負。同時,兩個賽場前兩名的機器人團隊都有資格進入BCTF百度網絡安全技術對抗賽中,和國際最頂尖的CTF戰隊一起爭奪2019DEF CON CTF總決賽的入圍資格。

同時,在 BCTF 百度網絡安全技術對抗賽中,為了保證公平性(也不知道是怕誰吊打誰),主辦方為機器人設計了更合理的參與方式——以限時彩蛋的方式參與到比賽中來,有一個相對公平的能力展示機會,這些彩蛋題,機器人可以做,人類也可以做,看誰厲害。

說白了,先機機大戰,再人機大戰。

然後,在混戰中,出現了戲劇性的一幕——

國防科技大學的自動化漏洞挖掘及利用的技術小組 HALFBIT 戰隊,經過了三個多月的籌備,以及連續五天的通宵作戰,成功展示了真實作業系統環境中對堆溢出漏洞的自動發現及利用。

這是世界上宣稱自己可以通過自動化解決堆溢出問題的團隊中第一次在公開、公平的真實競賽環境中展示出來,甚至比同場競技的人類戰隊率先解出了對人類來講尚有難度的兩道堆溢出類型的二進製漏洞挖掘及利用問題。

在宅客頻道看來,這個事情的爆炸程度,不亞於波士頓動力的機器人首次展示後空翻,給了人們無限的想象空間。

戲劇性開賽

編輯先告訴了你這個喜慶的結局,但是這個過程號稱狗血反轉。

幾天前,國防科技大學派出了一支由一個博士生和幾個碩士生組成的戰隊 HALFBIT ,在這支戰隊出發前,博導對博士薑植元語重心長地說:“小薑,不成功便成仁,你的目標不是拿下外卡賽的門票,而是在這個國際黑客大賽上解決堆溢出的問題。”

“堆溢出”是什麽鬼?為什麽這麽難?

科普一下,堆記憶體漏洞是目前數量最多、利用難度最大的記憶體破壞漏洞。不同於棧溢出等古老的漏洞利用,堆記憶體漏洞的利用往往需要進行多次精準的記憶體分配、釋放、寫入等操作,其利用難度更大、利用過程更加複雜。

按照以往 RHG 的情況,各個機器人戰隊在棧溢出上已經取得了很多成果,但是堆記憶體漏洞是對人類選手來說都比較難的漏洞。

比如,棧由作業系統自動分配釋放,有非常清晰的規則。而堆由程序的開發者通過代碼向作業系統申請分配和釋放。一般情況下,每個進程擁有的棧的大小遠遠小於堆的大小,因此去分析堆比分析棧要複雜很多。對於棧漏洞的利用,只要找到漏洞在哪裡,可以一步完成,但你要完成一個堆漏洞的利用,不能一步到位。

“假如我要從這兒下樓,棧可以直接坐電梯下去,堆不允許,因為是動態的,需要進行記憶體的自動布局,沒有一個電梯直接給你走,類似於超級瑪利歐那種,隨機出現了一些跳板,一旦出現,你就趕快跳上去,然後再跳,多跳,而且每次跳板出現的位置都不一樣。”薑植元說。

總之,這種類型的漏洞,人能打,機器人不能打。

2018年,國際上開始有有一兩篇論文稱自己能夠做堆的自動利用。

原本在棧溢出上研究的 HALFBIT 發現,原來之前號稱不可能自動利用的堆溢出真的可以實現。於是,他們開始從 2018 年下旬正式進行堆的自動利用算法設計。

彼時,國內也有研究團隊也刊發了相關論文,邁出了屬於中國人的第一步。

HALFBIT 的目的則在於,要在競賽環境以及真實的 Linux 環境中首次展現出對堆的自動利用。

BCTF 今年正式成為 DEF CON 的外卡賽,賽製中還有與國際頂尖強隊互博的機會,這無疑是推進 HALFBIT 研究進展的一個重要練兵場。

帶著隻許成功,不許失敗的任務,HALFBIT 雄心勃勃(緊張)地到了北京。

通宵調試了 5 天后,HALFBIT 感覺勝券在握。

5 月 31 日上午,屬於機器人戰隊拚殺的 3 個小時開始了。

HALFBIT 的策略是,伺服器計算資源有限,為了讓資源做堆題,隻做20分鐘棧題,因為在這場機器人戰隊決鬥中,前10分鐘就能決定賽局。

“5 月 31 號上午是專項賽,只有前兩名才能進入外卡賽。如果堆沒有打出來,棧又不做,我們進不了外卡賽,所以我們要保底。先保證能進外卡賽,還有一次機會再打,所以當時我們只花 20 分鐘做棧,剩下 2 小時 40 分鐘做堆。我們棧打的特別好,開機 6 分鐘,我們打出來了 5 道題,一直打到最後。”

打到第 20 分鐘時,第一名的戰隊奪下了 1500 分,HALFBIT 拿下了1100分,差了 400 分。當時 HALFBIT 很高興,按照賽製,堆題比較難,一題是 600 分,但是通過賽前調研,只有 HALFBIT 可能做出堆題。

也就是說,HALFBIT 除了能穩進外卡賽,還有兩個多小時可以打堆的題了。

發了一會表情包後,情勢急轉直下。

隊員們發現,跟預想的不一樣,機器人一道堆的題都沒做出來。

5 月 31 日 12 點,比賽結束,極度疲勞與失落的薑植元心態崩了,想到了退賽:上午機器人都打不過,你還指望著明天能打過人嗎?

傲客勸了一把,還是讓機器人上場吧。

機器人上場可以,儘管這場外卡賽接受人機配合混打,HALFBIT 只能接受由機器人自己完成堆的挑戰,於是 HALFBIT 的人類隊員沒有坐在比賽台上。

薑植元躺在了酒店的床上,卻怎麽也睡不著,等待著複盤結果。

“怎麽會做不出來?我寫的代碼肯定是沒有問題的,調試了5天都沒有問題,哪裡出錯了?”薑植元不服氣,找主辦方要來了上午的賽題,決定讓他們的“外星人”伺服器再跑一遍。

到了下午 4 點多,HALFBIT 的碩士小哥哥打電話給薑:“薑哥,我們蒙受了冤屈,這個東西我們能做出來。

薑植元看了眼結果,機器人在 49 分鐘內做出了兩道堆的題,他一下從床上坐了起來。

他們立馬把結果反饋給了傲客,同時發現自家的機器人在賽場表現還是不佳,幾乎出於空跑狀態。

“下午連個棧都跑不起來,說明機器的接口有問題。正好傲客打電話給我,說明天還有外卡賽,還有堆的題,要不要來參加一下。我這一想,原來我能做堆,正好明天有堆,我說一定要參加。我跟傲客說,現在有一個問題,我的本機能跑,連上你的伺服器就跑不了。我申請,能不能用我的機器跑。如果用我自己的機器跑,就不存在接口問題了。”薑問。

裁判組同意了,其他機器人戰隊也表示同意,但公平起見,如果 HALFBIT 要用自己的伺服器跑,得分不計分。

背水一戰

HALFBIT 決定背水一戰。

6 月 1 日上午,烏克蘭和俄羅斯的人類戰隊打出了第一道堆的題,大概用時 10 分鐘左右,HALFBIT 的機器人用時 47 分鐘。根據比賽規則,只要一個戰隊拿到一血(第一個做出該題),其他戰隊就算也做出了這道題,不得分、不通告,因此,在外國黑客選手拿到堆題的一血後,雖然 HALFBIT 的機器人全自動做出了同一道題,別的戰隊都不知道,全場沒有一點動靜。

HALFBIT 的隊員們卻激動不已,只有他們知道這意味著什麽。

驚天大逆轉發生在隨後。

其他戰隊繼續做著題,突然發現一道堆的題目下線了,但是現場並沒有顯示誰得分。國外戰隊立刻到裁判處投訴,說沒有人得分,怎麽這個題就下線了?裁判說,有隊伍得分了。

彼時,16 個戰隊進入決賽,4 個機器人戰隊得分全為 0 分,大家都沒有注意到積分榜上還有一支 HALFBIT 靜悄悄地躺在倒數第二的位置,懷抱著一個零蛋。

“由於 HALFBIT 使用自己的伺服器,得分但不計分,所以積分榜沒有顯示。”裁判緩緩吐出這句話。

這也許是一場最讓人激動的不計分戰役。

彩蛋

薑植元自述:網咖老闆和鍵盤的故事

因為我們對這個比賽很重視,我們在 5 月 27 日就抵達北京。以前由老隊長(張斌)帶隊,我第一次帶著新隊員出來,都是新人,沒有經驗,光帶了一個伺服器和自己的電腦,忘了帶顯示器和鍵盤。來到這兒,為了調試機器,我們就去網咖那兒租。

老闆給我們講原則,我們說,那我給你錢,100 塊錢租半小時,很劃算吧?老闆說不行,我們網咖是正規網咖,有管理規定,不能隨便亂借。

我們最後跑到移動營業廳收款阿姨的地方,給了 50 塊錢,租了一個上面全是頭油、頭髮、頭皮屑的鍵盤,還有一個很小的顯示器,這是第一個戲劇性的夜晚。

5 月 31 日,我們比賽打輸了,差點解散戰隊。後來決定 6 月 1 號重新打,那天晚上,我們又沒有顯示器和鍵盤,因為我們已經把鍵盤還回去了,我們只好去租,結果營業廳 5 點半下班。

我們只好跑到網咖求那個之前不肯租鍵盤給我們的老闆,結果發生了戲劇性一幕。因為我們剛剛打完比賽,身上掛著 DEF CON 的胸牌,網咖老闆一眼就認出來了,說你們是打 DEF CON 的還是來參加會議的?我說,我們來打 DEF CON 的。他問,你們是戰隊?我說,對。他說,你們是中國隊嗎?我說,你看我的口音像是外國隊嗎?他說,那你出來乾嗎?我說,我們來租鍵盤。

網咖老闆立刻說,租什麽租,不用租,免費給你用,把身份證拿走,不用押在這兒了。你都來搭計程車EF CON 了,我相信你。

正是有了這個關鍵的鍵盤,才有了後來的故事。

-----招聘好基友的分割線-----

招聘崗位:

網絡安全編輯(采編崗)

工作內容:

主要負責報導國內外網絡安全相關熱點新聞、會議、論壇、公司動向等;

採訪國內外網絡安全研究人員,撰寫原創報導,輸出領域的深度觀點;

針對不同發布渠道,策劃不同類型選題;

參與打理宅客頻道微信公眾號等。

崗位要求:

對網絡安全有興趣,有相關知識儲備或從業經歷更佳;

科技媒體1-2年從業經驗;

有獨立采編和撰寫原創報導的能力;

加分項:網感好,擅長新媒體寫作、90後、英語好、自帶段子手屬性……

你將獲得的是:

與國內外網絡安全領域頂尖安全大牛聊人生的機會;

國內出差可能不新鮮了,我們還可以矽谷輪崗、國外出差(+順便玩耍);

你將體驗各種前沿黑科技,掌握一手行業新聞、大小公司動向,甚至是黑客大大們的獨家秘聞;

老司機編輯手把手帶;

以及與你的能力相匹配的薪水。

坐標北京,簡歷投遞至:[email protected]

---

“喜歡就趕緊關注我們”

宅客『Letshome』

雷鋒網旗下業界報導公眾號。

專注先鋒科技領域,講述黑客背後的故事。

長按下圖二維碼並識別關注

獲得更多的PTT最新消息
按讚加入粉絲團