[假日小辭典] 什麼是駭客 CTF 競賽?

2015.10.24 by
李倫銓
攻防搶旗賽 (Capture the flag, CTF),是由古代軍事戰爭演變而來。軍旗在戰場上象徵兩軍戰況,當有一方軍旗被敵軍奪取或落在...

攻防搶旗賽 (Capture the flag, CTF),是由古代軍事戰爭演變而來。軍旗在戰場上象徵兩軍戰況,當有一方軍旗被敵軍奪取或落在地上,代表該方戰敗。當這樣的攻防搶旗演變到現代的電子遊戲裡,通常就演變成團隊遊戲模式,由兩隊人馬互相前往對方的基地奪旗,奪旗成功回合次數多者得勝。

2006 年 一群參加 Defcon 14 CTF 的隊伍,Ross 分享於 Flickr,CC by 2.0
(圖說:2006 年 一群參加 Defcon 14 CTF 的隊伍,Ross 分享於 Flickr,CC by 2.0)

資訊安全的攻防搶旗賽也是一樣,團隊在企圖奪走對方的軍旗時,必須要同時防守我方陣地的軍旗被對方奪走。演變至今不僅比拼的是駭客攻防的技術,甚至包含全方位的電腦科學技術與團隊合作能力。這樣的競賽同時考驗包括系統安全、演算法、密碼學以及程式設計功力,這類競賽能培訓高階資安人才,讓他們有一較高下的舞台,發展自今有兩種較常見的比賽模式 JeopardyAttack and DefenseJeopardy 名稱來自美國 1960 年代的智力問答節目,在有限的題目中,所有隊伍比賽解題的數量與速度,常見的題目類型有: Reverse、 Pwnable、 Crypto、 Forensics、 Misc

Reverse 逆向工程類型:通常由主辦方給一個或多個Binary, 過關所需要的Key通常加密藏在執行檔裡,要將程式逆向分析出後才能找出。

Pwnable 分析弱點或漏洞類型:主辦方會給一個有弱點的程式或 Server 執行檔,主辦方自己會開一台伺服器跑該服務,參賽者要透過靜態分析與動態分析來找出該程式的弱點。例如: Buffer overflow、命令注入等,在遠端伺服器利用漏洞來執行任意指令,進一步取得存在遠端伺服器的金鑰。

Crypto 破譯類型:意指主辦方會給加密過的密文、加密程式,參賽者必須分析加解密演算法甚至需要找出演算法的弱點來破解出真正的明文

Forensics 鑑識類型:表示主辦方會要求參賽者從封包、 log、 memory dump、 disk image、 VM image 鑑識出隱藏在之中的金鑰

Misc 主要沒有較明確的分類:像是給個遊戲要想辦法作弊破到幾百萬分、給一個壞掉的 QR code 嘗試修復,或是給張圖片要找出相關的人事物等。

之後還衍生出各種玩法,例如最先解出題目的隊伍可以獲得開題權,或是前三名解出題目可以獲得 bonus 等。

Attack and Defense 相較於 Jeopardy 就殘酷許多,主辦單位會為所有參加的隊伍準備需要守護的伺服器,這台伺服器上會有網頁,遊戲或其他特殊用途的服務。每個服務都有數個漏洞,漏洞可能只是簡單的資訊泄露,阻斷服務; 也可能是一個嚴重的漏洞讓客戶端可以在伺服器上執行任意指令。

練習參賽中的駭客,賀大新攝影
(圖說:練習參賽中的駭客,賀大新攝影)

參賽的隊伍需要做的事情,就是守護好自己的伺服器,然後打進對手的伺服器偷取 Token。守護好自己的伺服器必須要能正常提供服務。若服務沒有正常運作,每一回合都會扣分,扣的分數平均分配給服務正常的隊伍。而正常運作的服務若沒有將漏洞補上,就會被其他隊伍利用來偷取伺服器上的檔案 – token。 只要被搶走 token,該回合一樣被扣分,由搶到該 token 的隊伍平分。

每種服務都會獨立計算,所以如果同時數個服務都被打穿,一回合掉的分數是極為驚人的。通常這種形態的比賽都是現場賽,持續兩到三天。長時間的比賽除了比拼技術實力外,還要拼體力與意志力。

目前資訊安全界公認相當於的世界盃 CTF 的比賽是由 DEFCON 舉辦,稱做 DEFCON CTF。 DEFCON 是全球最大的駭客年會,自 1993 年起,每年在美國拉斯維加斯舉辦,集結全球的電腦安全專家、記者、律師、政府代表、資訊安全研究者與駭客等,探討軟硬體架構、電話詐騙、與網路安全等任何可以被破解的軟硬體或網路機制與架構。

2015年在 DEFCON 報告的隊伍,Cory Doctorow 分享於 Flickr,CC by 2.0
(圖說:2015年在 DEFCON 報告的隊伍,Cory Doctorow 分享於 Flickr,CC by 2.0)

Defcon CTF Qual (初賽)通常是一年中競爭最激烈的比賽。全世界一千多個隊伍在三天三夜的比賽中爭奪大概 10 個 Defcon 決賽名額,許多團隊在這場比賽通常會選擇跟其他隊伍合併,嘗試用較強的戰力取得決賽資格。最後搶到門票的 10 隊加上種子賽冠軍隊伍,會在每年於拉斯維加斯舉辦的 DEFCON 會議進行更刺激的 Attack & Defense 形式的 Defcon CTF 總決賽。2015 年由台灣駭客年會 HITCON 所舉辦的 HITCON CTF 首度被 DEFCON 認可成為其種子賽

CTF 於近幾年蓬勃發展,2011 年俄國強隊 More Smoked Leet Chicken 架設了一個提供 CTF 資訊的網站 CTFTime,讓許多不得其門而入的人有獲取比賽資訊的管道,去年度世界上大大小小的 CTF 共計超過 50 個。

CTFTime 也設計了結合全球主要 CTF 賽的世界排名積分制度,不同比賽的按照規模、名氣、題目難度、參加人數、舉辦方實力以及是否提供獎金等等來進行不同權重的積分公式設計。以公認相當於駭客界的世界盃大賽 Defcon 為例,奪得 Defcon 初賽冠軍的隊伍獲得 160 分,而奪得其他較小型或首次舉辦的 CTF 冠軍只能獲得 20 分,此機制使各國戰隊的即時戰力能有相對客觀的比較,不再只是靠 Defcon 決賽的名次來評估實力,各地隊伍也更加積極參與比賽。

亞洲國家在參加 CTF 這方面的發展落後于歐美,過去幾屆的世界冠軍都在歐美的隊伍中產生,韓國、日本與中國大陸已意識到這個問題,韓國於 2012 年開啟了 Best of Best, BOB 的計劃:從高中與大學生中,選出 60 名具有電腦專才的學生,培訓至今已淘汰 40 人。但從去年 Defcon Final 的參賽隊伍組成,可以看到韓國的 BOB 計劃有顯著的成果,進入決賽的 20 個隊伍中有 1/4 來自韓國。2015 年南韓儘管只有 2 隊進入決賽,但經過激烈競爭最後仍由該國的勁旅 DEFKOR 取得冠軍。大陸自前年 Blue-lotus 藍蓮花戰隊首次進入 Defcon Final 之後,也興起了 CTF 的風潮,一年內舉辦超過五個 CTF 競賽,Blue-lotus 戰隊憑藉參賽經驗舉辦了兩岸第一次的百度杯 (Attack & Defense 形式的 CTF),提供高額獎金引發媒體關注。

每日精選科技圈重要消息