ブログ未満のなにか

ブログなのか誰にも分からない

Trend Micro CTF 2017 - Raimund Genes Cup - The Finalの感想

hamaです。TokyoWesternsとしてTMCTF Finalに参加しました。今回はwriteupではなく感想と愚痴です。僕の感想を箇条書きにすると、

  • 今年のTMCTF Finalは良くなかった
  • 全体を通して、問題がCTFとして面白くない
  • 本当にverifyしたのかと疑うレベルの杜撰な問題を出題しないでほしい
  • TMCTFとは関係のない他所様のサービスやサーバーに依存した問題を出題しないでほしい

以上で僕の言いたいことは終わりです。なので以降は適当に流してください。

なぜそう感じたのかを理由を書いていくと、殆どの問題に無駄なところでguessing要素が多かったです。問題の本質ではないところで躓くことが多く、技術を競うコンテストであるはずのCTFでguessingが必要な問題は害悪でしかないと考えている僕にとって今年のTMCTF Finalは苦痛でした。得点状況を見ながらヒントを随時公開してくれたことは有難かったのですが、そもそもヒントがないと解けない/意図が察せないことは、問題の作りが甘い証拠です。少なくとも予選を勝ち上がったCTFチームが5時間取り組んでsolve0だったら作問ミスを疑うのは自然ではないでしょうか?(1チームが解けるかどうかの難問は話が別です) それに地味にヒント中のツールのURLがNot Foundだったりと最高でした。あらかじめヒントを考えていた旨を運営から聞きましたが、それぐらいの確認はして欲しいです。CTFをやっている人間は技術を競い合うのが好きな人間で(少なくとも僕はそうです)、想像力を働かせて手当たり次第に試すようなコンテストはやりたくありません。やりたい問題は自然な思考に則った技術的な問題です。この辺りが本当にverifyしたのかと疑いたくなる理由です。作問者の想定解通りにやればフラグが得られる程度の確認は不十分です。何も情報がない状態(参加者と同じ状態)からフラグが取れるかどうかまでをテストするのは当たり前です。(これが実際はすごく大変な作業であることは自分たちのCTFを開催しているので理解しています。しかし開催する以上やるべきでしょう)

それにCTFとは全く関係ない外部のwebサービスを使う必要はあったのでしょうか? 静的なhtmlとphpファイルが1つしかないブログで、他所様のブログサービスを使う必要はないはずです。 その程度だったらローカルでwebサーバー立てるか、vpsもしくはクラウドサービスを使用して運営が管理するサーバーで良いはずです。 OSINTという情報が合っているのかどうか確証が持ちにくいジャンルでパスワードを当てる問題だと辞書攻撃をするのは当然の流れで、TMCTFとは関係ないサーバーにブルートフォースすることになるのは倫理的に厳しいです。 また、他の問題で使っていた外部サービスからはBANされて、そのままでは問題が解けない状況になるのは、有り得ないです。

ここまでかなり批判してますが、僕はTMCTF Finalを楽しみにしていました。前回参加したチームメイトから「去年のコンテストはよかった」と聞いていました。信じた自分がバカなだけですが、それでも同日開催のAVTOKYOに行くよりも絶対楽しいだろうと思っていました。蓋を開けてみたら、まぁこの有様です。期待していた分、失望も大きいです。これが初めて開催する名も知られてないようなCTFなら、「クソCTF」と一言twitterに書き込んで終わりですが、Trend Micro CTFは今年で3回目です。今までのノウハウやフィードバックがあったはずです。本当に残念でした。

参加者が求めているものと、運営が用意するものに大きな隔たりを感じているので、これを埋めない限り良い評価は得られないと思います。CTFTimeのvotingのコメントでフィードバックは得られるので確認して欲しいです。 来年開催するかどうかまだ分かりません。ここまでボロクソに書いておいてあれですけど、僕個人としては「金輪際参加しない」とか見限るつもりはないので来年も楽しみにしています。来年は予選も含めて賞賛されるCTFを開催して欲しいです。

TMCTF運営が見るかもしれないので、参考になりそうなものを置いておきます。是非読んでください。強豪チームのPPPが書いたCTF開催者向けの資料です。 docs/suggestions-for-running-a-ctf.markdown at master · pwning/docs · GitHub