Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ハードニング競技会用ベンチマーカー「katayude」(仮)
Search
shinobe179
November 11, 2023
0
62
ハードニング競技会用ベンチマーカー「katayude」(仮)
CODE BLUE 2023内のイベント「CyberTAMAGO」の発表資料です。
shinobe179
November 11, 2023
Tweet
Share
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
32
6.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Code Reviewing Like a Champion
maltzj
521
39k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Building an army of robots
kneath
302
45k
Typedesign – Prime Four
hannesfritz
40
2.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
20
2.4k
GitHub's CSS Performance
jonrohan
1030
460k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
How GitHub (no longer) Works
holman
313
140k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.4k
Transcript
ハードニング競技会用ベンチマーカー 「katayude」(仮) @shinobe179 2023/11/08
ハードニング競技会は、ハードニング能力、インシデント対応能力の向上に適した取り 組みである 個人で開催するナレッジに乏しい ハードニング競技会の実施ハードルを下げられないか? サマリー
だいたい以下のような方式で行われる。 競技者には、脆弱性があるシステムを与えられる 競技開始後、正常通信(サイト回遊、商品購入など)が継続的に行われる 正常通信が仕様通りに完了することで、スコアが加算される しばらくすると、攻撃者による偵察、攻撃が始まる 競技者は、 正常トラフィックを止めないように 攻撃からシステムを守る 競技終了時、スコアが最も高かった競技者の勝ち! 振り返りの後、同じシナリオを何度か繰り返す
こともある。 ハードニング競技会とは?
準備するものが多く(重く)、競技会を実施するハードルが高い。 シナリオを作る 同じシナリオを再現できる仕組みを作る 攻撃を受けるシステムを作る 競技会に必要なリソース
競技会に必要なリソースの表現方法をフレームワーク化して、実施や共有を簡単にできない か? シナリオを作る => katayude 同じシナリオを再現できる仕組みを作る => katayude 攻撃を受けるシステムを作る =>
Ansible、Packerなど 競技会のフレームワーク化
インフラチューニングの競技会「ISUCON」から着想を得ている。 競技者には、パフォーマンスに課題があるシステムを与えられる 競技者はボトルネックを解消し、 ベンチマーカー にベンチマークをリクエストする ベンチマーカー はリクエストに応じて、システムに対してリクエストを送信する システム仕様通りにレスポンスできれば加点 ボトルネックの解消とベンチマークを繰り返し、最終的に最もスコアが高かった競技者 が勝ち!(簡単に言うと)
「ベンチマーカー」の着想
ISUCON公式でベンチマーカーのフレームワークが公開されている。 https://github.com/isucon/isucandar クライアント(ブラウザ)挙動のシミュレーション 並列実行管理 スコア管理 ・・・ ……ほぼ完成では? ベンチマーカーの実装
ハードニングのためには、以下のような機能が必要そう。 正常通信 HTTP(S)以外のプロトコルのクライアントのシミュレーション 例:FTPによるファイルアップロードが正常に動作するか? 攻撃通信 偵察行為や攻撃の再現、成功判定 ツール(Nmap、Metasploit、Nucleiなど)の抽象化 各アクションのスケジューリングベンチマーク(開始から「決まった時間に」「決 まったアクション」をするように )
追加で必要な機能
ハードニング競技会は、ハードニング能力、インシデント対応能力の向上に適した取り 組みである 個人で開催するナレッジに乏しい ハードニング競技会の実施ハードルを下げられないか? ありがとうございました。 まとめ(サマリー再掲)