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
Capture the Flag: An Owner's Manual
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
vito
January 27, 2016
Programming
0
100
Capture the Flag: An Owner's Manual
From USENIX Enigma 2016
vito
January 27, 2016
Tweet
Share
More Decks by vito
See All by vito
Modernizing SQL Injection CTF Challenges
vito
0
190
Raw Water: Quenching Your Thirst for SQL Injection
vito
0
88
Lessons Learned from Five Years of Building Capture the Flag
vito
0
500
What I've Learned Writing CTF Challenges
vito
0
160
Building DEF CON CTF with Ruby
vito
0
600
Other Decks in Programming
See All in Programming
CSC307 Lecture 01
javiergs
PRO
0
680
Patterns of Patterns
denyspoltorak
0
1.3k
ThorVG Viewer In VS Code
nors
0
750
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
170
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
1.3k
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
930
Grafana:建立系統全知視角的捷徑
blueswen
0
310
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
160
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.7k
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
410
高速開発のためのコード整理術
sutetotanuki
1
350
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.1k
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
The Pragmatic Product Professional
lauravandoore
37
7.1k
[SF Ruby Conf 2025] Rails X
palkan
0
730
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
270
Information Architects: The Missing Link in Design Systems
soysaucechin
0
750
Making the Leap to Tech Lead
cromwellryan
135
9.7k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
190
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
75
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
RailsConf 2023
tenderlove
30
1.3k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
130
Transcript
Capture the Flag An Owner’s Manual Vito Genovese USENIX Enigma,
January 27, 2016
What is CTF?
Qualifiers May 20 through May 22 FREE FUN OMG wow
Finals August 5 through August 7
Best of the Best Quals >1400 teams Finals 15-20 teams
Winner
Best of the Best
Engineer a Non-Frustrating Game
Operate a Reliable Game
Have the Empathy to Make the Game Fun
Engineering
Engineering Process 1. Define problem 2. Research 3. Decide requirements
4. Brainstorm solutions 5. Pick the best solution 6. Build it 7. See if it's good enough 8. Redo what’s not
What kind of game? Jeopardy vs. Attack-defense
None
Jeopardy is Easy Scoreboard Standalone challenges
Jeopardy is Easy No complex networking No complex admin work
(for players)
Attack-Defense is Hard Complex network Sensitive to connectivity Teams host
services? We host services? Slow services Unavailable services Superman defenses Metagaming
Theming Banking Stuxnet Board Game Marijuana culture Money Laundering Botnet
SCADA Wizardterrorism Generic hacker
Theming web crypto forensics reverse engineering programming shellcode
Jeopardy Scoring SELECT t.id AS team_id, t.name AS team_name, SUM(c.points)
AS score, MAX(s.created_at) AS last_solve FROM teams AS t INNER JOIN solutions AS s ON s.team_id = t.id INNER JOIN challenges AS c ON s.challenge_id = c.id WHERE team_id != 1 GROUP BY t.id ORDER BY score DESC, MAX(s.created_at) ASC, MAX(s.id) ASC
Attack-Defense Scoring aww jeez
Attack-Defense Game Flow PPP atmail scorebot Shellphish
Attack-Defense Game Flow PPP atmail scorebot Shellphish deposit
Shellphish Attack-Defense Game Flow PPP atmail scorebot steal
Shellphish Attack-Defense Game Flow PPP atmail scorebot redeem
Shellphish Attack-Defense Game Flow PPP atmail scorebot availability okay availability
check
Shellphish Attack-Defense Game Flow PPP atmail scorebot failed availability ☠
☠ can’t steal
Attack-Defense Metagaming Any sufficiently complex game is metagameable
Downtime vs. Being Hacked
Reflection
First Blood
Attack-Defense Scoring Zero Sum Finite number of flags Flags per-service
Attack-Defense Scoring Can lose N-1 flags to steals per round
Stolen flags split among stealers Remainders redistributed fairly
Attack-Defense Scoring Downtime means lost steal opportunity Teams lose 2(N-1)
flags to downtime
Attack-Defense Scoring Remainder and downtime flags are the flags of
the people
Science of Challenges • Think of cool bugs • Write
bugs, tool to check vulnerability • Wrap ‘em in analysis surface • Write smoke test and health checks
Art of Challenges The machine is your canvas and the
only limit is ~your imagination~
Art of Challenges Historic interest Uniqueness Inherent humor
Challenges and Team Size Smaller teams don’t solve challenges slower
Bigger teams can solve more challenges at once
Challenges and Team Size Fewer and Harder Smaller and Smarter
Challenges and Team Size
Challenges and Operations Engineering great, fun, reliable challenges is the
best ops improvement you can make.
Operations
CTF Operations The dream is for the organizing team to
just party and be jerks to teams during the game
CTF Operations “Is this down or broken?” “Is this actually
exploitable?”
CTF Operations It only has to work for a weekend
CTF Operations Start on time by being ready early
Jeopardy Operations Boston Key Party Servers $27 Quals 2013 Servers
$284 Quals 2013 Booze $340
Attack-Defense Operations
Attack-Defense Operations
Attack-Defense Operations We bring hardware to Vegas
Bring Hardware Weird architectures
Bring Hardware Teams don't want to bring hardware
Bring Hardware Don’t trust the uplink
Exceptions • Stratum Auhuur who trusted the uplink at cccamp
• Also shout out to Shellfish for bringing a server rack to compete at DEF CON
Attack-Defense Operations
Attack-Defense Dynamics
Attack-Defense Dynamics Player time is a limited resource 1 shower
2 meals 3 hours of sleep
Attack-Defense Dynamics 1. Player 1 solves Service A 2. Player
1 starts Service B 3. Service A’ is released 4. Player 1 has a choice
Defecators & Ventilators Sometimes challenges break
Defecators & Ventilators 10 hours / 1 Tester = 10
Hours 10 hours / 20 Teams = 30 Minutes 10 hours / 1000 Teams = 36 Seconds
Defecators & Ventilators Perverse incentives
Empathy
Challenges and Empathy The game is for the players Players
want good, fun, working challenges
Empathy • We do it for the users/players/audience • picture
of CLU goes here
Empathy Run the game you want to play
Empathy Don’t lie to players Deceive the players iff it
makes the game more fun
Frustration Trivia & Memes are hit or miss Think of
non-US and non-English teams
Guessing and Large Solution Spaces Writing a solver for a
28 solution space is fun Writing and paying for a 216 space isn't
Preserve Player Agency No hints once a challenge has been
solved Think carefully about force-unlocking Jeopardy challenges
Preserve Player Enjoyment Force-unlock easy challenges for teams to learn
from Force-unlock hard challenges early enough they'll be solvable
Hacking Computers is Fun!
Engineer a Non-Frustrating Game
Operate a Reliable Game
Have the Empathy to Make the Game Fun
Qualifiers May 20 through May 22 https://legitbs.net/ FREE FUN OMG
wow
Thanks Vito Genovese
[email protected]
@vito_lbs GPG B07D616143CAA77B https://legitbs.net @legitbs_ctf