【CTF一般】CTFのすゝめ

???「次はSECCON Beginnersの記事を書くと約束したな。あれは嘘だ」

! ! !「うあああああああああ!!」

……

....

..

.

SECCON Beginnersから無事帰還した次の日にBeginnersでやったことを書いていたものの、「まず、CTFについてお話しした方がいいのでは?」と気づいてしまったのでCTFについて少しお話ししようと思う。CTF(Capture The Flag)とは

「情報技術に関する問題に対して適切な形で対処し、それに応じて得られた得点で勝敗を決める」(セキュリティコンテストチャレンジブック)  

となっている。なるほど分かりやすい()

まぁ、出題形式をとっても様々あるし、その中でも細かく枝分かれしているので、なかなか スマートに説明するのも難しい...

CTFには大きく分けて二つの形式があり、私が今取り組んでいるのは問題がいっぱい出されて、それに答えていく形式の方。(Jeopardy形式といわれるらしい)この中にも枝分かれがあって、主に

  • Cryoto
  • Reversing
  • Pwn
  • Web
  • Forensics
  • PPC
  • Misc

といった感じになっていて、問題に正解するとFlagがもらえる。

 Cryptoは主に暗号解読の問題で、コンピューターとかに関する知識よりも数学に関する知識が要求される。

 Reversingはソフトウェアのバイナリを読んで解析し、そこで得られた情報からFlagを探す問題。

 Pwnはソフトウェアの脆弱性を攻撃し、本来の手順と違う入力を与え、それによってFlagを不正に出力させる問題。

 WebとForensicsはよく分からないのでそのうち書こうと思う(ゴメンナサイ...)

 PPCはまだであったことないけどプログラムを書くんだと思う。

 Miscは...、うーん...何と言ったらいいか、何でもありの問題分野で知ってたらラッキーみたいなところがある。写真が一枚渡されて「この人物が誰か答えよ」みたいな問題が出たこともある。

 CTFについて軽く説明してみたが、きっとうまくイメージがつかめなかったと思う。やはりCTFについて知りたければ、実際に触ってみるのが良い。常設のCTFは割と多く存在するので探してみるといいかもしれない。