はじめに
こんにちは、ゆきゆきです。(Twitter: @yu1c1yu1c1)
10/15(火)~10/18(金)に沖縄空手会館で開催されたHardening 2024 Convolutionsに参加してきました。
初参加&初チームリーダーということで多くの学びもあったので、参加体験記という形で残しておきます。
目次
Hardeing Projectとは
詳しくは章末のページを参照していただきたいですが、端的に言うと
「衛る技術」にフォーカスした実践的なサイバーセキュリティ競技会
です。
参加者は複数人でチームを組み、運営側から伝えられるシナリオに基づいて仮想企業の役員や社員としてセキュリティインシデントや運用上の課題に対応しながら、企業やシステムを防衛・強化する能力を競います。現実世界でもよく見られるECサイトの運営やサーバーの管理等リアルなビジネス環境をシミュレーションすることで、技術的な知識向上を狙います。ここで面白いのは、競技会ではいわゆるセキュリティ技術だけでなく、限られたリソースをどの資産の防御に回すのかといったビジネス側視点の知識・技術も必要となる点です。下記ページの参加対象にもビジネス職が明記されています。
そのため参加者の中には技術がそれほど得意でない方も多くいらっしゃいます。まとめると、サイバーセキュリティ技術、チームワーク、ビジネス視点といった様々な知識が必要となる、総合格闘技的なイベントであるということができます。
Hardening 2024 Convolutionsについて
ざっくりとした全体の流れとともに競技会での学びを書いていきます。
日程
まず日程ですが、競技会自体は平日に4日間 かけて開催されます。
参加者はすべての日程に参加することが求められます。
スケジュール | 内容 | |
---|---|---|
10/15 | Preparation Day | 競技会当日の最終準備を行う日。本番当日に使用する環境についての資料がこの日に配布されるため、オフライン集合し資料の最終読み合わせを行うチームが多い。 |
10/16 | Hardening Day | 競技会当日。8時間のChaosを楽しむ日。 |
10/17 | Analysis Day | Softening Dayに向けてHardening Dayの振り返りを行う日。何ができて何ができなかったのか、今後どうすればよいのかを話しあう日であるため捉えようによっては最も重要ともなりえる。 |
10/18 | Softening Day | 各チームの学びを全体に共有する日。お互いの健闘を称えあい、学びあおう。 |
申し込み (~8/10)
3月に開催されたMINI Hardeningの流れでHardening競技会本戦の存在を知り、おもしろそうというその思いのみで参加を決意します。送信ボタンを押したのは確か7/25か?参加に向けての熱意を伝えろとのことだったので1時間以上推敲したうえで、提出しました。
何を書いたのかなーと見返してみたところ「日本のサイバーセキュリティを守る仲間の1人になりたい!」とそれはそれは壮大な夢を語っていましたとさ。
当選連絡 (8/16)
当選の連絡。
ここから戦いは始まります。
当選連絡と同時に、まずは1週間以内にチームリーダー、チーム名を決定するというミッションが課されます。もちろん、メンバーは全員初めましての方々です。
後に判明するのですが、私のチームは全員がHardening本戦初参戦の方々で構成されていました。私は「一番学びになりそう」という思いのみでリーダーとなり、怒涛の2か月間を過ごすことになります。
準備期間 (~10/14)
いくつかに分けて書きます。
リーダーについて
私は初参加でリーダーとなってしまったので、右も左もわからない状態でした。わからないときにやることは一つ、わかっている人に聞きまくる、です。幸い別チームに経験者の知り合いがいらっしゃったのと、今回からメンター制度というHardeningガチ勢によるお助け制度ができたのでしこたま活用させていただきました。
リーダーとして意識したのは大きく3つです。
- 当日のコミュニケーションハードルがないようなチームを作る
- メンバーがなるべくやりたいことをできるように配慮する
1つ目は当日話しかけにくいなどの理由により情報共有が遅れてしまうことがないようにコミュニケーションするという意味です。担当者が異変に気付いたのに共有できなかったがために攻撃者の侵入を許してしまったというのはあまりにも悲惨です。(何らかの罰を恐れて報告を行わない、という状況にも似ている気がします)
これについてはメンターから教わったハートビーイングというアクティビティを行うことや週2回の定例ミーティングでなるべく顔を出して発言するなどといった施策で対応しました。話す回数が増えるにしたがって緊張感もほぐれ、盛んに意見交換ができるようになっていく様は、なかなか良かったです。
↓ハートビーイングで使用したMiro (黒塗りは名前を隠しています)
2つ目はHardeningに対するモチベーションを失わないようにするための措置です。準備するものはとてもたくさんあるため、モチベーションが低いメンバーが出てしまうと致命的です。メンバーの得意分野や希望を聞きながら調整しました。
準備内容について
- 当日堅牢化リスト
競技開始から1時間は攻撃が来ないシンデレラタイムとなりますが、その間に実施すべき基本的なセキュリティ対策をまとめたリストです - ビジネス側資料テンプレート
物品購入用の稟議書やインシデント発生時の報告に使用する報告書、情報漏洩時Webサイトに掲載する謝罪文などなど - チートシート
競技会ではWordPress等のCMS、DNS、メール、Active Directory、Docker、そしてもちろんLinux自体の知識も必要になるため、事前に触っておけるものについては検証環境を作成し、必要になるであろう操作のやり方やコマンドをまとめたチートシートを作成していきました。 - 組織体制
Hardening競技会では仮想企業の一員になって戦うので、CEOやCISO等が必要になります。当日の稟議はどう通すのか、経営的な判断はだれが下すのか、インシデントが発生したら誰が指揮を執るのか、等を事前に決めておきます。
使ったツールについて
いくつかのツールを利用しました。
- Google Drive
参考資料や作成した資料の共有用 - Google Spreadsheet, Slide
資料作成用 - Miro
ブレインストーミングなどのアイデアだし用 - Notion
あとで見返したい情報をデータベース的に蓄積する用 - Discord
チーム内連絡用
Preparation Day (10/15)
約2か月間オンライン上でともに準備を進めてきたチームメンバーと初めて対面します。オンライン上で会っても顔出し多めでミーティングしていたからか、あまり初対面という気がしませんでした。
Hardening Day (10/16)
嵐です。次から次にインシデントが降りかかり、あっという間の8時間となります。
Analysis Day (10/17)
昨日の疲れからか頭が働いている気がしない中、翌日使用する資料を作成していきます。
Softening Day (10/18)
各チームの発表をもって競技会の振り返りを行います。
当日の様子はこちら。
良かった点・学び
- サイバーセキュリティをゼロから考える際の流れを経験できた
- 脆弱な環境に対して、まず何から対策を進めていくのかを学ぶことができた(今回の場合は資産の把握)
- 様々なバックグラウンドを持つメンバーと意見を出し合いながら、セキュリティについてとことん考えることができた
- 攻撃を受けた(と思われる)際の調査方法、守り方を多少なりとも知ることができた
- ログ確認、プロセス確認、修正方法 etc
- サイバーセキュリティに興味がある・携わっている方々との人脈を作ることができた
- 今後学習を進めていくうえでも支えあう仲間の存在は不可欠だと考えています。
- 座学だけではわからない、インシデント発生時の焦り、緊張感を(安全な形で)経験することができた
- 現実に攻撃を受けたら学びとか言っている余裕はないと思うので、演習としての価値は非常に高いと思います
反省点・学び
スキル面はもちろん、チームで事前に決めておいたことでもできていなかったことがあり、多くの反省点があると感じました。
- チーム内での事前に共通認識の形成をしていたことが当日できなかった
- 当日どこに情報を集約するのか、インシデントが発生した際誰に報告し、どのように方針の最終決定を行うのか事前に決めていたが、いざインシデントが発生し始めると余裕がなくなり事前に決めていたようには進めることができなかった
- 【対策】可能な限り事前に演習を行っておく
- 強力なインシデントハンドラーが不在
- 状況を俯瞰し、インシデントの優先度を判断し、適切な指示を出せる司令塔となる役割が必要だった
- 【対策】インシデントハンドラーを明示的に任命する。担える人材がいない場合は、外部から迎え入れることも検討する。
- スキル不足
- ADの堅牢化手法、FWの設定変更など準備期間中に触り切ることができなかったものは、当日も対応ができていなかった
- 【対策】普段から触って腕を磨いておく。これに尽きる。
- 人員不足
- 初期堅牢化対応、ビジネス対応、ミッション対応、インシデント対応 etc...
- マーケットプレイスを活用し、足りない人員は補充することが肝要(めちゃくちゃスキルのあるエンジニアがマーケットプレイスにて購入可能だった)
- 【対策】タスクの優先度を事前に決めておく。できる限り外部から迎え入れる。
おわりに
冒頭でも述べたようにHardening競技会は技術者だけのイベントではありません。競技会にはビジネス側の知識・経験も必要となりますし、競技会を通して学べるのは技術的なことばかりではありません。技術に明るくないという理由で来年の競技会参加を迷われている方がいらっしゃったら、ぜひ恐れずに参加への一歩を踏み出していただきたいと思います。必要なのはやる気だけです。
他参加者の参加体験記
参加者の方々から素晴らしい体験記が投稿されていますので紹介させていただきます。(漏れてしまっているものがありましたら申し訳ありません。)
- Hardeningってなんですか?怖いですか?とりあえず参加して確かめることにしました!~有給を1週間消化しても、衛ることで得られる知識があると思って望んだ"Hardening 2024 Convolutions"参加レポ~
- Hardening 2024 Convolutions ~初参加でチームリーダーになってみた~
- Hardening 2024 Convolutionsに参加してきた
- Hardening 2024 Convolutionsに参加してきました ~準備編~
- Hardening 2024 Convolutionsに参加してきました ~本番編~
- Hardening 2024 Convolution参加記
- Hardening 2024 Convolutions でチームリーダーを担い苦悩を味わった件
- 60歳の年俸制職員が挑んだ「Hardening 2024」 ~勝利の裏にある学びと悔しさ~
- メンターやってみたよ! 〜 ”Hardening 2024 Convolutions” 参加レポ
- Hardening 2024 Convolutions 参加記録
- 沖縄の地にて極悪ハッカー集団からECサイトを護れ!~Hardening 2024 Convolutions 参加記~
- Hardening 2024 Convolutions に参加したお話
- https://gmo-cybersecurity.com/blog/hardening-2024-convolutions/
- アイエスエフネットはHardening Projectが主催する
「Hardening 2024 Convolution」にて
総合3位を獲得いたしました - Hardening 2024 Convolutions
- Hardening 2024 Convolutions参加レポート
- Hardening 2024 Convolutions
- サイバーセキュリティとビジネスの実践力が問われる場、Hardening Project 2024に参加
- Hardening 2024 Convolutions マーケットプレイス 参加レポート