見出し画像

セキュリティ競技会「Hardening 2023 Generatives」参戦!MOTEX-CSIRT2ヶ月の記録

セキュリティ業界における「精神と時の部屋」と名高いイベント「Hardening 2023 Generatives」 に、エムオーテックス(MOTEX)でCSIRT/情シスを務める杉村が参戦してきました。

今回は、2023年10月4日~6日にかけて開催されたイベントの紹介と、当日までの2ヶ月間にわたる取り組みについて、レポートいたします。

Hardening Projectとは

出典:ハードニングプロジェクト – Hardening Project

Hardening Project「衛 (まも) る技術」の価値を最大化することを目的とした、Hardening Project実行委員会が主催を務める、セキュリティプロジェクトです。サイバーセキュリティの実践力向上を意図し、2012年より毎年開催されています。

Hardening競技会では、とある会社を模して約9名でチームを結成し、ECサイトをはじめとする「脆弱性が潜むビジネスシステムに対する堅牢化技術」を競います。あらゆる攻撃やセキュリティ問題からECサイトを死守し、8時間後に「ECサイトでどれだけ売上を上げられたか」で、チームのスコアが決定します。

8時間で数年分のサイバー攻撃を体験する過酷さから、業界ではしばしば「精神と時の部屋」と呼ばれる本イベント。競技で高得点を狙うためには、セキュリティに関する知識や技能はもちろんですが、ECサイト上の商品の在庫管理や顧客からの問い合わせ対応、コーポレートサイトの運用などといったビジネス面における幅広いスキルも重要となります。

Hardeningへ参加したきっかけ

実は過去に2回ほどHardening競技会に参加した経験がありました。

ここ数年は参加を見送っていたのですが、当時と自身の社内における役割が変わり、情シスやCSIRTとして活動するようになった背景から、「CSIRTとしてインシデントレスポンスについて学びたい!」と思い、参加を決めました。

Hardening競技会は誰でも参加できる訳ではなく、応募して「事前選考」を通過する必要があります。私も今回の参加にあたり、「チームリーダーを務める」くらいの強い気持ちで応募したところ、無事選考を通過することができ、4年ぶりの参加が決まりました!

選考通知後は下記のスケジュールで、約2ヶ月の競技会へ取り組むこととなりました。

▼競技会のスケジュール
・選考通知、チーム発表(8/18)
 →私は「Team6」として活動することが決まりました。
・Preparation Day(s):準備期間(8/18~10/4)
・Hardening Day:競技会当日(10/5)
・Analysis Day:チーム内振り返り(10/6)
・Softening Day:全体振り返り、最終スコア発表(10/28)

Preparation Day(s):2ヶ月の準備期間

チーム発表後の8月、チームメンバーと顔合わせを行い、メンバー同士自己紹介をした後、役割やチーム名を決めました。私は、応募時から責任あるポジションを経験したいという思いがあったので、今回はリーダーを引き受けることとなりました。

チームメンバーにはCSIRTやSOCのようなセキュリティ関連の仕事をしている方以外にも、広報や大学職員、新卒の方、学生さんなど幅広い立場の方がいらっしゃいました。

各々の参加動機や得意分野、学びたいことをヒアリングした上で、方針・役割分担を行います。

チームの方針

・各々が学びたいことを最大限引き出せるよう、競技に取り組む。
・競技終了後、やり切ったといえるようにする!

役割分担

マネジメントチーム:インシデント対応の全体の取りまとめ(私はマネジメントチームとして準備に携わりました)
テクニカルチーム:技術的なインシデント対応を中心とする
ビジネスチーム:ECサイト運用や顧客対応を中心とする

事前準備

私は「マネジメントチーム」として、インシデント対応の全体フローや、インシデントのトリアージ基準を作成しました。

今回はECサイトの売上を競うという都合上、「ECサイトの稼働」を最優先に順位付けして対応を行ったため、競技中も滞りなく「売上」を伸ばせたように思います。

また、テクニカルチームは競技中に発生しうる「攻撃への対策」や「塞ぐべきポート」の洗い出しを、ビジネスチームは競技での使用が想定される「ECサイトの構築と操作」などを実施し、各々で2ヶ月ほど準備を進めました。

準備期間中は隔週でチーム定例を行い、進捗状況や競技に向けて準備すべきことの確認を進めました。

競技前日の最終準備

競技前日にはメンバー全員が北海道の会場に到着し、イベント前の最終確認として配布資料の読み合わせを行いました。環境構成等、当日の情報は前日に解禁されるため、協議前日の打ち合わせは欠かせませんでした。

チームメンバーとはWeb上でコミュニケーションをとっていたものの、全員がオフラインで顔合わせするのは、この日が初めての機会でした。

Hardening Day:怒涛の8時間

10月5日当日、競技は朝の9:30ごろから17:30まで、8時間ぶっ通しで行われました。

私はリーダーとして、発生したインシデントへの対応判断や在庫補充・ミッション対応の判断をメインとして動きました。

Hardening Project提供

競技中は下記のことを心掛けました。

1.とにかく声を出す

競技中は「言葉でのコミュニケーション」を特に意識しました。インシデントが発生したときはもちろん、ミッションへの対応状況や在庫管理の状況を随時口頭で確認することにより、チーム内で相談しやすい雰囲気づくりを行いました。

前日までは、ほぼ「初めまして」のチームでしたが、後半になるにつれ、何かあれば気兼ねなく相談できる一体感が、メンバー間で生まれていたように思います。

2.インシデントの対応判断はトリアージ基準を遵守する

発生したインシデントについては、事前に用意した「トリアージ基準」を遵守するように意識しました。サイバーセキュリティにおけるトリアージとは、発生したインシデントの重要度・緊急度により、対応の優先順位づけを判断する役割を指します。

「優先度が低いインシデント」は手が空いたタイミングで対応する、ECサイトの改ざんなど「優先度が高いインシデント」は全員で即時に対応する、といった指示出しをしたことで、メンバー各々が自身の業務に専念し、適切に役目を果たせていたように思います。

3.関係機関への報告は欠かさない

競技では JPCERT/CCや警察・関係官庁などを再現した「報告窓口」が用意されており、私たちのチームではサイバー攻撃を検知した際、関係機関への報告を欠かさず行うよう意識していました。

特にJPCERT/CCへ報告した脅威内容は全チームへ共有されるため、他チームが攻撃について報告することで、自チームも有益な情報を得ることができます。まずは自チームが率先して報告することで「他チームも情報提供しやすい空気を作ることができれば」という思いから、即時報告を心掛けていました。

結果、私たちの報告以外にも、多くの攻撃に関する情報や注意喚起が共有され、都度「自チームでは問題が起こっていないか」の確認を行うことができました。

4.スコアボードは随時確認する

競技中、売上はグラフ化され「スコアボード」として掲示されていました。売上推移を確認することで、ECサイトが安定して稼働しているかを確認できます。

私はスコアボードの近くに座っていたこともあり、手が空いたタイミングでこまめにスコアを確認し、状況整理を行っていました。

Hardening Project提供

またチームとしてもECサイトの可用性を重視し、「在庫切れ」の状況が発生しない管理を徹底していました。在庫が少なくなってきたら「売上予測」を立て、時間内に捌ける最大数の在庫を仕入れます。

結果、競技終了直前には全チームの中でもトップレベルとなる「売上」を叩き出すことができました。

競技終了1時間前のチームスコア

チーム一丸となり、白熱した8時間の競技を無事終えることができました。

Analysis Day:競技を終えてすぐの振り返り

競技終了翌日はチームメンバーで顔を合わせて、約3週間後に行われるSoftening Day(全体振り返り、最終スコア発表)用の、ドラフト資料作成を行いました。

チームメンバーで集まり、競技で得られた気づきや学びなど“熱い思い”を共有しながら、発表資料をまとめていきます。

この日の午前中がドラフト版の提出期限であったため、発表資料としてのブラッシュアップは後日Web会議にて行いました。

競技終了後、北海道で食べた回転寿司


Softening Day:2ヶ月の総決算、チームの最終結果はいかに

全体の振り返りとなる「Softening Day」は10/28 、東京のポートスタジオ会場にて行われました。

Softening Dayでは各チームの取り組みを共有するほか、実行委員の方による競技の解説、スコア・グランプリの発表が行われました(Softening Dayの様子はYouTube Liveのアーカイブより閲覧できます)。


振り返りの発表

チームごとに、事前準備の進め方や、競技当日のインシデントレスポンスへの取り組み方、どういった学びを得られたか、などの項目を中心に発表しました。チームごとに特色が出ていて面白かったです。

自チームからは、チームリーダーである私が代表して発表を行いました。他チームに比べ、インシデントのトリアージ基準を整備していた点や、競技終了1時間前のスコアボードの得点などで、差を出せていたように思います。

私の発表は アーカイブの1:21:32 からで10分程度ですので、お時間ある方はぜひご覧ください!

競技解説

実行委員である株式会社川口設計の川口さんからは「競技」について、国立研究開発法人情報通信研究機構(NICT)の安田さんからは「競技環境」について解説いただきました。

競技で使用された「ランサムウェア攻撃」についてや、競技では実際に起きた被害事例を元にした攻撃を仕掛けていたこと、競技環境の構築から当日のトラブルシューティングに関する内容まで、さまざまな興味深いお話を聞くことができました。

スコア・グランプリ発表!気になる結果は……

最後に各チームのスコア発表に加え、スポンサー賞・グランプリの発表がありました。

競技終了時の「売上」を軸に、競技中のファインプレーによる加点や、改善点に対する減点を加味して、最終スコアが算出されます。

私たちのチームは「総合スコア」で3位と、残念ながらグランプリは逃したものの、非常に良いスコアを記録できました!チームとしてのパフォーマンスを最大限に発揮し、メンバーと団結して良い結果で終えられたように思います。

個人的な感想と学び

最後に2ヶ月のHardeningを経て、私自身が感じたことや学びを挙げます。

インシデント対応時の優先順位付けの重要性

今回作成したトリアージ基準が上手くハマったこともあるのですが、事業に合わせてインシデント対応の優先順位をつけることの重要性を感じました。

今回はECサイトの可用性を重視した優先順位付けで「サイトを止めない」ことを目的としましたが、例えば個人情報を取り扱うサービスであれば、サービスを止めてでも「個人情報を漏洩させないこと」を重視する必要があるかと思います。

事業ごとに「機密性」「完全性」「可用性」の何を優先するかを決めると、優先順位を付けやすくなるように思います。

チームビルディングの難しさ

初対面の方ばかりとチームを組む際の「チームビルディングの難しさ」を、リーダー経験を通して学びました。過去に業務ではチームリーダーを経験していましたが、顔と名前が一致する社員同士に比べ、ずっと「意思疎通が難しいこと」を痛感した2ヶ月間でした。

隔週の定例MTG後に雑談を設けることで、メンバーが感じる心理的なハードルを下げるよう意識していました。現地で合流する頃にはある程度打ち解けた関係性が築けており、コミュケーション不足による衝突やミスなく、競技を進められたように思います。

長時間の対応に耐えうる体力が必要

競技前日の最終準備後や競技当日の夕食後は、ホテルのベッドへ入った瞬間、意識が飛んでしまうほど疲労がたまっていました。

実務で大規模なインシデントが発生した際にも、同様に体力を使うことを考えると、改めて「体力作り」の大切さを感じました。

Hardening(堅牢化) はサイバー空間に限らず、フィジカル面でも必要です……

グランプリが取れず悔しい結果に…

最終結果は3位と悪くはない結果でしたが、やはり競技終了前まではグランプリも狙えていた状態だったので、悔しさが残る結果でもありました。

リーダーとして「追加でやっておけばよかったこと」など、競技終了後の気づきや反省もたくさんありました。今回の悔しさから学べたことを実務に活かすとともに、次回の競技ではリベンジできるよう、さらなるスキルアップを図りたいと思います!

最後に

チーム発表からSoftening Dayまで、あっという間の2ヶ月でしたが、楽しくも学びを得られる有意義な時間を過ごすことができました!

Hardening ProjectはCSIRTやSOC業務に従事する「セキュリティ担当」や「情シス」の方はもちろん、普段セキュリティ業務とはあまり関わりの少ない「広報」や「営業担当」の方なども活躍できる競技会となっています。

本記事やSoftening Dayのアーカイブを見て興味を持たれた方は、ぜひ次回のHardening競技会に参加してみてはいかがでしょうか!

みんなにも読んでほしいですか?

オススメした記事はフォロワーのタイムラインに表示されます!

サイバーセキュリティの最新情報やお役立ちコンテンツを随時発信しています! 時々バンニャ😸も登場 ♪