Hardening 2022 DECADE に参加して

11/15から11/19にかけて開催されたHardening 2022 DECADEに競技参加者として今回初めて参加しました。
この記事では、Hardeningの面白さの一端と参加に当たって何か1つくらい役に立つ情報をお伝えできればと思います。

イベントの概要

イベントの概要を書く前にそもそも Hardening とは何かを簡単に。
Hardeningとは堅牢化などと訳される言葉で、脆弱性を減らしセキュリティを強化することを指します。

Hardening Project(ハードニングプロジェクト)とは、セキュリティ堅牢化競技会である「ハードニング競技会」をデザインし、実現するボランティア・プロジェクトです。2012年を皮切りに、毎年継続して開催してきました。
このプロジェクトは、サイバー攻撃により不安に満ちたインターネット社会において、最高の「衛る」ための施策、すなわち技術面と適用の施策を見極める目を持つスペシャリストを発掘・顕彰してきました。サイバーセキュリティの実践力を強力に向上することが目的です。

ハードニング競技会 – 未知の課題を解決する個々の力を引き出し、かつ全体の学びを最大化するためのデザイン
ハードニング競技会は、脆弱性の潜むビジネスシステム(ECサイトなど)へのハードニング(堅牢化)力の強さを総合的に競うコンペティションの形をとります。

出典: Web Application Security Forum | Hardening Project

競技には、複数人からなるチームで参加します。
チームのメンバーは参加申し込みのやり方によっては知っている人と参加することも出来ますが全員が知り合いということはなく、
(恐らく)運営で参加者の属性がチームで偏らないような編成がされます。
(例えば、公的機関からの参加者が各チームに最低1名居るような配分がされたように思います。)
1チームは9もしくは10人程度から構成され、この1つのチームを1つの会社と見立てて競技に参加します。

8時間の競技時間を通して既知のリスクや次々と発生するトラブルに対処しながら出来る限りビジネスを止めず売り上げを伸ばすこと
そして競技を終えて、全ての参加者で振り返りを行いそこから新たな学びを得ることが参加の目的です。

続いて今競技会のことを。

そして今回の Hardening 2022 DECADE では、連合制度が復活しました。
連合制度とは複数のチーム(企業)で連合を組み、連合内で協力しあい、連合対向でスコアを競う競技方式です。

ハードニングデイ本会場は、沖縄県名護市の万国津梁館。
観光で来ているならきっと最高のロケーションです。観光なら。

反省

今回 Hardening 2022 DECADE に参加してみて、準備のことから競技の内容そしてSoftening Dayを終えるに至るまでいろいろな反省がありました。

  1. 準備
    • 準備はしっかりしよう
      準備はしっかりしましょう。特に初めて利用する航空会社の場合はなおのこと、手続きや制限をきちんと確認しましょう。
      オンラインで発行されたチケットのような情報は直接保安検査場を通過出来ない何かかもしれません。
      チェックインカウンターで手続きがいるのかどうかなど当たり前ですが確認を怠ってはいけません。
    • 安いからといって朝一の飛行機を安易に選んではいけない
      前項に関係しますが早朝は頭が働きませんし、時間にも余裕を持てなくなりがちです。
      時間に余裕がないと結果として予想外のトラブルに対処出来ません。
      何が言いたいかというと、安い朝一の飛行機のチケットを取ったとしても搭乗手続き締め切り時刻に間に合わなければ往復航空券より高い片道航空券を買うことになるということです。
  2. 日程
    ちょっとぐらい観光出来る日程を組もう。
    これも準備の話になりますが、せっかく沖縄まで行ったわけですから多少の観光を出来るような日程を組むべきでした。
  3. 当日を迎えるまでの取り組み方
    提供される資料は隅から隅まで読み込もう。
    競技当日が近づくと”参加者配布資料”なるものが提供されます。これは前日の夕方ギリギリまでアップデートが続き、また内容は117ページというとてつもないボリュームです。
    だからと言って読まずに本番を迎えてはいけません。ただ読むだけでもいけません。隅から隅まで読んでおく必要があります。
    当日、隣の人のモニターに映った資料のある1ページを見て「こんな内容あったっけ?」となっては戦えません。
    自分に甘い自覚がある人は、前夜にチームの人と一緒にオンサイトで読み合わせをするのも良いかもしれません。
  4. Softening Day
    競技会が終わると翌日にAnalysis Dayという分析の場をチーム毎に設け、そこで来るSoftening Dayの発表資料を作成します。
    Analysis DayからSoftening Dayまでの間も資料のブラッシュアップを行い、チームの代表がSoftening Dayで発表を行ます。
    リーダーが発表してくれるだろう、と気を抜いてはいけません。自分の発表だと思って発表資料作成に取り組みましょう。
    決して不真面目にやっていたわけではありませんが油断していたと思います。
    チームで体調不良のメンバーが発生し、チーム発表の代役を買って出ましたが発表下手くそでせっかく準備した資料を十分に説明する事が出来ませんでした。

以上が、競技の内容と直接関係ない反省となります。
ここから競技の振り返りを挙げていきます。

あくまでも反省でありチームの決定や各メンバーへのネガティブな気持ちなどは一切ありません。

  • 競技までにチームで作ったいわゆる「当日やる事リスト」は隅々まで目を通し気になったところはフィードバックしよう
    協調性を持とう
    今回、チームでは 各linuxサーバのセキュリティリスク軽減策として「sudo禁止」「authorized_keysは空にする」というタスクを設定していました。
    にもかかわらず比較的初期のタイミングでlinuxユーザの .ssh/authorized_keys に自分の公開鍵を撒いていき、sudo -s で rootになるというオペレーションをしていました。
    結果として、インフラ周りを見ているチームメンバーを混乱させ迷惑を掛けてしまいました。
    個人の資質に因るところの大きい問題ではありますが、仮にチーム内で担当を分けたとしてもチームメンバー全員で全項目に目を通しチェックしていくということをすると私レベルの人間がいても同じ事が起きないかもしれません。
  • ハンドラーを立てた方がよかったかもしれない
    私たちのチームでは、リーダー選出に際して「立候補者がいればその方に。いなければ過去参加経験のある方にお願いしたい。」というチーム合意により、過去参加経験のある方にリーダーをお願いしました。
    またチームのCEOもリーダーに引き受けていただき、さらにCISOも担当していただきました。
    こう挙げてみるとわかりますが大忙しです。席を外すこともありますしCEOとしての仕事もあります。
    競技中にはいろんな問題が同時進行で発生します。場合によっては発生に気付くことすら出来ていない問題もあります。
    これについては、今起きていることを整理し、各メンバーに指示を出す役割「ハンドラー」を別で立てることでもっとうまく行ったのではないかと考えています。

良かったこと

良かったと思うこともたくさんあります。

まず、今回人生で初めて沖縄に行く事が出来ました。
こういう機会がなければ今後も沖縄に行くことはなかったかもしれません。
沖縄は暖かく、飛行機の窓越しや短い時間でも分かるくらい海が綺麗でした。

Hardening Day当日そして翌日のAnalysis Dayはチームメンバーが全員オンサイトで揃う事が出来ました。

社内ネットワークからサーバレンジに抜けるフィアウォール(資料上は”FW(sub)”と記載。実質ルーター。vyos。)の再起動に失敗し、サーバ操作出来なくなった時は本当に詰んだと思いました。
そんな中で、リモートワーク用環境WindowsにOpenSSH Serverをインストールする事で、複数人が同時にオペレーションできるライフラインを復活させた発想とチームワークは最高でした。
このライフラインを使う事で競技終了間際ではありますが、いくつかのサイトをバックアップから復旧することに成功しました。

感謝その他

イベント開催に際してご協力いただいた名護市・沖縄県の方々には本当に感謝です。
最高のロケーションで最高の競技をする事が出来ました。

競技参加者だけで90名を超えるイベントをトラブルなく開催そして盛り上げていただいた運営の方々も本当に大変だったと思います。
ありがとうございます。

会社の同じ部署の方々。前週のイベントも含めると11月は5日ほどお休みをいただいています。
業務ではなく完全にプライベートであるにもかかわらず快く休みを取らせてくれた会社には感謝です。

Softening Dayでkuromame6の川口さんから一般社団法人LOCAL様の学生支援紹介がありました。

皆さんね、ちょっとお金がある社会人も多いと思うので
学生さんの、こう支援するプログラムなんかをですね、それぞれのコミュニティで作っていけると面白いんじゃないかなとおもいます。
お金の絡む問題なので気軽には言えないんですけども、そういうのをですねもっとやると学生がもっと入ってきてくれるし、学生さんもお金さえなんとかなれば行きたいなって思う人たちもいるんで。
そういうところで還元していけるっていうのもおもしろいなと思うんで、こういうLOCALの取り組みのですね事例が世の中に広まるといいなと思ってます。

このお話を聴いて、ほんとそうだなぁと思いました。
幸いなことに食うに困らない程度のお給料を戴いていますし、自分のお金で沖縄に行く程度のことは出来るわけで。
この話を聞くまでは正直なところ、業務で参加してる人いいなーなんて思っていたわけですが考えを改めました。

地域や周囲の若者を少しでも支援しこういったイベントに触れる機会を増やす助けになれればと強く思いました。

まだまだ書きたいことは多くありますが、本当に学びの多いイベントでした。
ありがとうございました。