CTFについて

CTFとは「Captuer the flag」の略称であり、出題された問題を解いて隠されたflagを見つけて競うセキュリティコンテストである。
問題には様々な分野があり、プログラム・ソースコードの解析や暗号解読、用意されたWebサイトにアクセスして攻撃を試みることもある。
決められた期間に開催されリアルタイムに競うCTFと、常設されいつでも挑戦できるCTFに分けられる。

過去に参加したCTF

リアルタイム開催

常設

体験談

研究室配属前

存在はかすかに知っていたが、挑戦したことは一度もなかった。
配属決定後にも特にCTFへ参加することはなかった。

3月

3月になると、研究室先輩方のCTFについての発表を聴くことでCTFの雰囲気を少し掴むことができた。
しかし、この時点でも特にCTFについて挑戦した覚えはない。

研究室配属後

4月

研究室での Security Topic において、CTFを問題を解いて発表することになった。
最初は常設のCTFに挑戦してみた(特に、picoCTFは入門にピッタリ)が、簡単だということでその他CTFを調べるようになった。
月末あたりに初めてリアルタイム開催のCTF(ångstromCTF 2023)に挑戦してみた結果、良い成績は残せなかったが雰囲気は掴めた。
さらに、研究室の先輩からCTF入門について教わり、環境準備や解き方の初歩を知ることができた。先輩が用意された問題にも挑戦した。

5~6月

常設やリアルタイムのCTFに挑戦しつつ、同期のCTF解説を聴いて解き方を学んだ。
特に、常設のCTFにはWrite Upという模範解答を解きつつ確認もできるので、詰まった際や見直しに役立った。
学んだことを活かしてリアルタイムのCTFでも好成績を残したかったが、結果は振るわず。
解けなかった問題は開催後に公開されるWrite UPを見直すことを勧める。

7月~8月

MWSCupという大会に向けて勉強会が始まった。基本的に1分野について週1回の勉強会が開催された。
特に、静的解析の勉強会ではGhidraという解析ツールに関する本を購入して中身の理解に努めた。
DFIR(ログ解析)の勉強会では、過去問の演習をメインに行った。
CTFでは、SQLインジェクションWebに関する問題をよく解いていた記憶。

9月

中間発表に向けての準備があり、研究室のSecurity Topicは休みになった。
自主的に解くことはなかったので、MWSCupの勉強会以外には問題に関する経験・知識を積む機会はなかったように記憶している。

10月

Security Topicが再開したので、必然的にCTF問題に取り組むことになった。
MWSCup関連に時間を費やしつつ、常設のCTFに参加していた。
常設のCTFでは暗号分野の問題を解くことが多くなり、MWSCupの勉強会では演習がメインになった。
勉強会はどちらも先輩方の解き方を学ぶことができた。

MWSCup

今年のMWSCupは10月31日に開催された。
自分はDFIRを担当することになったが、あまり貢献はできなかったように感じている。{1:9 の貢献(自分が発見:指示うけて作業)}
優秀な先輩と同期のおかげで、DFIR分野で1位、さらに総合優勝という好成績を残すことができた。

最後に

ここまで読んできて、やはりCTFは大変そうだと感じる方もいると思います。
しかし、今年度(令和5年度)開始まで経験・知識が殆どなかった自分でさえ MWSCup という大会で優勝することができました。
当然、先輩方を始めとした周囲の優秀な方々のサポートがあってのことです。
「分からないことがあれば質問する」。これさえできればCTFへのハードルがかなり下がるでしょう。
皆様も、ぜひCTFに参加してみませんか?
最後まで読んでいただきありがとうございました。