Тема безопасности машинного обучения довольно хайповая последнее время и хотелось затронуть именно практическую ее сторону. А тут повод крутой — PHDays , где собираются самые разные специалисты из мира ИБ и есть возможность привлечь внимание к этой теме.
В общем-то мы сделали task-based CTF, с заданиями затрагивающих часть рисков безопасности применения техник машинного обучения.
Что такое CTF ???
Capture The Flag (CTF) — очень популярные соревнования по компьютерной безопасности (по популярности как kaggle-соревнования для датасаентистов). Есть два формата: тасковые (jeorpady) и сервисные (attack-defence). Мы делали тасковые.
Классические тасковые соревнования напоминают формат “Своей игры”. Когда есть набор заданий разных категорий, которые имеют разную стоимость.
Команды (от 1 до n человек) решают задания и кто решит заданий на большее количество баллов — тот молодец.
Наше соревнование длилось чуть больше суток. Подразумевалось, что оно индивидуальное — команды из одного человека. Хотелось, чтобы в нем приняли участие именно люди на конференции, чтобы познакомиться лично. Поэтому задания должны быть решаемы за пару часов, не требовать много вычислительных ресурсов, однако трудные задания тоже должны быть — не все же должны выиграть :D
В итоге у нас было 6 заданий (седьмое было просто фановое), кажется, что для одного человека на сутки вполне достаточно. Сами задания, к сожалению, уже недоступны. Но может быть прочитав разборы, вам захочется поучаствовать в следующий раз?
Сразу хотелось бы выразить огромную благодарность ребятам, без которых этот CTF не состоялся бы: @groke и @mostobriv . Крутейшие идеи, технические решения и деплой-пати в ночь перед стартом — что может быть прекрасней, когда это в потрясающей компании?! :)
Задание было отмечено как “Stegano”. Задания на стегано подразумевают сокрытие какой-то информации. Казалось несложно догадаться, что котики и собачки — это что-то бинарное. Немного подумав можно предположить, что эта последовательность котиков и собачек может быть каким-то двоичным сообщением. Пусть допустим, котики будут 1, а собачки — 0. Если вдруг не получится, можно просто поменять местами. Далее находим обученную модель, которая классифицирует котиков и собачек. Примеров уроков по классификации котиков и собачек много, как и обученных моделей после них — можно найти обученные модели на гитхабе. Берем обученную модель, в крайнем случае обучаем сами. Предсказываем каждое изображение как 0 или 1. И эту последовательность “байт” переводим в строку.
Авторское решение можно посмотреть тут
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.
Что с нашим NGFW? Ответы — 14 апреля в Кибердоме
Конференцию откроет сессия с участием Минцифры, где оценят конкурентоспособность NGFW-решений.