Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

アジェンダ 1. MINI Hardening概要 2. バージョン4の説明 3. 競技環境の説明 4. 開発環境の説明(省略するかも。。。) 5. 過去開催分のハイライト 2

Slide 3

Slide 3 text

MINI Hardening概要 3

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

MINI Hardeningとは ● Hardening Projectから派生したミニプロジェクト 2014年の Hardening 10 Evolutionsイベントにおいて、 アンカンファレンスの成果として発足 ● カジュアルにHardeningを体験 MINI Hardeningは、半日程度でHardening競技や 振り返りまで体験できるイベント コンセプト 「セキュリティインシデントを カジュアルに体験!」 5 ハッシュタグ:#minihardening

Slide 6

Slide 6 text

運営メンバー Masahiro Tabata (Leader) Yoshihiro Kyan Isao Takaesu Yoshinori Matsumoto Shun Suzaki Daiki Ichinose Takeya Yamazaki Kazuki Igeta 6 MINI Hardening@HITCONより

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

バージョン4の説明 8

Slide 9

Slide 9 text

バージョンごとの実績 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! 犯行声明 海外進出 コラボ&個人戦

Slide 10

Slide 10 text

MINI Hardening 4 お品書き ● 丸1日の通常版と評価対象を絞ったお試し版があります。 10 通常版 AVTOKYO版 競技時間(全体時間) 5時間(8.5時間) 2時間(3.5時間) 競技形態 チーム戦(5名/チーム) 個人戦(1名/チーム) 評価対象 4台/チーム 1台/人 シナリオ サイバー攻撃 ゲームチート 荒らし 社⾧からの依頼 などなど ゲームチート数種類 Red Team マジ⿁ やさしい⿁ お酒 飲んでる暇ない 🍺飲め!!

Slide 11

Slide 11 text

プロローグ (MINI Hardening #3からの続き) 「仮想通貨で一発当てるんや!」 と、以前の会社で意気込んだものの、投資が失敗に終わった社⾧。 しかし、 「ソシャゲなら俺でも当てられるはずや!」 と言い出し、今度はソーシャルゲームの会社を立ち上げてしまった。 「もう会社名は決めている。この名前なら絶対に売れる!そ の新社名は…『 』や!!」 すでローンチまでのカウントダウンが始まっていたのだった。 これからはニューノーマルなDXを DevOpsSecで支えるマイクロサービス、 つまりソシャゲや! 11

Slide 12

Slide 12 text

ガチャで装備を整え モンスターを倒し レベルを上げろ!! 「愛と勇気と剣と魔法」の本格派 新感覚RPGが、ブラウザで遊べる ソーシャルゲームとしてついに登場! 12

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

競技実施のスケジュール 時刻 内容 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日で完了 出し惜しみなしの完全解説!

Slide 16

Slide 16 text

競技環境の説明 16

Slide 17

Slide 17 text

☞ 参加チームには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

Slide 18

Slide 18 text

システム構成 ② ☞ 競技者に提供されるシステム構成は、以下の通りです。 ゲームAPI ゲームサーバ データベースサーバ redis リポジトリサーバ git pull deploy ゲーム ユーザー 18 コーポレートサーバ Webサーバ DB ※環境詳細は 「コーポレートサイト」の ページに記載しています

Slide 19

Slide 19 text

ゲームAPI ゲームの各機能はAPIで実装されています。 以下が、今回実装されているAPIとなります。 ☞ユーザー作成API ☞ログインAPI ☞退会API ☞プレーヤー情報API ☞画像アップロードAPI ☞コース一覧取得/決定API ☞戦闘API ☞スタミナ回復API ☞ガチャAPI ☞課金API 詳細は、別紙「API設計書」を参照してください。 19 複数のプラグラミング言語 × 複数台dockerコンテナ 絶賛稼働中 API毎に違う国でオフショア開発されたとかどうとか。。。

Slide 20

Slide 20 text

20 MINI QUEST - ゲーム画面遷移 ログイン 画面 オープニング 画面 コマンド選択 画面 ガチャ画面 コース選択 画面 戦闘画面 ステータス 画面 スタミナ回復 画面 課金画面 退会画面 新規登録 画面 愛と勇気と剣と魔法 」本格派新感覚RPG

Slide 21

Slide 21 text

㊙競技者お助け機能 (こうげき傍観くん) ☞ 各チームのWebサイトを監視するシステムです。 21 各チームの評価対象画面を 一定時間ごとに順次表示

Slide 22

Slide 22 text

開発環境の説明 22

Slide 23

Slide 23 text

バージョンごとの開発環境の変遷 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管理を行いな がらコード管理をしています。

Slide 24

Slide 24 text

環境開発フロー 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起動等) 必要に応じてイメージ再 作成、再展開

Slide 25

Slide 25 text

自動化できたこと 25  サーバのイメージ作成  チーム数に応じたインフラの自動展開 *30分程度で100台弱のサーバ展開可能、一括削除 も簡単  IPアドレス、ドメイン名の設定(Route53最強!)  競技終了後のログ取得 例:Terraformの一括削除コマンド実行結果

Slide 26

Slide 26 text

過去開催分のハイライト 26

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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時点で オンライン 開催を実現!

Slide 31

Slide 31 text

31 AVTOKYOの運営レギュレーション ☞ Red Teamによるチート行為が競技者サーバのいずれかに刺 さった場合、運営メンバーは「No Drink, No Hack」の精神に 則り、かならず乾杯をします!! ☞ 攻撃はおよそ10分に1回程度の頻度で発生するため、すべて のターンでチート行為が成功してしまう場合、運営メンバーは10 回以上乾杯をすることになってしまいます。 ☞ 痛風や糖尿病が気になり始める運営メンバーの健康のため、な んとかチート行為を阻止してくださいm(_ _)m その結果、競技終了後に運営メンバー3名がダウン! 2021/11/14開催

Slide 32

Slide 32 text

参加者の声 &more 32

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

34 MINI Hardening #4 参加者の声② ぜんぜんMINIってレベルじゃ ねえよ。。。 名前間違ってるよ! 初心者向けじゃなくなってる んですけどぉ・・・ 胃がキリキリする空気感をカジュアルに楽しみたい方は、 ぜひ通常版にご参加ください! ※募集要項から「初心者向け」外しました。。。

Slide 35

Slide 35 text

次回開催は2022の4月くらい開催予定? 絶賛参加者を募集しております! チーム参加やITイベントコラボも ご検討ください! 35 Conpassのページをご登録ください! https://minihardening.connpass.com/

Slide 36

Slide 36 text

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