entry-header-eye-catch.html
entry-title-container.html

entry-header-author-info.html
Article by

Micro Hardeningに参加してきました

こんにちは。FANBOX部でエンジニアをしているkumaです。2020年11月に開催されたInternet Week内のハンズオンプログラムMicro Hardeningに弊社のエンジニア6名が参加しました。今回は、その参加レポートをお届けします。

Micro Hardeningとは

Micro Hardeningとは、与えられたECサービスを様々なサイバー攻撃から守り抜く競技会です。競技スコアはクローラーが商品を購入出来た数によって決まるため、安定的に商品を購入できるようにサービスを維持することが求められます。攻撃によりWebサーバが稼働していなかったり、ページが改ざんされていたりする場合は得点が伸びなくなるため、原因の迅速な究明と適切な対処が求められます。

Micro Hardening以外にも、Hardening ProjectやMINI Hardeningといった競技も開催されています。今回参加したMicro Hardeningは純粋に技術面のみを競うものであり、サービスを守る技術をゲーム感覚で学ぶことが出来ます。詳しくはこちらのページをご覧ください。

f:id:pxvpxv:20201221110202p:plain
Hardeningサブプロジェクトの比較(Micro Hardening事前資料より)

競技の特徴

Micro Hardeningの特徴として、45分1セットの競技を複数回繰り返すことが挙げられます。毎セット同じパターンで攻撃が行われるため、攻撃パターンの観測とその対策を毎セット行い、最終的な点数を伸ばしていくことが本競技の目的となります。

f:id:pxvpxv:20201221110254p:plain
競技の実践回数とスコアの上昇率の相関関係(Micro Hardening事前資料より)

競技当日の様子

弊社から自分を含めて6名のエンジニアが1チームとなって参加しました。

1セット目

事前にサービス構成やパスワードリスト等が共有されていたため、チームメンバーと分担し変更可能な箇所についてあらかじめ対策を行いました。また、Googleドキュメントを使用して、行った対策や怪しい挙動をしている箇所についてメモを取りながら進めていきました。各セット終了後に30分間の振り返り時間があるのですが、このメモを取っていたことで次セットに行うべきことがより明確になりました。

2セット目

1セット目で思ったより売り上げが伸びなかったことから、「やりすぎたセキュリティ対策」に該当するのでは無いかと考えました。セキュリティ面を考慮した対策を行った結果、ビジネスに影響が出てしまっては元も子もありません。どのレイヤーでどのような対策を行うのかをチームで話し合いながら競技を行いました。その結果、1セット目に比べて得点を伸ばすことができました。

3セット目(最終セット)

3セット目になってくると、これまで起きた攻撃への対策がより明確になり、障害が発生した際にも落ち着いて対処できるようになりました。結果、最終セットでは参加チームの中で1番の成績を取ることができました。

演習結果

我々のスコア推移は以下のようになりました。

f:id:pxvpxv:20201225144127p:plain
スコアの推移

1回目のセットではおよそ50,000点だったスコアが、3回目のセットでは93,430点まで伸びたことが分かります。演習を繰り返し各セットごとに振り返りを行うことで、スコアを大きく伸ばすことができました。

Micro Hardeningから得られたこと

作業内容を記録しておくこと

インシデント対応を振り返る際に、「誰」が「いつ」頃「どのような」操作をしたのかが重要になります。実際どのような対応をしたかをメモしておくことで、インシデント対応の振り返りを行い今後の対策に生かすことができます。

作業内容を共有すること

複数人でインシデント対応を行う状況では、メンバー全員で上手く連携して立ち回ることが重要になります。そのためにも、今自分がどのような対処を行っているのかをチャットなどで共有しておくとスムーズに対策が進みます。また、画面共有を用いて実際の作業を共有することも有効でしょう。

ログを確認すること

ログは非常に重要な情報源です。どのようなアクセスが来ているのか、エラーログが出ていないか、ログインの形跡が無いかなどを知る上で役立ちます。これらの情報を確認すること無く場当たり的に対策を行うことは、予期せぬ障害を引き起こす可能性があります。

元に戻すことができること

作業した結果、サービスに不具合が生じてしまうことがあります。速やかに復旧するために、元に戻すことができる準備をしておくことも大切です。作業内容を記録しておき、変更に対応した復旧手段まで考えられているとよりスムーズに対処できると感じました。

最後に

Micro Hardeningへの参加は初でしたが、攻撃が発生→調査→対策という一連の流れを体験できる素晴らしい競技でした。1セット目でスコアが上がらなかったことから分かるように、普段何も対策を行っていない場合はスムーズに対応することが困難であるため、日頃から訓練を行うことがいかに大切であるかを感じました。

Micro Hardening開催に関わったスタッフの方々、そして本記事へのプログラム資料の掲載も快諾いただきました講師の川口洋さんには改めて感謝申し上げます。本当にありがとうございました。

icon
kuma
2020年4月に新卒エンジニアとして入社。普段はpixivFANBOXの開発を行っています。好きなaikoはaiko(歌手)で、好きなハンバーグはげんこつハンバーグです。