初めまして!
Hardening 2024 Convolutions(以下本戦)において
チームはちみつことTeam08でチームリーダーを務めていた稲垣です。
本戦での選考アピールポイントに私が記載したことは、
【インターネット上や周囲の人たちへ今回の経験やストーリーを伝えていくこと】
出場させて頂いた恩に報いるため、筆を取らせていただきます。
※大会運営の皆様、この度は貴重な経験をさせて頂きありがとうございました!
大会結果は15チーム中3位を取ることが出来ました。今からは、そんな経験やストーリーを書きます。
①筆者について
IT経験6年目、SESにて特殊運用のSVや発注側のPMを経験しており
現在はクラウドサービスのリスク分析、評価を行っています。
上流側ばかりであり、手を動かす経験が少ないということですね
(これから頑張ります。。。)
本戦は今回が初参加(HardeningならびにCTFなども含めてセキュリティの競技会も初)
でチームリーダーを務めました。
②大会について
Hardening競技会をとても簡単に説明すると
ECサイトを衛る大会です。他の大会と違うのはECサイトが稼働しており「売り上げ」を攻撃から衛ること
そのため非IT業務者などエンジニアではない方々も活躍の場があり、学びが多くあります。
もちろんDNSやWindows、コンテナなどの環境もあり、エンジニアも実ビジネスでのインシデント体験が出来ます。また疑似的な会社経営ですのでCEOやCISOがいます(後ほど役割決めで出てきます)
テック(IT業務者)がビジネスを学び、ビジネス(非IT業務者)がテックを学ぶ、そんな競技会です。
③出場した経緯
弊社のセキュリティ支援の顧問より、本戦について紹介頂きました。
インシデント対応の経験が無い自分にとって、良い機会だと思いました。
しかもボコボコにされて沢山経験が積めるなんてラッキーだ!と勘違いしていました。
結果として、絶望とは何かを大会当日に知る事が出来ました。
…ワクワクしてきますね!※参加者が絶望に陥った時、★メンターが参加者へしていた声掛け
★メンター
本戦に複数回参加経験があり、豊富な実績を持ち、参加者を助けてくれる人たち
ほんっっっとにお世話になりました!!いなかったらどうなっていたことか。。
④チームの話
チームは全員で7名、うちIT業務未経験者が3名(社会人1名、学生2名)
業務経験者は4名で(アプリケーションエンジニア、ネットワークエンジニア、CSIRT担当者、自分)
下は18歳から新卒、大学院生で経験者も40代以上はおらず、比較的若いチーム構成でした。
⑤リーダー選定までの話
まず大会選考の合格通知が出たと同時に即リーダー決めが始まります。期限は一週間。
その為、チーム全員を気合で集めなければなりません。
片っ端からメールで連絡して全員を集めてミーティング
アジェンダも用意して、準備完了!
稲垣「ところでリーダー誰にしますか?」
メンバー「いや、それは。。」
こういうの言ったら負けなんだと思いますね、言ったらダメです
リーダーになるしかない空気感となり、自分がリーダーとなりました。
⑥リーダーとして準備に行った事
まずリーダーとして考えたことは、チームの方針です。
どんなチームになりたいのか。。今までのリーダー経験等からこう思いました。
【大会が終わった時に、どんな結果であれ
このチームで本当に良かった!楽しかった!と思えるチーム】を目指そう
そして、大会終わった後も飲みへ行ける仲になろう!
飲み仲間も増えるし一石二鳥だ!と思い、この方針にしました。
この方針から私が行ったことは以下になります。
・やりたいこと、やりたくないことを聞き、役割分担を行う
経験を積むためにやりたくないことをするのは、良いことだと思います。
しかし方針は、大会後にやって良かった!と思う事
ならばメンバーの意思を尊重しようと思いました。そこで集計しました。
やりたいこと
-変身※Team08のSoftening Day参照
-ログ監視やサーバー類の復旧
-お客様対応
-インシデント対応など
やりたくないこと
-なんでもOKです(本当にありがとう。。)
-アプリケーションは苦手by稲垣
-ビジネス苦手
-テック無理など
これらの希望からお互いの嫌な領域を避けるため役割分担をしていきました。
テックをやりたくない人間をCOOのビジネス専任に置く
ビジネスをやりたくない人間をテック側へ配置する
テックは、インシデントハンドリングをやりたい大会経験者をCISOに置き
アプリケーション、インフラ担当で分担する(学生一人、社会人一人の各2名)
自分はCEOとして全体の統括をする
今思えば、この配置が早くできたことにより準備やチームビルディングを円滑に進めたのだと思います。
・メンターへ積極的に参加してもらう
チームはちみつは、毎週1回チーム定例会をやっていましたが、
何をしたらいいか分からないといった不安がある状態で定例会を行っても身にならないと思いました
(自分も含めて)
メンバーがやって良かったと思うためには、価値ある準備時間にする必要があります。
そこで今回から初導入されたメンター制度をフル活用しようと思いました。
DISCORD上の会話はメンター側へ全開放、
チーム定例では、ほぼ常に参加してもらいアドバイスを貰うように働きかけました。
こうすることでメンターの力をお借りして、チーム内の不安解消やスキルアップを行う事が出来ました。
※後から聞いた話によるとメンター側も最初は何をしたら良いか分からなかったそうでTeam08との交流が良いサンプルになったと伺っています。
・アイスブレイクの時間を作り、裏でサポートする
チームの準備を始めた当初は、
チームビルディングが出来ない!!どうしてなんだ!!と頭を抱えていました。
なんかギクシャクしている。。どうすれば。。
そこでメンターの方に相談したところ、こう言われました
「大会は、仕事ではない。だからアイスブレイクが必要」
アイスブレイクを取り入れるため、ミーティング最初に
先週あった出来事を話してもらうようにしました。
また集まれるメンバーで安くて美味しいお洒落な焼き肉屋へ行きました。
こういう時間を作ることで、メンバー内のビルディングを行いました。
またIT経験の無いビジネス担当者には個別で1on1を行い、
不安を聞いたり、タスク管理を行いました。
社会人が多くいるため、ミーティングに上手く参加出来ていない学生さんには
個別でメッセージを送ってフォローをするようにしました。
全員が、このチームで本当に良かった!楽しかった!と思えるように自分が出来ることをして
チームビルディングに取り組みました。
・その他
主に僕がやっていた事はこのような感じです。
あとは、公式本戦攻略本ののみぞうさんの本
を何周も読んだりしてチーム方針を考えたり、過去大会参加者の資料を元にタスク決めをしましたが、
どちらかといえば、優秀なメンバーに気持ちよく動いてもらう為のビルディングをしていました。
なので、今考えても具体的な事はあまり何もやっていないという印象があります。
⑦大会当日の話
16日の大会当日はオフィスエリア4名、リモートエリア3名でスタートしました。
リモートエリアは、フリーアドレス制で席が無くなっておりTeam13の方に厚意で移動して頂き、場所を作ることが出来ました(本当にありがとうございました!)
大会中の主だった出来事(絶望の時間)は以下の内容でした。
・インタビュー中のFW復旧
大会中は生配信しており、チームリーダーへインタビューの時間があります。
そのタイミングでFWの設定ミスにより、チームメンバーがECサイト等全ての管理画面に入れない事案が発生。正直、インタビューどころじゃないんだよ!と思いながら、インタビューを受けましたが
まさかのインタビュー中にFWの設定を修正したとチームメンバーが連携してきました。
冷や汗だらだらから、リアルな安堵の感情の様子を映した
大会中でも最もリアリティのあるインタビューだったと思います。もう二度とやりたくない
・二度のランサムウェア
大会中はECサイトがチームで3つありましたが、
そのうちshop3が午後に2回ランサムウェアを受けました。
目を疑いましたね、復旧から2時間後に同じ画面を見るなんて、運営おかしいです。
「All Your Web Page are encrypted」はもう二度と見たくない
ただですね、何故か脅迫者から要求が無かったので安心していました。
あれ?なんだ大したことないやと思っていたら
・メールに関する認識バグ
私たちのチームのメール受信数は20通でした。
他参加者の皆様、そんなわけないですよね?
そうDNSなどに何かしら設定ミスが恐らく発生しており、メールが届かなくなっていたと思います。
しかもLACさんの製品を使って内向けDNSにエラーがあるのを見ていました。
でも、私はこう考えました。
「あれ、脅迫メール来ないなんてめっちゃラッキー!優しいな運営さんは」
どう考えても私の頭がバグっておりますが、技術側やビジネス側の指示出し、連携で多忙であり、認識に狂いが生じていました。
※ビジネス担当の方にビジネスメール詐欺に引っかかるなよ!準備しろよ!と言った自分が
思いっきりハッカーである運営のメールへ返信していた事もここだけの話です。
⑧大会をやって良かったこと
・チーム方針の概ねの達成
大学院生のメンバーが別れ際に
「稲垣さんがチームリーダーで良かったです。次は別のチームで戦いたいです」と言ってくれたことは、本当にリーダー冥利に尽きると思いました。
メンバーからお世話になったとランサムウェアの本を頂いたり
稲垣さんをリーダーにして正解だったと言って頂いたり、
また大会最後の日に携帯の充電をし忘れたとき、最年少の学生さんが「大変お世話になっているので!」と充電器を貸してくれたことも本当に嬉しかった。
あとは、再びこのメンバーで飲みに行けたらチーム方針達成かなと思っています。
正直3位の結果より、この事が一番嬉しかったなと思います。
・やる気があり、力のある人たちとの交流
メンターの方も他参加者の方も含めて、ここまで意欲的に頑張る人達と交流する機会はなかなかありません。チームメンバーからも多くの刺激を貰いました。
GMOイエラエさんの担当者の方と話したり、過去大会を知るCTCの方と話したり
1つ1つの会話が本当に価値あるものだったと感じていますし、今後も大切にしていきたいです。
⑨大会で反省するべきこと
・メンター以外でのチーム外のものを上手く利用する(フルオープンのチーム情報やMP)
メンターの参画という点でTeam08は、他チームに一歩リード出来ていたと思います。
でも、1つのチーム、7人で出来ることは限られています。もっと外に目を向けるべきだった
例えば、唯一全チーム情報をフルオープンにしていたTeam04の資料を確認する、利用する。
そうしておけば時短やより進んだ準備が出来たのではと思っています。
今回1位のTeam07のリーダーと自分はTeam04のミーティングに参加していたのに、その有用さに私は気付けなかった。そこが勝負の分かれ目の1つだったと思います。
またMP
(マーケットプレイス、LACさんやGMOイエラエさんなどのサービス総称。WAFや人的サービスを大会中に購入することが出来る)の戦略をしっかりと考えるべきだった。
単純に購入するのではなく、上手く活用するにはどうすればいいかを考えるべきでした。
(設定変更代行などのサービスを使えば設定が必要なWAFもうまく使えたなど)
・リーダー自身の技術力向上
テック側との会話での理解が及ばないところがありました。当然領域が違う、得意分野が違うからとは言えますが、それでもテック側の話が理解できていれば、もう少し踏み込んだ落とし込みが出来たと思っています。例えばWEBページへのPUT禁止など。さらに言えば、大会での自分のアクションにテック側のサポートも組み込めたかもしれない。
リーダーを担当したので分かりますが、リーダーには良くも悪くも影響力があります。
テック側に良い影響を与えることが出来れば、もう少し大会の順位が良くなったのではと思います。
⑩最後に
とても良い経験とすばらしい出会いを頂くことが出来て
運営の方、メンターの方、MPの方、チームメンバー、ほか参加者の皆様には心より感謝しております。
このブログを読んだ方にも是非参加してほしいなと思っています。
大会中の絶望もそして今後の希望も一生ものになりました。
また成長した自分で大会に挑みたいなと思っています。
ここまで読んでいただきありがとうございました!
※大会中にテックメンバーへお勧めしたAyato Hardening
自分のチームはテックメンバーが全員行い、大変勉強になりました!
40分で終わる気軽なHardeningなので興味のある方はぜひ!!AYATOさんありがとうございました!!
あと、自分は時間が無くて体験していませんが、YUASAさんのお茶会Hardeningもぜひぜひ~ochakai-hardening