ふるつき2

裏ブログです。うそです

CSAW CTF Quals 2021 / RCTF 2021

CSAW CTFといえば歴史の長いCTFで、特に初心者向けという噂だった。私がCTFを始めた頃には既にそうで、とりあえずと思って挑んでみたがよくわからないまま撃沈した気がする。それでは今はどうか。あまりおもしろいと感じないCTFになってしまった。典型問題をいくつも解いた末にやっとフラグが手に入る問題や、50個のformat string bug pwnを解いて初めてフラグにたどり着ける問題などが出題された。やるだけではあるがあまりにも面倒すぎるし、取り組む意味を感じられない。

今回のCSAW CTFでは、perfect blue, dicegang, CryptoHackといった名だたるチームや組織が問題提供としてpartenerに入っていたので期待していたが、彼らは本当に問題提供だけをしていて他にどのような問題が提供されるかは見ていなかったらしい。彼らの提供した問題は面白かったが、OSIRIS Labの学生が作ったという他の問題についても確認していただきたかったところだ。それらの問題はCTF初心者にとっては、そういった参加者は他にもっとよくできた初心者向けの典型問題が存在することを知らないが故に面白く感じられたかもしれないが、ある程度以上の知識をもった参加者にとってはひたすら面倒でフラストレーションがたまるばかりに思える。初心者向けの問題ではあるものの中級者以上にとっても面白く感じられる問題や、そこまではいかないまでも取り組むくらいならなんでもない問題を作ることだってできるはずなのだから、特にCSAWのようなネームバリューがあってお金のかかっているCTFでは頑張っていただきたい。特にCTFという競技では時間をかけて解く問題も多くあるわけで、一つのくだらない問題によって生じる面倒さというのは、おそらく出題者が想像している以上に大きい。

ところであまり良い話ではないけど初心者であればこういう問題セットは楽しめるというのであれば、うまく初心者にやってもらうことはできないだろうかということを考える。こちらは本題ではなく、要するにCTFチームの中でちゃんと代謝ができたほうが良いのではないか、という話である。今の我々のチームではそれぞれに精進の余地を残していることは間違いないが、一方でそれぞれがある程度以上のレベルの実力を有していて、初心者チームとはもう名乗れなさそうであることも間違いない。

初心者らしき人が一人もいないというのは我々の老害化をうまく止める仕組みがない・もし誰かが引退したあとチームの力が向上するのが難しいなどの問題をはらんでいるように思える。このあたり、学校や会社の部活動でやっているようなCTFチームであれば毎年代謝が起こるのでうまくクリアできるのだろう。我々は組織からの引退によるチーム脱退というリスクは抱えていないが、チームに新しい風を取り込むためには誰かをどこかからスカウトしてくるか、あるいは向こうからこのチームに入りたいというアプローチをしてもらうしかない。チームという単位で考えてもCTF界隈全体で考えても、後進が育成されるような仕組みがあったほうが良いことは間違いないだろう。もっとも、CTFは非常に個人の技能によるところが大きい競技かつ、大人数の面倒を見るのは難しい競技でもあるのでよっぽどうまく仕組みを作らないとスポーツの強豪校のようなブランドを確立して毎年強いチームであるということはとてもむずかしいだろう。

突然思い出したので別の話題だけど追記。先にも上げたとおりCSAW CTFは歴史ある有名な大会で参加者も多い。1点以上獲得したチームは1216チームある。DEFCON Qualsでは433チームだったからCTFの中ではかなり巨大な方と思ってよいだろう*1。CTFで参加者が多くなると不安になるのがスコアサーバのレスポンスだが、CSAWはあまり良くなかったようで、度々サーバが500を返すようなことになったり、一部の問題が停止していたようだった。CSAW CTFではCTFdを採用していたが、CTFdも随分改善されてきた印象があるとはいえ大量のアクセスを適切にさばくのはやはり難しいらしい。どうすればCTFdで1000チーム以上の参加をうまく扱えるのか、またCTFd以外ではどのようなスコアサーバが選択肢に上がるのかはCTFを開催するときには常に検討したい*2

今週末はもう一つ、RCTFが開催されていた。WMCTFのことがあったからXCTFで何かしらの改修があってCTFに参加できるチーム数に制限がかかったりしているのではないかと心配していたがそんなことはなく、普通に参加することができた。しかしいつものようにXCTFではあるチームから抜けたユーザはその後48時間は他のチームに参加できないので、チームメイトの幾人かはフラグを自分では提出できなかった。どうにかしてほしい。

RCTFではCryptoは2問だけ出題された。同じような問題設定だったがそれぞれ解き方が違っていて、しかも面白くできていたので良かった。いっぽうでCrypto以外のジャンルの問題は5問〜だったのに対して、CryptoはBlockChainとあわせても4問しかなくカテゴリごとのバランスという点で良くなかったと思う。しかしこれはうまい問題がつくれるかどうかというところにかかってきてしまうので仕方なくもある。どうしても作れないときは作れない。それにしてもこれではあまりチームに貢献できず申し訳ない気持ちになる。やはり空きがちなMiscやRevをやるか。しかし大変という印象がありあまり積極的に手が伸びない……

*1:ちなみにzer0pts CTF 2021は951チームが1点以上を獲得している。こう考えると多い

*2:実際はCTFdのインスタンスを巨大にするか複数建ててロードバランスするしかないだろう。また他のスコアサーバの選択肢はrCTFくらいしかない