機器的黎明 -- 第24屆DEF CON CTF總決賽亞軍隊員訪談

在剛剛過去的一周,中國奧運健兒在里約摘金奪銀,而我們信息安全領域也毫不寂寞。一年一度素有「黑客世界盃」之稱的DEF CON CTF總決賽如期在賭城拉斯維加斯舉行。今年中國大陸地區兩支超白金戰隊——0ops和Blue Lotus藍蓮花(首字母排序哈哈哈)合二為一,組成了一支國家隊級別的新隊伍——B1o0p,這支隊伍不負眾望第一次出戰便一舉拿下了總決賽的亞軍,並且同老牌強隊,2014年的總冠軍PPP纏鬥到最後一刻,展現出來令人信服的實力!

在這支隊伍中,一共有五位選手來自GoSSIP小組(一名Research scientist,兩名應屆畢業生,兩名在讀研究生),賽後歸國,小編立即抓住其中三位選手(包括本次B1o0p中唯一的一名女隊員)小花椒、母雞和Serenade進行了採訪。

0 關於本次DEF CON CTF決賽的總體感受是什麼?艱苦程度是否出乎你的想像?

小花椒: DEF CON CTF 作為全球最頂尖的CTF賽事,一直是DEF CON的招牌之一, 每年DEF CON期間,在現場都會舉辦各種各樣的比賽,涵蓋了計算機軟硬體安全的方方面面(甚至包括社會工程學),並且今年其中的很多比賽都跟風命名為 XX CTF。

在DEF CON閉幕式上,會公布大會期間各類比賽的結果,而DEF CON CTF Finals作為諸多比賽中最為重量級的一項,會在閉幕式的最後,由主辦方(LegitBS)公布現場決賽的前三名。

每年DEF CON的門票都會是一個特殊的Badge,(如2015年是一張唱片,2016年則是一塊會發光的帶有若干開關的電路板),這張門票同樣是主辦方精心出品的一道挑戰題,在閉幕式中,有一項獎就是頒發給第一個破解了門票的參會人員。

-- 與其說DEF CON是一個安全會議,不如說更像是一個彙集了全球「玩」

安全的人的黑客遊樂場,所有人都很享受DEF CON的這種氛圍,這種氣氛在國內是感受不到的。

DEF CON CTF Finals的難度很大,幾乎每道題首先都是一道重口味的逆向題,在不通過逆向理解程序邏輯的情況下,甚至都不知道怎麼構造一個合法的輸入來使得程序繼續運行下去。同現如今的許多On-site CTF一樣,每道題都可能會有若干個漏洞,從簡單到複雜,強隊往往能在一兩個小時內就開始輸出exploit,實力稍弱的隊伍只能一般逆向分析程序一邊享受「吊打」,找尋可以重放的流量。

母雞:總體感受是比賽風格的變化,由於引入了CGC的機制,較之前的CTF比賽,本次DEFCON CTF規則上更偏向於防禦。其實我個人並沒有覺得比上一次DEFCON CTF Finals更艱苦,應該是準備得更充分的原因吧,無論是azure的sig,還有xty,小花椒的libpov的準備,藍蓮花那邊酒店和比賽現場之間網路的部署,很大提升了分析和攻擊的效率。

Serenade:今年DEF CON CTF決賽不同於以往的傳統攻防模式,採用了cgc系統。選手需要提供POV給主辦方,主辦方會運行這些POV,判斷是否exploit成功。POV有兩種模式,一種需要控制寄存器,一種需要泄露特定位置0x4347C000-0x4347D000 (CGxC0x00)的內容。

相較於以往的傳統攻防戰,CGC尤其重視patch,如果被對手攻擊成功,得到的分數將減少一半。值得注意的是,CGC攻防會將每個隊伍每一輪的patch、ids公開。在比賽中,你的patch可以立刻被對手獲取分析並模仿(可以上傳有後門的patch),並且上傳patch也會扣一定的分數。因此何時上傳patch以及上傳怎樣的patch成為比賽的一個重要組成部分。

1 能夠從你的角度簡單介紹一下比賽的題目?

小花椒:本次比賽有8道題目,分別編號為LEGIT_00001 ~ LEGIT_00004,LEGIT_00006~LEGIT_00009;其中有傳統的菜單題,有測試用的裸的棧溢出,也有複雜的解釋器、編譯器、自定義計算器、網路協議,甚至有題目一道題就是4個binary,漏洞則分布在其中不同的binary中。

比賽的第一天放出了三道題LEGIT_00008(測試題), LEGIT_00007(計算器)和LEGIT_00003(PPC 解釋器)。第二天放出了LEGIT_00004(文件系統),LEGIT_00006(C編譯器)和LEGIT_00001(網路協議題),並在快結束時關閉了LEGIT_00008和一道我們擁有著巨大得分優勢的LEGIT_00007。第三天只有四個小時,但還是放出兩道LEGIT_00002和LEGIT_00009,並再次關閉了一道一直在幫助我們快速追趕PPP的LEGIT_00003。

當然,其中也有加過混淆的題目,這個時候無視Decompilation results的Machine的優勢相對於人類就更加明顯了。

母雞:首先比賽規則與其他CTF比賽不同,由於需要確保 the machine 能正常參與比賽,所有CGC的規則都被原封不動地引入這次CTF。

對於每個題目每輪的得分為 = 可用性分數 * 防禦分 * 攻擊分 * 200

三項的基準都是1.0

可用性分數取決於隊伍的patch是否能通過主辦分的功能檢查,和時間/內存開銷的評估

防禦分在patch則是在沒有任何一個攻擊成功時為2.0,否則為1.0

攻擊分是1 + 成功攻擊的隊伍個數/對手的個數

另外任何隊伍都可以下載到其他隊伍的patch進行針對性的分析

在此規則之上由於大量隊伍使用了通用防禦的patch,各個隊伍的binary各不相同。這導致很多攻擊需要針對隊伍進行適配。

防禦側,每個題目都有很多不同漏洞,一道題目在通常被放出半個小時左右就會有攻擊產生,而發動攻擊的隊伍都不會選擇修補漏洞,以避免patch被其他隊伍抄襲。

Serenade:本次比賽有8道題目。第一天放出三道題目,第二天三道,最後一天兩道題目。

除了第一道測試題目,其他題目是比較標準的defcon二進位題,涉及複雜的解釋器、網路協議等。其中也有些題目藏了一些簡單的棧溢出,機器分析比較有利,能夠比較快地fuzz出,寫出POV。

在比賽第二天快結束和第三天早期階段的時候分別關閉了一道題。在關閉的這兩道題上,我們本來擁有大量的得分優勢。就結果而言,這兩次關閉也導致我們不能及時追趕與PPP的分差。

2 給大家介紹一下各個對手的情況?特別是幾個主要的奪冠競爭對手

小花椒:PPP: 傳統強隊,擁有以Geohot和Ricky Zhou為代表的Pwn機,並且今年其中還有若干參與了Mayhem開發的ForAllSecure成員,和Mayhem有著千絲萬縷的聯繫,儘管不能直接使用Mayhem,但其優勢仍毋庸置疑。

DefKor: 以Lokihardt為代表的韓國隊伍,其中很多成員都出自BoB(Best of the Best,韓國信息安全舉國體制),去年的DEF CON CTF Finals總冠軍,和PPP並列為exploit輸出最快的兩大隊伍。

Mayhem: 也就是"the machine",Mayhem作為CGC決賽CFE的第一名,在CFE奪冠後,作為機器的「明星」代表,參與到CTF Finals中來,和人類一決高下,這也正是本屆DEF CON CTF的主題:Rise of the Machines

在CTF Finals的第一天,由於介面等問題,Mayhem未能work;而整個CTF Finals前兩天,由於流量介面的不一致,Mayhem並未拿到任何流量,直到最後一天才成功收取到現場的流量。但就是在諸多不利的情況下,Mayhem還是做出了8道題目中的7道,其中甚至有些是我們認為機器不可能做出來的題目!!!

母雞:PPP: 傳統強隊,在比賽中利用其他隊伍傾向於抄自己patch的習慣,在自己patch內植入了後門

DEFKOR: 第一天憑藉Loki的快速的攻擊拿到第一,擁有衛冕的實力,但是接下來的幾天由於頻繁的進行patch導致丟失了大量的分數,比較可惜吧。

Mayhem: 雖然成績並不是非常理想,但是能在絕大多數題目製造完成攻擊都令人驚訝,有些題目應該是機器使用了重放的流量。

Serenade:PPP:美國CMU的傳統強隊,曾獲得多次defcon ctf冠軍,核心成員有Geohot、Ricky Zhou。

Defkor:多數成員來自韓國Bob計劃,去年的defcon ctf冠軍,核心成員有Lokihardt。

Hitcon:台灣217和Bamboofox的聯隊,曾獲得defcon ctf亞軍,很多成員擁有ACM決賽經驗,二進位和編程能力很強。

3 談談第一次聯合組隊的合作情況,和Blue-Lotus的童鞋們合作如何?

小花椒:兩隻隊伍的人員配置都很像,大家的分工都比較明確,賽前兩隻隊伍都開發了許多針對比賽時攻防和數據分析的工具,並且有統一的平台進行管理,比賽期間大部分時候大家都在一塊,現場和樓上的網路連通順暢,有問題只要吼一聲或者線上喊一聲都能及時響應,合作很愉快。

母雞:合作愉快,大家都使用一個工作平台,雖然之前沒有過合作,但是絲毫沒有因此出現問題~ && 藍蓮花團隊使用的線下比賽平台非常贊~

Serenade:分工比較明確,並且將各自開發的工具整合起來,擁有了一套比較系統的輔助平台,在比賽的時候提供了很大的幫助。比賽的時候,大家也線上線下熱烈討論。

4 如何看待「the machine」?談談你的CGC見聞和感想

小花椒:CGC CFE從8月4日上午10點開始,從當天下午17點開始,比賽現場對外開放,並同時現場有直播講解,直到8點比賽結束。儘管Mayhem似乎「毫無懸念」地奪得了冠軍,但其實第二和第三名與Mayhem的分差並不大。據Angr作者所說,CFE中Angr做出來的題目最多,並不是第一名的Mayhem,但是Mayhem的開發團隊對規則解讀得很透徹,知道如何根據當前的得失分情況,採取一個最有效的應對策略來獲取最多的分數。

CGC在比賽的可視化上著實下了一番功夫,從隊伍的信息到程序運行時刻的動態圖,都用一種淺顯易懂的方式展示了出來,並在決賽現場為觀眾發放了專業術語和可視化講解。

從CGC的整個初賽決賽巨大的投入可以看到,這個比賽在國家的支持下,確實是推動了整個安全攻防的自動化,並且從參加最終CFE的隊伍中可以看到,多數來自高校或者與高校有著非常緊密的關聯(在許多隊伍里我們也能看到中國人的身影。。),從學術研究轉化成實踐成果,出現了如Angr和Mayhem這樣的好的作品,學術界的論文有了工業化的實現,將學術界和工業屆結合得更加緊密。

順附一條CGC 決賽的直播視頻

youtube.com/watch?

母雞:因為cgc final的那天我一直在賓館,所以沒有了解更多而的信息。一直以來我都認為因為缺乏對程序行為的理解能力,機器很難在程序分析領域必過一個分析人員,因此只承擔輔助的工作,但是這次比賽改變了我的觀點。如果分析系統的演算法效率以及計算能力可以進一步提升幾個數量級的話,以後可能分析人員才是在漏洞挖掘上負責輔助工作的一方

Serenade:在比賽前段部分由於介面問題,the machine一直處於落後階段,並且過了很長時間才給出patch。但比賽後段,有好幾道題the machine率先給出了patch,有時候甚至優先於大多數隊伍給出exploit。這次比賽的很多題目比較複雜(如解釋器),並不利於the machine分析,但最終the machine在這些題目上仍然有著不俗的表現。

5 比賽中你覺得最困難的時刻是?

小花椒:最困難的就是決定該上自己的補丁還是別人的補丁。。。

母雞:自己上了通用防禦然後把0007搞掛了的時候T_T

Serenade:重放PPP的patch,在比賽後段才發現其中植入了PPP的後門(小編:捂臉)

6 比賽中你覺得最激動的時刻是?

小花椒:最激動的是從流量里找到了一條新的exploit。。。

母雞:發現個一個題目的問題然後不會利用,又在流量里看到了其他隊伍的攻擊方法恍然大悟的時候

Serenade:第二天開場所有題目吊打全場(小編:此處應有掌聲)!

7 評選一下你心目中的本次比賽最佳(選手或者隊伍,可以選自己哦)

小花椒:B1o0p

母雞:b1o0p,選手我提名jackyxty(小編:提名平時在實驗室就坐自己旁邊的隊友真的好嗎)

Serenade:b1o0p

(小編:看來大家都對自己的表現非常滿意!)

8 除了CTF,本次Blackhat / DEF CON之行的其它見聞?

小花椒:DEF CON主辦方覺得Ballys和Paris酒店太小,明年會把DEF CON放到對面的Caesars Palace(凱撒宮);明年DEF CON CTF Finals中,LegitBS將會Custom Architecture,相信會帶來更多的驚(tong)喜(ku)。

母雞:因為一直在賓館所以沒有去看- -~

Serenade: DEF CON的小會場里有販賣一種叫spy coin的小工具,用特定的工具套上特製外形的硬幣,用力一砸,硬幣就可以分成兩部分,中間是中空的,可以放一些東西。

9 預測一下未來,明年我們還會更上一層樓嗎?

小花椒:人在,奇蹟就在。

母雞:更上一層樓不就是明年第一的意思了么- -~ 我自己這次通過這次比賽確實看了很多自己還可以提升的方面~

Serenade:會!

================================分割線================================

最後,我們祝願這一群中國的信息安全希望之星,在未來能夠登頂信息安全的世界巔峰!

推薦閱讀:

如何與人工智慧和睦相處?它已經掌控了你的一切
Linux曝高危漏洞 長按Enter鍵70秒即可獲取root許可權
為什麼我明明關掉了應用的位置授權,但所有的應用依舊能準確的獲得我的位置,例如某某店家距離你多少米?

TAG:DEFCONCTF | CTFCaptureTheFlag | 信息安全 |