0
本文作者: 史中 | 2017-02-20 16:27 |
這世間所有的工作,大概都是“尋找”。
雕塑家要尋找的,是那尊本來就藏在石頭中的完美的維納斯。
文學(xué)家要尋找的,是那些擁有讓人熱淚盈眶魔力的文字排列方式。
黑客們要尋找的,是在黑暗的邏輯空間中,那條被他們所堅信的,通向自由的道路。
據(jù)此,有人把頂級黑客比作“老司機(jī)”,大概分這么兩類:
1、有一類是喜歡真實(shí)路況的“城市賽車手”,在川流的車海中尋找到那條轉(zhuǎn)瞬即逝的縫隙。他們的戰(zhàn)場,是如真實(shí)的城市一般復(fù)雜的 Windows、MacOS、Safari、Chrome 等等平臺軟件。如 TK、袁哥、吳石等大牛正是“城市司機(jī)”的典范。
2、另一類是喜歡封閉賽道的“賽場賽車手”,在每一次奔襲中都尋找最為精確的過彎角度。他們的戰(zhàn)場,是經(jīng)過精心構(gòu)建的代碼世界。這類黑客喜歡做的事情,像一次解謎的智力盛宴,更像一場華麗的密室逃脫。賽博世界中的“密室逃脫”,就是 CTF 大賽。
說到 CTF 大賽,雷鋒網(wǎng)宅客頻道有必要做個簡單的科普:
CTF,全稱 Capture The Flag,意為奪旗賽。
簡單來說,正如密室逃脫一樣,參賽的黑客需要在規(guī)定的時間內(nèi),利用自己的黑客技巧攻破主辦方(一般是其他著名的安全機(jī)構(gòu)或黑客團(tuán)隊(duì))構(gòu)建的諸多難題,從而取得相應(yīng)分?jǐn)?shù)。
CTF 最先起源于1996年的美國頂級黑客大會 DEFCON。這種玩法的出現(xiàn)說來不難理解,老司機(jī)如果隨意上二環(huán)飆車,容易吃罰單。拳擊手如果隨意上街打架,容易進(jìn)局子。黑客們?nèi)绻S意攻擊別人家的網(wǎng)絡(luò)系統(tǒng),容易被警察蜀黍查水表。所以 CTF 這種安全的競賽形式迅速席卷世界,成為了全世界年輕黑客揮灑荷爾蒙的首選。
在 CTF 世界,中國擁有幾支老牌戰(zhàn)隊(duì),包括藍(lán)蓮花(blue-lotus)、0ops、AAA 等等。
天憶正是 CTF 界的大咖。2017年,他和小伙伴們成立了一支新隊(duì)伍:鵝鵝鵝戰(zhàn)隊(duì)(eee戰(zhàn)隊(duì))。
之所以戰(zhàn)隊(duì)選擇這樣的畫風(fēng),有一個簡單的原因,那就是所有的小伙伴都來自“鵝廠”騰訊。看來,為了鵝的自由和榮耀,這支戰(zhàn)隊(duì)打算拼了。
說到這里,你一定想知道這些黑客的樣子,不過天憶表示,低調(diào)是安全研究員的屬性。所以,我們還是腦補(bǔ)一下吧:
雖說戰(zhàn)隊(duì)很年輕,不過隊(duì)員們卻都是久經(jīng)沙場的黑客。例如,在成立不久,鵝鵝鵝戰(zhàn)隊(duì)就拿下了亞洲知名 CTF 賽事——在日本舉行的 SECCON 大賽的季軍。
雷鋒網(wǎng)宅客頻道和鵝鵝鵝戰(zhàn)隊(duì)隊(duì)長謝天憶進(jìn)行了一次對談,他為我們講述了戰(zhàn)隊(duì)的背后故事。以下是訪談實(shí)錄。
宅客:戰(zhàn)隊(duì)選擇“鵝鵝鵝”這個名字,有什么特別的原因嗎?
天憶:一開始我們想成立一個戰(zhàn)隊(duì),但是想了很久都沒有合適的名字。后來我們突然想到,既然騰訊被稱為“鵝廠”,我們都是“鵝民”,那么叫“鵝鵝鵝”應(yīng)該是一個很有趣的名字。
【翻譯成英語,就變成了“eee戰(zhàn)隊(duì)”】
宅客:CTF 比賽,大概是一種怎樣的狀況,請科普一下。
天憶:對于 CTF 比賽來說,不同比賽的具體賽制會有一些不同?;镜囊?guī)則就是,主辦方會設(shè)計題目,戰(zhàn)隊(duì)的核心使命就是在24小時或48小時內(nèi)盡可能多地解開題目,和其他隊(duì)伍進(jìn)行競賽。
題目的類型一般包括:
二進(jìn)制漏洞利用——Pwnable
逆向工程和逆向分析——Reversing
web安全——Web
密碼學(xué)——Cryptology
編程類——ACM
取證分析——Forensic
雜類——MISC
既然是主辦方出的題,就會涉及到出題人的水平高低——所謂好的題目可能會融入最前沿的黑客技術(shù)和新的研究成果。作為安全研究員,可以從里面找到靈感,也許會在實(shí)際研究中發(fā)現(xiàn)一些從來沒有的東西。
例如,主辦方可能會用某個軟件的經(jīng)典漏洞,把其中的模型抽象出來,重新做到一個新的框架里,考驗(yàn)解題人能不能想到用同樣的思維去利用這個漏洞。
例如,在密碼學(xué)的方向,某個最新論文里的學(xué)術(shù)成果,或者某種新的破解、分析方法,都可能被主辦方包裝成一道題目。
所以,對于參賽者來說,可能絕大多數(shù)題目都是從未研究過的。對于每一道題目都必須從零開始臨場發(fā)揮。你所能依賴的,只有自己的學(xué)習(xí)能力。
宅客:很多人都聽說過黑客界的著名破解大賽 Pwn2Own,CTF 比賽和 Pwn2Own 這樣的破解大賽會有什么不同?
天憶:我本人在科恩實(shí)驗(yàn)室也參與 Pwn2Own 的比賽。
和 CTF 主辦方負(fù)責(zé)出題不同,Pwn2Own 是不出題的比賽。它的比賽規(guī)則是選手賽前對目標(biāo)系統(tǒng),例如 Edge、Chrome 瀏覽器進(jìn)行充分的研究,找到可以利用的 0Day 漏洞(廠商未知的漏洞),在賽場上更傾向于做 0Day 漏洞的攻防演示。
而 CTF 的題目千奇百怪,涉及的知識也更廣泛。作為選手要現(xiàn)場看題,比較偏重于臨場發(fā)揮和應(yīng)變。當(dāng)然,既然是題目,一定是有解的,不需要用 0Day 漏洞。兩種比賽技術(shù)要求不太一樣。各自有難點(diǎn)和樂趣所在。
宅客:作為鵝鵝鵝戰(zhàn)隊(duì)的隊(duì)員,都有什么獨(dú)門絕技?
天憶:鵝鵝鵝戰(zhàn)隊(duì)目前有十個人左右,其中三四個核心主力來自騰訊科恩實(shí)驗(yàn)室,其他的主力也有來自騰訊玄武實(shí)驗(yàn)室、微信事業(yè)群,工程技術(shù)事業(yè)群的等等,大家都是喜歡網(wǎng)絡(luò)安全的同事。
我個人畢業(yè)于上海交大,曾經(jīng)擔(dān)任交大的老牌戰(zhàn)隊(duì)“0ops”的隊(duì)長。我擅長的方向是:二進(jìn)制漏洞利用。
另外,我們還有其他的小伙伴們擅長:逆向工程、Web 安全、密碼學(xué)、編程等等,對于 CTF 比賽所需要的技能來說,還是比較全面的。
我們鵝鵝鵝戰(zhàn)隊(duì)的導(dǎo)師,是科恩實(shí)驗(yàn)室的負(fù)責(zé)人吳石。吳石曾經(jīng)發(fā)現(xiàn)過上百個微軟系統(tǒng)和瀏覽器方面的漏洞,是享譽(yù)國際的大牛黑客,所以在技術(shù)上和方法論上,他可以給我們很多的幫助。
這個戰(zhàn)隊(duì)最初是我們自發(fā)組織的,所以在吸收隊(duì)員方面,其實(shí)沒有那么嚴(yán)格。只要騰訊的小伙伴對安全技術(shù)有熱情,有過硬的技術(shù)能力,能參加比賽,我們都?xì)g迎。
宅客:我很好奇,你們參加比賽的現(xiàn)場,是什么樣子的?
天憶:CTF 的比賽分為兩種,線上賽和線下賽。
有些比賽只有一場,就是在線上進(jìn)行比賽,一般是周六、周日兩天48小時。
有些比賽分為兩場,線上的選拔賽和線下的決賽。
對于線上賽來說,主辦方不會限制每個隊(duì)的參賽人數(shù),由于我們戰(zhàn)隊(duì)的成員來自騰訊的各個部門,所以肉身在北上深等不同的城市,參賽的時候只能線上溝通。由于每個成員都負(fù)責(zé)不同的方向,所以我們大多數(shù)時候都是各自在線解題的狀態(tài)。如果遇到實(shí)在搞不定的題目,或者需要配合解題的情況,我們會在線上進(jìn)行溝通。
由于比賽時間有限,所以雖然是線上賽,我們也不能絲毫放松。睡覺是一個比較糾結(jié)的事情。如果兩天之間完全不睡覺,第二天的體力會透支嚴(yán)重,非常影響發(fā)揮。所以我們會強(qiáng)制自己睡四五個小時。
線下賽一般會在指定的場地中進(jìn)行,會有一個大屏幕顯示每個隊(duì)伍的實(shí)時得分,不過真正比賽的時候,我們也顧不上看分?jǐn)?shù)。對于線下賽來說,由于往往會限制參賽人數(shù),所以題目也會相應(yīng)減少??傮w感覺線下線上區(qū)別不大。
宅客:線下賽的時候,有什么有趣的事情可以分享?
天憶:因?yàn)榇虮荣惖臅r候,一般都是通宵,所以對于我們來說可樂零食和紅牛這類東西是必不可少的。我個人非常喜歡喝可樂,每當(dāng)遇到困難、思路不清楚的時候,我就用喝可樂這種方法來整理思路。
我們戰(zhàn)隊(duì)里還有一個童鞋非常喜歡吃。我們于是規(guī)定,如果打得好,結(jié)束之后就去吃大餐,用這種“威逼利誘”的方法提升士氣。
【鵝鵝鵝戰(zhàn)隊(duì)參加日本 SECCON CTF 現(xiàn)場的“必勝祈愿牌”】
宅客:鵝鵝鵝戰(zhàn)隊(duì)剛剛組建,就已經(jīng)參加了2017年1月日本的 SECCON CTF 比賽,可以說說參加這次比賽的情況嗎?
天憶:SECCON CTF 是日本規(guī)模最大的面向全球的比賽,它是由日本網(wǎng)絡(luò)安全協(xié)會舉辦的,算是亞洲范圍內(nèi)規(guī)模比較大的比賽了。今年是 SECCON 面向全球招募參賽隊(duì)伍的第三年,這幾年中,每年都會吸引全球知名的 CTF 戰(zhàn)隊(duì)參加。
2016年底,我們參加了 SECCON 的線上預(yù)賽。
線上預(yù)賽采用的就是解題模式,有900多支隊(duì)伍參加。我記得總共有27道題目,經(jīng)過48小時的戰(zhàn)斗,我們解開了其中的14道,最終以十多名的排名晉級決賽。其實(shí)這個名次我并不是很滿意,因?yàn)橘惡髞砜?,很多?yīng)該解開的題目,我們當(dāng)時卻沒有解出來。不過,一切還好,我們有了去日本參加線下決賽的資格。
線下決賽在 2017年一月28-29號舉行。一共有24支隊(duì)伍參加,其中9支來自日本國內(nèi),另外15支來自全球各地。每個戰(zhàn)隊(duì)只允許派出4個人參加,總共有六道題目。而且比賽采用了一種獨(dú)特的計分規(guī)則:King of the hill(占山為王)。
所謂 King of the hill,就是針對同一個目標(biāo)(同一道題),如果一個隊(duì)伍首次解出,可以一次性獲得100分的“攻擊得分”;但是,對同一個題目還有“防守得分”,也就是說,很多隊(duì)伍同時解答出了同一個題目,如果你的解答是“最優(yōu)的”,那么你還會獲得20分防守分。評價的標(biāo)準(zhǔn)是一個可量化的指標(biāo),例如:同樣的解答,可能代碼最短者為最優(yōu)。防守得分每十分鐘評價一次,所以要取得最高分,不僅要做出題目,而且要給出“最好的”解答。
【比賽現(xiàn)場最終分?jǐn)?shù)排名】
宅客:這次比賽你們最終拿到了第三名,其中有什么驚險時刻嗎?
天憶:這次比賽拿到第三名,還是挺“驚險”的。
比賽還剩半小時結(jié)束的時候,我們已經(jīng)解開了五道題,排在第三名。但是我們面臨一個嚴(yán)峻的問題,那就是我們的每一輪的防守分沒有第四名多。也就是說,我們雖然解開了五道題目,但有些的解答并不是“最優(yōu)”。按照這個情況下去,我們很可能被第四名反超。
不過就在結(jié)束前幾分鐘,我們奇跡般地解開了第六道題。正是這樣一道題,才保住了我們第三的位置。
這是一道 Web 安全方面的題目。之前我們就一直嘗試解開,但是方法一直都不太對。現(xiàn)在想想,幸虧 Web 題目需要在現(xiàn)場連接服務(wù)器,沒有辦法熬夜通宵去做,最終解出這道題的同學(xué)第一天晚上休息得很充分。也許正是因?yàn)樾菹⒊渥愕脑?,才能在最后時刻靈光乍現(xiàn),哈哈。
作為一個新成立的戰(zhàn)隊(duì),能夠戰(zhàn)勝國際老牌戰(zhàn)隊(duì)PPP、Shellphish、Dragon Sector 等等,還是非常不錯的。我覺得,我過去的大賽經(jīng)驗(yàn)確實(shí)幫了忙。
另外我還聽說,SECCON 正在和2020年東京奧運(yùn)會組委會溝通,會把 CTF 作為這屆奧運(yùn)會的表演項(xiàng)目之一,如果真的如此,我想我們還是有機(jī)會參與的。
【SECCON CTF 比賽現(xiàn)場】
宅客:作為一支名字很特別的新隊(duì)伍,未來有什么厲害的發(fā)展計劃呢?
天憶:我們鵝鵝鵝戰(zhàn)隊(duì)有一個非常明確的目標(biāo),那就是希望打入今年 DEFCON CTF 總決賽。DEFCON CTF 是 CTF 的鼻祖,也是 CTF 中難度最高的比賽,相當(dāng)于 CTF 界的“世界杯”。
我個人曾經(jīng)作為 0ops 和 b1o0p(藍(lán)蓮花和 0ops 聯(lián)隊(duì))的隊(duì)員在最近兩年都參加過 DEFCON 總決賽,并且獲得最高第二名的成績。作為新成立的鵝鵝鵝戰(zhàn)隊(duì),我們計劃盡力參與 DEFCON 四月底舉辦的在線預(yù)選賽,或者外卡賽。凡是有可能晉級決賽的方式,我們都會盡量參與,我覺得進(jìn)入 DEFCON 總決賽對鵝鵝鵝來說“有難度,有挑戰(zhàn),有希望”。
為了這個目標(biāo),我們需要做很多訓(xùn)練。雖然戰(zhàn)隊(duì)的成員都有自己的本職工作,但是每周我們都會抽出半天或一天時間討論題目。我們會找來歷屆 CTF 大賽的“真題”進(jìn)行訓(xùn)練,在線上合作解答。
而且就在今年,騰訊聯(lián)合實(shí)驗(yàn)室也要舉辦我們自己的 CTF 比賽,到時候我們也會給全球的戰(zhàn)隊(duì)出題目,希望我們戰(zhàn)隊(duì)可以通過這些方式和世界頂尖戰(zhàn)隊(duì)切磋交流,秀出“鵝廠”安全的技術(shù)能力。
解謎是我們的天性。
有些人覺得解開別人設(shè)計的謎題,只是一種智力的自娛自樂。雷鋒網(wǎng)宅客頻道卻想起了曾經(jīng)讀到的一個故事。
20世紀(jì)初,美國謎題天才薩姆洛伊德發(fā)明了一種數(shù)學(xué)卡片游戲,名字叫做“14-15”,游戲目標(biāo)就是通過滑動把棋盤上的14和15兩張卡片交換位置(類似于華容道)。這款游戲讓整個美國萬人空巷,有記載這樣說:
人們被這個游戲弄得神魂顛倒,一些店主忘了打開店門;知名的牧師竟會整個冬夜助理在路燈下苦苦思索著他曾經(jīng)完成的那個步驟;輪船駕駛員差一點(diǎn)觸礁,火車司機(jī)把火車開過了站。
正是這樣一個對日常生活看起來無用的謎題,啟發(fā)了很多科學(xué)家的思維,促生了數(shù)學(xué)上“不變量”思想的應(yīng)用,最終為數(shù)學(xué)科學(xué)的發(fā)展做出了重要的貢獻(xiàn)。
正如逆天的圍棋手阿法狗,在它超越人類棋藝的路途上,最重要的基石就是自己和自己的博弈訓(xùn)練。對于天憶和鵝鵝鵝戰(zhàn)隊(duì)來說,解開全世界黑客精心營造的謎題所做的每一次努力,都讓自己距離那扇“自由之門”更近了一步。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。