2010/08/27

CTFってなに?

最近何かと話題なCTFについて、全く知識の無い状態から調べてみました。

参考:@IT:いざラスベガス、いざDEFCON CTF決勝へ
参考:@IT:プレイ・ザ・ゲーム! CTFが問いかけるハックの意味

■CTF(Capture The Flag)とは?
直訳の通り、チームを組んで、自陣の旗を守りつつ、相手の旗を奪う。セキュリティ系CTFでは、旗=サーバであり、つまり自チームのサーバを防衛しつつ、相手のサーバを攻め落とす、というゲームです。
毎年ラスベガスで開催されているセキュリティカンファレンス「DEFCON」にて行われるCTFが最も有名ですが、現在はDEFCON以外のセキュリティカンファレンスでもよく開催されるようですね。
国内だとチームチドリがよく各国のCTFに参戦されていますが、本年度開催されたセキュリティ&プログラミングキャンプ2010の中でCTFが行われた為、最近一気に話題に上がることが多くなりました。

■CTFの進行
DEFCONの場合、予選と決勝に分かれており、方式が違います。
予選は、まずインターネット上で行われ、主催者が出する問題に解答していきます。この予選で成績の高いチームだけが、決勝に参加する事が出来ます。
決勝は上述の通り、本来の意味でのCTFで行われます。同じ会場の中で全チームが勢ぞろいして戦います。

■CTFの為の知識
ざっと問題を見た限り、非常に広範囲な知識が問われるようです。Web、ネットワーク、バイナリ、プログラミング、セキュリティ...しかしチームで戦うゲームなので、それぞれ専門的な知識を身につけた技術者が集まる、というのでも良いのかも知れませんね。

■CTFを勉強会に繋げられるか?
僕自身参加したことが無いし、Webで時々見かける問題を試しに触ってみるくらいしか出来ていないのですが、CTFの問題をWebから集めて「こういう問題があります」→「こういう解決方法で解きます」みたいな事例紹介する、というのは面白いかも知れないですね。
せきゅぽろのLTでやってみようかしら。
  # という、自分を追い詰めるライフハック