投稿日: 10/9/2025
2025/10/8~2025/10/10の期間で開催された、Hardening 2025 Invisible Divideに参加してきました。
※競技内容については、非公開のため詳細は記載しておりません
※記載している写真は、許可をいただいております
概要はこちら
大量のサイバー攻撃に対して、技術スキル・ビジネススキルを駆使して最終的な売上を競うチーム(8~9人)形式での競技です。
沖縄にて開催されました。
実際の競技は10/8に、競技後のレビューや資料作成が10/9に、各チームのプレゼンテーションおよび表彰が10/10で行われます。
日付 | 内容 |
---|---|
8/22 | 選考結果発表・挨拶(Discord) |
~10/6 | 準備期間 |
週に1回(土日のどちらか)、DiscordでMTGしました。
NotionやGoogle Workspaceで議事録などまとめてました。
平日は、競技で使いそうなコマンドのチートシートを作成しました。
私は、ある程度知見があるMySQL, Apache2を担当してました。
EC-CUBEの検証環境をAWS上に構築したりも...。
日付 | 時間 | 内容 |
---|---|---|
10/7 | 17:00頃 | 那覇空港到着 |
17:30 | ホテルチェックイン | |
18:00 | 対面での最終MTG開始 | |
22:00 | 対面での最終MTG終了・解散 | |
24:00 | 最終準備(コマンドチートシートや、事前配布資料の確認) | |
27:30 | 就寝 |
競技前日に、公開された競技資料をもとに近場の貸会議場にて最終確認を行います。
ちなみに、チーム全員での対面での初顔合わせでもありました。
競技で利用できる製品・サービス(マーケットプレイス)の選定や、ミッション(売上とは別にポイントとして課される)の役割当て、初動対応の手順確認等、決めるべきことや確認事項が多くて大変でした。
また、直前に追加されたとある競技仕様も含め、色々準備が不足していることもここで判明し、夜更かしをしてしまいました。
日付 | 時間 | 内容 |
---|---|---|
10/8 | 7:30 | はやめに会場へ出発 |
8:30 | 空手会館に入場し、環境準備 | |
9:00頃 | 競技開始 | |
17:00頃 | 競技終了 | |
19:30 | チームでの競技振り返り、Analysis Day用の資料ドラフト作成 | |
22:00 | 終了 | |
22:30 | チームメンバーと居酒屋 | |
24:00 | 解散・就寝 |
非常に眠かったですが、競技が始まり、各メンバーそれぞれの作業に取り組みました。
色々ハプニングが起きるのは分かっていたものの、競技8時間でかなり疲弊しました...。
しかしながら、「やるべきことはやれた」と、ある程度自信を持てるくらいの感触はありました。
競技終了後、貸会議場で競技の振り返りや資料作成を行います。
みなそれぞれの感想を共有し、称え合いました。
↓準備中の幣チーム
日付 | 時間 | 内容 |
---|---|---|
10/9 | 8:30 | 空手会館入場し、Analysis Day用資料ドラフトを作成しつつ、翌日のSoftening Day用プレゼン資料の作成 |
13:30 | Analysis Day用資料ドラフトを運営に提出 | |
15:00頃 | ビーチにバスで移動し、全体でネットワーキング開始(バーベキュー) | |
18:00頃 | ネットワーキング終了 | |
23:00 | Softening Day用プレゼン資料をチームで仕上げ・プレゼン練習開始 | |
28:30 | 就寝 |
前日ある程度資料を作成していたので、気楽に資料ドラフトを作成できました。
ドラフト資料はかなり文字が多くなってしまい、プレゼンテーション用に使用するには適していないと判断し、プレゼンテーション用の資料を別途作成し始めました(プレゼンター決めも)。
午後からは、ビーチに移動して全体でバーベキューを兼ねたネットワーキングを行いました。
スポンサー様からの豪勢なお酒の提供もあり、競技の慰労として最高でした。
↓みんなでパシャリ
日付 | 時間 | 内容 |
---|---|---|
10/10 | 8:30 | 空手会館入場 |
9:00 | Softening Day開始 各チームのプレゼンテーションと表彰 | |
17:00 | 終了、解散 | |
18:00 | 那覇空港に到着 | |
20:25 | 本来19:00にフライト予定だった便が遅延し、20:25フライトに | |
23:30 | 羽田空港到着 | |
24:00 | 急遽羽田空港ちかくのホテルを予約しチェックイン | |
10/11 | 帰宅 |
さて、眠い目を擦りながらもプレゼンテーション用の資料を提出し、いよいよ各チームのプレゼンテーションや表彰が始まります。
かなり夜更けまで資料のブラッシュアップや読み合わせを行ったおかげで、とても誇らしいプレゼンテーションとなりました。
運営側のプレゼンテーションでは、今回の競技の準備はかなりスケジュールがタイトだったようでした。
競技できて当たり前の環境と思いがちですが、限られた時間の中で、複雑かつ高レベルな環境を用意してくださった運営の方々の偉大さを実感しました。
緊張の表彰、結果は2/12位でした。
実のところ、チームメンバーとはかなり優勝の自信があったために、悔しい結果となりました。
ただ、優勝チームの勝因を聞く限り、結果には納得できるものでした。
原因を知れたのは大きな収穫です。
最後のエンドロールは非常に感慨深かったです。
全部Youtube生配信してました。アーカイブあります。
https://youtu.be/5-VYZ3N666E?si=GplF_iFL5EruEvvC
↓最後にみんなでパシャリ
実際に競技中に直面して、不足しているなと思ったのは権威・キャッシュDNSサーバー(BIND, Unbound)とActive Directoryです。
特にDNSは設定を間違えてしまうと、外部へのメールなどの送信にも影響が出るため、かなり対応の優先度としては高いことを実感しました。
ADに関しては、基本的な操作自体知らないのもあり、完全に他のメンバーに頼りっきりでした。
検証としてのAD構築は金銭面含めて若干ハードルが高いのですが、必ずと言ってよいほど攻撃者から狙われるため勉強の優先度が高いと感じました。
少し話が逸れますが、チームメンバーに自前で競技環境とほぼ同じ環境を構築して共有してくださった方がいました。
かなり有益だったので、ホームラボも兼ねて私も挑戦してみたいです。
今回の競技で、大事だと思ったのは「チームビルディング」でした。
どれだけコマンドのチートシートやインシデントレスポンスフローの準備をしていても、競技中は想定外なことや、そもそも大量の攻撃への対応で混乱が発生するのは必至だと思います。
そうした混乱をどれだけ最小限に抑えられるかは、いかにチームとして結束しているかに依存しているのだと感じました。
理由としては、私のチームも万全な準備ではなかったものの、競技中ではなんだかんだ各メンバーがそれぞれの作業・報告等をしっかりと行い、不明点は対面ですぐに聞きに行けるくらいの間柄が功を奏し、2位という成績につながったと思うからです。
もちろん、事前準備はとても大事ですが、有事の際の役割の割り当てや進捗の確認は、優秀なリーダーだけではなく、それに応えるメンバーとの相互理解が重要だと感じました。(実際、セキュリティ部門やCSIRTも1人ではなくチームですしね)ただ、チームとして成功する具体的な術やノウハウについては全然分かっていないため、今回の経験を通して分析する余地がありますね。
そして、なにより楽しかったです。全員初対面のメンバーでしたが約1ヵ月半を共にし、最終日別れるのがとても寂しいくらいに、笑いあい、助け合い、一緒に戦うことができました。これからもHardening以外のイベントなどで再開するのが楽しみです。
運営の皆さま、相談員の皆さま、チームの皆さま、参加者の皆さま、Hardening Projectに関わるすべて方々に感謝申し上げます。
8月の下旬から10月上旬まで、大変なことがたくさんありましたが、無事に競技を終えることができたことに安心しております(遠征もあまり経験がなかったため...)。
私自身、あまりチームでなにかをやり遂げた経験がないため、今回のHardeningでチームメンバーと最後までやり切った思い出は、恥ずかしながら私にとっての遅めの青春となりました。
私のかねてからの参加理由である、「Hardeningの普及の一助」として、ブログといたしました。
少しでも来年参加を考えている方々の背中を押せるのであれば本望です。
ありがとうございました。
↓スポンサー企業様や運営からのいただきもの
まだコメントがありません