たかげべら

Written by Takahito KIKUCHI

セキュリティ競技への挑戦!! KENRO DOJO #4.7@仙台へ参加してきました

アイキャッチ

2023年10月21日に宮城県仙台市で開催された、IT システムのセキュリティ向上 (堅牢化/Hardening) の腕を競うイベント「KENRO DOJO #4.7@仙台」に参加してきました。

minihardening.connpass.com

仙台でこの手のイベントが行われるのは大変珍しいため、現役のエンジニアに混ざって参加してみましたが、様々な理由から不満が残る内容でした。イベント内容や競技結果に触れつつ、なぜこのような感想に至ったのかを紹介したいと思います。

KENRO DOJO (MINI Hardening) とは何か

今回参加した「KENRO DOJO」もとい「MINI Hardening」は、セキュリティ堅牢化競技会を運営する「Hardening Project」の活動から派生した取り組みで、IT システムの堅牢化競技および振り返りを半日程度でカジュアルに体験できるようにしたもの。

2015年の初開催から時代の変遷と共にコンテンツは進化しており、現在はソーシャルゲームのシステムをモチーフとした「バージョン4」で、エンジニアの堅牢化の腕および情報セキュリティ事故 (インシデント) への対応力を競う内容になっています。

speakerdeck.com

競技の特性からシステム運用や IT インフラ管理を生業とする IT エンジニアが主な参加対象ではありますが、バージョン4からは API を狙ったサイバー攻撃が項目に追加されたため、アプリケーション開発を行うエンジニアも参加対象に含まれるようになりました。

競技内容

競技内容は、運営者から提供される架空の IT システムに対して、サイバー攻撃およびチート行為からゲームを守る行動を行うこと。参加者は以下の情報と自身の知識だけで競技を行わなければなりません。

  • 競技環境へのアクセスに必要な情報 (サーバーの IP アドレスや SSH 秘密鍵など)
  • システム構成図 (兼 競技案内資料)
  • API 仕様書

参加者のスコアは「システムが稼いだ売り上げ」という形で時間経過と共に加算され、システム異常が続くと得点の伸びが悪くなる...という形で差がつくようになっています。

スコア画面
当日お昼のスコア画面。お一人だけグラフが横ばいなのは、システム異常が発生しているのを意味してます。

競技結果

続いて競技結果ですが、私 (team-09) の順位は第5位。スタッフの支援ありですが、エンジニア業務から離れて久しいことを踏まえれば悪くない結果ではないでしょうか。

競技結果

終盤まではトップ3内に居たのですが、システムのデータベースを外部から消去されて、その復旧に時間がかかった (スコア計上ゼロの時間があった) のが明暗を分けました。具体的に何を行ったのかはネタバレ防止の観点から発信 NG とされているので、本記事では割愛します。

感想もとい問題提起

そんな本イベントの感想ですが、冒頭で述べた通り、様々な理由から不満が残る内容でした。反面、参加してみて得た気付きは今後、研修やワークショップを企画・運営する際に極めて重要な観点だと感じたので、備忘録として本記事に残します。

以下の気付きは、エンジニアリング的な観点ではないことを予めご了承ください

導入、チュートリアルにあたる内容がない

全体通して一番気になったのは「何をすればいいのか分からない時間」がひたすら続いたこと。初心者や経験が浅い方向けに、競技に参加している実感を持ちながら、小さな成功体験を積ませるチュートリアル的な内容が切実に欲しいと感じました。

具体的には競技概要に行動のセオリーを掲載する、中盤以降発生するサイバー攻撃の程度を下げたものを前半から行うことで修正・改善を運営側から能動的に行わせるなどです。このようなチュートリアルの有用性はゲームクリエイター 桜井政博氏の YouTube チャンネルでも語られています。

www.youtube.com

競技内容で触れたとおり、参加者は与えられた情報と自身の知識だけで競技を行わなければなりません。競技がスタートした後は原則ノーヒント。現実のインシデント対応に即していると言われればそこまでですが、この状態はいわば「競技に参加したくてもできない時間」のため、長く続くと気持ちが盛り下がってしまいます*1。また、今回の競技環境である「バージョン4」は参加者個人で行う想定のため、チームで意見を出しながら進めるという手段が取れないのも痛いです*2

振り返りの際に運営者から「今日のイベント、楽しかったですか?」と質問があったのですが「何もできずにサイバー攻撃を受けて終わった」のと「手を尽くした上でサイバー攻撃を受けて終わった」のとでは感想が全く異なります。自身の時間を割いてまで参加した方が「何もできず終わった...」と天を仰ぐようなことは、ユーザー体験として好ましくないと感じました。

イベントで得られるものが明確化されていない

次いで気になったのは、本イベントを通じて得られるものが明確化されていない点。日常業務では体験しにくい本格的なサイバー攻撃やチート行為を、業務外で体験できる機会を頂けるのは大変ありがたいのですが、防御までイベント内の体験に含めるのであれば、先述したチュートリアルの設置などを含めた参加者の行動設計があるべきだと感じました。

また、振り返りで分かったのですが、このバージョン4のコンテンツには運営側が想定するロールモデルがあるそうです。

であれば、競技説明内でそのロールモデルの存在を明らかにするとか、当該行動を起こさせるような報酬設計をするとか、アナウンスで誘導するとか、行動変容を起こさせる仕組みは欠かせません。参加者目線では、事前にロールモデルの説明を受けることで自身の行動が評価可能になり、打った手の善し悪しが分かるようになります。

特に本イベントで体験するセキュリティエンジニアの業務は、内容の重要性や世間の需要の高さに対して「やってることが地味でわかりにくい」ため、存在のありがたさや凄さが伝わりにくいと感じています。専門外の方など、当該業務の経験、理解が浅い方なら尚更です。短い時間で深い学びを提供するためにも、運営側がイベントの目的やあるべき姿を伝えるために打てる手は可能な限り打つべきではないでしょうか。

おわりに

競技成績は悪くなかったものの、得られたユーザー体験が好ましくなく、残念ながら不満が残るイベントでした。

ここまで色々と書いてきましたが、シンプルに「自身の期待と提供内容がマッチしなかった」のが一番の要因だったと思います。Hardening Project および Hardening 競技の存在を知っていたため、その体験版として今回参加したのですが想定が甘かったです。

とはいえ、先述したとおり日常業務では体験しにくい本格的なサイバー攻撃やチート行為を、業務外で体験できる機会は貴重なほか、体験する架空の環境自体は非常に手が込んでいるため、腕に自信のあるエンジニアや場数を踏みたいエンジニアの方は機会があれば是非挑戦してみてはいかがでしょうか。

*1:いわゆる「パニックゾーン」にいる状態

*2:参加者個人の経験、知識の優劣で「詰み」が発生しやすくなったといえる