未熟学生エンジニアのブログ

TetsuFeの個人開発ブログ

TetsuFeはテツエフイー と読みます。FlutterやWeb周り全般、チーム開発について語るブログ

【Hardening II SU】セキュリティインシデント対応を体験しました

目次

2019年7月4日、5日に北海道札幌で開催されたHardening II SUというセキュリティ関係の協議会に参加してきました。

Hardening II SUとは

wasforum.jp

t.co

Hardening(ハードニング)とは、1日かけてセキュリティインシデントに対応する協議会です。今回は札幌開催でした。 ちなみに SUは「スピード感のある動き」 という意味だそうです。どこからこのワードが出てきたんでしょうか。笑 ISUCONとかもそうですが、バカっぽいけどイカした略語とかではなく 単にネーミングセンスのない略語を使っている ことが多いように思います…(でも多分札幌開催だからSはSapporo、UはUnion(連合。ハードニングには連合制というものがある)とかなんだと信じたい。「これが真の意味」とかだったら個人的にかっこよかったのに。)

チームを組んでセキュリティインシデントに対応する

この大会では、6人(7人)1組で攻撃者から用意されたサーバーを攻撃から守りつつ、ECサイトを更新して売り上げを維持しつつ、ビジネス的な問題にも対処(謝罪会見・メール対応など)もするという内容になっています。最終的に売り上げや技術点などを加味したポイントで評価されます。

事前準備

この大会では事前準備をします。いきなり集まって対応するのではなく、チームで事前にミーティングなどを行い、当日やるべきこと・そのために準備すべきことなどを確認する場合が多いようで、僕のチームも事前にそれらを行いました。

正直DNSFirewall、監視、検知などインフラ系のセキュリティは何も分からなかったのでCMSwordpressdrupalを調べたり(といってもこれらも全然知りませんでしたが)、サーバーwindowsにどう繋げるかなどかなり簡単なことを調べるだけで終わってしまいました…

ただ、この事前準備・ミーティングのお陰で、 「チームメンバーがお互いの得意分野やレベル感、参加の目的を知り、各自適切な役割を分担できる」 という点でかなり当日動きやすくて良かったです。

またミーティングを事前にしていたので、 「初対面の6人チームでも当日コミュニケーションが取りやすい」 という点も良かったです。

この太字の2点はハードニングの素晴らしいところかなと思います!

前日

ハードニングは「攻撃者から用意されたサーバー」を使いますが、 このサーバー群の構成は前日に発表されます。

そのため、前日にサーバー群の構成資料をチームで読み込み、対策を練ります。遅くまでやる人はかなり深夜までやる人もいます・・

当日(1日目)

競技時間は10:00-17:45の7時間45分です。(僕は18:00までと勘違いしていました)

当日の競技はなんだかんだで慌ただしく始まります。事前に打ち合わせはしているとはいえ、 競技が始まってから用意されたサーバー群を初めて扱うことになるので、色々と手間取ります。 実際にどんなことが起こるかは競技が始まってみないとわからないところもあるので、結構コミュニケーションが大切になります。ここで事前ミーティングの大切さがわかりました。話しやすい雰囲気を作ってくださっていた皆さんに感謝です。

僕がやったことはだいたい以下です。

  • ECサイトのコンテンツのアップデート
  • 商品紹介サイトのコンテンツアップデート
  • 改ざんされたサイトの修復
    • と言っても画像をアップロードし直したり
  • ブラウザ経由での目でのサイトモニタリング(死活監視・改ざん発見)
  • メール対応(少しだけ)

全然インシデント対応っぽいことできなかったですね・・

ハードニングは「売り上げをあげる」という目標もあるので、僕のように勉強が間に合わなかった人でも活躍の場があるのも参加のハードルを下げるよいポイントかなと思います。次はちゃんと準備を間に合わせたいですが・・

ハードニングは2日間の日程ですが、1日目で競技は終わりです。

当日起こったトラブル

  • ネットワークが不調でなかなかwindows remote desktopが繋がらない

意外とこれくらいでしたね(影響は割と大きかったですが)。事前準備の期間も長いので、皆さんも忘れ物等なく参加できていました。

Softening day(2日目)

2日目は競技はありません。前日の競技の結果発表、競技チームごとの振り返り発表、攻撃者チームであるKuromame6からの講評などがあります。

思った以上に賞品が充実しており、普通に チーム6人全員に1万円を超える景品が出ている場合も4、5例ありました。(多分です) スポンサーの力も大きいですね。(人気のないMPの商品を買うと狙いやすいのかも。と思ったり)

よかったこと

「勝つことが全て」の競技会ではない

競技参加者の方も発言していたのですが、 あくまで勉強のための場であるということ。結果が全てではない雰囲氣なので、初めての方も参加しやすいようになっています。

実際に僕もあまり大したことはできませんでしたが、競技終了後はチーム内で順位的な話はほとんど出ず、なぜこの対策がうまくいかなかったのか、このインシデントの原因はなんだったのかという内容についての話が多かったです。(もしかするとチームにもよるのかもしれませんが、そういうチームの方が多いように思いました)

実際のセキュリティインシデントを体感できた

本職の方も言っていたのですが、なかなか実際に何かインシデントが起こるということは珍しいので、 インシデント対応が実際にできた ということが大きかったです。

どんな攻撃があるのか、それにどうやって対処するのかは非常に勉強になりましたし、結構泥臭い手順(落とされたらとりあえず再起動する、改ざんされたらとりあえず手動で修正するなど)を踏む必要があるということも経験できました。今回はほとんど根本の改善には対応できませんでしたが、この経験からどんなことを勉強に取り組めばいいかがなんとなくわかったような気がします。

社会人の方との交流の機会にもなった

僕のチームは自分以外全員が社会人の方でした。なので中々貴重なお話が聞けたのも良かったです。ホワイト企業群「ホワイト500」であるアピールや、一方で過去の残業時間が長かった話、社会人になってから住む家の話など、面白い話が聞けました。

反省点

もっと事前に勉強をちゃんとしておけばよかったです。次回はしっかりと準備をして挑みたいと思います。

終わりに

まだハードニングは知名度が低い印象ですが、かなり貴重な体験ができる素晴らしいイベント(協議会)でした! 普段あまりセキュリティに関心がない方でも、勉強意欲と興味がある人は一度参加してみるべきだと思います!

合わせて読みたい

関係性は伏せておきますが、強い友達が書いた記事をシェアします。

cha-shu00.hatenablog.com

Rustの本も書いてるらしいので勝手に紹介します