
Hardeningってなんですか?怖いですか?とりあえず参加して確かめることにしました!~有給を1週間消化しても、衛ることで得られる知識があると思って望んだ"Hardening 2024 Convolutions"参加レポ~
🛡️ はじめに
こんにちは!びきニキです(@BkNkbot)
10/15(火)~10/18(金)に沖縄空手会館で開催されたHardening 2024 Convolutionsに参加しました! #H2024C
今回はその内容について、参加記録を残していきたいと思います!
🛡️ Hardening 2024 Convolutionsとは
ハードニング競技会は、サイバーセキュリティの実践的なスキルと知識を競うイベントです。参加者はチームを組み、競技会で託されるビジネス・ウェブサイト(例えばEコマースサイト)を、ビジネス目的を踏まえて運用・改善します。降りかかるあらゆる障害や攻撃に対して、考えうる手だてを尽くしてセキュリティ対応を実施しつつ、ビジネス成果が最大化できるよう準備を重ねます。
🛡️ 参加するまで
私がHardeningのことについて知ったのは5月。新卒研修の一環としてPSIRTの体験に行った時のことです。
弊社のPSIRTメンバーから、Hardeningというイベントとその概要を教えてもらった私。それまでこの競技を全く知らなかったこともあり、(情報漏洩したら謝罪会見がある・8時間サーバーを守りきる・ビジネスと開発に分かれ、ガチの企業運営をするなどの)刺激的なイベント内容に興味が惹かれるのでした。
同期にPSIRT職が3名いるのですが、2人が次のHardeningに業務の一環として参加するという話を聞きつけたので、直前に申し込みをして私も参加することにしました(なお、私は普段セキュリティ職として勤務していないので完全に自費+有給利用の参加)。同期の参加に後押しされた形になるので、PSIRT同期の2人は感謝してもしきれません。
🛡️ ざっくりスケジュール
応募後選考の上、競技者が選ばれます。今回の場合は1チーム6~7名の構成で15チーム、計104名の競技者がいました。また新規の取り組みとして、競技応募者の中から数名の経験豊富な方をメンターという役割で招くことを行なっていたようです。#H2024C の全体スケジュールは以下のような感じ!
~8/10:募集期間 〜 応募締切
8/13:審査日
8/16:選考結果通知
8/16以降:チームの結成と準備期間
8/27:参加チーム/サポーターBoostイベント
10/15:Preparation Day (競技詳細資料提供)
10/16:Hardening Day (競技)
10/17:Analysis Day (競技振り返りとまとめ・ネットワーキング)
10/18:Softening Day (発表と表彰)
🛡️ 準備期間

勢いで参加したはいいものの…….10月に入ってからHardening Dayまで、マジで憂鬱だった。本当に沖縄に行きたくなかった。自分で手配したのに!
理由は単純で、めちゃくちゃ不安だったからです。
私はセキュリティをガッツリやってきた人間かと問われるとそうではないし、事前情報として「謝罪する場がある」「本格的に企業運営をする」という2つの情報が脳内で肥大化しているような状態で「手も足も出ず、チームの戦力になれなかったら?」という思いがずっと心の中にありました。
また、事前学習の時間を自分の中で満足できるほど取れておらず、過去の全容・傾向や対策などにも不安を覚えていました。

🛡️ 1日目 / Preparation Day
Preparation Dayは、本来であれば競技資料の提供日です。例年であれば日没ごろに資料が共有されると聞いていたのですが、今年はなんとかなり前倒しで3日前に公開され、適宜更新がかかる形でした。ということで、沖縄に来る前から資料を読んだりと、今年はチーム内で資料の認識を揃える時間が比較的あった方だと思います。
今年の資料の総ページ数は124Pでしたが、これまではこの量を前日の夕方に公開していたと考えると恐ろしすぎる…w
例年の情報や経験者の話などを聞くと前日は「作業用スペースを確保して、そこで作業をする」というのがよくあるパターンのようで、私たちのチームも例に漏れずチームで集まって作業をしました。

今年のHardeningには複数チームで協力し、1つのグループとして売り上げを伸ばす「連合制度」が採用されており、優勝を狙うためには「連合間で売り上げ1位+その連合内で売り上げ1位」の2つを達成しなければなりません。
というわけで、Preparation Dayでは連合内での話し合い・チームとしての話し合い(と初対面なので自己紹介)・メンターさんの直前お悩み相談室・LANケーブルの動作確認などを行い、解散しました。

集合したのは確か18時頃で、解散したのは22時半くらい。翌日にHardening Dayが控えているという事実が怖かったですが、怖いということは自信のない分野に挑戦できているということだと思い直して寝ることにしました。
#H2024C の好きな一節に後押しされた部分もあるので、載せておきます!
キミは動き続け、衛りつづけることができるか。
それは決して、衛りを固めることとは同じではない。パソコン一台一台を守ることに専念したところでビジネスを衛ることにはならない。ビジネスを衛るなら、クラウド、IoTデバイス、スマートフォン、プリンタ、NASなど、ビジネスの現場で使われているあらゆる装置を衛る術を身につけていなければならない。
さらに、「私はクライアントサイドしか分からない」「私はサーバサイドしか」などという言い訳は、もはや通用しない。クラウドなど特定の技術を“究めた“資格で経歴を飾り、あるいは資格試験が整うにつれ急激に枯れていく領域にとどまるなどすれば、手っ取り早く食べていけるかもしれない。だが、技術スタックを選り好みしていては本質を見失うことになる。
技術だけに閉じこもることの弊害は言うまでもない。経営層、広報、法務、人事、サポートなど、異なる立ち位置のステークホルダーと対立するのではなく、むしろ共同戦線を張れる人材こそが、ビジネスを衛る逸材たりうる。
衛りとは、複雑に絡み合う課題に真正面から向き合うことだ。
🛡️ 2日目 / Hardening Day
さて、本番です。来てしまった….!!!Hardening Dayは競技当日です。チーム単位で受付し、バッジケースやフードバウチャーなど入場者セットを受け取ります。
遅刻の場合はチーム全員が入れない…..のですが、私のチームは唯一寝坊により遅刻者が出ました。メンバー全員ヒヤヒヤしていましたが、何時に起きるかをメンバー間で賭ける余裕くらいはあったように思います。

本来であれば入れないルールなのですが、実行委員の優しさにより、現地到着しているメンバーは入場が許されました。ありがとうございます!



ウェルカムスピーチとして、実行委員長、豊見城市長、沖縄県警察本部、沖縄総合事務局 内閣府沖縄総合事務局経済産業部地域経済課長、デジタル庁審議官などのお話があり、開催宣言がされて競技がスタートしました。
遅刻していたメンバーも開催宣言前には現地に到着し、無事に全員揃って始めることができました!無事でなによりです。
さて、ここでざっくり競技の説明をしましょう。Hardeningは、運営側の攻撃集団(Kuromame6)から自分たちの会社のサーバーを守りながら、会社の売り上げを伸ばしていく競技です。
競技時間は8時間とされており、チーム内ではざっくり言うと「サーバーを守るエンジニアメンバー」と「会社の事務処理を行うビジネスメンバー」に二分されます。ロールの割り振り、人数などは運営から指定されず、全てチームや連合に一任される形になっています。
また、この競技はMP(マーケットプレイス)と呼ばれるセキュリティ対策を行うことができるのも特徴です。協賛企業の方々が様々な企業のセキュリティ対策製品やサービスを出店しており、チームは自分達の予算や状況にあわせた製品、サービスを導入することが出来ます。
MPはドラフト制となっているものもあり、全チームが無料で購入できるものもあれば、先着・抽選順になってしまったものなどさまざまです。
私たちのチームは統合ログ管理、プロキシ版WAF、堅牢化チェックシート、注意喚起・個別通知配信サービスの4サービスを購入しました。
毎年そうとは限りませんが、競技開始から1時間くらいは攻撃されないので、その間にMPを導入したり、パスワードを変更したりの初動対応をします。会場には会社の業績(得点)がパッとわかるスコアボードも。キラキラ&カラフルでテンション上がりますね!!!!

開始早々、チームでfirewall(vyos)で外→中向き通信のポートを絞り堅牢化する対応をしたら、意図せずセグメント間の通信が全て通らなくなってしまう想定外の事象も発生したりと、慣れないことにてんやわんやです。
それから少し経ち、1時間が過ぎたあたりで攻撃が飛んできます。実際に私のチームでは、ランサムウェア攻撃、個人情報流出、XSSなどが発生。

個人情報が流出した際は別途対応(会社HPに障害情報の掲載、個人情報保護委員会・警察・IPAへの連絡など)が必要だったため、やることの優先順位を意識しながら、焦らないように対応することを心がけました(焦ってないとは言ってない)。そんな対応などに追われながらも、あっという間に8時間が過ぎ、競技が終了。
終わった時の感想は「楽しかった!!!!本当に一瞬だった、まだやり残したこと、やりたかったこともある、不完全燃焼だ….」という感じ。あんなに怖がっていたHardening Dayも、振り返ればとても楽しく、面白く、刺激がいっぱいあるものでした。

Hardening Dayが終わったらもちろんチーム打ち上げ!沖縄料理を食べた後に締めステーキと、たくさん満喫しました。楽しかった〜〜〜!!!!

#phpcon_okinawa と同じ店に吸われてしまい、沖縄が始まりました pic.twitter.com/cqv3ok622N
— びきニキ (@BkNkbot) October 16, 2024
激アツ pic.twitter.com/vbRc1iYuJG
— びきニキ (@BkNkbot) October 16, 2024

🛡️ 3日目 / Analysis Day
3日目です!今日は翌日のための発表資料を作ったり、参加者間でのレクリエーションが用意されている日でした。というわけで朝から空手会館に集合し、発表資料をみんなで作りました。

12:30に資料の第一弾ドラフトを提出。午後からは豊見城発祥の「ハーリー」というボートを漕ぐ体験が用意されていたのですが、乗船者数が限られているということもあり私は観戦していました。


ハーリー体験が終わったら、関係者全員で行うバーベキュー!!!!美味しい食材をいっぱい胃に詰め込みながら、綺麗な沖縄の海を見る経験は本当に最高で格別でした….!!!!




🛡️ 4日目 / Softening Day
4日目はチーム毎の成果発表、表彰などが行われる日です。1チームの持ち時間は10分で、自チームは私が資料の最終調整・発表を担当しました。
同じ障害に対応したところもあるので、他のチームの発表を聞くだけでも対応方法等の学びがとても多く、多くの知見を得ることができました。超有意義時間だった!!!!
…夜中の3時半まで資料を作っていて寝坊しかけたのは内緒です🤫

最終的に私のチームは何の表彰もされませんでしたが、15チーム中6位という結果でした!割と奮闘したのでは….!!!

解散した後は非公式の懇親会に出ました。90人くらいいた。
いや〜〜〜〜、セキュリティ専門の人と話す機会がこれまであまりなかったので、新鮮な気持ちで懇親会に出られました。
知らないこといっぱいで楽しかったです!!!!!お話してくださった皆さん、ありがとうございました!

🛡️ 振り返り
もっと詳細な振り返りをしたいと思っているので、別途sizu.meあたりにじっくりまとめます!書いたらここに紐付けたいと思っていますので、もうしばらくお待ちください🙏
🛡️ おわりに
怖かったけど、勢いで参加してみて本当によかったです!これまで関わってこなかったような新しい人たちと話せて、会社経営、サービス運用などの大変さ、フローを決めて事前に練習することの重要性なども分かりました。
大変だったけど、疲れたけど、有意義な4日間でした。Hardeningを教えてくれたPSIRTメンバーのみなさん、誘ってくれた同期、ありがとう!!!!
というわけで関係者各位のみなさん、本当に本当にお疲れ様でした。
また来年会いましょう!