Capture The Flag

Capture The Flag(CTF)は、コンピュータやセキュリティの知識や技術を競う競技である。問題からFLAG(フラッグ)と呼ばれる答えを探すことから、このような名前となっている。

Learn more »

CTFで身につくこと

情報セキュリティを学ぶにはある特定の分野の知識だけでなく、ネットワーク、サーバ、アプリケーション、OSなどのコンピュータ全般に関する幅広い分野の知識や技術が求められている。

このようなことを普通に勉強するには、モチベーションを保つのが難しく、身につけようと思っても身につかないものである。CTFでは、これらのことををゲーム形式で出題することで、より楽しく、より気軽に身につけることが出来る。

CTFの種類

CTFには、大きく分けてクイズ形式攻防戦形式の二つの形式がある。

クイズ形式(Jeopardy形式)は、数問のコンピュータやセキュリティに関する問題が与えられて、その問題を解く形式である。Cpaw CTFもこれに当てはまる。 この問題を解くためには自身が持つコンピュータに関する知識や技術はもちろんのこと、時にはひらめきも必要だ。このような感覚は、実際に普段からプログラムを書くことや、サーバやネットワークを構築・運用することなどの経験からも身につく。

一方、攻防戦形式(Attack&Defence形式)は、各チームにサーバが与えられて、それを守りながら他のチームのサーバを攻撃するといったものである。この形式は、様々なCTFの決勝戦で多く見られる形式であり、前述のクイズ形式より高度な知識と技術が求められる。

CTFで出題されるジャンル

クイズ形式のCTFでは、次のようなジャンルが出題される。

  • Reversing : 実行ファイルを解析する問題
  • Pwn : サーバプログラムが持つ脆弱性をつく問題
  • Web : Webに関する問題。Webアプリケーションが持つ脆弱性をつく問題が多い。
  • Crypto : 暗号を解読する問題
  • Network : ネットワークの通信を解析する問題
  • Forensics : 与えらたファイルを解析する問題
  • Steganography : あるデータに隠蔽されたデータを探す問題
  • PPC (Professional Programming and Coding) : プログラミングを使って解く問題
  • Recon : ある特定の人物を調査する問題
  • Misc : 上記のジャンルに当てはまらないコンピュータの雑学、練習問題

CTFで問題を解けるようになるためには

実際にCTFに出場して、様々な問題に触れることが大事である。CTFは、ほぼ毎週世界中のどこかで行われている。ctftimeというサイトに行くと、世界で行われているCTFの日程を知ることが出来る。日本では他には常に動いているものだとksnctfakictfなどがあり、一定期間中に行われるものだと、日本で最も大規模なSECCON CTF、運営が学生主体のLepusCTFMMA CTFなどがある。

また競技時間が終わったCTFの問題多くは、問題の解答者によるWriteupと呼ばれる解説がインターネット上に公開されていることが多い。Writeupは、「CTF Writeup」でGoogle検索するとたくさん出てくる。これらを読むことで、他の問題の解き方を知ることができる。