當前位置:
首頁 > 新聞 > 一個真實CTFer的自我修養

一個真實CTFer的自我修養

《親愛的,熱愛的》開播後,網安圈誕生了一個新梗:你打籃球像 CXK,你打 CTF 像 HYT。

XSWL。

上述飯圈用語,請讀者自行搜索其中內涵。

本來,大家以為網路安全的春天到了,竟然都有偶像劇以網路安全領域大的「CTF」為背景偷偷摸摸談戀愛了啊。

這個行業要火!

沒料到,電視劇其實是高端黑。

國內頂尖 CTF 戰隊、騰訊某戰隊一位不願透露姓名的 CTFer 小 A 對雷鋒網吐槽:「怎麼辦,我已經入行遠遠超過六年,我是不是要干不下去了?」

不靠譜的電視劇,你知道你傷害了多少 CTFers 的心嗎?

太多梗了,我們不一一吐槽,本文的目的是好好科普一下,什麼是真正的 CTF 和真正的 CTF 選手。白帽黑客教主 TK 曾來雷鋒網直播講課,好好地科普了一下 CTF,我們先重溫一下:

CTF 是什麼?

這個概念是從歐美傳過來的,字面上是「奪取旗幟」,原本是西方的一種傳統戶外遊戲,相當於我們的丟沙包或者跳大繩。原始的 CTF 每個隊伍真的有一面旗幟。比賽目標就是奪取位於對方「基地」的旗幟,並帶著旗子安全返回自己的基地,當然,實際規則還要更複雜一些,比如還有「監獄」的概念。

後來,「奪旗」的概念也被引入信息安全攻防比賽。因為在比賽中,選手需要通過解開題目,或攻破目標奪得「Flag」。

現在,我們用 CTF 來代指信息安全領域的奪旗比賽。

CTF 的比賽形式有以下幾種:

1.真的是「題目」的解題模式,包含逆向、漏洞利用、密碼學、web、雜項,難度不一,分值不一,越難的題目分值越多。

逆向題一般是一個二進位程序,Flag 就藏在這個文件里,需要選手有高超的逆向技巧,找出 Flag。

漏洞題一般也是給二進位程序,選手需要從程序中找出漏洞,並寫出漏洞利用的攻擊代碼。雖然做漏洞題一般也需要逆向技巧,但對漏洞技術要求更高,用寫出的漏洞利用代碼實際攻擊成功,才能取得 Flag。

演算法題是指演算法分析題,給你一段某種演算法處理過的數據,選手需要對付一個或多個演算法。

審計題給出的文件就多種多樣了。可能是一張隱藏了信息的圖片,看起來像風景照或者人像,但其中有線索指向某個 Flag 。也有可能給你一個網路數據包,包含大量網路通信數據,需要你分析。

還有一些難以歸類的題目,或者由幾類題型組合的題,稱為綜合題。

解題模式是比較常見的模式,不少 CTF 都選擇這種模式,特別是在預賽階段。

2.攻防模式。

這個模式更加熱鬧和刀光劍影。因為,它真的是隊伍之間進行攻防。攻防模式一般可以分為三種:

第一種,每一支隊伍一同攻擊同一個目標,考驗攻擊能力;

第二種,所有參賽隊伍進行防守,遭受攻擊,考驗防守能力;

第三種,結合前兩種,綜合考驗攻防能力。這種模式對技術、戰術、策略要求更高。一般是回合制,一個回合五分鐘。可以按照自己的策略選擇優先攻擊或防守,打誰不打誰,隊伍自己決定,一個回合暫停一次。

還有一種模式,這種模式在國內不常見,稱為「King of The Hill」,我把它叫做「山大王」——大家同時攻擊一個伺服器,比誰佔領伺服器的時間長,保持自己的控制權,不被別人幹掉。這其實和傳統奪旗更像,守好自己搶奪的東西,也被人稱作「懶人的 CTF」,因為佔領方有很大優勢,有時候可以打得比較悠閑。

CTF 現狀

近幾年,國際、國內的CTF種類越來越多。舉辦CTF的組織方各有目的,有些有政府背景,比如,韓國的 Codegate CTF;有些是戰隊辦的,比如,PPP 的 PlaidCTF,這種比較常見;有些是企業辦的,比如騰訊的 TCTF ;有些是安全會議牽頭辦的,比如著名的 DEF CON CTF,實際具體操辦的也是戰隊。DEFCON CTF是目前還在辦的歷史最悠久的CTF。最早一屆DEFCON CTF 是?1996年辦的。

剛才提到的這些都是公開的 CTF。還有一類是不公開的 CTF,不會公開徵集報名,開展預賽之類。比如,有些國內、國外企業會舉辦面向內部員工的 CTF。

另外,從公開信息可以了解到,美國國防部從 2014 年開始舉辦名為「CyberStakes」的 CTF 。美國國防部有一個網路安全人才的培養計劃,目標是花3年時間在美國軍隊里培養 4000 名安全專家。而且標準很具體,要求會挖漏洞,會寫Exploit。訓練的一個環節就是CyberStakes」。而且他們邀請了 David Brumley 教授來授課。這位教授是 2016 年 CGC 最後 7 支入圍隊伍之一 ForAllSecure 的創始人。CGC 是 CTF 歷史上的轉折點,不再只是人和人打,而是和機器打。他們招募了一些隊伍設計了一套系統,和人類戰隊打 CTF。就像阿法狗與人類下圍棋一樣。不過,CGC 最後的戰勝隊還是人類隊伍。雖然機器隊伍沒有橫掃千軍,但也不是最後一名,還是有兩支人類隊伍輸給了機器。

在安全攻防領域,至少在 CTF 領域,目前人類雖然依然保持優勢,但畢竟也有兩支失敗的隊伍,所以,大家要努力。

學習 CTF 的好處

研究安全技術過程中訓練出來的思維能力是很有用處的,即使以後不去做網路安全。我經常跟大家講的一個案例是,1996 年成立的黑客技術團體「w00w00」的成員中至少包括:

WhatsApp 的聯合創始人

Jan KoumNapster(世界最早的音樂共享平台) 的聯合創始人

Shawn FanningArbor Networks 的聯合創始人

Dug SongNmap 的開發者

Gordon Fyodor LyonCounterTack 的 CTO Michael A. DavisGoogle 元老

David McKayYammer 安全主管

Josha BronsonAccuvant Labs 的 Joshua J. Drake

Veracode 的 Andrew Reiter

這個團體不是特別大,卻出了這麼多人才。有些人後來雖然沒有從事網路安全的工作,但在自己的工作崗位上做得非常出色。

如果,你不但對安全感興趣,而且想未來從事安全工作,那麼就要明白,CTF中的技術對安全工作來說一部分,不是全部。工作中遇到的有些問題可以用 CTF中涉及的知識解決。還有很多問題則需要用到 CTF 之外的技能。

打 CTF 是非常好的安全技術能力訓練方式,優秀 CTF 選手在從事安全技術工作時也會有很大優勢。不過大多數現實中的安全技術工作其實沒有 CTF 中的問題那麼困難,但會複雜得多。另外,打 CTF 的目標是得分,處理現實安全問題的時候要考慮更多因素,比如,解決問題的同時還要保持業務運行。

除了和 CTF 相關的技術能力,從職業的角度看,通用能力也很重要。比如,很基本的三點:能想清楚、能寫清楚、能講清楚,這體現了你邏輯是否嚴密、語句是否通順、表達是否清晰。有些通用能力對專業能力提升也有幫助,比如分析能力、判斷能力、規劃能力、搜集能力、學習能力、提煉能力。無論以後你想從事什麼工作,在學生時代加強這些能力的培養,對你整個人生都會有很大的幫助。

CTF 常用術語和行規

CTF上的「一血」是什麼?

「一血」指在 CTF 及相關衍生比賽最先解出一道新賽題的「動作」。在一些比賽中,拿下一道賽題的「一血」,可能有加分,但更多地是,證明了此題有解,且第一個解題者思維敏捷,是榮譽的象徵。在2017年6月此次的 TCTF 中,先拿下「一血」的選手會奪得一枚紅色的「旗幟」,隨後成功解答者會奪得綠色的旗幟。

「一血」出來後,其他尚未解出題目的隊伍也會盯上這道題。「彩旗飄飄,紅旗不倒」在這裡,絕對是句好話。

解出一道題後,為什麼選手得到的分數越來越少……

是的,讓人大跌眼鏡的是,一道題被你解出後,如果其他高手也解出了這道題,那麼你獲得的分數會按相應比例減少……你要問了,相應比例是多少?看主辦方心情和偏好。

「賽棍」和「攪屎棍」

業內人士把經常參加 CTF 大賽的選手稱為「賽棍」,此稱呼無褒貶,純屬調侃。

一般 CTF 有常見的兩種比賽模式,一是攻防對戰模式,就是高手PK,看誰先攻下對方的「老巢」,還有一種解題模式,雖然也是高手對決,看誰分數最多。

還有一種就是「攪屎棍」,指在參賽過程中對平台發起攻擊的的選手,這種攻擊通常屬於搞破壞。為此,在 CTF 等賽事的比賽過程中,要有維護人員「震場子」,及時發現「攪屎棍」的蛛絲馬跡,維護平台穩定和賽事的正常進行。

「潛規則」

納尼?黑客高手對決也有「潛規則」?是的!

正經的規則是,在 CTF 中,黑客賽隊對決之前不會像武林高手那樣「互報名號」,甚至不會交流。直接在賽題中「廝殺」。

「潛規則」之一是,雖然在 CTF 比賽中,DEFCON CTF 比賽不限制戰隊選手數量,其他一些比賽會限制賽隊選手人數,比如,4名。

但是,一般 CTF 比賽時常從 24 小時—36 小時不等,幾個「老司機」在短時間內也無法解出一些很難的賽題,因此,在線上比賽時,請外援也無法知道。線下比賽時,有時選手會傳送題目請外援。

這種被有些主辦方默許,還有一些主辦方當然是拒絕的。比如,曾經有個戰隊在某次比賽中因為請了「外援」,本來取得了第一名的成績,被發現後取消了部分成績,艱難地成為了……第二名。

「端茶倒水」是幹嗎?

如果對手實在很強,解出了自己所不能解答的題,你不需要像武林高手那樣低頭認輸,只要說為對方「端茶倒水」「搖扇子」即可,「端茶倒水」即表示膜拜。

無論攻防還是解題:一定有一個不眠夜

無論是 24 小時、48 小時,甚至挑戰選手體力極限的 72 小時,在比賽中間的夜晚,一定是一個「繼續參賽」的不眠夜。

真實 CTFer 快問快答

雷鋒網:你們有隊服嗎?有專車嗎?真的都戴著耳機、耳麥坐在舒服的電競椅上嗎?

小 A:肯定不是的啊,我們一般最多派出4名隊員坐鎮現場打比賽,其他人都在酒店房間窩著,穿著拖鞋打比賽,隊服,呵呵。。。我們不化妝、也不做頭髮的。耳機嘛,可能會戴的,但是是大家嫌棄現場環境太吵,戴上耳機聽歌來著,戴耳麥就有點誇張了,我們一般都現場交流,要麼線上溝通戰況,我們也不坐電競椅,不過主辦方要是熱情,可以優化一下配置。

哦,隊服是有的,只在合影時穿一下。

雷鋒網:真的可以三行阻擋對伺服器的攻擊嗎?

小 A:記住電視劇里的那三行命令,可以掃描自己的埠(圍笑臉),其實如果真的要防的話用一行

iptables -I INPUT -p tcp -s 192.168.233.0/24 --dport 10000 -j DROP。

雷鋒網:片尾顯示的三個 CTF 顧問的名字,我從來沒聽說過,你呢?

小 A:我也沒有(圍笑臉)。

雷鋒網:真實的 CTFer 真的要早上起來集訓跑步嗎?

小 A:我只能說,那是一類比較健康的 CTFer,我都通宵打比賽了,頭髮也沒梳,臉也沒洗,我們都是輪流睡覺,你說呢?

小 A 的若干群友:

「加班才是福報」

「bug 都修不完還鍛煉」

「以後寫個wp,下面沒準有人評論,這是我家愛豆寫的exp,請單推哦」

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雷鋒網 的精彩文章:

杉數科技陳廷豪:零售場景中的需求預測 | AI 研習社 第144期大講堂總結
智能手錶eSIM化,走向獨立人格的第一步

TAG:雷鋒網 |