2. Определения специалиста ИБ
Специалист по информационной безопасности
занимается разработкой охранных систем для
различных коммуникационных сетей и
электронных баз данных, тестирует и
совершенствует собственные и посторонние
разработки во избежании рисков утечки
сведений, представляющих собой
государственную или коммерческую тайны,
конфиденциальную информацию.
4. Профессии в ИБ
• Специалисты по Криптографии
• Инженеры по тестам на проникновения
• Специалисты обратной разработки
Программного Обеспечения
• Специалисты по Форензике
• Администраторы Информационной
безопастности
7. Угрозы в текущий момент
Атаки на ИТ инфраструктуру происходят
постоянно. Для примера текущего
состояния можно перейти по ссылке:
https://cybermap.kaspersky.com
11. Способы получения знаний
• Высшее образование в сфере ИБ
• Участие в олимпиадах
• Сертификация по специальности
• Аудит информационных систем
• Общение с сообществом
• Участие в конференциях по ИБ
• Мастер-классы от специалистов
• Обучение окружающих своим знаниям
12. Начать с себя
Определите в какой сфере вы хотите трудиться.
Вот самые популярные из них:
Криптография
Обратная разработка программного
обеспечения
Тестирование на проникновение
Форензика
Системное администрирование
14. Общая концепция
CTF или в переводе "Захвати флаг" - это
командные соревнования по защите
информации. Цель этих соревнований -
развитие и обучение специалиста по ИБ в
условиях, приближенных к реальным.
Секретная информация представляется
абстрактно в виде флага. Флаг нужно извлечь,
захватить или украсть и предоставить
проверяющей системе.
Информация имеет свою цену и время
актуальности - как в реальной жизни.
16. Classic CTF
Основные понятие классического CTF:
•Сервис
•Защита своего сервиса
•Атака на вражеский сервер
•Время жизни информации
•Доступность сервиса
17. Jeopardy CTF
Выделяются следующие категории:
admin
joy
reverse engeniring
stegano
professional programming and coding
cryptografy
web penetration test
18. Admin Tasks
Анализ ОС, сетевого трафика и логов
приложений
Написание простых скриптов работы с
ОС на bash или python
Установка ПО и его конфигурирование
Управление сетевой инфраструктурой,
устранение в ней уязвимостей
19. Пример Admin 100
Текс задания: «Во время путешествия будет
предостаточно времени для чтения.
Наслаждайтесь полетом!»
Вложение: admin100.7z
Решение: Скачиваем
архив admin100.7z и обращаем
внимание на структуру папок
(распаковываем только папки с
ненулевым размером):
20. Пример Admin 100
Результат: if you took a couple of david
bowies and stuck one of the david bowies on
the top of the other david bowie, then
attached another david …
Это отрывок из книги Дугласа Адамса "So
Long, and Thanks for All the Fish"
Флаг:
So Long, and Thanks for All the Fish
21. Joy Tasks
Сфотографироваться всей команой
Снять короткий ролик
Пройти игру, ну или написать к ней бота
Применить социальную инженерию
Пользуясь поисковыми системами найти
людей по тематике или фильмы по кадрам
Собрать головоломку
22. Пример Joy 400
Текс задания: «Что записал в своем журнале
капитан Кирк в этот день? (Первые два
предложения, включая звездную дату)».
Вложение: joy400.avi
Решение: Нам предлагают скачать 30-секундный
отрывок из сериала "Звездный Путь". Вот только
надо выяснить, откуда он (серия? сезон?). Для
этого выбираем наиболее значимый момент (в
видео запечатлена встреча некой тетки) и делаем
скриншот ("PrintScreen").
23. Пример Joy 400
Запускаем поиск сайтов по нашей картинке: например, здесь tineye.com.
Вторая же найденная ссылка указывает на дневник Кирка (эпизод "Elaan of
Troyius" - 3 сезон 13 эпизод).
Флаг:
Captain's log, Stardate 4372.5. On a top-secret diplomatic mission, the
Enterprise has entered the Tellun star system.
24. Reverse Tasks
Статический анализ исходного кода
Разбор формата исполняемых файлов
разных ОС
Обход анти отладочных механизмов
для защиты ПО
Восстановление алгоритмов работы по
исходному коду
25. Пример Reverse 100
Текс задания: «У вас есть программка,
установленная на вашем главном
компьютере, причем, она очень важна для
всей системы, но вы не можете заставить ее
работать. Вам необходимо найти способ,
чтобы запустить эту программу».
Вложение: rev100.efi
Решение: *.EFI – указывает на формат UEFI.
26. Пример Reverse 100
Выполнять код не обязательно. Достаточно
статического анализа. Ищем строки в коде, и находим:
enter passwd
Success!
Failed!
Все они встречаются в одной функции - 0x00022A9,
которая занимается проверкой введенного пароля.
Проверка (0x0002310 – 0x00023CE) обрабатывает
пароль посимвольно, получаем шифр, который затем
сравниваем с фиксированной строкой:
.data:00003F8A check
db C5h,8Ah,0BFh,46h,38h,09h,81h,14h,58h,79h,57
h,4Fh,ACh,4Bh,1Fh,38h
28. Stegano Tasks
Поиск ЦВЗ скрытых в картинках
Частотный и спектральный анализ
звуковых файлов
Поиск скрытой информации в
изображениях
Анализ изменения графических
данных после внедрения в них
информации
29. Пример Stegano 100
Текс задания: «Похоже, в вашей команде завелся инсайдер,
потому что некоторые полетные данные куда-то утекают.
Найти его - ваша главная задача. Да, кстати, не просто надо
найти подозреваемого, а еще необходимо предъявить обвинения
с доказательствами. Эта картинка была перехвачена прежде,
чем попала к одному из ваших конкурентов. Она выглядит
довольно подозрительно – хорошенько осмотрите ее».
Вложение:
30. Пример Stegano 100
Решение: Stegsolv дает нам понять что тут LSB.
Извлекаем бит 0 от синего цвета каждого
пикселя (а это, между прочим, в сумме 19012
байт), бит 0 от зеленого цвета и бит 0 – от
красного. Объединяем полученные массивы
данных в таком порядке: синий, зеленый,
красный.
32. PPC Tasks
Разработка ПО (как на
олимпиадном программировании)
Анализ чужого кода
Перевод из одного языка
программирования в другой
33. Пример PPC 100
Текс задания: URL-адресс на пустую страничку
Решение: Итак, нам доступен url-адрес
(real.html), который указывает на.. пустую
страницу. Хотя не совсем. Если при просмотре
исходного кода страницы нажать "Выбрать все"
(Ctrl+A), то заметим, что страница содержит
пробелы и табуляцию. Странно. Но только для
тех, кто не слышал об Whitespace.
34. Пример PPC 100
Пытаемся запустить код на сайте http://ideone.com/, где доступно более
чем 40 языков программирования.
36. Пример PPC 100
Программа ответила "wrong", значит, входные
данные - "неправильные". Видимо, без
дизассемблера/декомпилятора не обойтись.
Погуглив, обнаружим, что есть реализация
Whitespace на Python, названная esotope-ws,
которая включает в себя ассемблер,
дизассемблер, и интерпретатор.
Дизассемблируем программу.
37. Пример PPC 100
При анализе
получили не
сложный
алгоритм.
Флаг:
We_are_Nasus
38. Crypto Tasks
Получение исходного текста
сообщений
Подбор ключей шифрования
Реализация алгоритмов
дешифрования по заданным
входным параметрам
Атаки на криптосистемы
40. Пример Crypto 200
Криптоанализ шифра может быть построен в
два этапа:
•Поиск длины ключа. Можно анализировать
распределение частот в зашифрованном тексте
с различным прореживанием.
•Криптоанализ. Совокупность l шифров
Цезаря (где l — найденная длина ключа),
которые по отдельности легко взламываются.
41. Пример Crypto 200
Для быстрого и качественного решения
используем программу Cryptools:
44. Web Tasks
Поиск SQL инъекций и
несанкционированного доступа к БД
Выполнение вредоносных скриптов
разного типа на стороне сервера
Получение управления WEB сервером
при помощи существующих брешей в
безопасности
Получение пользовательских данных,
посетивших ресурс
45. Пример Web 100
Текс задания: URL-адрес
на страничку.
Решение:
Исходя из надписи
«Language was detect
automatically :)» в
футере, понимаем, что
нужно копаться где-то в
районе Accept-Language.
Пробуем:
46. Пример Web 100
Т.е. файл открывается при
помощи include. Пробуем
remote include при помощи
заливки простенького
<?php echo
file_get_contents(‘index.php’); ?>
на pastebin.com.
Обращаем внимание на
$flag = '5cf27d9bad2fe9d96d2bcf25c3b0bd14';
Даже претенденты на сравнительно невысокий доход должны знать законодательство РФ по информационной безопасности, принципы работы сетей и средства криптозащиты, современные программные и аппаратные средства защиты информации, а также технологии обеспечения информационной безопасности.
Уязвимости средней степени риска содержат 90% систем, они постоянно динамически меняются.
Task-based / Jeopardy
Игрокам предоставляется набор заданий (тасков), к которым требуется найти ответ и отправить его. Ответом является флаг - набор символов или произвольная фраза. Каждое задание оценивается различным количеством очков, в зависимости от сложности.
Classic
В классической схеме каждая команда получает выделенный сервер или небольшую сеть для поддержания её функционирования и защиты. Во время игры команды получают очки за корректную работу сервисов своего сервера и за украденную информацию (флаги) с серверов противников
Сервис — уязвимое приложение с обновляющимся один раз за раунд флагом, которое принадлежит одной из команд.
Защита своего сервиса. Чем больше соперников успешно атакуют сервис команды, тем меньше очков защиты она получит в конце раунда, поэтому ей необходимо защищать свои сервисы, путем закрытия уязвимостей.
Атаки на сервисы соперников. Команда может совершать атаки на сервисы соперников путем эксплуатации уязвимостей в их сервисах. За успешную атаку, атакующая команда набирает очки
admin — задачи на администрирование
joy — различные развлекательные задачи вроде коллективной фотографии или игры в какую-нибудь мини-игру
reverse — исследование программ без исходного кода (реверс-инжиниринг)
stegano — стеганография
ppc — задачи на программирование (professional programming and coding)
crypto — криптография
web — задачи на web-уязвимости, такие как SQL-Injection, XSS и другие
Задачи для системных администраторов:
Легко догадаться, что имя папки – это символ (например, папка &quot;а&quot; - это символ &quot;а&quot;, &quot;space&quot; - это &quot;пробел&quot;), а числа в файле - позиция этого символа в тексте. Пишем скрипт, который переберет все папки и соберет весь текст.
Шуточные задания для отдыха:
Задания на анализ исходного кода:
UEFI (единый интерфейс EFI) - это стандартный интерфейс встроенного программного обеспечения для компьютеров, заменяющий BIOS. В создании этого стандарта участвовали более 140 технологических компаний, составляющих часть консорциума UEFI, включая Microsoft. Стандарт был создан для улучшения взаимодействия программного обеспечения и устранения ограничений BIOS. Вот некоторые из преимуществ UEFI.
Реверсим алгоритм и пишем скрипт.
Задания на поиск скрытых сообщений в картинках, музыке и видео:
Задания на разработку программного обеспечения или упрощение уже существующего кода:
Пытаемся запустить код на сайте http://ideone.com/, где доступно более чем 40 языков программирования. IdeOne после выполнения Whitespace-программы выдал:
Похоже Whitespace-программа ожидает ввод данных через stdin, поэтому не хочет работать. Я решил запустить программу еще раз, используя IdeOne, но на этот раз, указав &quot;some_string&quot; в качестве входных данных.
Как видим, код простой. Программа обрабатывает ASCII-символы и ожидает ввода строки &quot;wslang&quot;, и если это так, то выводится сообщение: &quot;The key is We_are_Nasus&quot;
Задания на криптографию, взлом ключей шифрования и дешифрования текста:
То есть брать текст, включающий каждую 2-ю букву зашифрованного текста, потом каждую 3-ю и т. д. Как только распределение частот букв будет сильно отличаться от равномерного (например, по энтропии), то можно говорить о найденной длине ключа.