時折、まれに、CTFに取り組んで問題を解くことはさながら推理小説で探偵が犯人を追い詰めることのようであるという比喩が見られる。
なるほど競技者は自らの頭脳と七つ道具を武器に、僅かなほころびと微かなヒントからフラグという名の犯人を見つけ出す行為に似ている、そういう側面もあると思う。
であるならば、その問題の出題者は、犯人あるいはその事件そのものを仕立て上げたミステリ作家になぞらえられそうだ。
ミステリ作家がどのように作品を、そしてその作品の根幹をなす謎を作り上げているのかは寡聞にして知らないが、もしCTFの問題を作る行為もそれになぞらえるなら――
例えば
- こういう解法で解ける問題にしよう、と決めてその解法が有効で、かつ他の方法が有効でないような穴を開けつつ問題設定として無理がないようなサービスを作る行為は
- 意外なトリックを考え出し、その犯人を決めて、僅かな痕跡を残し、他の人間には犯行が不可能なように行動させ、そのトリックが必要になるような舞台をこしらえること
に相当するだろう。
そしてまた、
- とりあえずそれらしい課題を考えて、解ければそういう問題として出すという行為は
- とりあえず舞台と死体を用意して、矛盾なく、またそれが唯一の解となるような解釈を導ければ、それを作品に仕立て上げること
に相当することになる*1。
こういうことを繰り返していくと、どんどんこなれていって、大体こういう感じでサービスを用意しておいて、こういう感じで穴を開ければいい感じの脆弱性になるので、ちょっといじってフラグの取得までの道筋を見えにくくする、みたいなことができるようになったりする。同様に、大体どういうものを舞台にして、どういう人間関係を配置しておけばこういう事件を起こしやすくて、解決のためにはこう……ということを考えるのが楽になったりするのだろうか。
こういうことを考えていくと、なんかこう、DEFCONは本格派の激重殺人事件とバカミスが出題されるけど、picoctfはなぞなぞとか作中の小事件が多くて、日常の謎が出題されるのはTSGCTF、みたいなことも考えられて楽しい
*1:そんな面倒なことをするミステリ作家がいるなら、だが……