脅威モデリングコネクト東京 (略称:TMC Tokyo)のローンチイベントに参加しました
脅威モデリングオープンコミュニティさんが、12/7(土)から「脅威モデリングコネクト東京 / Threat Modeling Connect Tokyo Chapter (略称:TMC Tokyo)」となり、グローバルコミュニティとして活動するということで、そのローンチイベントに遊びに勉強しに行きましたよ(´・ω・`)
脅威モデリングコネクト東京とは何か
脅威モデリングオープンコミュニティとして脅威モデリングに関する知見を共有するコミュニティが今年何度か勉強会を開催していて不詳私めも何度か参加させていただいていたのですが、この度正式に12/7(土)にグローバルな脅威モデリングのコミュニティThreat Modeling ConnectのTokyo Chapterとなってグローバルコミュニティとして活動することになりました。アジアではまだやっているところがまだないとのことで、アジアでは東京が初のChapterとなるとのことです。素晴らしいですね
その話を聞いて、これは参加せねばなるまいと何をやるのかもよく知らす参加登録をしました。同僚も誘ったのだけれど誰も興味を示してくれなかったのは悲しい(´・ω・`)
しかし、のちに起きたことを考えると、社内にポンコツぶりを露呈しなかったのは良かったのかもしれない(´・ω・`)
ローンチイベントの内容
TMC Tokyo Meetup x ZANSINというカッコイイタイトルで、内容はTokyo Chapter立ち上げの宣言から始まり、午前中は脅威モデリングワークショップ、午後はZANSINさんのMINI Hardeningハンズオンという構成の12時間コースのオフラインイベントでした。立ち上げからなかなかハードな予感がします(;´・ω・)
場所は浅草橋ヒューリックホール&カンファレンス。セキュリティ系のイベントで結構行っている気がしますね。
イベントの案内のディスプレイがおしゃれですね
カッコイイステッカーをもらいました
午前は脅威モデリングワークショップ
4人で1つのチームとなって午前、午後のタスクをこなします。私は12番テーブルにアサインされました。同じテーブルにはIPAの中核人材育成プログラムに参加しているという2名と12番テーブルだからなのか12banさんというメンツで、優秀な人たちが集まったからもしかして楽勝(^^)?などと甘い考えを持ってしまいましたが(;^ω^)、それが幻想にすぎないことは午後思い知ることになるのでしたorz
なおIPAの中核人材育成プログラム参加者の人たちは他にもいて、そういったガッツリセキュリティ教育受けている人たちにも注目されたイベントなのだなと感じ入った次第です。
午前中は脅威モデリングのやり方を学びながら、午後のMINI Hardeningの対象となるシステムの脅威をざっくり洗い出すということをやります。
-
最初にDFD (Data Flow Diagram)を描いて、ターゲットとなるシステムのコンポーネントを可視化します。
DFDを使った可視化の説明 -
可視化したシステムのコンポーネントに対してどのような脅威が存在するのか、STRIDEを利用してざっくり分析をします(STRIDEで分析するのが果たして適切かという疑問もあるようですが、セキュリティに明るくない人でもこれくらいの粒度ならちょっと教えれば分析できるようになるので、私は良いと思うのです)。
STRIDEと脅威の適用対象の図
STRIDEを使って分析しているところ -
見つかった脅威がどのように攻撃者によって実現されるのか、アタックツリーを用いて具体的な手順を洗い出していきます。ここでは攻撃者の使う戦術をより具体化するためにMITRE ATT&CKに当てはめてみるということもやりました。
後から聞いた話ですが、他のチームではこの段階で具体的になった脅威をもとに、対策のためのToDoリストを作っていたところもあって、戦いはすでにこの段階から始まっていたのです。遊び気分でいたのですっかり油断していた私(´・ω・`)
アタックツリーの説明
アタックツリー考えているところ
他のチームのやり方も見させていただいたのですが、各チームそれぞれ個性が出ていて、なかなか面白かったです。他人のやり方見るのも学びがありますね(^^♪
分析の仕方も様々
お昼はカレー
お昼はもうやんカレーさんのカレーをいただきました。トイレに行って帰ってきたら、カレーの前に配給待ちのような長蛇の列ができていました。カレーゲットを先にすべきだったか…(;^ω^)
あまりにも好評で、最後のほうはカレーがなくなってしまったらしい。ごめん、大盛にしたのは私です<(_ _)>
おなか空いていたので、カレーの写真撮るのを忘れていたのを気付いたのは完食した後でした。
午後は実践 MINI Hardening大会
おなか一杯になって眠くなったころに、ZANSINさんのMINI Hardening大会が始まります。
Hardeningとは何かというと、脆弱(ぜいじゃく)なシステムをさまざまな攻撃から守る体験を通して、企業に必要なセキュリティの要素を理解し、学びを得るという超実践的なセキュリティ競技会です。
Hardening Projectは2014年に始まり、現在まで毎年春秋の2回開催されているとのこと。
Hardeningにはいくつか種類があるそうで、ざっくりこんな感じらしい(適当)
名前 | 競技時間 | チーム人数 | 堅牢化の対象台数 |
---|---|---|---|
Hardening | 8時間+α | 8~10人 | 30台以上 |
MINI Hardening | 4時間位 | 1~4人 | 4台 |
Micro Hardening | 45分×複数回 | 1~6人 | 1台 |
本家のHardeningは本選だけで8時間と1日がかりのイベントで、準備とか振り返りとかも含めるともっとかかるらしい(参加したことがない)
MINI Hardeningはそれをきゅっと詰めて1日で終わるようにしたものという位置づけのようです。
MINI Hardeningは現在までに25回開催しているとのことです。
ZANSIN Projectという名称はもともとMINI Hardening Projectが海外で活動するための別名だったのだとか。
今回のMINI Hardeningは、仮想通貨の投資に失敗した社長が、ニューノーマルなDXをDevOpsSecで支えるマイクロサービスを始めるのだ(´・ω・`)と言って、ブラウザで遊べるソシャゲサイトを立ち上げたところ、社長からいきなり運用を丸投げされたエンジニアorzとしてシステムの安定稼働に取り組むという設定。セキュリティ演習は何回もやっているので似たようなものかと思ってたら、実ははるかにハードな内容だと思い知ることになりますorz
なんせ、困ったことにシステムがふてほどなんですよ(´・ω・`)
最初はざっくり、「脆弱なパスワードは変えましょう」「不要なポートは閉めましょう」「各自それぞれシステムの中身見て確認して」といった感じで初動は良い感じで始まりましたが…
「手が動かねえ\(^o^)/」 ポンコツぶりが露呈して踏み台サーバからターゲットサーバへのログインが進まない、ポートフォワーディングの設定してターゲットサーバの画面見るのに手こずりました。初動は他の3人が頑張ってくれた。ありがとう。手こずっているうちにアタックが始まったようで、不審な兆候が見え始めます。謎アカウントに謎プロセス…、すでに侵入されている?\(^o^)/
振り返ると、これでちょっと浮足立ってしまった感ありましたorz
とりあえず不審アカウント削除したり、改ざんされた設定を削除しつつモニタリングを継続…
一方、ゲームでは不正なアカウントが増えていることを確認。こちらもBANを進めつつ、皆それぞれハマりポイントがあったようで、口数も少なくなり、状況がよくわからない状態に…久々のパニック体験ですね\(^o^)/
そうこうしているうちに、ちらほらとハックされたチームが出てきたようです。
大変だ!なんかカッコいい画面になってる!
皆さんなかなか苦労しているようです…
おやつタイム
中休みで、おやつタイム。
株式会社セキュアスカイ・テクノロジーさん提供のケーキがふるまわれます。大きなケーキでしかもとても美味しかったです。ありがとうセキュアスカイ・テクノロジーさん(^^)/
チョコレートケーキをいただきました。脆弱性を理解したというのはただの思い込みでしたスミマセン。
MINI Hardening大会再開、さらにえげつない攻撃にさらされる
再開されると、ゲームのチート行為がさらに露骨になってきました。ここに至ってやはりちゃんとAPIサーバのプログラムを確認しなければと思ったのですが、なかなかはかどりません。Dockerの知識がちゃんと身に着いていないのが仇になっています。いやそれ以前か…\(^o^)/
最近はExcel,パワポ、Word時々生成AIの仕事ばかりだったものな…
そして運命の瞬間がやってきます。ソシャゲのデータを扱うminiquestデータベースが突然見えなくなったのです。
「ヤラレタ\(^o^)/」 調べてみると' ;DROP DATABASE miniquest;--
なんて文字列が入力されていたようですorz SQLインジェクション手当できていなかったのが仇になりましたね。SQLインジェクションの怖さをあらためて思い知りました/(^o^)\
てか、データベースのバックアップもちゃんと取っておく必要ありましたよねという、基本中の基本も改めて思い起こされたのでした。
とりあえず、涙目(:_;)でデータベースの復旧をしたところでゲーム終了を迎えます。
苦いビールを飲みながら解説を聞く
長いようであっという間に解説タイムがやってきました。
終わった瞬間の私
この時間は株式会社サイバーセキュリティクラウドさんによりクラフトビールがふるまわれました。ナイスチョイスですね。とても美味しかったです。でも、ビールだけじゃなくて「攻撃遮断くん」も振る舞ってほしかったなあ(ヲイ
苦い酒になりました…English Bitter とHazy IPAの苦みが体に染みわたりますな
解説聞いていると、自分が把握している以上に 「ふてほど」 なシステムだったことを実感。見抜けていなかったものが結構残っていたことに驚くとともに、自分の未熟さを痛感するのでありました。
Hardeningは脆弱性(放置)の怖さ、特にSQLインジェクションやOSコマンドインジェクションの怖さを実感するにはとても良い教材になると感じましたね。インシデントを体験したことのない弊社の若手エンジニアにもぜひ体験してほしいと思いました。あと、実際に存在した脆弱性のうち、脅威モデリングで分析した内容は確かに存在していたと思い至り、せっかく分析した脅威については、先に手当てしておくべきだったなと思いました。うちのチームはなかなかそこの手当てができるスキル持っている人がいなかったというのはありますが、それでも分析した内容に忠実に対処しておけば、最悪の結果は防げたのかなあとは思いました。他のチームでは「分析した内容に従ってToDoを決めてまずその対処から始めた」という人がいて、そこのチームでは逆にモニタリングをしていなかったそうですが、それでも洗い出した脅威に対する対策に全振りしたのが功を奏したというのを聞いて、脅威モデリングと実践の融合の一つの形を見た思いがいたしました。
理論と実践、この2つを1日で体験できた貴重なイベントとなりました。次回以降の活動にも期待したいですね。
提供されたクラフトビールはP2B Haus Kichijojiという@sotarokさんがやっているクラフトビールレストランで飲めます。気になった方はぜひ訪問を(^^)/
antigravityというHazy IPAがとてもうまかったです
小笠さん、hayapiさんありがとうございました。そして、このイベントのために来日されたコミュニティマネージャーのシュニン(Shuning)さんありがとうございました。この場を借りてお礼をさせていただきます。
また遊びに勉強しに行きます(^^)/
最後まで読んでいただきありがとうございました<(_ _)>
カッコイイ考察や意見は他の人のレポートを参考にしてください。
Discussion