Hardening のススメ ~Hardening Project 2023に参加してみた~
2023年12月08日 金曜日
CONTENTS
【IIJ 2023 TECHアドベントカレンダー 12/8の記事です】
こんにちは。mari-yamaguchiです。初投稿です。
今年8月から10月にかけてHardening Project 2023に参加して参りました。
初参加でしたがとても有意義な経験ができたので、もっと広めるべくHardeningの魅力をお伝えします。
Hardening Projectについて
そもそもどんなもの?
サイバーセキュリティの「衛る技術」の価値を最大化することを目指すプロジェクトです。
Hardening Project の実態はチーム単位で得点(売上やその他設定されている評価点)を競い合う競技とその準備や振り返りを含めた1つのプロジェクトとなっています。
具体的には以下のようなことを行います。
- チームで架空の企業を経営し、ECサイトを通じて商品を販売
- サービス基盤を含む脆弱な環境一式を渡され、8時間降り注ぐサイバー攻撃をしのぎながらビジネスの継続を目指す
修行競技
Hardening Project は非技術的な要素がたくさん含まれていて、技術だけでなくビジネススキルやコミュニケーション/チームビルディング力が問われる内容になっています。
Projectの始まりから終わりまで
競技自体は1日間ですが、Hardening Project 自体はおよそ2.5か月におよぶなかなか長大なイベントです。
大まかには以下の流れになっています。
- 準備期間(1.5か月)
- チーム内で競技に向けた準備を行う期間
- Hardening Day(1日)
- 競技当日。準備してきたものを全力でぶつける
- Analysis Day(半日)
- 競技翌日。チーム内で競技の振り返り会を行う
- Softening Day(1日)
- Hardening Dayから約2週間後にチーム間で振り返り内容の共有を行う
- 競技結果の発表もこの日に行われる
実際に参加してみた
ここから私が実際に参加して体験記になりますが、今回は主に準備と競技当日に焦点を当てて語ります。
ネタバレ防止のため技術要素は少なく非技術的なお話が多いです。
参加の経緯
遡ること約1年前、先輩から何やら”無償で”生のインシデント対応を経験できる研修があると聞きました。
それがHardening Projectでした。
なんでも知らない人と即席のチームを組んで丸一日疑似的な会社経営を行い、ひたすら発生するインシデント対応をしていく研修とのこと。
プロジェクトリーダーや障害対応のマネジメントについて勉強している私に、よい経験になるから行ってみたらと勧めてくださいました。
それから1年後。ついにその日がやってきました。
申し込みの時点でHardenigingは始まっている…かもしれない
Hardening Projectの競技参加者枠は抽選となっていて、申し込みフォームの中でいくつか質問されます。
「あなたはHardeniging Projectにどう貢献できるか?」「あなたのアピールポイントは?」などなど。
初参加で業務上あまりセキュリティ経験のない私は不安になりました。
・・・・・何もできないなあ。
とりあえず「やりとげる根性あります!」というようなことを書いた記憶が残っています。
今振り返ってみると、この質問は競技の中で大きな意味のある問いかけでした。
これから始まるHardeningの中で「あなたはどう貢献できるのか?」を繰り返し自問自答していくことになります。
当選連絡、すなわち競技の開始
8月の中頃、当選連絡と共にチームメンバーの案内が来ました。私のチームは1番でした。縁起の良い数字です。
オンラインで顔合わせしたらHardeningの準備期間スタートです。
この1.5カ月間はチームビルディングや当日に向けての事前対策をしていく期間です。
とはいえ運営から課されるロードマップやタスクなどはほぼなく、この期間何するかは各チームの裁量に全て委ねられていました。
我々のチームはそれぞれのスキルややりたいことを共有したうえで「ビジネス」と「技術」に早々に役割分担し、
それぞれやることを洗い出して準備を実施しました。
私は技術チームに参画しましたが当日に向けそれぞれ技術研鑽を積む方針となりました。
私が準備したこととしては、習得すべきスキルを一覧化しそれぞれ勉強教材を用意してスキルアップに励みました。
例えば以下のようなものです。
- サイバー攻撃からの防御、堅牢化にかかわるスキル
- インシデント発見や分析、調査にかかわるスキル
- インシデント対処にかかわるスキル
具体的には公開されているセキュリティインシデントの対応ガイドラインを読み込んだり、
ECサイトの環境を立てて動かしてみたり、各種技術書をあさったりチームで紹介してもらったツールを触ってみたりしました。
週1,2回チームミーティングをやりつつ勉強をやりつつであっという間に競技前日となりました。
眠れない前日
競技開催地である北海道へ移動の日。
前日0時過ぎまでの最終チームミーティングの後荷物をパッキングして6時起床したため、4時間ほどしか眠れませんでした。
新千歳空港から目的地・留寿都までのシャトルバスの中で仮眠しようと思っていましたが、
周りを見回すと明らかに同じ目的で乗っているであろう乗客が何やら紙の資料を読んだりメモを取ったりしているではないですか。
もうHardeningは始まっているのだ、と思い直し私も最後の勉強に励みました。
日が落ちてすっかり暗くなったころ、競技環境や内容、競技の設定に関する大量の資料が公開されました。
資料を読み込んで最後の作戦会議でしたが、寝不足と緊張と不安でなかなか頭に入りませんでした。
競技について
競技当日の話の前に登場するHardening用語について説明しておきます。
- kuromame6(くろまめシックス)
- 競技における攻撃者集団。遠慮を知らない
- MP(マーケットプレイス)
- 企業がそれぞれ自社の製品などを使って提供してくださるHardening独自のサービス
- 競技者は競技中に得られる売上から料金を支払いMPを購入することができる
競技内容は、与えられた競技環境をkuromame6の攻撃から守りつつECサイトを通じて顧客(クローラ)に商品を購入してもらい売上を稼いでいくというものです。
想定外のトラブルに見舞われた午前
いよいよ競技がスタートしました。実際に競技が始まってみると、想定外のトラブルの連続でした。
当初の作戦では競技開始直後の1時間でパスワード設定変更などをやりきる予定でしたが、競技環境に接続するのに非常に手間取ってしまい、
大幅なロスとなってしまいました。また実際に競技サーバに入ってみると事前資料にないソフトウェアが入っていたりプロセスが動いていたりして面食らってしまいました。
また午前中の途中でMP(WAF提供サービス)の購入ができましたが、管理画面にアクセスできず。
想定外の事柄に差し当たったとき、とにかく手を動かさなきゃという気持ちが先行してしまい仕切り直しや全体の俯瞰をしなかったのは反省点です。
あわあわしながら対応しているうちに気づくと今度は売上が落ちていて、商品在庫がなくなっていました。
また午前が終了する直前に突然メールが来ました。13:30(午後の競技開始直後)に直接来て売上やサイバー攻撃の被害状況について説明せよ、という役員からの呼び出しでした。
何が何だかよくわからないまま午前の部が終了しました。
インシデント対応に追われた午後
お昼もそこそこに午後になり、チームCEOとともに招集されロールプレイングの場へ赴きました。
そこでは長机の正面と右側にずらりと役員陣が座っていて、なかなか壮観でした。
席に着くと役員から売上見込みについて説明を求められましたが、CEOがしっかりと準備をしてきて淀みなく話してくれました。
また私たちの企業のランサムウェアの被害状況について尋ねられました。
実はこの呼び出しは「ランサムウェア攻撃の刺さったチームからランダムに呼び出された」と後から知ったのですが、その時の我々は知る由もなく、
また攻撃についても全く気付いていなかったため、「攻撃は受けてません!ばっちり防御しているので大丈夫です!」と元気に言ってしまいました。
その後呼び出しが終わってチームの元へ帰るとkuromame6からの脅迫メールが届いてました。
「貴社データ、我々が持ってる。公開するつもり」
そこからはセキュリティインシデントの対応の連続でした。1つ攻撃されると次々と攻撃されたような感覚でした。
サーバから情報が抜き取られ、コーポレートサイトが暗号化され…こうも並列でインシデント発生を目の当たりにすることは人生でそうそうないかもしれません。
その後のことはひたすら目の前の対応をしていて記憶が定かではありません。気になる人は来年参加してご自身の目で確かめてください。
Hardeningでの学び
最後にちょっとだけ私が感じたことや反省したことを書いておきます。
私は何の貢献ができたのか?
準備期間においても競技においても、簡単な担当分けはしますが求められる役割の定義はありません。
それは自分がチームやHardeningの中で見出し、見つけていくものです。
結論から言ってしまうと、私は何もできなかったなと思います。
もともとマネジメントについて学びたくて技術リーダーに手を上げましたが、技術スキルもマネジメント力も完全に不足していて、お飾りのリーダーになってしまいました。
もちろん技術の研鑽は必要ですが、スキル不足を理由としてリーダーシップをとる勇気がなかったり、持っているもの、自分のできることを最大限活用する、という思い切りの姿勢が足りなかったと感じます。
何の貢献ができるのか、自問自答して、結局答えを見つけられないまま悔しさだけが残ってしまいました。来年は絶対にリベンジします。
チームビルディングの難しさ
チームメンバーは全員で9人でしたが、Hardeningに参加する目的、バックグラウンドは様々でした。
当然コミュニケーションはオンラインでしたし、ミーティングについても平日の業務後の時間開催だったので全員揃わないことが多く、何か1つ物事を決めるのも、意見が出なかったり割れてしまったり、分散してしまったりで着地点を探すのが大変でした。
これはチームビルディングであれば往々にしてあることなのかもしれませんが、とても大きな壁に感じました。
印象深く残っていることとして、(あくまで個人的主観ですが)チームロゴを決めたときはとても盛り上がっていて以後のチーム運営・コミュニケーションの上でのチームの共通認識の一つになったのではないかなと感じました。
チームに愛着を持つ、持たせるというのは大きな効果があると実感した出来事です。
おわりに
それでも取り憑かれるHardeningの魅力
長い文章を最後までお読みいただきありがとうございました。
反省点や苦労点などマイナスイメージな事柄ばかり書きましたが、何よりもHardeningは楽しかったです。
私にとってHardeningの魅力は以下のようなものがあると思っています。
- 技術だけでなく非技術のスキルを磨くことができる
- 本番に近いけど失敗してもいい環境で経験を積める
- インターネットへアクセスできないため、使えるものが限られる。そんな制約があるからこそ面白い
- 切磋琢磨できる仲間に出会える
特に「本番に近いけど失敗してもいい環境で経験を積める」というのはエンジニアに限らず滅多にない素晴らしい機会だと思います。
また大量のセキュリティインシデントにまみれることができるので、本番環境以上の経験が得られるといっても過言ではありません。
このブログでHardeningへ興味を持っていただけた方はぜひ、Hardening Project 2024でお会いしましょう。
またそうでない方も、自分ごとになって「自分が参加するならどんな役割を見出しどんな貢献をするのか」考えてみるだけでも面白いのではないでしょうか。
Xのフォロー&条件付きツイートで、「IoT米」と「バリーくんシール」のセットを抽選でプレゼント!
応募期間は2023/12/01~2023/12/31まで。詳細はこちらをご覧ください。
今すぐポストするならこちら→ フォローもお忘れなく!