前面幾天的內容
看似跟資安都沒什麼關係
但其實都是非常重要的基礎能力
當然還有非常多東西
礙於篇幅就只做些粗淺的介紹
而從今天開始
將帶領大家開始踏入的資安初學領域
全名為 Capture The Flag
顧名思義就是搶旗
那為什麼會是這個名稱呢
我們舉個簡單的例子
駭客通常會透過一些手法去偷別人電腦裡的機密資料
而這個手法可以想成利用某種漏洞去攻擊對方主機
並且拿到被稱為 flag 的機密資料
所以說今天一道 CTF 題目可以想像成類似現實對方的電腦
我們想要拿到 flag 就必須透過主機上的漏洞來得到我們要的東西
利用這種像是玩遊戲的方式來學習這些艱深的內容
不但不會覺得艱澀乏味
甚至還能深陷其中
這就是 CTF 的魅力所在
而在這之中又有三種不同的遊戲方式
分別為解謎式 (Jeopardy)、攻防模式 (Attack and Defense)、KoTH (King of The Hill)
以下會一一介紹
這也是學資安最一開始就會接觸到也是最常見的競賽方式
題目類型就是一道道的關卡
透過解謎的方式取得 flag
在這之中又大約分為五個主題
網頁安全很直觀
就是透過網頁或是一些 web 服務的漏洞進行攻擊的題型
密碼學
滿滿的數學
逆向程式
可能是單個二進位執行檔或是多個二進位執行檔組成的軟體
透過組語理解其中的邏輯
找到我們所要的資訊
在 Reverse 的基礎上
更進一步的攻擊手法
主要針對記憶體方面的攻擊
需要具備深入的 OS 知識
stack, heap 之類的
這兩個照理來說要是獨立兩個
但我習慣分成同一類
Forensics 是數位鑑識
常有的題型大概是還原損壞的檔案、圖片、磁碟映像等
會比較要求對檔案 format 的熟悉程度
misc 就很混雜
各種你想的到的題型都有可能出現
訊號擷取啦、隱寫術啦、甚至玩爆一款遊戲 (?
總之這個類別就是大雜燴 XD
提供給每個隊伍一台 server
想辦法保護自己的主機不被打下來
且一邊攻擊其他的主機
這就比上面說的 Jeopardy 更進階了
不但要會攻擊也要會防禦
每個隊伍會有屬於自己的一組 token (就是一段各隊伍絕對不重複文字)
主辦方會提供多台存在漏洞的機器
看誰先打進去把 token 放到主機上就算佔領
但也不是放完就沒事
放完後還要防止別隊入侵這台主機
不然就可以換掉自己的 token 了
所以還要自己把一些漏洞做修補
接下來的文章
我們就以上面說到的 Jeopardy 的分類
透過這種遊戲的方式配上解說
帶大家一步步走進資安的大門