2022年からこのブログやCTFを振り返って

cve-2021-4034で使われてる手法をどこかに書こうかなということを思い立ち、自分がこのブログをやっていた事を思い出して、見返すとCTFのwriteupが2019年で止まっており、まだまだnewbieだった頃の記事に感慨深い気持ちになった。

CTFで競技者としての振り返りと反省

本格的に解けるようになってきたのが丁度この頃だったが、まだ初心者向けの大会で上が取れるくらいで、そのあとに修練を重ねて2020年の終わりで競技者としてはピークを終えたと思う。(競技者として、ということを書いたが現段階で正社員としてセキュリティ系の職についたことはないし、活動としてはたまに脆弱性を報告したり修正したりexploitを読んだり出題してる人間)

 

CTFは問題が基本的に難しく、1問で20位くらい(というか大体はもっと)順位が変わってしまうので二桁の中だと結構いつも接戦であり、実力としてはわりと誤差の中になってしまうことも多い。

 

それでも勝ちと負けはある。だから結構誤差だとわかっていても、勝負で順位というものは重いし、アベレージで負けるならやはりアベレージな弱さがある。

 

そういう前提はわかりつつも、どうあがいたって自分にはCryptoを短時間で解ける能力はないし、正直な話あまり興味もあまりないので、不得意をごまかしながら基本的な勉強はwebとpwnに振りつつ全部の分野を少しずつ勉強して拾ってきた。

 

2020年後半の順位の差は、Cryptoなどの比重が高かったり、問題数が多すぎたり、そういう苦手によってしまうことで発生していることが多い。数奇なことにチームが全員Cryptoあんま得意じゃないからチームで出ていてもそこは変わらなかった。

 

そういう前提でいつもあと一問でtop 10ということをやっていて、結局の所いつもそうなんだから、見た目よりもずっと”あと少し”では無いんだということを納得しつつある中、19位を取って、10という数字に区切りを感じてしまった。

それに開発などの勉強もある中で、競技だけに特化することは難しくなった。

 

興味という点でも、その頃はCTFの技術を脆弱性の報告などに応用することができるようになってきて、現実の脆弱性のほうが面白くなってきてしまい、競技のことばかり考えられなくなってきたという面もあった。

 

根性論は忌憚される世の中であっても、なんだかんだモチベーションというのは勝ち負けのギリギリの部分でかなり影響があってCTFはレート分けなしの世界大会が常であり、48時間徹夜するとかをしていたので自分には重い問題である。

 

例えとしておこがましいことは承知だが、特殊部隊だって愛国心がなかったら結構弱くなるわけで、ポテンシャルというのは理論で出し切れるものじゃないなんていうことは結構了解されてると思う。まあ押し付けるのは悪だろうがそれは別の話

 

ともかく、有名じゃないCTFではあるものの、ハイスクール向けとかCTFtimeにないローカルなものを除いたコンテストで、19位という順位は自分にとって重要だったのだ。

 

マイナーコンテストで強豪チームが出てなかっただけ?うるせえお前もこの順位取ってみろや。

 

普段はチームとして出ていて、Ciruelaさん、Tda_Adopさん、Maruさん、proxyさん、pwdさん、Teppayさん、きなこさん、今ではTSGとして活動しているsmallkirbyさん、tokaさんなど(2021年からのメンバーだとRyotaKさんなどもたまに顔を出したりしていた)の協力がある戦績ではあるが、KipodAfterFree CTF 2020に関しては一人で取ったスコアである。

 

CTFtime.org / Contrail

 

こういうことを書いていて思うことは、CTFは少なくともチームで出るときにはチームの競技であり、ジェネラリスト的なスタイルは結構気を付けなければチームにとって悪影響を及ぼすということだ。

 

2020年の終わりに一人で出たのは、チームとして脱退(きなこさんは脱退し、チームを立ち上げている)やアクティブ率が下がったからという面が大きい。

原因は結構自分だろう。

 

Contrailでは誰が何点取ったということについて、writeupを書くという行為でポイントを出してうまくやっていたが、解く問題数や複雑さによってwriteupを書くコストが上がるとそういうことも難しくなった。

 

あと私が元気すぎて、結構色々な問題を拾ってしまっていて見た目のスコアでかなり割合が多くなってしまった。pwnは特に問題が難しくなりすぎて、自分が得点を取りがちでもあり、pwnerが重複しているチームとしてはモチベーションを下げてしまっていたかもしれない(一時期自分が教えておいてpwdさんに追い抜かれたので実はかなり気合を入れ直してやっていた)。

自分では解けなかった問題もあったし、そもそもある程度の難易度でflagを入れる偉さに差はない。それに一人で出てしまえば他の人が取れた問題も結構あっただろう。

 

弁明をしておくと自分としてはとにかくポイントや順位が欲しく、少なくともチームとして勝つ努力は常にしていたということで、フォロワー数とかSNSやってるかとかで発信に差が出てしまうことに気をつけるべきだったのかもしれないという部分である。

 

チームとして出るならあくまでもチームとしてのスコアであり、出来た時より、出来なかった時の押し付け合いというものが重要だったのだろうということを社会人として働いてからは思う。

 

メンバーがこのブログを見てたら、まあその点については反省していますということは伝えたい。

 

でもチームでやるCTFはスプラトゥーン的で楽しいからそういう気持ちでやらん?スプラトゥーン友人の家でしかやったことないけど……

 

過去の記事や時代の変遷を振り返って

ブログのwriteupを読み返すと、今からすると結構カスだなと思うことばかりだ。でもgoogle ctfでphpのpop chainが1 solveだった時代なのだ。まあ全員それなりにレベルが低かったし、そこから勉強していって今があるわけで。

 

angrやghidraがマイナーだったり存在しなかった時代でのreversingは大変だったなあとか思うし、heapについて何一つわかって無くてもpwnがある程度解ける時代でもあったなあと思う。

 

”補助するドキュメントやツールが増えてCTFは簡単になったのだろうか?”ということは、難しさの種類が変わったのかもしれないと思う。

 

今はpwnはrevと表裏一体であった時代と違う。

オフェンシブなセキュリティが業界として需要が出て、良くも悪くも資本が投下されるようになった。

 

まず顕著なのが防御が強くなったために現実的想定の難しさや出題のセンシティブさが結構上がった。

 

そして問題の質が変化した。昔のprizeなんてのはもっとしょぼかったわけだし、かなり治安の悪い問題も多かったし、まあオタク的であった(オタクを売りにしていたhtbの問題は最近なんだかなあって感じではある)。

カンファだったりも、blackhatの発表はもっと刺激的な内容だったしssrfやprototype pollution、sstiなどの積極的な手法化(名称自体は2015年とかもっと前から出ていた)がかなりリアルタイムに出ていた頃からすると、そういうのが出なくなったと思う。

 

やり尽くしてしまったのか?まだそうは思わない。ランサムウェアだったりIoTとかだったり、現実世界で影響力を持ってしまったために実践的である部分には世界的にどうしてもオープンにすることへ抵抗感が出てしまったし、まあ抵抗なかった頃がおかしかったんだと思う。

 

感覚として、殴り合いからボクシングになったような変遷を感じる。もちろん未だに中国のコンテストとかは殴り合いくらいの治安であったりするけれど。

 

殴り合いとボクシングはそれぞれ別個に価値があり、結局競技にしてしまえばある程度特化したアスリートにならなければならないのである。

そういう面で、今だって順位には絶対に価値があるし、競技の中での優劣というのは勝ち負けでしか語りえず、とにかく自分が今勝つことは、体力的な衰えも含めて難しくなっただろうと思う(まだ25だけれど、気合を持ったまま徹夜するのはキツくなてきた)。いつの時代も勝つやつは勝つということが凄い。

 

どう出場者が変化しようと、問題傾向が変化しようと、世界レベルはいつだって世界レベルで、グローバル人材になるならグローバルに勝つということはわかりやすく目標になる。だからグダグダ言い訳したってとにかく自分より上のやつらは偉いという部分については異論がない。

 

ところで最近新しい日本チームが引きこもりがちなことに少し懸念を覚える。国際的なCTFに出ようぜ。タコ殴りにされて0点をとりまくろう。

セールスをしてみると、CTFはパズルに見えるような問題であってもかなり現実が前提となった出題なので、開発職でも結構知識が役に立つし、OSSの糞デカコードを読まされたりする経験も半端なくためになる。

 

フィジカルが根本としてある部分を抜いて本気で勝ち負けをすることは現代では受験くらいつまんないことしかなく、やっぱ勝負は楽しいし、どんな方法でも、どんな大会でも、世界と言える場で勝つことは結構人生において価値を感じられる行為だと思う。

 

あと同じ廃人ならオンゲ廃人よりは悩みが少ない。

自分は結構オンゲとか音ゲーやると際限なく頑張ってしまうので、自主規制しているけど今でもまあたぶん楽しめるだろうと思う。やりすぎる性格でそういうことにハマると人生がつらくなりがちなので……

 

何の文章だったのだろうかというのは謎の記事だけど、ここはブログだしそういうもんだよ。

 

言うまでもなく上の文は主観の塊であります。