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
54
ハードニング競技会用ベンチマーカー「katayude」(仮)
CODE BLUE 2023内のイベント「CyberTAMAGO」の発表資料です。
shinobe179
November 11, 2023
Tweet
Share
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Ruby is Unlike a Banana
tanoku
97
11k
A Tale of Four Properties
chriscoyier
156
23k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
Code Reviewing Like a Champion
maltzj
520
39k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
720
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
A better future with KSS
kneath
238
17k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Bash Introduction
62gerente
608
210k
Transcript
ハードニング競技会用ベンチマーカー 「katayude」(仮) @shinobe179 2023/11/08
ハードニング競技会は、ハードニング能力、インシデント対応能力の向上に適した取り 組みである 個人で開催するナレッジに乏しい ハードニング競技会の実施ハードルを下げられないか? サマリー
だいたい以下のような方式で行われる。 競技者には、脆弱性があるシステムを与えられる 競技開始後、正常通信(サイト回遊、商品購入など)が継続的に行われる 正常通信が仕様通りに完了することで、スコアが加算される しばらくすると、攻撃者による偵察、攻撃が始まる 競技者は、 正常トラフィックを止めないように 攻撃からシステムを守る 競技終了時、スコアが最も高かった競技者の勝ち! 振り返りの後、同じシナリオを何度か繰り返す
こともある。 ハードニング競技会とは?
準備するものが多く(重く)、競技会を実施するハードルが高い。 シナリオを作る 同じシナリオを再現できる仕組みを作る 攻撃を受けるシステムを作る 競技会に必要なリソース
競技会に必要なリソースの表現方法をフレームワーク化して、実施や共有を簡単にできない か? シナリオを作る => katayude 同じシナリオを再現できる仕組みを作る => katayude 攻撃を受けるシステムを作る =>
Ansible、Packerなど 競技会のフレームワーク化
インフラチューニングの競技会「ISUCON」から着想を得ている。 競技者には、パフォーマンスに課題があるシステムを与えられる 競技者はボトルネックを解消し、 ベンチマーカー にベンチマークをリクエストする ベンチマーカー はリクエストに応じて、システムに対してリクエストを送信する システム仕様通りにレスポンスできれば加点 ボトルネックの解消とベンチマークを繰り返し、最終的に最もスコアが高かった競技者 が勝ち!(簡単に言うと)
「ベンチマーカー」の着想
ISUCON公式でベンチマーカーのフレームワークが公開されている。 https://github.com/isucon/isucandar クライアント(ブラウザ)挙動のシミュレーション 並列実行管理 スコア管理 ・・・ ……ほぼ完成では? ベンチマーカーの実装
ハードニングのためには、以下のような機能が必要そう。 正常通信 HTTP(S)以外のプロトコルのクライアントのシミュレーション 例:FTPによるファイルアップロードが正常に動作するか? 攻撃通信 偵察行為や攻撃の再現、成功判定 ツール(Nmap、Metasploit、Nucleiなど)の抽象化 各アクションのスケジューリングベンチマーク(開始から「決まった時間に」「決 まったアクション」をするように )
追加で必要な機能
ハードニング競技会は、ハードニング能力、インシデント対応能力の向上に適した取り 組みである 個人で開催するナレッジに乏しい ハードニング競技会の実施ハードルを下げられないか? ありがとうございました。 まとめ(サマリー再掲)