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
Дмитрий Муковкин. Как мы делали SibirCTF. Прове...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
KrasCTF
November 18, 2017
Technology
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Дмитрий Муковкин. Как мы делали SibirCTF. Проверяющая система
KrasCTF Meetup 2017, Красноярск
KrasCTF
November 18, 2017
More Decks by KrasCTF
See All by KrasCTF
Владимир Жираков. Канал утечки информации за счет ПЭМИН
krasctf
0
590
Данил Бородавкин. Приглядываем за Windows
krasctf
0
120
Александр Менщиков. Как мы делали Pentest CTF
krasctf
2
120
Павел Шипулин. KrasCTF: как передать наследство?
krasctf
0
130
Other Decks in Technology
See All in Technology
Where Is JetBrains AI Heading- — Central CLI, Air Alpha, and the Agentic Development Stack
x5gtrn
PRO
0
150
AI時代だからこそ、スケールしないことをやろう
yutashigemura
1
110
[DroidKaigi 2026] Making UI specifications visible: Android UI development in the AI agent era supported by Compose Screenshot Testing and galleries
syarihu
0
610
AI 駆動 Terraform 開発/SRE_BizReach_MIXI_2
visional_engineering_and_design
3
1.9k
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
1
220
enechainの内製セルフサービスプラットフォーム
hiyosi
0
140
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
3
350
When Does a Local Qwen Start to Break
morshoto
0
190
幾何アルゴリズムで なめらかなピン操作を / iOSDC Japan 2026 / smoothpin
kazumanagano
0
210
Kiro Crewしか勝たん!?
miu_crescent
PRO
0
190
Driving AI Adoption Using In-House GPUs to Serve Qwen
po3rin
2
470
AIとペアプロを始める。人とのペアプロをやめる。ペアプロの良さを改めて知る。もっと好きになった。 / Rediscovering Pair Programming
honyanya
1
290
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Docker and Python
trallard
47
4.2k
Everyday Curiosity
cassininazir
0
310
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
370
GitHub's CSS Performance
jonrohan
1033
470k
WCS-LA-2024
lcolladotor
0
820
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Writing Fast Ruby
sferik
630
63k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
230
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
870
Transcript
Как мы делали SibirCTF Проверяющая система
Кто ты вообще?
О чем хотелось рассказать • Менеджмент соревнований • Проверяющая система
О чем будет рассказано 1. История проверяющих систем на SibirCTF
2. Технологии 3. Проблемы
О чем будет рассказано Все это сугубо личное мнение
SibirCTF уже 4 года `14 6 команд 1 день 9
команд 1 день 12 команд 3 дня 16 команд 4 дня `15 `16 `17
2014 год: проба сил • Проверяющая система написана на C++
• 3 сервиса • Тестировалась на 2 командах • Писалась в “кратчайшие” сроки
2014 год: проба сил Упала через несколько минут после старта
2014 год: проба сил • Все проблемы были исправлены за
полчаса • Отработала стабильно
2014 год: вынесенные уроки Необходимо тестировать все заранее, предусмотрев все
возможные случаи
2014 год: вынесенные уроки Необходимо тестировать все заранее, предусмотрев все
возможные случаи
2015 год: забыли про патч-корды • Решили взять чужую платформу,
а не писать свою • Количество сервисов - 4
2015 год: забыли про патч-корды • Подняли после обеда •
Почти написали свою собственную за час
2015 год: ошибки Нужно выбирать “правильных” людей на ключевые позиции.
Необходимо постоянно следить за ходом работы этого человека. Если вы берете чужую разработку, то должны глубоко изучить её.
2016 год: пишем сами • Написали собственную платформу на Python
• Тестировали в течении 2-3 месяцев • Написали 4 сервиса
2016 год: пишем сами • Ни разу не упала •
Внештатных ситуаций не произошло
2016 год: выводы Проверяющая система это еще не все. Не
стоит забывать про сервисы.
2017 год: все лучше и лучше Делаем упор на сервисы.
Сервисы становятся “взламываемыми”
2017 год: итоги Нагрузка вырастает в несколько раз Обнаруживаются слабые
места в платформе Стабильные платформа, сервисы - это еще не все. Необходимо думать об визуализации.
2017 год: итоги Нужно делать ШОУ!
Что вообще за attack-defense
Стек Python Почему? • Распространенность • Огромное количество библиотек •
...
Архитектура • Модуль генерации флагов и постановки задач • Модуль
работы с чекерами • Модуль приемки флагов • Скорборд
База данных
Скорборд Flask Не забыли включить мультипоточность
Модуль генерации флагов и постановки задач • Генерирует флаги •
Создает задачи и отправляет в очередь • Начисляет очки защиты
Модуль работы с чекерами
RabbitMQ Платформа, реализующая систему обмена сообщениями между компонентами программной системы
на основе стандарта AMQP
Модуль приемки флагов • Определяет команду • Проверяет сданный флаг
• Если все условия выполняются, то начисляется очко атаки
Итоги • Это не сложно, если ты обладаешь достаточными компетенциями
• Но более ответственно (очень много точек отказа) • Нужно много-много тестировать • Облажаться - это тоже опыт
Итоги https://github.com/KevaTeam/ctf-attack-defense/