Hardening 2024 Convolutionsに参加してきました ~本番編~


Hardening 2024 Convolutionsに参加してきたので、当日の様子や得られたものについて書いていきます。
準備編は↓の記事に書いてあるので良ければこちらもご参照ください。

blog.scsksecurity.co.jp

Hardening 2024 Convolutions開催概要

Hardening 2024 Convolutionsは沖縄県豊見城市にある沖縄空手会館で以下の4日間開催されました。

日付 名称 内容
2024/10/15 Preparation Day 準備ができる最後の日。協議当日の環境資料の最終版が参加者に公開される。
2024/10/16 Hardening Day 競技当日、8時間のサイバー攻撃の猛攻に耐えながらECサイトの売り上げを伸ばす。
2024/10/17 Analysis Day Hardening Dayの振り返り。各チームで話し合いながらあれをやった、これをやったなどをまとめた資料を作成する。
2024/10/18 Softening Day 発表の日。各チームの発表、攻撃者チームの発表、環境作成者の発表などがある。そして最後は表彰が行われる。

Preparation Day

Preparation Dayは準備ができる最終日です。
大体毎年Preparation Dayの夕方頃に当日の環境が記載された100ページくらいの資料が配布されるので、この日は18:00から貸会議室を予約してチームメンバー全員で集まりました。
この日が初めてのオフライン顔合わせでしたが、これまでオンラインで毎週ミーティングを行っていたので特に違和感なくスムーズに作業に入ることができました。

貸会議室の予約は22:00まで取っていたのですが、資料の内容が多すぎてあっという間に時間が経ってしまいました...なんとか認識合わせだけ完了させて環境情報の資料を作成しました。

またこの日は過去にHardeningに参加されていたメンターの方が激励に来てくださいました。
アドバイスは「悔いのないよう今日一日は頑張れ」とのこと!なのでアドバイス通りホテルに戻っても2:00くらいまで最後の準備をしてました!
ちなみに他のチームへの別のメンターの方のアドバイスは「しっかり寝ること」だったみたいです。ここらへんはメンターによっても考えが分かれるよう🤔

Hardening Day

ついに競技当日。
朝6時頃起きて初めて空手会館に降り立ちました。

入口にはHardening 2024 Convolutionsの看板が立てかけてありました。

会場に入ると座席が準備されており、いよいよ競技が始まるのかとボルテージが上がってきます。

開会宣言が行われて9:00過ぎにいよいよ競技開始です。
技術班ではサーバごとに役割分担を行っていたのでそれぞれデフォルトパスワードの変更と重要ファイルのバックアップから始めていきます。
初期パスワードは簡単なパスワードがそれぞれの機器に設定されているので、推測されないパスワードにすることが重要です。
午前中は思ったほど攻撃がこず、全サーバOSのパスワードを変更することができました。
(ちなみに午前段階では全チームの中で売上1位でした。ただしラストは...)

ただ、思ったより時間がかかってしまい、午前時点ではまだあまりバックアップの取得ができてない状況。
午後から急いで開始しましたが、ビジネス班の方からコーポーレートサイトが改ざんされたことが伝えられます。

これはやばいということで急いでバックアップから公開ディレクトリのリソースを戻しましたが、次に別のショップが落ちたということが伝えれれます。

立て続けのインシデントに事前の役割分担は一旦解除して、それぞれインシデント対応に入ります。
ショップの方は公開ディレクトリが暗号化されてましたがこちらはバックアップをまだ取得できておらず、優先度も低いショップだったということもあり閉鎖対応を行いました。
これで3つのショップ(JVを含めると4つ)のうち1つが閉鎖。
残りのショップだけで売上を上げる必要がありました。

その後も、サイト改ざんやランサム攻撃が繰り返されたり、Webshellを設置されたりいろんな攻撃が繰り広げられました。

バックアップは攻撃を受けながらもなんとか取っていったのですが、2つ目のショップも暗号化されてしまう羽目に。
流石にここを閉鎖してしまったら、もう売上をあげられないということでメンターの方からのアドバイスも踏まえ、同じJVの他チームに頼み込んでバックアップを譲っていただきました。

チーム同士は敵ではありますが、JVという単位だと仲間なので快くバックアップを譲っていただいたこのチームには感謝してもしきれません...!

その後も何度か同じサーバに対して攻撃があったのですが、このバックアップですぐに復旧することができました。

全体を通して確認できた侵入や攻撃としては以下のようなものがありました。

  • サイトの改ざん
  • 公開ディレクトリの暗号化
  • Webshellの設置(ランダム文字列のPHPファイル配置)
  • ユーザーを勝手に作成される

今回、CISCOシステムズ様のMPサービス(マネージドのIPS、WAF、EDRサービス)を購入しましたが、そちらで結構防いでくれている攻撃もありMPの効果を実感しました。

ちなみに売上状況はこんな感じでダッシュボードとして表示されます。

JVやビジネスの対応についてはそれぞれの班で対応してくださってたので、ほとんど関わる機会はなかったですが、適宜Discordのボイスチャットや直接声かけをしながら情報共有はしてました。
うちのチームはなかったですが、チームによっては役員会議とか記者会見とかの場面でインシデント状況を説明するみたいなイベントもランダムに発生していたようです。

そんな感じで攻撃を受けながらも、どうにかこうにか8時間を耐え競技終了の時間がやってきました。

午前中の平和な時間とうってかわって、午後は対応に追われた一日でした。
自分も手を動かしてたということもあり、CISOっぽく指示をしたりインシデント内容をまとめてCEOに報告したりというところがほとんどできなかったところが反省点です。

この日はチームで飲みながらあれやこれや反省会をしました。

Analysis Day

Analysis Dayの午前中はチームで会場に集まってSoftening Dayで発表する資料の作成をしました。
Hardeningは競技をして結果を発表して終わりではなく、チームでどういう対応をしたかなどをまとめてSoftening Dayで発表します。

その後、会場が空手会館ということで空手演武を見せていただきました。
始めてみましたが武道はかっこいいですね!

午後は「豊崎海浜公園 美らSUNビーチ」というところに移動して、沖縄の伝統行事であるハーリーを体験しました。
17名×6チームのタイムアタック対決ということで立候補制でしたがせっかくなのでということで漕ぎ手に立候補しました。
この編成は、Hardeningのチーム関係なく全チーム、メンター、MP混合のチームです。

ハーリーは初めての経験でしたが、うちのチームはなんと2位になりました!
結構濡れましたが、声を出しながらみんなで船を漕ぐという経験はHardening競技とまた違った楽しさがありました。
(次の日筋肉痛で肩が上がらなかったのはまた別の話)

その後のネットワーキングでもいろんな方と交流ができ、有意義な時間を過ごすことができました。


Softening Day

Softening Dayは午前中から一日発表がり最後に協議の結果発表が行われました。

  1. 各チームの発表
  2. 攻撃者チームkuromame6の解説
  3. NICT様によるHardeningプラットフォームの説明
  4. 結果発表&表彰

各チームの発表では、それぞれのチームが持ち時間10分程度で今回のHardeningに向けて行った準備や競技当日にどういう対応をしたか等を発表します。
他のチームがどういう対応をしたかなどを聞けるので、自分のチームだけだと思いつかなかった対応方法なども聞けてとてもためになりました。

次は攻撃者チームの解説です。
攻撃者はkuromame6という複数人のメンバーで構成されたチームで、競技者の環境に対してありとあらゆる攻撃を仕掛ける攻撃のスペシャリストです。
今回実施した攻撃や各チームの対応で気になった点などを解説してくれるため、裏でどういうことが起こっていたかなどを知ることができました。

その後は、今回のHardeningのプラットフォームに関する説明をNICTの方が実施していました。
今回一チーム20台以上のサービス、機器を扱うことになったので全チーム分となるとかなりの規模のインフラだったと思います。
こういった環境作りという面からHardening実行委員会の方々の凄さを目の当たりにしました。

最後は表彰です。
表彰は、スポンサー企業が選定するスポンサー賞と全体のグランプリの2つに分かれております。
うちのチームはSCSKセキュリティ賞を受賞することができました。
受賞理由はちょうど移動中であまり聞こえなかったですが、決して自分の会社だからとかではないとのことです笑


最終的な順位としては15チーム中9位だったので、総合的に見ると反省点も多い競技会でした。
ただ、得られたものも多かったので、↓に書いてみます。

Hardening 2024 Convolutionsに参加して得られたもの

バックアップは大事

普段何気なく実施してるバックアップですが、今回暗号化や改ざんをされたことでその重要性に気づきました。バックアップの有無によってその後の普及難易度も大きく変わります。
定期的なバックアップ運用の重要性に気づくことができました。

臨機応変な対応を

今回notionを使ってタスク管理をしており、いろんなタスクの洗い出しを行いましたが、全体の3割くらいしか実施できませんでした。途中インシデントが発生したことにより、そちらの対応作業を優先することを余儀なくされたという形です。
ただ、事前準備したことをすべてやり切ることが目的ではないので臨機応変な対応を行い、復旧を優先させることが重要だと感じました。

チーム内でのコミュニケーションは大事

やはり、事前にある程度チームでコミュニケーションを取っているのとそうでないのでは進め方も段違いだなと思います。
それぞれの得意分野や進め方のスピードなどある程度会話をしていると見えてくる部分があるので、当日の役割分担もしやすくなるかと思います。

優先順位を的確に

デフォルトの簡単なパスワード変更をまず手分けして進めることから始めましたが、後からあの時間実はサーバが落ちていたかもということをメンターの方から教えてもらいました。
1つの作業に対して人手をかけすぎたかなという反省があったので、監視対応の人も増やしておくべきだったかなというのが反省点です。
また、今回CEOの判断でよいなと思ったのが、コスパの低いECサイトは復旧できないとわかった段階で即座に閉鎖するという判断を下されてた部分です。
さらに攻撃されて、このECサイトのサーバから横展開されるなどの自体も可能性としては起こり得たのでこういった判断も重要だと感じました。

柔軟な発想を

今回、うちのチームはファイルを暗号化された際にバックアップを取得していなかったことが判明し、諦めかけてましたがメンターの方から他チームにもらえるよう頼んで見れば?という言葉で復旧することができました。
実際の環境でインシデントが発生した際に、他の企業に同じようにファイルをもらうということはできないと思いますが、ここで言いたいのは柔軟な発想を持つのが大事ということです。サーバ復旧を優先するのであれば視野を広げて、1%の可能性でも試すべきだなと今回の件を通して感じました。

技術とビジネスの連携が大事

インシデントレスポンスは技術班としてはサイトを復旧することに全力をそそぎますが、ビジネス班としては関係各所への報告、インシデントレポートの作成、記者会見などかなりいろいろなタスクがあります。 
そのため、技術班・ビジネス班の間で連携をいかに間違いなく簡潔にできるかというのが重要だと感じました。

まとめ

今回Hardening参加は初めてでしたが、技術面でもビジネス面でも学ぶことが多いイベントでした。
今回のHarderningでは攻撃にあった際、復旧をするのみで原因や侵入経路を特定するというところまでできませんでした。
自分は今後インシデントレスポンスに向けて技術力を上げるという点と視野を広げるということを重点的に行なっていこうと思います。
来年もHardeningは開催する予定のようなので、参加をしてみたいという方にちょっとでも参考になったら嬉しいです。