💠

[H2025ID] Hardening 2025 Invisible Divide 参加体験記

に公開

1. はじめに

Hardening 2025 Invisible Divideに参加してきた。
自身の振り返りも兼ねて、参加体験記をまとめる。

1.1. 前提

  • 参加は2回目。前回はH2023Gに参加。
  • チーム4 QuadLinkにて参加。9人チーム。
    • メンバーは自分以外の8人が初参加。
    • チーム名由来は、メンバーの所属で4グループに大別できたため。4者が連携・Linkし、見えない分断を越えるチーム。
  • 8/22 選考結果発表、10/7 沖縄入りにつき、実質1ヶ月強の準備期間。

2. 準備

2.1. チームで行ったこと

チームでの集まりは、週2で開催していた。
個別の準備タスクや対応・相談は、Discordチャットの会話ベースで進めた。

日付 行ったこと
8/25(月) キックオフ, リーダー/チーム名決定
8/29(金) チーム紹介PV提出, BreakingOut(全体)
9/2(火) H2023G 参加経験共有
9/4(木) 役割(暫定)の決定
9/9(火) 過去資料読み合わせ
9/11(木) 準備内容ブレスト
9/16(火) 想定インシデントの書き出し(相談員さん参加)
9/18(木) NW構成図読み方解説
9/25(木) 競技会しおり/持ち物/グッズ相談
9/28(日) 模擬環境演習
9/30(火) MP候補選定
10/2(木) 直前の不明点相談

2.2. 個人で行ったこと

前回行った以外のことを今回はやろうと思い、以下の対応をしていた。
ファシリテーションと技術班に興味があったのだが、準備期間中は大体ファシリテーションに終始してた[1]

2.2.1. チーム紹介PVの作成

  • 選考結果通知当日:動画用曲探し〜片っ端からフリーBGMを聴く〜
    • チーム集合からチーム紹介PV/プレゼンお披露目まで1週間程度の中、動画制作をどうにか進めるため
    • 制作期間の短さから、スライド形式の動画にしようと構想。
    • 曲は、起承転結があること・2分以内に収められること・拍が一定であること(音とスライドの当てはめやすさ)を中心に選定。
    • https://www.dova-s.jp///bgm/play22440.html#google_vignette
  • 8月下旬: 動画制作〜スライドで遊ぶ〜
    • 各スライドに表現したい内容と秒数を書いたコンテを作成。スライドのリンクを全員に共有。
    • ロゴを作成してもらったり、メンバー紹介の文章・写真は全員がそれぞれ作ってくれたおかげで、作業がかなり楽だった。
    • iMovieの動画編集ではスライド+音楽の合体だけなので、変更が簡単でファイル容量が軽かった。

quadlink-logo
動画より抜粋

2.2.2. 初回参加体験の共有

  • 9月初旬: 共有会〜H2023G初回を経て〜
    • 初回参加(H2023G)時はビジネス系チームで参加したので、競技経験談をスライド作成して共有
    • 経験の共有は、参加2回目の責務だと思ってる

h2023g-anri
共有会のスライド

2.2.3. MTGのファシリテーション

  • 9月中: 定例MTGのファシリ〜with交通整理〜
    • 定例:週2回、毎週火曜・木曜 20:00-21:00枠で開催
    • 休みの人向け・情報共有用に、#generalで要約版を公開
  • Tips: ファシリテーションの工夫
    • 「北風と太陽」寓話の考えで、意見を言い出しやすいような、柔らかい雰囲気づくりを心がけてた。
    • 全員が意欲的で主体性の高いメンバーだったので、感覚だけでファシリができた。
      (そうじゃない場合は、仕組みで淡々と振り分ける方式の方が向いてる)
    • 場づくりはする、されど意思強制はせず、をかなり注意してた(つっぱしりがちなので)
    • 毎回のMTGで何を話す会か・次回何話すかは決めるようにしてた。
    • チームビルディングは特に施策をした記憶がなく、自然とできあがった。

minitues-template
議事録テンプレ

2.2.4. 技術対策

9月は繁忙期とファシリの兼ね合いで、模擬演習以外まともに技術対策ができずに1ヶ月経った。
10月、開始直前まで悪あがき。

  • 10月: インプット〜直前対策〜
  • 10月: シェルスクリプトの用意〜GPT謹製〜
    • パスワード変更、nologin設定、所属ユーザの確認、バックアップなどサーバの堅牢化に役立ちそうな処理を片っ端から作ってもらう。
    • 競技資料とmdファイルの情報を洗いつつ、起きそうな脆弱性と対策、対策で落ちた場合の復活方法を整理

3. 競技会当日

サーバ担当として堅牢化とインシデント対応を行なっていた。
スコアボードから時折流れる「私の取り扱う脆弱性はココロ、人の心で御座います」の無機質なAI音声に対して、「いやまじでそうなんよな...」と心がちくちくしながら対応してた。
(もちろん元ネタは某せぇるすまんのセリフだが。人の心理の隙間を突いた攻撃は無くならないよなーと)

3.1. 作業関連

  • 担当サーバについて、root, userパスワード変更を実施
    • 用意していたシェルスクリプトが動かなかった。急遽シンプルなスクリプトを作成。
    • 用意していたパスワードが規定のパスワードポリシー違反だった。。
    • MySQL rootパスワードの設定ミスでDBアカウント追い出されかけた。safe modeで起動・変更したり。
  • 担当サーバについて、バックアップの実施
    • 設定ファイルのどこを保存しておけば復旧が楽か?と試行錯誤
    • 多種多様なサーバ群の環境なので、優先度順に対応してもよかったかも
  • 担当サーバの設定対応
    • 挑戦するも、なかなかうまくいかず
    • 画面を見て調査したいとなり、途中からRDPで繋いで操作したりもしてた

3.2. インシデント関連

インシデントについては、事前に決めてたインシデントフローによって発番・フォーラムに順次起票していた。
MP[2]の製品やお助けサービスにより防御・封じ込め対応は大変助けていただいた。

  • Webページ改ざん: メンバーが即座にコンテンツ修正して対応◎
  • AD関連: AD掌握は起きてなかったと思ってたが、気づいてないだけだったっぽい(bind関連)
  • オペレーションミスの自滅: 今回のランキング1位。圧倒的これ。
    • コンテキストスイッチの分断、生成AIを信じて爆発、設定変更の影響範囲が思ったより広範だったなど。
  • ファイル関連: 解説聞いてて「そこまで見てなかったな...」事案が頻発した。
    • ランサム対策に気を取られすぎた。
    • 本来非公開にしたい情報が公開されてる事案も当然あるよなと。。(実際には脆弱性診断で指摘・発覚しがち)

4. 振り返り

個人・チームの取り組みで良かった点・反省点を振り返る。

4.1. 良かった点

  • 前回の競技経験の反省から、「情報はなるべく集約する。ツールはシンプルに。認知負荷を下げる!」を徹底していたのが功を奏した。
    • 個人的には、当日「情報どこに書いてたっけ」の探索時間ロスはだいぶ削減できた。
    • よく見るファイルのリンク集を作ってくれたメンバーもいた。
  • ステッカー・タオルのグッズ制作で、チームの結束が一段と強まった。
    • メンバーのおかげで、おしゃれなデザインで発注が間に合った。
    • 特にタオルは、会場の寒暖差・雨対策にまで幅広く活用でき、実用面もばっちりだった。
    • 身につける系のグッズは、広い会場や移動中も、チームメンバーを見つけやすい。
    • 写真撮影が楽しくなるので、ぜひ来年以降の方にもおすすめしたい。
  • 競技直前まで粘って準備対応をつづけたこと。
    • 行きの飛行機内で読んだLinux入門本は、サーバ構成・設定方法理解の役に立った。
    • 1週間前のチーム内操作環境演習のおかげで、VPN, SSH, RDPツールで環境接続する手順の不安が解消された。

4.2. 反省点

  • 技術力・知見の不足
    • 申し込んだ6月時点で「2-3ヶ月あるし今からLinuxサーバで遊んどこう!」と息込んでたが、その後仕事の繁忙期が続き、まともに対策できず。。
    • 2回目なので、前回と違うことをなるべく経験・吸収しようという形に落ち着いた。
    • サーバ環境が多種多様だったので、もう少し解像度を上げて「自分は今回何を技術班で取り組みたいのか」を決められるとよかったかもしれない。LAMP環境を重点的に見たいのか、NW/FW周りを触ってみたいのか、Windowsに挑戦したいのか、DNS/Mailサーバいじりたいか、など。
    • 完璧な状態というのはなく、日々の経験の積み重ねが大事だと今回も実感した。
  • Audit系に取り組めなかった
    • 「インシデントが起きていることに早く気づく」策が不足してたなと。
    • 画面操作でのアラートだけだと限度があるので、仕組みで導入できると早期検知・復旧につながると思った。
    • 他チーム発表のll, git, OSSツール改ざん検知の取り組みが素晴らしく、今度はぜひ参考にしたいと思った。
  • 復旧関連の掘り下げが不足していた
    • ひとくちにバックアップといっても、具体的に各環境内でどの設定ファイルが復旧に必要なのか?の観点が抜けてた。
    • Restoreする方法、設定ミスに対してRevertする方法もセットで準備できるといいなと思った。
  • ビジネス・経営視点の考慮不足
    • 請求書処理で売上が確定したり、契約書周り・社内管理サーバの重要性を考慮すべきで(初回参加時にも言われたが)、記憶からすっこ抜けてた。
    • 親会社子会社の関係、HDの対応などは他チームに任せきりになっていた。
    • 競技のスコアやランキング、堅牢化・攻撃防御はそれぞれ一要素にすぎないのだが、いざ取り組むと近視眼的に捉えた行動をしてしまいがち。
    • 一歩引いた視点で見て考えることも大切だと思った。
    • Softening Dayで紹介されてた「経営層のためのサイバーセキュリティ実践入門」などの書籍を読んでみたくなった。

5. 最後に

2回目の参加も学びの多い機会となった。なにより一番良かったのは、このQuadLinkのチームメンバーで共に競技に取り組めたことだと思っている。
2回目ということで、MTGのファシリをやっていたが、仲間同士で一緒に作っていく感じや助けてもらうことも多々あり、チームのありがたさを実感する1ヶ月だった。
振り返ると悔しい点もあったりするが、それも経験として今後につなげていきたい。

今回は見えざる分断がテーマだったが、相談員さんたちの「見えざる分断から見える結束へ」という言葉がとても響いた。
また、「今回のコンセプトロゴは、金継ぎである。見えない小さいひびが広がり割れた器をモチーフにしている。傷跡を見せてその傷跡も価値として繋げていく」という説明はとても心を打つものだった。
見えない分断、小さなひびが自分の内面や周囲の間に起きていないか、時折見つめ直すことを忘れないようにしたい。

quadlink-id
QuadLinkとH2025IDのグッズたち。宝物。

脚注
  1. 2回目参加だったこともあり、準備期間中の交通整理を担当してた。 ↩︎

  2. マーケットプレイスの略。Hardeningの企業スポンサー様がセキュリティの堅牢化に資する製品やサービスを提供してくださる。自チームが欲しいセキュリティサービスを申請し購入することで、競技内環境にて各種サービスが受けられる。 ↩︎

Discussion