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

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

delphinz
February 24, 2022

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

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

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

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

delphinz

February 24, 2022
Tweet

More Decks by delphinz

Other Decks in Technology

Transcript

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

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

    Shun Suzaki Daiki Ichinose Takeya Yamazaki Kazuki Igeta 6 MINI Hardening@HITCONより
  3. 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
  4. バージョンごとの実績 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! 犯行声明 海外進出 コラボ&個人戦
  5. MINI Hardening 4 お品書き • 丸1日の通常版と評価対象を絞ったお試し版があります。 10 通常版 AVTOKYO版 競技時間(全体時間)

    5時間(8.5時間) 2時間(3.5時間) 競技形態 チーム戦(5名/チーム) 個人戦(1名/チーム) 評価対象 4台/チーム 1台/人 シナリオ サイバー攻撃 ゲームチート 荒らし 社⾧からの依頼 などなど ゲームチート数種類 Red Team マジ⿁ やさしい⿁ お酒 飲んでる暇ない 🍺飲め!!
  6. 競技実施のスケジュール 時刻 内容 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日で完了 出し惜しみなしの完全解説!
  7. ☞ 参加チームには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
  8. システム構成 ② ☞ 競技者に提供されるシステム構成は、以下の通りです。 ゲームAPI ゲームサーバ データベースサーバ redis リポジトリサーバ git

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

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

    画面 ガチャ画面 コース選択 画面 戦闘画面 ステータス 画面 スタミナ回復 画面 課金画面 退会画面 新規登録 画面 愛と勇気と剣と魔法 」本格派新感覚RPG
  11. バージョンごとの開発環境の変遷 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管理を行いな がらコード管理をしています。
  12. 環境開発フロー 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起動等) 必要に応じてイメージ再 作成、再展開
  13. 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時点で オンライン 開催を実現!
  14. 31 AVTOKYOの運営レギュレーション ☞ Red Teamによるチート行為が競技者サーバのいずれかに刺 さった場合、運営メンバーは「No Drink, No Hack」の精神に 則り、かならず乾杯をします!!

    ☞ 攻撃はおよそ10分に1回程度の頻度で発生するため、すべて のターンでチート行為が成功してしまう場合、運営メンバーは10 回以上乾杯をすることになってしまいます。 ☞ 痛風や糖尿病が気になり始める運営メンバーの健康のため、な んとかチート行為を阻止してくださいm(_ _)m その結果、競技終了後に運営メンバー3名がダウン! 2021/11/14開催
  15. 34 MINI Hardening #4 参加者の声② ぜんぜんMINIってレベルじゃ ねえよ。。。 名前間違ってるよ! 初心者向けじゃなくなってる んですけどぉ・・・

    胃がキリキリする空気感をカジュアルに楽しみたい方は、 ぜひ通常版にご参加ください! ※募集要項から「初心者向け」外しました。。。