今天小編要與大家分享,如何加強自身資訊安全。方法有百百種,比如說閱讀他人的技術文章:CVE 分析、最新漏洞解析。當然,打好資安的基礎也是非常重要的,當中包含網路、網站、主機、記憶體等概念。
而本篇,要介紹如何透過遊戲模式,WarGame 與 CTF,來增加自己的資訊安全能力。
何謂 WarGame
WarGame 是一種透過提供資安平台,在平台上設計一些關於資安漏洞並利用攻擊這些弱點取得密碼,達到學習與趣味平衡的遊戲。沒有時間限制,大家都可以進入遊戲,以一關接著一關的方式進行。
小編在這裡介紹一個 OverTheWire 社群,他們在 http://overthewire.org/wargames/ 提供了許多 WarGame ,遊戲方法很簡單,進入關卡之後,透過漏洞或弱點取得下一關卡的密碼。社群提供多個類型來進行遊戲,以下說明經典的WarGame類型:
- Bandit:這一系列,讓參與者了解 Linux 指令的用法,首要條件必須了解何謂 ssh、如何透過 ssh 連到題目主機。比如說 ssh -p 2220 bandit0@bandit.labs.overthewire.org,透過 ssh 這個協定,且以 -p 這個參數指定 port 進入username(使用者帳號)@ip(主機位置)
- Natas:提供各種常見的 Web 安全,可以針對 PHP 網站的 code review訓練。
- Krypton:以密碼學安全為重的 Wargame 。
- Behemoth:能透過進行溢位攻擊提升自己的權限取得密碼。
- Maze:著重於逆向工程,需要使用 gdb 等逆向工具。
- Vortex:以 32bit x86 機器為目標,進行逆向工程或是溢位攻擊。
- Manpage:針對 Linux C 語言撰寫上的錯誤。
- Drifter:逆向工程為主。
何謂 CTF
CTF (Capture The Flag),奪旗遊戲,也是提供一個遊戲列表的比賽,具有時間限制,在比賽最後獲得積分最高者獲勝。每一關卡並沒有強制需要連續才能破關,有三種 CTF 的類型如下:解謎式(Jeopardy)、攻防模式(Attack and Defense)、搶灘遊戲 (King of The Hill)。
常見解謎式CTF題目像是有一系列的題目,參賽者必須要透過題目說明,了解類型如 Web 網頁類型、Reverse 逆向工程類型、Pwnable 弱點或漏洞分析類型、Crypto 加解密類型、Forensics 鑑識類型、Misc 綜合類型,並透過不同的手法,取得 Flag,回報於平台上即可獲得積分。
而攻防模式,則是有多組隊擁有多個伺服器,伺服器由主辦單位提供,且這些伺服器可能具有容易受到攻擊的漏洞。每一組必須利用攻擊手法攻打其他人的伺服器,並將自己的 Flag 寫入主辦單位指定位置,比如說 /var/www/html/index.html 。另一方面,自身也要保護屬於自己的伺服器,主辦方會定期訪問指定的位置,累積每組的積分。
搶灘遊戲則是與攻防模式相似,主辦單位會提供一個網段讓參賽者可以掃描網段,網段上可能有不同的主機,參賽者第一時間必須要攻入這些主機並且防禦,同時將自己的 Flag 寫入伺服器內,主辦方亦會訪問指定位置,累積積分。
總結
WarGame 跟 CTF 都可以增加自身的資安能力,想要了解他人如何攻擊或防禦,網路上有許多人分享自己寫的 Writeups 也就是解題方法,可以參考其他人寫的 Writeups。小編建議多嘗試不同 WarGame 和參與各種 CTF,如果有時間還可以將這些比賽過程紀錄在自身的部落格Blog ,一點一滴累績、彙整比賽的經驗,慢慢進步。
參考
1. The WarGame 911
https://trello-attachments.s3.amazonaws.com/5a585c2bb9a342fef89a9300/5d39216fca246236a7a87061/f6382ad41fac70b84ed9273ef92dcac0/Session7-WarGame_911.pdf
2. 丁諭祺 , 詹偉銘 , 張光宏 , 周國森 , 施君熹 , “以WARGAME型式建立資訊安全攻防演練平台,” Communications of the CCISA, vol. 20, no. 4 , pp. 72-83, Oct. 2014.