Что общего у ctf и тестов на проникновение?

17
Что общего у CTF и тестов на проникновение? Летняя школа «Развитие CTF в России» Ганиев Омар Отдел анализа защищенности

Upload: beched

Post on 15-Jun-2015

928 views

Category:

Education


8 download

DESCRIPTION

Доклад на летней школе "Развитие движения CTF в России", Дубна, 19.08.2013.

TRANSCRIPT

Page 1: Что общего у CTF и тестов на проникновение?

Что общего у CTF и тестов на проникновение?

Летняя школа «Развитие CTF в России»

Ганиев ОмарОтдел анализа защищенности

Page 2: Что общего у CTF и тестов на проникновение?

Curriculum vitae

• Увлекаюсь ИБ со школьного времени

• Образование – факультет математики НИУ-ВШЭ

• CTF-команда RDot.Org

• Работаю пентестером в компании «Информзащита»

Page 3: Что общего у CTF и тестов на проникновение?

О чём пойдёт речь?

• Что такое испытание на проникновение (пентест)?

• Рассмотрим некоторых «персонажей» хакерского мира и навыки, необходимые для их работы

• Польза от CTF-навыков в практической деятельности

• Что делать?

Page 4: Что общего у CTF и тестов на проникновение?

• Метод оценки безопасности компьютерных систем или сетей средствами моделирования атаки злоумышленника

• Может ставить целью как проверку факта возможности проникновения хотя бы одним способом (после исправления недостатков, обнаруженных в ходе аудита), так и обнаружение максимального количества уязвимостей

Penetration testing

Page 5: Что общего у CTF и тестов на проникновение?

Penetration testing

Методология проведения тестов на проникновение подразумевает наличие нескольких этапов:

• Определение области обследования• Составление модели угроз• Сбор информации об объекте исследования• Поиск уязвимостей• Попытки эксплуатации обнаруженных уязвимостей• Получение доступа к критичным ресурсам • Составление отчётной документации

Page 6: Что общего у CTF и тестов на проникновение?

Penetration testing

Существует 3 типа пентестов:• White box

Заведомо известна структура информационной системы (ИС). Это может быть схема сети, конфигурация оборудования, исходные тексты ПО.

• Black box

Известны лишь точки входа – адреса, через которые следует пытаться проникнуть в ИС Заказчика.

• Grey box

Комбинация white и black box

Page 7: Что общего у CTF и тестов на проникновение?

Хакеры

• Студенты и любители участвуют в CTF

• Black-hat'ы занимаются взломом, нарушая закон

• Исследователи разрабатывают новые методики

• Пентестеры занимаются взломом, не нарушая закон

Какие есть особенности у задач, возникающих у каждого из этих персонажей, и как правильно применить навыки, полученные в соревнованиях?

Page 8: Что общего у CTF и тестов на проникновение?

Особенности CTF-задач

• Главные цели – самообучение, получение (соревновательного) опыта

• Фиксированное количество различных задач, конкретный формат ответа (не всегда)

• Лаконичные формулировки задач

• Сильно ограничено время, поэтому требуется уметь очень быстро поглощать новую информацию и решать большое количество задач

Page 9: Что общего у CTF и тестов на проникновение?

Особенности задач black-хакера

• Главная цель – длительное получение денежной выгоды (если взлом не политизирован)

• Нет ограничения законодательством

• Нельзя оставлять следов

• Ограничения по времени нет, главное чтобы временные затраты окупались

• Романтика обманчива, денежная выгода тоже

Page 10: Что общего у CTF и тестов на проникновение?

Особенности задач исследователя ИБ

• Главные цели – денежная выгода (0-day рынок), научное признание, востребованность работодателями

• Как правило, нет точных формулировок задач

• Как следствие, неизвестно сколько времени потребуется для их достижения

• Требуются глубокие знания, терпение, удача

Page 11: Что общего у CTF и тестов на проникновение?

Особенности задач пентестера

• Главные цели – получение контроля над ИС заказчика, получение доступа к критичным данным (таким как данные платёжных карт) и обнаружение максимального количества недостатков

• О системе может быть известно многое (white-box) или почти ничего (black-box)

• Время ограничено, но не так сильно как в CTF

• Требуются практические навыки эксплуатации, знание инструментария, встречаются и нестандартные задачи

Page 12: Что общего у CTF и тестов на проникновение?

Чему CTF научит?

• Искать уязвимости в коде, сетевых и веб-сервисах• Быстро разобраться в совершенно незнакомой

технологии (языке программирования, прикладном ПО, инструментах, и т. п.)

• Распознавать в реальных системах задачи, уже встречавшиеся в CTF (ведь их не выдумывают, а делают по мотивам реальных случаев)

• Делать смелые и нестандартные догадки• Быстро программировать и использовать

инструментарий для рутины• Иметь широкий кругозор, зная в той или иной мере

все сферы, связанные со взломом

Page 13: Что общего у CTF и тестов на проникновение?

Чему CTF не научит?

• Несколько месяцев скрупулёзно изучать одну область, решая конкретную задачу

• Проводить некоторые атаки, типичные для тестов на проникновение (например, сетевые атаки, социальная инженерия)

• Действовать при этом осторожно, не нарушая работоспособность информационной системы

• Писать отчётную документацию (написание write-up'ов облегчает эту задачу)

Page 14: Что общего у CTF и тестов на проникновение?

Какие прикладные задачи есть в CTF?

• Успешное проникновение в корпоративную ИС часто начинается со взлома web-приложения

• Поэтому, для будущего пентестера целесообразно акцентировать в CTF-соревнованиях внимание на заданиях категории web

• Понятие «анализ защищённости» включает в себя не только собственно пентесты ИС, но и анализ ПО

• Поэтому задания на reverse engineering и binary exploitation также очень важны

Page 15: Что общего у CTF и тестов на проникновение?

Выводы• CTF учит за короткое время решать много различных

задач• Это умение полезно для пентестера, поскольку

пентест тоже ограничен сроками• Однако, в пентесте нужно также целостное

понимание процессов обеспечения ИБ, структуры корпоративных информационных систем, а также умение использовать комбинации обнаруженных уязвимостей для проникновения (пост-эксплуатация)

• Кроме того, пентестер должен уметь грамотно резюмировать свою работу и давать рекомендации по снижению обнаруженного риска

Page 16: Что общего у CTF и тестов на проникновение?

Так что всё-таки делать?• Программировать. Причём и спортивное

программирование тоже полезно и развивает нужные качества, однако это большая отдельная тема сама по себе

• Решать задачи. Причём полезны не только CTF-задачи – математика, программирование к вашим услугам

• Читать bugtrack’и и блоги исследователей, мониторить твиттер-ленту. Нельзя упускать свежие новости

• Читать и писать write-up’ы по итогам CTF-событий. Углубляет знания и учит приводить свои мысли в порядок

• Следить за новыми технологиями. Скоро и

они станут целью атак

Page 17: Что общего у CTF и тестов на проникновение?

Ганиев Омар АркадьевичОтдел анализа защищенности

[email protected]

Развитие CTF в России

Вопросы?