Hardening 2024 Convolution参加記(感想編)

2024年10月15日から18日まで行われたHardening 2024 Convolutionに参加してまいりました。

Hardening Project |

結果から言いますと、グランプリを取らせていただきました。
そんなこんなで終わったHardening。準備期間から終了までの個人的な感想編です。
用意したものについてはまた別で書こうかなと思っております。


参加を決める

今年は沖縄開催なのでまあ参加するのは確定でしたね。
経費もほぼかからないので会社としてもオッケーだったということですね。


チームが決まる

8月16日にチームメンバーが確定。今年は1チーム7人の15チームとのこと。 メンバー少なめだなと思いましたが、個性豊かなメンバーが揃いました。

ただ、参加した方々が忙しくうまくタイミングが合わず。チーム名や自己紹介動画作成がうまく進んだかというとそれほどの手応えもなく。 正直なところ不安のあるスタートになりました。


準備期間の葛藤

経験者はどこまでの情報を教えるべきか

そして準備期間。私は過去の参加者だというプレッシャーと沖縄から参加という地の利を活かせねばというプレッシャーに悩まされておりました。

競技というからにはある程度の攻略法というものが存在するわけですよね。
去年からそこまで大きく変わらないだろうというのは間違いないわけですから、そのへんを重点的にチームメンバーに教え込めばきっと当日はよりスムーズに動けるのではないかと思いました。
ただ、このHardening競技会の意図として、攻撃されることへの対応というのがあると思っています。すべてを防げることがベストではないという感じですかね。だからこそビジネス側のタスクが存在していると思ってます。そうなってくると「攻略法」を伝授して攻略してもらうことが、この競技会で得られる学びなのかと言われるとそうでもない。

さてどっちにするべきかというのを、ずっと悩んでいました。それはもう当日まで同じように悩んでいました。

結局のところは、いい感じのバランスでやっていこうと決めたんだけど、それでも当日まで悩んでましたね。


準備期間の動き

全体的な準備と情報共有

さてさて。 じゃあ準備期間に何をしたのかと言われると「まずは過去情報を何度も見て読んでくれ」と伝えて、実際にそれをやってもらった感じです。
そこから「自分が何をするべきなのか」「この競技会はどういうものなのか」を理解してもらうのが大事だろうなと。

そしてその競技会についてどう向かい合うのか考えるというのが、Hardening競技会で最大の学びを得る方法じゃないかと思ったのです。
まあこれは半分成功で半分失敗だったかなと思っています。そのへんは後ほど書こうかな。


Biz側での準備と反省点

チームはDevとBizに分かれて対応するというお話になりまして、今回Devが多かったのでBiz側で参戦しました。

Biz側の準備としてはとりあえず過去資料を何度も読んでくださいというのと、そこから「ビジネスのワークフロー」を書き出してくださいということをメインにしてました。 何かあったときにDevに対応してもらうとしても、これが止まったらなにが困るのか伝えるべきだという考えでそれをやってもらった感じです。
タスクとしてふるというよりも、学習してもらうということで放置プレイしてしまったというのが、今回の半分失敗の1つですね。もうちょい意図を伝えるべきだったかなと思っています。

あとはビジネスの大事さがうまいこと伝わってなかったのも反省点ですね。セキュリティと言うとなんとなくサーバでバリバリ頑張ろうというところがキラキラしてるんですが、その上にあるビジネスこそが会社としての本筋だということをうまく伝えられていませんでした。
そのために、ビジネス側の方々がDevのやっている内容や学習をしていて、Bizのタスクが残りまくってました。
まあこのへんは実社会でも一緒なんで、どっちもがんばりましょうねって思ってます。

お試し環境を用意する

チーム全体としては、私の自宅に構築した環境でOpenVPN接続やWordpressの管理画面操作、あとはAyato-hardeningをつかったDevチームのメンバー間連携の演習などなどをやっておりました。この辺はよかったんじゃないかなー。オンプレおじさんなので自宅に作って、そっから先は課金なしなのは気が楽だったので。

そんなこんな淡々とたまには熱く準備を進めておりました。

==

とつぜん降ってわいたJVとは

前日資料待ちかなと思っていたところで、JVなるものをやるよというお話が降って湧いてきました。
3チーム合同でどうこうするぜーみたいな話だったんですが、私はこの時点で「増えるのは1台だからそこまで人は回せないよね」という考えでした。

まあ当日はそんなこと言ってられないぜーとなったとしても、まずはそういうスタンスでしたということです。
ちなみにうちのリーダーは「こういうことがあると最初に動くはずの人に動きがないけどどういうことだろ」と思ってたそうです。まあそこまで慌てることではないなと思いましたし、ボードゲームやってる最中に情報を知ったので一旦放置していたってだけなんですが。

JVミーティングでは、1人専任をだすべきだ等々の議論が行われていましたが、とりあえずわたしのスタンスは途中で説明させてもらいました。
最終的には専任メンバーを置いて分担作業するって感じにまとまってましたね。こういうのは船頭が多くてもどうにもならないので良かったと思っています。


Preparation Day

さてさて前日。前々日は飲み会に参加して、さらに前日午前中は仕事してたのでそこそこヘトヘトでした。
前日の会議室については、私の方で知り合いにお願いして押さえた場所があったので17時からそこで開催という形でした。


貸していただいたのは「サイコロ堂」というボードゲームショップ。借りたのは倉庫なのですが、店舗が那覇と北谷で2店舗。
ボードゲームのプレイスペースと販売を行っているショップです。
ボードゲームショップ | サイコロ堂


会議室借りても良かったんですが、時間制限等々があるのでそういうのがない場所のほうが実はサクサク終わるんじゃないかなという考えでした。
とりあえず私は資料読みまくっていたので、前日資料を読むのもサクサク進めて翌日に使うリストの作成を行い、さらに周りのメンバーからの質問にも答えつつ、前日の作業を淡々とこなしておりました。

良かったなと思っているのは、 URLリストをブラウザのお気に入りに落とし込んだこと ですね。
あれがあるとアクセスが便利でしたが、もうちょいわかり易い名前でとうろくしてあげればより使えるものになったかなと思っています。

今回から導入されたHardeningに慣れまくった達人の「メンター」の方々が訪れたのが23時頃。アドバイスとしては「寝ろ」「寝るな」の意見が対立しておりましたが、ちょうど作業がだらけてきたところだったので、いいアクセントになりました。ありがとうございます。

会議自体は24時ころに終了して帰宅になったわけですが、一部のメンバーは夜明け前まで事前作業を続けていたようです。若さ。


Hardening Day

さて当日。チームが2つのエリアに分かれると聞いていましたが、まあ数10m程度の距離。
いつものようにふんわりと開始され、私はちまちまとウェブUI系のパスワード変更に勤しんでおりました。たしか午前中はほぼそれで終わり。

午後になってちょろちょろというかガンガン攻撃されるようになってからはそうも言っていられてない、ビジネス側はウェブを触ることが多いので気がつくことが多い。
そしてそれを正確にDev側に伝えないといけない。もうこれは動くしか無いなということで、そっから先はずっとBizエリアとDevエリアを動き回り、状況を伝えて対応してもらうというのをやっていました。そのため、私がHardeningでなにか残るような実績があったかというと難しいところです。
でもあれですね、こういうブリッジみたいな人はひとり必要だなというのは実感しました。どこかのチームはリベロと表現していましたね。

まあそんなこんなで当日終わりです。


Analysys Day

さて振り返り。とはいっても、12時半までにはなにか出さないといけないということなので、朝の5時ころに置きてたたき台を作ってました。

あとはチームで集まった際にそこに必要な事項を埋め込んでいくという流れ。これは良かったんじゃないかなと思っております。

そしてハーリーとBBQ
おおくのひとと交流できたかしら。やらかしてないかしらというのが不安点。


Softening Day

えー、優勝しました。ありがとうござます。

チームに関しての私の感想はDiscordに長々書いたものを流用します。


1.Windows Serverを触れる人がいた

Hardeningに来る方々はどちらかというとLinux/Unixに寄っていると思いますが、今回のチームにはWindowsServerが触れる方がいたのが大きかったです。
他チームの方々が右往左往していたランサム被害に合わなかったというのも大きかったと思います**。

2.技術チーム側のコミュニケーション

チームに同じ会社から3名の方が参加していて、1名はJV担当で残りの2名がチームのサーバ担当という振り分けでしたが、やはりゼロからコミュニケーションを構築していくのとは異なり、スムーズなコミュニケーションが行えるというのはこれまた大きい。
そこまでチームビルディングでできればいいんですが、そうもいかないのがHaedeningの難しさ。そんな中で本戦中にもスムーズなコミュニケーションが行えたのは大きかったです。

3.学生リーダーが雰囲気を盛り上げてくれた

本人はそういう認識がなかったかもしれませんが、本戦途中からスコアを見て「いけるかもしれない」というテンションで頑張っていたので、こちらも鼓舞されたものがあります。
学生ならではのミス(これは私のミスでもありますが、詳細はSofteningDayの川口さんのネタバラシを)もありましたが、値下げによる売上アップではなく「人気レベル高いんだから、値段高くしても売れるでしょう」という発想で早い段階で値上げをするなど、学生だからこそのノリで盛り上げてくれたのはありがたかったです。

4.ビジネスと技術を横断的に理解している人がいた

これについては自画自賛ですが、過去資料を読みまくってビジネス側も技術側もある程度理解して本戦に望みました。
そのためどっちもある程度わかっていたので、サービスでなにか発生した際にはビジネス側で発生した事象をできるだけ詳細に技術側に伝えることができたと思っています。
サービス監視をしていなかったため、常に何かしらを触っているビジネス側で障害検知する可能性が高く、それをいかにして技術側にスムーズに対応してもらえるように伝えるのかは重要だなと実感しました。

5.かゆいところをフォローしてくれる方がいた

バタバタしてる中でもどっしりと構えて、スクリーンショットの取得やメールの返信などを着実にこなしてくれている方がいたのもよかったですね。技術的なノウハウがないとしてもビジネスを進めていくうえでは必要なポジションです。
ここはやってもらってるなという安心感があるので、他のことに注力できたところもあります。

6.JVにがっつりついてくれた

正直JVに関しては「3チームで1台増えただけ」だとは思ったんですが、それでも次から次に来る攻撃等々に対しての対応、初期対応などは思った以上に時間がかかったとでしょうし、数日でそこまでの意思疎通をはかって対応するというのは難しかったと思います。
実際にはただの1台ではなく、協業による1台をしっかり守備範囲決めてやるのは、本戦でのサーバを衛ることよりも難易度は高かったと思いますので、そこに注力してしっかりと結果を残していただいたのは感謝しかありません。


これから

さて終わりました、じゃあこれから何していくのかというとそこが大事な気がします。
とりあえず今回の反省点を上げてそれについての理解を深めたり、他チームのやったことを確認しながら次に…次参加するのかは置いといて、次に生かせるようにするとか、色々あると思っています。正直なところ去年はそれができていなかったと反省しています。

Hardeningの本戦が終わっただけで、セキュリティの何もかもが終わったわけじゃないので、いったん呼吸を整えてこの先に向けて動こうと思っています。

とりあえずここまでー。技術的なとこというか、まあ細かい話はまた後で書きますわ。たぶん。