🐏

【初参加】Hardening2023 Generatives 参加体験記(#H2023G)

2023/10/09に公開

1. はじめに

10/4(水)~10/6(金)の3日間でHardening 2023 Generatives(#H2023G)に初参加してきました。チームの取り組みを振り返るSoftening Dayはこれからですが、Hardening本戦が終わった時点での振り返りをまとめておこうと思います。

1-1. 概要

Hardeningとは「セキュリティでビジネスを衛る」をモットーに開催されるセキュリティの競技会です。
Hardening(硬化・強化・堅牢化)の名の通り、システムの弱点をカバーしセキュリティを強化することにより堅牢なシステムの実現に努めます。競技中はECサイトなどを運用する組織の一員となり、組織の事業が回り続けるよう攻撃の阻止・復旧の対応を主に行います。
インシデントに直面し対応する経験ができること、他のセキュリティイベントとは異なりビジネスを持続するための取り組みが重視されることが特徴です。

1-2. 開催の流れ

Hardeningは3日間(準備含む)のHardening Dayと、1日のSoftening Dayから構成されます。
チーム制(ほぼ初対面同士)で1ヶ月間準備し、Hardening Dayの本戦当日は8時間の競技に参加します。その後、Softening Dayと呼ばれる振り返りの日に参加し、チーム間の取り組みや競技全体についての振り返りを行います。
今年は以下のスケジュールでした。

  • 8/17(木): 選考結果通知
  • 8/18(金)~10/3(火): 準備期間
  • 10/4(水):Preparation Day(前日準備)
  • 10/5(木):Hardening Day (★本戦当日)
  • 10/6(金):Analysis Day(翌日振り返り)
  • 10/28(金):Softening Day(全体振り返り)

1-3.参考資料・書籍

Hardeningの開催概要はこちら。

競技についてもっと知りたい!という方は、のみぞうさんが出されているこちらの「ハードニングファン!!2023」本が詳しいのでぜひ。
https://booth.pm/ja/items/4960641

2. 準備したこと

応募してから選考結果の通知が届いた後、開催まで1ヶ月間の準備期間があります。今回は1チーム9人の体制でした。チーム・個人で準備したことを記します。

2-1. チームでの動き

チームでは週一で定例MTGを行い、以下の内容を相談・決定しました。

内容 説明
メンバー顔合わせ 自己紹介、チーム名・リーダー決定
準備に用いるツールの選定 Discord、Notion、Google Driveを使用
過去の競技内容の共有 昨年度資料共有、ハードニングファン本内容紹介など
当日用作業シートの作成 TODO・担当洗い出し、作業シート作成
ECサイトの操作方法確認 EC-CUBE、WordPressを各自で構築して操作確認
当日の役割の決定 各人のスキル共有、技術チーム6人と業務チーム2人+リーダー1人に分担
MP[1]の選定 ドラフト制につき第1~第3希望の候補を選定
その他当日までの確認 旅行持ち物確認、会場設営メンバーの決定
担当ごとの話し合い 技術チーム、業務チーム別に当日までの準備の相談
前日:資料読み合わせ 前日配布資料の読み合わせ、本戦までのTODO・担当決め(オフライン)

2-2. 個人での動き

チームでの活動と一部重なりますが、準備期間の個人の動きは下表の通りです。

内容 説明
Hardening過去回情報の確認 Hardening勉強会参加、Hardening Fun本を読む、昨年の前日資料の内容確認
ECサイト管理画面 操作確認 EC-CUBE, WordPress, Woocommerceの構築・操作確認
各種規約・届け出の内容確認 IPA, JPCERT/CC, 個人情報保護委員会の規約や届け出様式ファイルDL・内容確認
メール環境の操作方法確認 前回使用したWeb Mail環境および、Thunderbirdの導入・操作方法確認
環境接続方法の確認 RDP接続方法、VPN接続方法、SSHコマンド確認
持ち物準備 必要な機器の貸出し受取、印刷物の用意、荷造り
前日:IPA ガイドライン資料の確認 行きの飛行機内にて以下2点の資料を読む
中小企業の情報セキュリティ対策ガイドライン
情報漏えい発生時の対応ポイント集
前日:当日開始1時間のタスク整理[2] 業務チームで開始1時間以内に行うタスクを整理
前日:ミッション[3]の整理 業務チーム側で対応可能なミッションの認識合わせ
前日:資料の読込み 資料の構成把握、業務チームに関連する箇所の洗い出し・内容整理
前日:規定作成 IPAのテンプレートをもとに、情報セキュリティ規定・ハンドブックの作成・配置

3. 本戦当日

3-1. 当日の動き

当日は主に以下の動きを行っていました。午前中は接続確認、あらかじめ決めたタスクの処理を中心に行っていました。午後は業務やミッションの対応を行っていました。

内容 説明
1. 競技環境接続 VPN・RDP接続確認、各種サイト接続確認、Web Mailにログイン
2. 開始1時間用タスクの処理 管理サイトパスワードの変更、共有フォルダ内のファイル名の変更
3. メール管理 Thunderbirdの接続設定、メールアカウントを追加、メール内容の管理
4. 在庫管理 在庫確認方法の共有、在庫変更を反映
5. 配送管理 配送管理手順の確認、配送管理用データの作成・登録、受注ステータス更新方法確認
6. ミッション対応 対応可能なミッションを3個遂行
7. トラブル対応 RDP先とローカルのファイル共有方法を調査・共有、RDP接続が途中でつまずくようになったので対応、配送管理のデータ登録方法のエラー対応、サイト接続不可時にチームに共有
8. 作業報告 ECサイト 2サイトに「個人情報保護方針」「特定商取引法に基づく表記」のページコンテンツを追加、作業報告書にキャプチャ共有・内容追記

3-2. 必要な持ち物

Hardeningの競技当日にあってよかったもの、持ち込み必須だったものです。

  • モバイルモニター:あると便利でした。ノートPCでRDP環境を開き、サブモニターでChromeを開きNotion・Discord・GoogleDrive・前日資料PDFをタブで切り替えられるように設定すると捗りました。
  • モバイルモニター用アーム:あると便利そうでした。モニターの高さをあげることで机の場所を取らなくなるので、次回は持参する予定です。
  • ノートPC:有線・無線どちらも使えるPCが必要です。VPN・RDPなど各種必要なソフトウェアは事前に入れておきましょう。
  • LANケーブル:個人で必須です。長めのケーブルを推奨します。
  • LANアダプター:個人で必須です。USB形式が便利です。
  • スイッチングハブ:チームで必須です。机の上に置いてLANケーブルを接続するのに使います。
  • 電源タップ:チームで必須です。最低5m以上あるものが必要です。
  • バッジ・フラグ:持ち込み必須です。チーム全員で身に着けるバッジとテーブルに立てる旗になります。バッジは全員身に着けていないと会場に入れないので注意です。

4. 初参加で学んだこと・感想

今回は初参加ということで何も分からない状態からのスタートでした。そのため、自分の目標として「何か1つは学びを持って帰ろう。よく分からない内に終わった状態だけは避けよう。」と考えていました。
今回は業務チームを担当したのですが、時間内にするべきことが非常に多く、マルチタスクや処理能力の速さが求められる役割だと思いました。当日は想像以上に集中力が持続し、タスクをこなして動けていたのでよかったです。
以下に学んだこと、反省点を記します。

4-1. Hardeningのビジネスの役割

Hardeningはビジネスが根幹にあるため、他のセキュリティイベントとは性質が異なります。「いかに高得点を取るか・ハックするか」ではなく、「自社の事業を継続するために、攻撃からいかに衛るか」に焦点が置かれた競技になっています。

例えば業務チームの作業として、製品を購入・在庫を発注するときの稟議フローや、インシデント発生時の届け出提出など様々な運用フローが決まっているのですが、当初は「準備が必要なのはわかるが、何のためにするのか」の理由までは見えていない状態でした。
ただ競技を通して、「実際の組織でも何か物を買うときは稟議を通すよね」「在庫を仕入れて入荷する商品の発注が完了してから、サイトの在庫数を更新するよね」「商品サイトやコーポレートサイトは自社の看板だから、コンテンツを充実させたいし、必要な情報は掲載するよね」「顧客の個人情報が漏洩したら外部へ報告義務があるよね」など、「実際の組織だとどのような対応をするのか?」が元になっているからだと実感がわきました。

次回参加時に初参加の方がいらっしゃれば、「組織の一員としての振る舞いや運用が求められるため、~の理由でこの対応を行う必要がある。」という説明をできればいいと思いました。
さらに、インシデントの対応だけでなく、「組織全体としてセキュリティを高めるためにどういう施策がとれるのか?」を考えて行動に移せるといいなと感じました。

4-2. アウトプットはスピード重視

Hardeningの準備にあたり、様々な提出物や準備物が発生します。特に前日は夜の限られた数時間で準備を整える必要があります。

先の項でHardeningはビジネスが根幹にあると言及しましたが、8時間で普段組織が行う事業を再現しようとすると、一つ一つの仕事対応に使える時間がとても圧縮された状態になっています。そのため、自分が納得した80~90%の質の成果物を1個作るより、ドラフト版の60~70%の質の成果物を3個作るほうが大切です。

自分1人で頑張ろうとするのではなく、チームメンバーで手分けしたり、生成AIやツールの活用で時短をするなど、より効率的に動くことが求められるのだと感じました。
また前日までの準備においても、「当日行いたい作業に集中できるようにするには、どういう情報がまとまっていればいいのか」の観点から情報をまとめる必要があると思いました。

4-3. 反省点

今回の反省点は以下の通りです。

  • 画面の操作で手いっぱいでサーバに入れず終わってしまったこと
  • 業務を回すことに集中しすぎてインシデントの情報を追えなかったこと
  • 在庫管理を終盤に対応できずだったこと
  • 配送管理で想像以上に時間を要したこと(半分は確認不足によるもの)

業務を回すのに集中したあまり、Hardeningの花形であるインシデント対応に目を向ける余裕がなかったのが今回の最大の反省点です。インシデントをせっかく経験できる時間であるため、サーバに入ってログを見たり、Discordの通知を読んだり、技術チームのメンバーと話せるとよかったかなと思います。自分の今持つタスクに集中すると視野が狭くなっていくので、ときには顔を上げて視野を広く持つ必要があるなと思いました。

また、資料の細かい文字を見落とした結果、配送管理のトラブル対応で時間を想定より多く要しました。データの登録は1~3件の少量ずつ手動で試してみたり、データのひな型がどこにあるかを先に確認する必要があると感じました。

5. 次回に向けて

今回を通してHardeningという競技の大まかな内容はつかめたので、次回は他の役割にも挑戦していきたいです。技術班、リーダーなど各回で異なる役割・異なる経験ができればいいなと思っています。

5-1. Softening Dayまでにやっておきたいこと

Hardening Day本戦は終わりましたが、Softening Dayはまだ終わっていません。これからでもできることはあると思うので、以下をSoftening Dayまでの間に行っていきたいです。せっかく参加をしたので参加しっぱなしで終わらず、復習や情報を残すことを進めていきます。「セキュリティは一日にしてならず、Hardeningは一月にしてならず」だと強く思ったので、Softening Day以降も自己研鑽を積み上げていきたいです。

■TODO

  • Softening Dayの過去動画を見返す
  • WooCommerceの環境の操作確認をする
  • Notionの良い活用方法を調べて試す(カンバンツールなど)
  • Notion, GoogleDrive, Discordなどに共有された各種データを保存する→OK。10/16対応済
  • 本戦当日のログを見る。当日のやり取りとログデータを参照しつつ、ログを読む練習をする→10/24火にチームでログ鑑賞会を行った。ログは広範にわたるので一部ログを参照した。
  • 2022年・2023年を中心に参加体験ブログを読んでみる→OK。10/9-11対応済。
  • Hardening Dayの当日ライブ動画を見てみる→ざっくり視聴。現在は非公開。詰められイベントなどを詳細に見れなかったことが悔やまれる。(公開期間中に早く視聴するのが大事)
  • Hardening Fun本を読み返す→OK。10/6-9 対応済。3回ほど読んだ。
  • 生成AIを試す。画像生成AIを使用してみる→OK(ブログに記載しました

■追記分
コメントいただいたTODOがとてもよかったので追記します。

  • ここ1年のセキュリティニュースをもう一度レビューし、「ああ、あれはもしかしてこれの再現だったのか」と、今回ならではの攻撃にこめられたメッセージに思いをはせる
  • ここ1年のセキュリティガイドラインやOWASPドキュメントをもう一度レビューし、「ああ、あれはもしかしてこれの再現だったのか」と、今回ならではの競技背景とインシデントにこめられたメッセージに思いをはせる
  • VIVANTをTVerなどで鑑賞しなおし、競技背景や競技内容にこめられた時代背景メッセージがいかにして巧みに織り込まれているか思いをはせる

6. 最後に

初参加なので緊張しておりましたが、大変貴重な経験ができて本当によかったです。Hardening Projectの皆様、スポンサーの皆様、チームの皆様、参加者の皆様ありがとうございました。今後もぜひ参加したいです。Softening Dayも楽しみにしています!

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

  2. 例年開始1時間以内は攻撃を受けないため、確実に対策を打てる時間になっている。 ↩︎

  3. 当日に対応すると加点対象。業務に付随する内容もあれば、Hardeningイベントに関連するものもある。 ↩︎

Discussion