Hardening 2024 Convolutions参加記
はじめに
2024年10月15~18日の日程で開催されたHardening 2024 Convolutions(ハードニング競技会)に参加しました。
ハードニング競技会は以下のようなものです(公式サイトより引用)。
ハードニング競技会は、サイバーセキュリティの実践的なスキルと知識を競うイベントです。参加者はチームを組み、競技会で託されるビジネス・ウェブサイト(例えばEコマースサイト)を、ビジネス目的を踏まえて運用・改善します。降りかかるあらゆる障害や攻撃に対して、考えうる手だてを尽くしてセキュリティ対応を実施しつつ、ビジネス成果が最大化できるよう準備を重ねます。
自分としては、2022年の競技会に参加して以来、2年ぶり2回目の参加となります。
Hardening 2024 Convolutionsの特徴
Hardening 2024 Convolutionsで特徴的だった点は以下です。
- 1チーム6、7人で全15チーム。
- 会場にリモートエリアとオフィスエリアが存在する。
- オフィスエリアは1チーム4席のみなので、チームメンバーの数人はリモートエリアで作業する必要がある。
- ジョイントベンチャー(JV)の制度が存在する。
- JVは3チームから構成され、JVで運営するショップが1つ存在する。
- メンターさんがいた。
- メンターの方が競技当日まで、競技当日においてサポートをしてくださった。
自チームについて
技術担当4名、ビジネス担当3名で役割を分担しました。自分はチームリーダーを担当し、当日はビジネス業務とチーム全体の調整を行なっていました。状況把握と共有のため、オフィスエリアとリモートエリアを行ったり来たりしていました。
結果は、15チーム中9位でした。またスポンサー賞として、SCSK賞をいただきました。順位的にはそこまで良くないですが、優先度の高いショップはほとんど落とさず動かし続けられたのがとても良かったです。インシデントが立て続けに起こり続けるカオスな状況の中、ビジネスを存続するための意思決定と対応を行えたのはかなり良い経験になりました。
自チームにおいて良かった点と反省点をまとめます。
良かった点
- 競技当日までに環境への接続練習と簡易的なインシデント対応訓練を行った。
- メンターさんが接続練習のための環境を提供してくださったのがかなりありがたかったです。
- ochakai-hardeningを用いてインシデント対応訓練を実施。
- テストプレイ1回目だったため色々と問題が生じましたが、チームメンバーの方々にパスワード変更とバックアップの重要性を伝えることができました。
- インシデントが起こり続ける状況下でも、比較的冷静に対応し、コミュニケーションを取り続けることができた。
- インシデントが起こった際に焦って個人作業になるのではなく、それぞれが状況の共有・報告を続けられたのはとても良かったです。
- 技術担当の方々はリモート・オフィスエリアに分かれていたため、Discordのボイスチャットでコミュニケーションを取り続けていました。
- マーケットプレイスでシスコシステムズさんの製品を購入することができた。
- NGFW/IPSによる不審な通信の遮断、EDRによる端末での不審なプロセス・タスクの検出に役立てられました。
- 特にEDRのWindows端末への導入によって、他チームが防げなかったLateral Movementを防げたのがとても良かったです。
- また、シスコシステムズさんから通知される事象に対してFWで遮断を行うなどの対応ができたのが良かったです。
- 本来はシスコシステムズさんにリクエストすると製品で遮断してくださったらしい…
- Webメールが使用できなくなった際に、Outlookへの切り替えがスムーズにできた。
- 顧客や各機関との連絡を行うためのWebメールが使用できなくなるインシデントが生じましたが、Outlookにスムーズに切り替えられたのが良かったです。
反省点
- 配送管理の概念を理解できていなかった。
- 在庫管理の必要な商品は購入された場合に配送を行わなければいけないことが分かっていなかったです(当たり前といえば当たり前)。
- 自チームでは配送を一切行っていなかったため、詐欺会社に成り果ててしまいました(しかしそこまで原点はなかった印象)。
- dockerで立てられているアプリのバックアップが取れていなかった。
- 自チームで取れていないバックアップをJV内の他チームの方が提供してくださり、とても助かりました。
- 商品の人気レベルを上げるためのミッションに手をつけられていなかった。
- ショップの商品画像や説明文を変更することで人気レベルを上げられるのですが、午後はインシデントの対応に追われて実施できませんでした。
- 比較的落ち着きのあった競技開始時にまとめて全部やっておくべきだったと思っています。
- コーポレートサイトの改善ができなかった。
- コーポレートサイトがダウンしたり、WordPressでブロックエディタが使えなくなる問題が生じたためコーポレートサイトを改善するミッションが達成できませんでした。
他チームの良かった点
Softening Dayの他チームの発表を聴いて良かった点、真似したいと思った点をまとめます。
- Windows Defenderを有効化していたことで、マルウェア感染やLateral Movementを防げた。
- すでにあるものを有効に活用することが重要だと気付かされました。
- マーケットプレイスで人材系のサービスを購入していたことで、優秀な技術担当メンバーを増やすことができた。
- インシデントの対応はもちろん、環境内の脆弱性を見つけて潰すところまでやってくださるそうで、強すぎないか?と思いました。
- バックアップをgitで管理していた。
- バックアップに差分が生じた場合も問題なく復元することができる。
- 人気レベルを上げた後に値段を倍に上げることで、売り上げを大幅に伸ばすことができた。
- 人気レベルを上げると値段を上げても購入されることが分かって、目から鱗でした。
- チームビルディングのためにハート・ビーイングを行なった。
- オンラインでのチームビルディングのために良好な関係を築くための工夫をしているのが素晴らしいと思いました。
- 呼び出しイベントのために報告書を作った。
- 謝罪会見などのイベントのために事前に報告書を作っていたことで質疑にきちんと回答ができていてすごかったです。
- chagedetection.ioやiLogScannerなどのツールを用いた。
今後やってみたいこと
競技会への参加を通じて、今後やってみたいと思ったことをまとめます。
- より競技会に近い環境下でインシデント対応訓練を行うため、ハードニング競技会の環境を最小構成で作ってみたい。
- サーバーエリア、内部エリア、クライアントエリアにセグメント分け。
- サーバーエリアでLinuxマシン2台(ショップ、コーポレートサイト)、内部エリアでFW、クライアントエリアでWindowsマシン1台とかを動かす。
- スクリプト系言語のwebshell検出について調べたい。
- スクリプト系言語のwebshellはスキャンから漏れることが多いらしく、少し興味があるので調べてみたい。
- ルータやプリンタなどのIoT機器をガチャガチャしたい。
アクティビティ
その他、Analysis Dayでは空手鑑賞をしたり、ハーリーを漕いでタイムを競い合ったり、海辺でサンセットをみながらBBQをしたりして楽しみました。また、Softening Dayの終了後には懇親会に参加してたくさんの方と交流することができて良かったです。
おわりに
運営の皆様、マーケットプレイス提供企業の皆様、スポンサー企業の皆様、メンターの皆様、参加者の皆様、本当にありがとうございました。