Информационная безопасность

  • информатика
  • математика
  • Дает 100 баллов на ЕГЭ

Участникам профиля «Информационная безопасность» предстоит на время стать кибердетективами — искать уязвимости в веб-приложениях и бинарных файлах, разобраться, как работает операционная система и какие недостатки в себе содержит, изучить криптоалгоритмы и проанализировать, так ли безопасен интернет вещей. Кроме того, им предстоит разработать новые инструменты и подходы к комплексному обеспечению безопасности.

Этот профиль включён в перечень Российского совета олимпиад школьников как олимпиада III уровня.

Разработчики

Ростелеком, Ростелеком-Солар, МГТУ им.Н.Э. Баумана, МТУСИ, НГУ, НГТУ, НИЯУ МИФИ

Генеральный академический партнёр профиля

Национальный исследовательский ядерный университет «МИФИ»

Партнёры профиля

МГТУ им.Н.Э. Баумана, МТУСИ, НГУ, НГТУ

Отборочные этапы

На первом отборочном этапе участникам предстоит решить задания по математике и информатике.

Второй отборочный этап проводится в формате CTF (Capture The Flag) task-based — это командные соревнования по информационной безопасности на платформе https://cyberchallenge.rt.ru/. Участники выполняют задания и получают баллы за отправленный «флаг» — набор символов или произвольную фразу.

Задания могут относиться к одной из следующих категорий:

  • Криптографическая защита информации (crypto).

  • Стеганография (stegano).

  • Программирование подсистем безопасности (ppc).

  • Проведение программно-технической экспертизы и расследование инцидентов информационной безопасности (forensics).

  • web-безопасность (web).

  • Поиск и эксплуатация уязвимостей программного обеспечения, представленного в виде исполняемых файлов (pwn).

  • Исследование программ в условиях отсутствия исходного кода (reverse).

Используется динамическая система оценивания — количество баллов за задание зависит от числа участников, которые его решили. Таким образом, чем больше участников решило задание, тем меньше оно будет стоить. При этом время решения заданий учитывается только при ранжировании участников, набравших одинаковое число баллов.

Все результаты доступны в режиме реального времени.

Участникам второго этапа необходимо в установленное расписание через личные кабинеты платформы Олимпиады НТИ перейти на регистрацию на сайте платформы «Кибервызов».

Правила соревнований в формате CTF

  1. Запрещено атаковать серверы организаторов.

  2. Запрещено атаковать компьютеры других участников.

  3. Запрещено производить атаки вида Denial of Service любого рода, направленные как на игровую инфраструктуру и задания, так и на компьютеры других участников.

  4. Запрещено получать флаги при помощи социальной инженерии, фишинга, поддельных ботов Telegram и т.п.

  5. Запрещено передавать решения заданий и флаги до окончания олимпиады части.

  6. Запрещено прибегать к помощи посторонних людей при выполнении заданий.

Участники, нарушившие правила, дисквалифицируются и теряют возможность дальнейшего участия в олимпиаде по данному профилю.

Как готовиться ко второму этапу

Hard Skills:

Чтобы успешно справиться с задачами важно знать математику и уметь программировать. Но если вы уже интересуетесь основами информационной безопасности и у вас есть знания в области безопасности web-приложений, реверс-инжиниринга и вирусного анализа, цифровой форензики, поиска бинарных уязвимостей, безопасной разработки и проектировании систем информационной безопасности, то решать задачи будет приятно и интересно.

Советуем исследовать самый крупный новостной портал в России, посвященный соревнованиям по информационной безопасности — CTF News. Стоит начать с раздела для новичков. Кроме того, можно попробовать свои силы и порешать задачи прошлого года.

Очень полезно попробовать решить задачу и заглянуть в разбор, если застрял на каком-то шаге и не понимаешь, как двигаться дальше.

Цель каждого задания — найти флаг. Все флаги данного соревнования имеют одинаковый формат: CC{[\x20-\x7A]+}. Пример: CC{w0w_y0u_f0und_7h3_fl46}. Флаг используется в качестве некоторой секретной информации, которую нужно извлечь, находя уязвимости в анализируемых сервисах или исследуя предоставленный файл.

Если не знаете, с каких заданий начать, начни с тех, которые уже решило больше всего участников. Скорее всего, они будут проще остальных.

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

* Reverse: GDB, IDA Pro, OllyDbg, Hopper, dex2jar, uncompyle6.

* Stegano: OpenStego, Steghide, GIMP, Audacity.

* PPC: Python, Sublime Text, Notepad++, Vim, Emacs.

* Crypto: Cryptool, Sage, xortool, John the Ripper.

* Web: WireShark, tcpdump, netcat, nmap, Burp Suite.

* Forensic: binwalk, ExifTool, Volatility.

Если не знаешь, какой операционной системой пользоваться, то тебе стоит попробовать Kali Linux

Soft Skills

Основная проблема, которая стоит перед участниками на втором этапе — грамотно разделить между собой роли, а также вовремя передавать друг другу информацию о своих проблемах.

Заключительный этап

На заключительном этапе участникам предстоит задача обеспечения безопасности смоделированной критически важной инфраструктуры. Решение данной задачи используется в индустрии для обеспечение информационной безопасности всех инфраструктурных объектов от АЭС до банковской сферы. 

Задача финала отличается от любой из задача второго этапа тем, что является целостной задачей из области информационной безопасности. Не получится чётко выделить в ней определённую категорию, как в задачах второго этапа. Тем не менее, сходные задачам второго этапа элементы вычленить можно.  Поэтому попробуйте во время второго этапа решить задачи из каждой категории.

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

Ключевая проблема этапа вовсе не техническая, а социальная — разделение задач между участниками и общий «штурм» бутылочных горлышек. Например, без анализа трафика невозможности приступить к работе с найденными вредоносными агентами.

В команде на финальном этапе обязательно должен быть тот, кто может держать картину в целом, ревёрсер и программист. Остальное станет понятно уже ближе к финалу.

Требования к финалистам

Знания

Представленные ниже знания должны быть «распределены» в команде. Нет необходимости, что каждый владел всеми знаниями, но необходимо, чтобы каждый понимал этих областях смысл базовых.слов и конструкций. Иначе не получится построить коммуникацию.

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

  • Алгоритмизация и базовые алгоритмы программирования и обеспечения безопасности, которые нужны для проектирования алгоритмов защиты и анализа вредоносных алгоритмов.

  • Устройство unix-систем, ведь многое специализированное программное обеспечение работает гораздо эффективнее на unxi машинах.

  • Хотя бы один высокоуровневый язык программирования, чтобы суметь написать код.

  • Основы технологий обеспечения защиты информации.

Hard Skills

Каждый участник должен уметь:

  • писать простые программы и читать программные коды, в том числе неизвестных авторов;

  • составить карту сетевой инфраструктуры ;

Кто-то из участников команды точно должен уметь:

  • написать алгоритм шифрования и расшифрования данных;

  • провести анализ скомпилированного программного кода;

  • провести анализ вредоносного воздействия и определить его природу и источник;

  • найти спрятанную информацию в незнакомом объекте;

  • находить и закрывать уязвимости в веб-сервисах.

Обычно все эти профессиональные навыки увязываются в знакомые категории соревнований в области информационной безопасности, но в финальной задаче не будет «категорий. Поэтому держите при себе «навык», а не умение решить конкретный тип «таска».

Soft Skills

Для решения поставленной на профиле задачи нужно, чтобы в команде были люди, которые могут:

  • распределять между собой задачи с учётом их сложности;

  • грамотно описывать друг-другу возникающие проблемы в решении, чтобы иметь возможность привлекать ресурсы;

  • просить друг у друга помощи;

  • грамотно формулировать вопросы;

  • видеть задачу целиком, не пытаясь свести её к механической сумме подзадач.

Кто-то из участников должен обязательно уметь выступать публично, потому что к решению задачи на финальном этапе может предъявляться требование публичной защиты.

Численность команды и роли

Для участия на втором и заключительном этапах вам понадобится команда из 4 человек:

  • Лидер команды (тимлид) — из этой роли видно задачу целиком. Тот, кто выберет эту роль должен уметь разделить задачу на подазадчи, а также собирать вместе результаты выполнения подзадач. В этой роли может быть как самый подготовленный человек в команде, так и тот, кто просто лучше всех знает сильные и слабые стороны каждого члена команды.
  • Программист — это роль техническая. Программист должен написать нужный программный код, который работает правильно и быстро. Правильно и быстро, а не абы как!
  • Ревёрсер — ещё одна техническая роль. Это человек, который разберёт любые бинарники на запчасти и увидит их слабое место. Эта роль очень важна, так как только в этой роли можно разобрать вредоносного агента. 

У одного человека может быть несколько ролей, но не переборщите. Понятно, что ревёрсер скорее всего умеет программировать. Но вот программист вовсе не обязан уметь делать ревёрс. Учтите, что базовые навыки должны быть у всех примерно одинаковые, иначе не получится наладить взаимодействие.

Рынки НТИ

  • SafeNet