脅威モデリング x MINI Hardening に参加して得たもの
Cyber-sec+のコミュニティリーダをやっている12banです。
昨日はこちらのイベントに参加しました。
参加の目的
セキュリティの世界に入って数年。ハードニングの存在は知っていましたが、敷居の高さからハードニングに参加したことはありませんでした。
そんな中で友人(同じくCyber-sec+運営であるhayapiさん)が主催するイベントということ、そしてハードニングへの興味から参加しました。
得られたもの
- 役割分担、コミュニケーションや戦略の大切さ
- すぐに手が動くレベルでのシステム構成の理解の大切さ
- SOC(ログの監視、分析)の大切さ
実際の現場ではセキュリティ担当者はインシデントコマンダー(インシデントを解決に導く指揮官)か、SOC(ログの監視、分析)のどちらかの役割になることが多いのではないかと思います。その意味では2は実際には開発(アプリ、インフラ)にお任せして、その関係性づくりが普段から必要だなと改め思いました。
またSOCの大切さです。MINI HARDNINGなどで咄嗟にログ監視、分析したいというとき。さっとツールを使ったり、生ログを確認して、どのようなことが起きているかが大枠で判断できるスキルが必要だと思いました(ファストフォレンジックというようです)。
やったこと
午前中は脅威モデリングワークショップに参加。午後からMINI HARDNINGという構成でした。
午前、午後1日合わせて1チーム4人ほどで、協力していくことになります。
ちなみに休日にこんな1日(12時間)がかりのイベントに参加する人たちは、参加するだけですごいなぁと思いました。
脅威モデリングワークショップ
私は私用で最後のほうでの参加になってしまいました。脅威モデリングワークショップの対象システムは午後に行うMINI HARDNINGで使うソーシャルゲームでした。
そのソーシャルゲームに対して、脅威分析をして、午後に活かすという流れです。
過去に参加した脅威モデリングワークショップと違い、洗い出した脅威をMITRE ATT&CKと紐づけたりしていて、最初から参加したかった...と悔しかったです。
MINI HARDNING
午前中の脅威モデリングを経て、早速実践です。
ソーシャルゲームの運用をするエンジニアという想定。およそ5時間、攻撃からソーシャルゲームを守り続けるというもの。
私のチームは最初に資料から読み取れた内容を元にセキュリティ対策をリスト化し、優先順位をつけてタスクレベルで誰が何をやるかということを決めていきました。
私は元インフラエンジニアということもあり、主にインフラ周り(OS、ミドルウェア、Docker)をやるようにしました。こういうとき、やはり、自分が経験のある領域のほうが理解しやすい & 手が動くなぁと感じました。
私が真っ先に対策したのはOSやDBパスワードの変更。その後 nmapでのポート確認やnginxのバージョンアップをやろうと思いましたが、インターネットが繋がっていなく、この対策ができず頭を抱えました。
その後、OWASP ZAPでソーシャルゲームに対して、クイックに脆弱性スキャナをかけました。結果として、Mediumレベルの脆弱性が出てきたのでCSPなどの対応を行いました。しかし、後の解説でわかるのですがこれはあまり意味がなかったようです(解説ではCSPとかは出てきませんでした)
その後、SOC(ログ監視、分析)をしたいと思い、hayabusaを使ってみるかと思ったもののすぐに動かし方がわからない & インターネットが繋がっていないため、SCPでコピーする必要があるなどあり、断念しました。しかし、このSOC(ログ監視、分析)をするという発想自体は良い方向だったと終わったあとの解説でわかりました。
私のチームでは開発経験豊富な人がおらず、ソースコードを修正できる人がいなくて、SQLインジェクション経由で侵入されたり、最後にはDBのデータをすべて消去されて終わりを迎えました。
振り返ると最初の段階でインフラ担当、アプリ担当、SOC担当など大枠で分けていればよかったなと思いました。
補足
おわりに
私の参加目的は割とカジュアルでしたが、学びのある良い1日になったなぁと思いました。やはり、自ら経験したことというのは腹落ち度合いが違うなと思います。
私のようにハードニングを経験したいというカジュアルな目的で参加するのもよいですし、実際のインシデントで自分がどこまで強みを発揮できるか、また自分の足りない部分はどこか、という確認をする意味で参加してみるのも良いと思います。
また TMC Tokyoの皆さん、ZANSHINの皆さん、良いイベントをありがとうございました!
Discussion