【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は割と多く存在するので探してみるといいかもしれない。