Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【セキュリティ競技】MINI Hardeningのご紹介 / MINI Hardneing4 introduction

E0951f27f426611977e6e2c751b9aebc?s=47 delphinz
February 24, 2022

【セキュリティ競技】MINI Hardeningのご紹介 / MINI Hardneing4 introduction

【2022/2/24 ささみjp での発表の抜粋版になります】
MINI Hardeningが完全オンラインになって帰ってきた!
なんとバージョン4のテーマは「ソーシャルゲーム」。

あなたは、いきなりソーシャルゲーム環境の運用を丸投げされたエンジニアとして、ゲームシステムに襲い来るハッキングやチート行為の対策を行いながら、ゲーム環境の安定した稼働を目指していただきます。
競技時間はトータル5時間! あなたは最後までゲームサーバを守り切り、収益を守り続けられるのか!?

今回は、サイト改ざんやシステムへの侵入、破壊行為のみならず、ゲームアプリケーションのチート行為対策にも取り組んでいただくシナリオとなっております。

E0951f27f426611977e6e2c751b9aebc?s=128

delphinz

February 24, 2022
Tweet

More Decks by delphinz

Other Decks in Technology

Transcript

  1. MINI Hardening4のご紹介 2022/2/24@ssmjp 1 #minihardening 公開用

  2. アジェンダ 1. MINI Hardening概要 2. バージョン4の説明 3. 競技環境の説明 4. 開発環境の説明(省略するかも。。。)

    5. 過去開催分のハイライト 2
  3. MINI Hardening概要 3

  4. About Hardening Project Hardening Projectとは、日本発のセキュリティ技術競技と セキュリティ施策の発表を行うイベントです。その目的は、最高の 「衛る」技術を持つトップエンジニアを発掘・顕彰するものです。 2014年に始まり、現在まで毎年春秋の2回開催されています。 このイベントはwasforumが開催しています。 4

  5. MINI Hardeningとは • Hardening Projectから派生したミニプロジェクト 2014年の Hardening 10 Evolutionsイベントにおいて、 アンカンファレンスの成果として発足

    • カジュアルにHardeningを体験 MINI Hardeningは、半日程度でHardening競技や 振り返りまで体験できるイベント コンセプト 「セキュリティインシデントを カジュアルに体験!」 5 ハッシュタグ:#minihardening
  6. 運営メンバー Masahiro Tabata (Leader) Yoshihiro Kyan Isao Takaesu Yoshinori Matsumoto

    Shun Suzaki Daiki Ichinose Takeya Yamazaki Kazuki Igeta 6 MINI Hardening@HITCONより
  7. MINI Hardening開催履歴 現在までに19回開催 (以下は、ver.3以降の開催内容) No 日時 開催場所 #4.3 2022/1/29 オンライン

    #4.2 2021/11/14 MINI Hardening4 AV TOKYO #4.1 2021/10/25 オンライン #4.0 2021/07/31 オンライン #3.5 2019/12/14 OWASP Kansai (@パナソニック株式会社) #3.4 2019/08/24 HITCON CMT(台湾) #3.3 2019/06/30 株式会社FOLIO #3.2 2019/04/21 株式会社メルカリ #3.1 2018/09/01 OWASP名古屋 #3.0 2018/09/01 ヤフー株式会社 詳細はConnpassページをご覧ください ☞https://minihardening.connpass.com/ 7
  8. バージョン4の説明 8

  9. バージョンごとの実績 9 バージョン1 バージョン2 バージョン3 バージョン4 ECサイト ECサイト 仮想通貨 売買システム

    ソーシャルゲーム テ ー マ とある会社のECサイト の運用をまかされたエン ジニアとして安定的な 運用を目指す! とある会社のECサイト の運用をまかされたエン ジニアとしてさらに安定 的な運用を目指す! スクラッチで開発した仮 想通貨取引システムを 運用する! 仮想通貨の失敗にめ げずガチャで一発当て るため、ソーシャルゲー ムを運用する! 概 要 • 守るサーバは1台 • 環境はlamp/ wordpress/ftpで 構成 • バージョン1のサーバ 構成とほぼ同じ • Joomlaや認証証明 書の管理が追加 • 仮想通貨サーバ& イーサリアムword pressプラグインの運 用 • スクラッチで開発され たゲームAPIを dockerで管理 • CI/CD連携 競 技 要 素 • 初開催! • 大阪遠征 • OWASP DAY参加 • 078 Kobeの併設 イベントとして開催 • 犯行声明ビデオ • 淡路島開催の本家 イベントに参加 • 前日に環境壊れる • 台湾での海外開催 • 全国のOWASPチャ プターを繋いでオン ライン開催 • 競技時間は3時間 から5時間に変更 • 完全オンライン開催 • AV TOKYO進出 ・・・そして、その次は 主 な ト ピ ッ ク 2015/5~2016/2 2016/12~2017/9 2018/9~2019/12 2021/7~Now! 犯行声明 海外進出 コラボ&個人戦
  10. MINI Hardening 4 お品書き • 丸1日の通常版と評価対象を絞ったお試し版があります。 10 通常版 AVTOKYO版 競技時間(全体時間)

    5時間(8.5時間) 2時間(3.5時間) 競技形態 チーム戦(5名/チーム) 個人戦(1名/チーム) 評価対象 4台/チーム 1台/人 シナリオ サイバー攻撃 ゲームチート 荒らし 社⾧からの依頼 などなど ゲームチート数種類 Red Team マジ⿁ やさしい⿁ お酒 飲んでる暇ない 🍺飲め!!
  11. プロローグ (MINI Hardening #3からの続き) 「仮想通貨で一発当てるんや!」 と、以前の会社で意気込んだものの、投資が失敗に終わった社⾧。 しかし、 「ソシャゲなら俺でも当てられるはずや!」 と言い出し、今度はソーシャルゲームの会社を立ち上げてしまった。 「もう会社名は決めている。この名前なら絶対に売れる!そ

    の新社名は…『 』や!!」 すでローンチまでのカウントダウンが始まっていたのだった。 これからはニューノーマルなDXを DevOpsSecで支えるマイクロサービス、 つまりソシャゲや! 11
  12. ガチャで装備を整え モンスターを倒し レベルを上げろ!! 「愛と勇気と剣と魔法」の本格派 新感覚RPGが、ブラウザで遊べる ソーシャルゲームとしてついに登場! 12

  13. 参加者の状況 • ソシャゲはすでに開発が終了しており、今後、継続して 収益をあげるためには、ゲームシステムを安定して稼働し 続ける必要があります。 • みなさんは、いきなり運用を丸投げされたエンジニアとして、 ゲームシステムの安定稼働に尽力して下さい。 13 (

    `・∀・´)ノヨロシク
  14. 14 評価ポイント 「ミッション」でお伝えした通り、競技開始から競技終了までの 間、与えられたシステムに関して、以下のことに尽力してくださ い。 ☞サーバをサイバー攻撃から守る ☞ゲームをチート行為から守る 攻撃やチート行為は、各チームに対し、同じタイミングで同じ 内容のアクションが発生します。 攻撃やチート行為の被害を最小に食い止めることが、高得点

    への近道となります。
  15. 競技実施のスケジュール 時刻 内容 10:00 - 11:00 (60min) 競技前説明 11:00 -

    13:00 (120min) 競技(前半) 13:00 - 13:45 (45min) 休憩(環境を閉めます) 13:45 - 16:45 (180min) 競技(後半) 16:45 - 17:00 (15min) 競技終了・休憩 17:00 - 18:00 (60min) 振り返り・解説 18:00 - 18:30 (30min) 表彰・インタビュー 18:30 終了 15  競技時間は5時間、説明や解説を含めほぼ1日で完了 出し惜しみなしの完全解説!
  16. 競技環境の説明 16

  17. ☞ 参加チームにはAWS上に展開された7台のサーバが提供されます。 評価対象:コーポレート、ゲーム、リポジトリ、DBの4台は評価対象 評価対象外:踏み台、Windowsクライアント、検証機 システム構成 ① 運営チームサブネット 競技チームDMZサブネット(172.31.10x.0/25) 競技チームInternalサブネット(172.31.10x.128/25) corporate.team-x

    172.31.10x.30 game.team-x 172.31.10x.40 win1. team-x 172.31.10x.151 bastion.team-x 172.31.10x.10 運営チーム 競技チーム ※ “x”はチームID(a,b,c…)、もしくは番号(1,2,3…) repository.team-x 172.31.10x.50 db.team-x 172.31.10x.60 運営チーム サーバ群 17 dev.team-x 172.31.10x.200 踏み台 コーポレート ゲーム リポジトリ Windows クライアント 検証機 DB
  18. システム構成 ② ☞ 競技者に提供されるシステム構成は、以下の通りです。 ゲームAPI ゲームサーバ データベースサーバ redis リポジトリサーバ git

    pull deploy ゲーム ユーザー 18 コーポレートサーバ Webサーバ DB ※環境詳細は 「コーポレートサイト」の ページに記載しています
  19. ゲームAPI ゲームの各機能はAPIで実装されています。 以下が、今回実装されているAPIとなります。 ☞ユーザー作成API ☞ログインAPI ☞退会API ☞プレーヤー情報API ☞画像アップロードAPI ☞コース一覧取得/決定API ☞戦闘API

    ☞スタミナ回復API ☞ガチャAPI ☞課金API 詳細は、別紙「API設計書」を参照してください。 19 複数のプラグラミング言語 × 複数台dockerコンテナ 絶賛稼働中 API毎に違う国でオフショア開発されたとかどうとか。。。
  20. 20 MINI QUEST - ゲーム画面遷移 ログイン 画面 オープニング 画面 コマンド選択

    画面 ガチャ画面 コース選択 画面 戦闘画面 ステータス 画面 スタミナ回復 画面 課金画面 退会画面 新規登録 画面 愛と勇気と剣と魔法 」本格派新感覚RPG
  21. ㊙競技者お助け機能 (こうげき傍観くん) ☞ 各チームのWebサイトを監視するシステムです。 21 各チームの評価対象画面を 一定時間ごとに順次表示

  22. 開発環境の説明 22

  23. バージョンごとの開発環境の変遷 23 バージョン1 バージョン2 バージョン3 バージョン4 AWS 2015/5~2016/2 2016/12~2017/9 2018/9~2019/12

    2021/7~Now! イ ン フ ラ コ ー ド 管 理 シェルスクリプト 開 発 ツ ー ル シェルスクリプト &一部Ansible Googleグループ 情 報 共 有 なし? 初期はほぼシェルスクリプトで作っていましたが、バージョン3からモダンな IaCなデプロイ環境を整えました。現在はgitlab上でIssue管理を行いな がらコード管理をしています。
  24. 環境開発フロー 24 みんな大好きHashi CorpのPacker、Terraformと Ansibleを使用しています。 https://www.hashicorp.com Mitchell Hashimoto氏が2010年設立 Hashicorp Tao(道)を理念に開発・運用者向けのツールを開発

    「技術のギャップを埋めるためのツールを提供したい」 1.開発・検証 2.イメージ作成 3.競技環境展開 担当者が各自のVM 上で競技に必要な 環境を開発し、コー ドをgitlabにpush Packerで共通パッケー ジ、ゲームAPI、共通の 設定等をインストールし イメージ作成 イメージからチーム数分 の環境をデプロイ(ネット ワーク、ホスト名、DNS など含めて全自動展開) 4.個別設定 AMI AMI 環境個別の設定 (dokcer起動等) 必要に応じてイメージ再 作成、再展開
  25. 自動化できたこと 25  サーバのイメージ作成  チーム数に応じたインフラの自動展開 *30分程度で100台弱のサーバ展開可能、一括削除 も簡単  IPアドレス、ドメイン名の設定(Route53最強!)

     競技終了後のログ取得 例:Terraformの一括削除コマンド実行結果
  26. 過去開催分のハイライト 26

  27. MINI Hardening@HITCON (台湾) 27 2019年夏に台湾最大のサイバーセキュリティカンファレンス 「HITCON CMT」の最終日にMINI Hardeningを開催して きました! 2019/8/24開催

  28. HITCONのここがスゴイ! 28 日本人に優しいし、参加者も積極的、飯も美味しい! ぜひみなさんも参加してみてください! 2019/8/24開催

  29. HITCON参加の様子はMBSDブログで♪ 29 HITCON CMTの大事なことはすべてここに書いてあります。 MINI Hardening with HITCON イベントレポート(MBSDブログ) https://www.mbsd.jp/blog/20190902.html

    2019/8/24開催
  30. 30 オンライン開催の準備完了! ☞ COVID-19の足音が聞こえ始めた2019/12/14 OWASP KANSAI開催@パナソニックの時点ですでに オンライン開催の準備がすでに整っていた!? 2019/12/14開催 チーム 所属

    開催場所 A~G 関西参加チーム 大阪パナソニックワンダーラボ H パナソニックチーム I、J OWASP福島01、02 株式会社Eyes, JAPAN K OWASP名古屋 株式会社中電シーティーアイ L OWASP仙台 コワーキングスペース ソシラボ M OWASP沖縄 株式会社モノクラム N 特別平成枠 ネットのむこうがわ 2019時点で オンライン 開催を実現!
  31. 31 AVTOKYOの運営レギュレーション ☞ Red Teamによるチート行為が競技者サーバのいずれかに刺 さった場合、運営メンバーは「No Drink, No Hack」の精神に 則り、かならず乾杯をします!!

    ☞ 攻撃はおよそ10分に1回程度の頻度で発生するため、すべて のターンでチート行為が成功してしまう場合、運営メンバーは10 回以上乾杯をすることになってしまいます。 ☞ 痛風や糖尿病が気になり始める運営メンバーの健康のため、な んとかチート行為を阻止してくださいm(_ _)m その結果、競技終了後に運営メンバー3名がダウン! 2021/11/14開催
  32. 参加者の声 &more 32

  33. 33 MINI Hardening #4 参加者の声① 後半は攻撃えげつなくて、 ボロッボロにやられまくってた ……orz…… 後半からの攻撃がエグかった… 以前のバージョンより明らかに

    エグイ、これに尽きる。
  34. 34 MINI Hardening #4 参加者の声② ぜんぜんMINIってレベルじゃ ねえよ。。。 名前間違ってるよ! 初心者向けじゃなくなってる んですけどぉ・・・

    胃がキリキリする空気感をカジュアルに楽しみたい方は、 ぜひ通常版にご参加ください! ※募集要項から「初心者向け」外しました。。。
  35. 次回開催は2022の4月くらい開催予定? 絶賛参加者を募集しております! チーム参加やITイベントコラボも ご検討ください! 35 Conpassのページをご登録ください! https://minihardening.connpass.com/

  36. ご視聴ありがとうございました! お疲れ様でした! 36