Hardening 2024 Convolutions 参加レポート
はじめに
SOCイノベーション事業部の早川です。
本記事では、2024年10月に沖縄で開催された「Hardening 2024 Convolutions」に競技者として参加した経験についてお伝えしたいと思います。
Hardening とは?
Hardening は、Hardening Project実行委員会が主催/計画/実行する「衛る(まもる)技術」の価値を最大化することを目指す競技会で、2024年で12年目と歴史ある競技となります。
実際のサイバー攻撃を模擬した競技で、参加者は各チームに分かれ、制限時間内にセキュリティの維持とビジネス価値の向上を図るという目的のもと、リアルタイムで発生するインシデントに対応します。また、マーケットプレイスという制度が導入されており、競技者は各社が提供するサービスを購入し、競技中に活用することができ、より現実に即した形の競技が開催されます。
私は普段SOCサービスを提供する人間としてお客様のシステムやエンドポイントの守り(衛り)を行っており、またインシデントに対する経験もあったため、いつもの環境ではない場所で自分自身がどの程度、力を発揮できるかを確認するための参加です。
本記事ではHardeningの全ての内容を話していると長文となってしまうため、主に私が対応した部分を書かせていただきます。
競技会の準備
2024年8月中旬に運営から競技者へチーム分けが発表されました。今回は15チームが作られ、それぞれ6~7名のメンバーで構成されています。そのため競技者全体としては100名を超える競技会ということで、その時点でこんな大きな競技会に参加することになるとは!ということでテンションがかなり上がります。
また参加メンバーについて、住まいは北海道から沖縄まで、社会人だけではなく学生の方も多く参加しており、我々のチームも社会人5人、学生2人というチーム構成となりました。本番に向けてはチームメンバーと毎週のようにオンラインにて打ち合わせを行い、競技についての理解や準備など進めていきます。
チーム内のメンバー構成としては大きく2つに分けて、システムを見る技術チームとビジネスを見るビジネスチームを作り、それぞれ緩くですが役割分担を行いました。
イエラエというと技術チームになるイメージがあると思いますが、私は今回ビジネスチームのリーダーの役割に立候補しました。これはサービス全体を俯瞰して見つつもビジネスを回していく立場というものが面白そうだったということと、インシデント対応が大好き!なわけではないですが、原因分析や報告書の作成が得意なのでそちらのほうがチームに貢献できそうという理由でした。
そんなことを毎週チームで話し合っていましたが、あっという間に競技会の日は来てしまいます。
競技会前日
競技会前日に無事沖縄に到着、着いた瞬間から借りていた貸会議室に移動して明日の競技のための準備を行います。
今回はジョイントベンチャー(JV)という複数のチームが合同で売上を上げるという、今までのHardeningにはない新たな要素が加わっていたため、JVとなるチームとも同じ場所に集まって作戦を立てます。競技内容の詳細やミッションは競技の数日前から徐々に公開されるため、ここでどこまで準備できるかが勝負です。貸会議室の時間内で終わらなかった課題はホテルに戻ってさらに準備を進めます。
すでにHardeningが始まっていました。
競技会1日目(Hardening Day)
前日は深夜まで準備をしていたため、すでに疲れていますが、これから8時間の競技に参戦します。
今回の会場は沖縄空手会館という大きな場所で開催されるため、近年の働き方を踏まえたリモートワークを取り入れた座席となっており、オフィス勤務者とリモートワーク勤務者は離れた場所で競技を行うという形をとっていました。
我々のチームは意思決定者や役割のリーダーをオフィス側に集め、リモートワーク側に技術チームを置いた配置としました。
また競技の中で購入するマーケットプレイスについては、限られたリソースの中で効率的にインシデントに対応するために、導入に手間のかからないWAFなどの自動防御系サービスを活用して、アプリケーションレイヤのセキュリティ対応の自動化を図る方針を立てました。
これで準備万端、競技スタートです。
これがHardeningか
競技中はいろいろなことが起こります。
フィッシングメールが届いたり、パスワードが奪取されて侵入されていたり、システム内のアカウントが増えていたり、ランサムウェアの被害にあったり などなど。
ランサムウェアについては我々が被害にあった際に同じJVのチームに確認したところ、全チームあっさり暗号化されているという状況でした。攻撃者からはお金を払えばサーバを復旧するという甘い言葉がありましたが、ランサムウェアの攻撃者に対しては何があってもお金は払わないという方針をチーム内で確認し、現場での復旧に注力します。
このような事象が起きている中でも通常運用を回す必要があるため、ビジネス側は顧客対応やサイト運営を行います。
HardeningはやはりHardeningなのだとここで再認識します。
売上が上がらない
そんな中、我々のチームのサイトの売上がぱたりと止まってしまう事象が発生します。
上記のランサムウェアの対応でバタバタしていたため、この事象に気づいたのは止まってから2時間くらい経った後でした。
我々のチームはchangedetection.ioを導入してサイトの変動をチェックしていたため、システムが止まっているようには見えませんでしたが、実際として売上が上がっていないため、ここからインシデント対応が始まります。
オフィス勤務者側に意思決定者がそろっていたため、そこを中心として売上停止の原因を特定に動きます。
我々は以下の活動を行いました。
- いつから事象が発生していたのかを確認。
- システム全体の正常性確認を行い、サーバやネットワークに問題がないかを検証。マーケットプレイスのWAF側にも確認を依頼。
- 自分たちが実施した設定を再確認し、設定ミスが原因でないかをチェック。
- 何らかの攻撃による影響かを確認するため、攻撃の痕跡や異常なアクセスを調査。
- 通信がどこまで届いているかを調査し、問題の発生箇所を特定。
これらの活動は基本的には正確に情報を把握しつつ、問題の被疑箇所を特定していくために実施した内容です。これらは順次行ったものもあれば並行して動いていた内容もありますが、徐々に問題を絞り込んでいきます。自分たちのシステム環境には問題がなさそうであるため、「5.」の通信の状況をを一つ一つ調査していきました。
こういう調査においてはレイヤーの低いところから順番に見ていくのがセオリーであるためパケットキャプチャで通信状態を確認したところ、WAFとWebサーバの通信で以下のような事象を確認しました。
この内容からWAFを提供していただいているマーケットプレイスの方とお話をしたところ、WAFが顧客の購入リクエストをBotと判断して止めていたことが判明しました。これはWAFとしては正しい動きで、強力なWAFを導入したことによって正しく守られてしまっていた我々のサイトですが、一旦この処理を止めていただいたところ売上が急激に上がっていくことになりました。(20分で700万を売り上げる猛チャージ)
この事例は自身が提供しているサービスでも起こりうることで、全てをサービスや機器に任せてしまうのではなく、運用状態として正常状態を把握して、その状態が継続されているか、また何か問題があったら気づくことができるのか?ということを常に可視化しておくことが大事なことだと改めて認識しました。
またchangedetection.ioでチェックしていたにもかかわらず問題に気づけなかった原因は自組織内のネットワークで確認を回していたためであり、このような正常性確認のツールはお客様と同じ環境(通常であればインターネット越し)で回さないと意味がないという、当たり前ですが見落としているようなことを気づかせてもらいました。
競技終了
18時ごろ8時間の競技が終わり、まずはチームやJVのみんなでお互いの労をねぎらいます。
ただしHardeningはここでは終わらず、競技後も2日後に控えたSoftening Dayに向けたプレゼンテーション資料の作成のために、これから貸会議室に向かいます。
これがHardeningか。
競技会2日目(Analysis Day)
この日は前日の夜から作り始めたプレゼンテーション資料をさらにブラッシュアップしていく日なのですが、それは午前中までで、午後は競技者のチームを超えてハーリーを漕ぐという体験をすることになります。そのあとは豊崎海浜公園 美らSUNビーチで参加者全員での懇親会が開催され、様々な方と交流し、絆を深めます。
ちなみに私は後日ひどい筋肉痛になりました。身も心もHardeningされています。
競技会3日目(Softening Day)
この日は各チームと運営側のプレゼンテーションと競技結果発表、表彰が行われます。
我々のチームは最後に売上を伸ばしましたが、競技としては勝つことはできませんでした。
ただし通常の運用で重要となる顧客点とインシデントレスポンスとしての対応点はそれぞれ全チーム中1位と2位を取ることができたので、ビジネスチームのリーダーとしての役割としては果たせたかと思っています。
※協調点が0点なのは障害にかかりっきりだったため、と言い訳しつつ反省しております。
Hardening参加を通して感じたこと
今回このHardeningという競技会を通して、疑似的なインシデント対応を体験することができました。この疑似的に体験できるということがとても重要で、現実のインシデント対応ではどちらかというと不安のほうが勝つような場面が多く、精神的に参ってしまうこともあると思います。競技会という形で体験できることによって割り切って対応ができるため全力でインシデント対応に集中することができました。
またインシデントというのは現実世界では起きてほしくないものですが、実際にはいきなり発生します。この時に自分の特性を理解して、正しく動けるように訓練をしておくというのはとても重要で、組織に戻ってからのフィードバックも自分自身だけではなく組織全体のレベルアップにつながることになると思います。
ちなみに私の特性は、インシデント対応時はよくわからない高揚感(テンション上昇)が発生し、どんどん元気になっていくというものがあります。また頭も神経が研ぎ澄まされてクリアになっていくような感覚を覚える感じで、今回もインシデント対応の分析時は冷静に対応がとれたかなと思っています。昔インシデント対応などを学んだ時に講師の方から「インシデント対応やCSIRTのリーダーは、困難が大きくなればなるほど元気になる、ある意味まつり好きが向いている」と言われましたが、まさにこのタイプですね。
今回私は競技者として参加しましたが、弊社はダイアモンドスポンサーとして、またマーケットプレイス提供者として多くのメンバーが参加しています。マーケットプレイスではサイバーセキュリティのプロフェッショナルが、脆弱性診断とインシデント対応サービスを提供し、マーケットプレイス対応メンバーはある意味もう一人の競技者となってシステムの脆弱性を探して堅牢化したり、インシデントの対応を実施したと、競技後に聞きました。我々のサービスはお客さまとサイバーセキュリティに関する悩みや課題を共に解決するという意味で伴走型という表現を使いますが、まさに今回のHardeningの現場ではこの伴走型なサービスが提供できていたと思います。ちなみに私のチームは弊社のサービスは買わなかったのですが、あとですごく失敗したなと思いました。次、機会があれば必ず買います。
Hardeningは競技ですので結果は重要ですが、この体験によって自分自身が持ち帰るものも大切だと思います。また短い期間ではありますが全く出自の違うメンバーがチームとなってインシデントに対応していくことで絆を深めていけたというのはとても心地よい体験で、なんでもっと早く行かなかったのかと少し後悔しています。ともあれHardeningは今の自分よりは成長した姿で帰ってこれる競技会であると思いました。
最後に運営の皆様やスポンサー、マーケットプレイス、その他Hardeningに何らかの立場でかかわった方々、そして競技者全員が一体となって作っているのがHardeningという競技会なんだなと感じ、とても良い経験をさせていただきました。皆様に感謝しております。
本記事で興味を持たれた方は是非来年のHardeningにチャレンジしてみてください。