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
86
ハードニング競技会用ベンチマーカー「katayude」(仮)
CODE BLUE 2023内のイベント「CyberTAMAGO」の発表資料です。
shinobe179
November 11, 2023
Tweet
Share
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Optimizing for Happiness
mojombo
379
70k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
How GitHub (no longer) Works
holman
314
140k
Facilitating Awesome Meetings
lara
54
6.4k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
How to Ace a Technical Interview
jacobian
278
23k
Documentation Writing (for coders)
carmenintech
72
4.9k
Become a Pro
speakerdeck
PRO
29
5.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Transcript
ハードニング競技会用ベンチマーカー 「katayude」(仮) @shinobe179 2023/11/08
ハードニング競技会は、ハードニング能力、インシデント対応能力の向上に適した取り 組みである 個人で開催するナレッジに乏しい ハードニング競技会の実施ハードルを下げられないか? サマリー
だいたい以下のような方式で行われる。 競技者には、脆弱性があるシステムを与えられる 競技開始後、正常通信(サイト回遊、商品購入など)が継続的に行われる 正常通信が仕様通りに完了することで、スコアが加算される しばらくすると、攻撃者による偵察、攻撃が始まる 競技者は、 正常トラフィックを止めないように 攻撃からシステムを守る 競技終了時、スコアが最も高かった競技者の勝ち! 振り返りの後、同じシナリオを何度か繰り返す
こともある。 ハードニング競技会とは?
準備するものが多く(重く)、競技会を実施するハードルが高い。 シナリオを作る 同じシナリオを再現できる仕組みを作る 攻撃を受けるシステムを作る 競技会に必要なリソース
競技会に必要なリソースの表現方法をフレームワーク化して、実施や共有を簡単にできない か? シナリオを作る => katayude 同じシナリオを再現できる仕組みを作る => katayude 攻撃を受けるシステムを作る =>
Ansible、Packerなど 競技会のフレームワーク化
インフラチューニングの競技会「ISUCON」から着想を得ている。 競技者には、パフォーマンスに課題があるシステムを与えられる 競技者はボトルネックを解消し、 ベンチマーカー にベンチマークをリクエストする ベンチマーカー はリクエストに応じて、システムに対してリクエストを送信する システム仕様通りにレスポンスできれば加点 ボトルネックの解消とベンチマークを繰り返し、最終的に最もスコアが高かった競技者 が勝ち!(簡単に言うと)
「ベンチマーカー」の着想
ISUCON公式でベンチマーカーのフレームワークが公開されている。 https://github.com/isucon/isucandar クライアント(ブラウザ)挙動のシミュレーション 並列実行管理 スコア管理 ・・・ ……ほぼ完成では? ベンチマーカーの実装
ハードニングのためには、以下のような機能が必要そう。 正常通信 HTTP(S)以外のプロトコルのクライアントのシミュレーション 例:FTPによるファイルアップロードが正常に動作するか? 攻撃通信 偵察行為や攻撃の再現、成功判定 ツール(Nmap、Metasploit、Nucleiなど)の抽象化 各アクションのスケジューリングベンチマーク(開始から「決まった時間に」「決 まったアクション」をするように )
追加で必要な機能
ハードニング競技会は、ハードニング能力、インシデント対応能力の向上に適した取り 組みである 個人で開催するナレッジに乏しい ハードニング競技会の実施ハードルを下げられないか? ありがとうございました。 まとめ(サマリー再掲)