Стеганография и с чем ее едят - Часть первая, вводная

В процессе чтения пикабу я наткнулся на пост, где обсуждалась стеганография и ее применение в обходе глобальных блокировок сети, начал на него отвечать и внезапно оказалось что у аудитории нет ясного понимания что такое стеганография и с чем ее едят. В колонках у меня сейчас играет "Look" от Venetian Snares, так что немного котиков для привлечения внимания:

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

Стеганография и с чем ее едят - Часть первая, вводная Стеганография, Иб, Информационная безопасность, Стеганография и с чем ее едят, Видео, Длиннопост

После привлечения внимания - по традиции начну с определений - потому что иногда среди читателей ИБ возникает путаница между шифрованием и стеганографией. Сразу уточню что это мое ИМХО и оно иногда расходится с чужим мнением.


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

В данном посте я кодирую свою речь в буквы, а компьютер тут - же буквы - в UTF-8, а сетевая карта - в манчестерское кодирование, вот так все сложно. Строго говоря шифрование и стеганография это тоже кодирование, просто довольно специфическое. Отличие между ними 1) - в результате кодирования в структурированных исходных данных после кодирования остается видимая структура. 2) - Если мы знаем алгоритм кодирования то любой человек способен получить данные до кодирования, то есть в общем случае не обеспечивается конфиденциальность информации. 3) Мы видим передачу и понимаем что это какой-то код.


Шифрование - обратимое преобразование информации в целях скрытия от неавторизованных лиц, с предоставлением, в это же время, авторизованным пользователям доступа к ней. Главным образом, шифрование служит задачей соблюдения конфиденциальности передаваемой информации. При радиопередаче его еще часто называют скрэмблированием, по крайней мере те зубры которые получали образование в СССР.

Отличия от кодирования - современное шифрование на выходе почти полностью убирает структуру исходных данных, например в результате шифрования строка 11111111111 преобразится в F1E5367DB22 и так далее, то есть на выходе мы получаем набор данных очень похожих на случайную последовательность. Для того чтобы получить исходные данные нам нужен ключ, на основании которого вы можем сделать обратное преобразование и получить исходные. Без правильного ключа мы получим пусть и другую, но тоже псевдослучайную строку. Неочевидный вывод - если сгенерировать массив случайных данных а потом прогонять их через дешифровку AES-256 разными ключами рано или поздно мы получим все секретные документы США, главное подобрать нужный ключ)


Стеганография - (от греч. στεγανός — скрытый + γράφω — пишу; буквально «тайнопись») — способ передачи или хранения информации с учётом сохранения в тайне самого факта такой передачи (хранения).

Главная строка тут - с учётом сохранения в тайне самого факта такой передачи (хранения)

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

Стеганография и с чем ее едят - Часть первая, вводная Стеганография, Иб, Информационная безопасность, Стеганография и с чем ее едят, Видео, Длиннопост

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


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


Первое общее правило для стеганографии - объем передаваемых скрытых данных обычно намного меньше маскирующих данных, потому что чем больше больше дополнительных данных присутствует в структуре тем более аномальной (подозрительной) выглядит передача. Скажем если приписать в конец файла архива объемом в 100 кб образ диска объемом в пару гигабайт то передача сразу перестает быть, по крайней по моему мнению, чем-то похожим на стеганографию.


Второе - передача должна быть скрыта как можно глубже в исходные данные. Как некоторые люди предлагали записывать скрываемую информацию в сервисные поля - технически это возможно, и кое-кто считает это даже рабочей стеганографией. Мое мнение - это плохой подход, потому что во-первых про существование сервисных полей все знают, во-вторых - сервисные поля которые можно изменить без ущерба для работы исходных данных известны всем кто этим интересуется, и значит не обеспечивает тайность факта передачи, в-третьих - автоматические DLP системы прогоняют сквозь себя целиком файл, и если запрещенная информация будет записана в сервисное поле то DLP ее найдет тут же. То есть это как прятаться во время пряток в единственном в доме чулане - да, пару раз получится, но скорее всего это место будут обыскивать в первую очередь.


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


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


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


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

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

1.4K постов25.5K подписчика

Добавить пост

Правила сообщества

Обязательно к прочтению для авторов:

1. Если вы добавляете пост, утверждающий об утечке данных или наличии дыр в системе, предоставьте ссылку на источники или технически подкованное расследование. Посты из разряда "Какой-то банк слил данные, потому что мне звонили мошенники" будут выноситься в общую ленту.
2. Все вопросы "Как обезопасить сервер\приложение\устройство" - в лигу "Компьютер это просто".

Обязательно к прочтению для всех:

Добавление ссылки разрешено если она не содержит описание коммерческих (платных) продуктов и/или идентификаторов для отслеживания перехода и для доступа не нужен пароль или оплата в т.ч. интернет-ресурсы, каналы (от 3-х тематических видео), блоги, группы, сообщества, СМИ и т.д.


Запрещены политические holy wars.

По решению модератора или администратора сообщества пользователь будет забанен за:

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

2. Публикацию поста/комментария не соответствующего тематике сообщества, в том числе обсуждение администраторов и модераторов сообщества, для этого есть специальное сообщество.

3. За обвинение в киберпреступной деятельности.

4. За нарушение прочих Правил Пикабу.

Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий
Что мешает стеганографить в видео с котиками зашифрованные данные?

одна из основных задач стеганографии - скрыть сам факт того, что что-то кроме котиков передавалось.
А если и данные вычлененные "известной стеганографичесской прогой" будут не более, чем набором случайных бит (до расшифровки) то ничем отличаться от отсутствия данных это не будет.
раскрыть ветку (5)
Автор поста оценил этот комментарий

Возможно вы поверхностно знакомы с стеганографией, но есть множество способов отличить обычный файл и его же в качестве стеганографического контейнера.

раскрыть ветку (1)
Автор поста оценил этот комментарий
Сорри, что так долго.
Распространись стеганография достаточно хорошо - появятся сервисы, в которых ЛЮБЫЕ данные (ютьюб для параноиков) будут в себе инкапсулировать "что-то".
И, тогда уж вперед, выясняйте, в этом видео с котиком: рецепт или просто случайные 011001000.
Автор поста оценил этот комментарий

В общем случае ничего, на практике уже зависит от конкретной реализации алгоритма. Если скажем алгоритм пишет в младшие биты информацию - то да, ничего не мешает. Если же он будет писать фото в виде intra-кадра - нет, так не пойдет.

раскрыть ветку (2)
Автор поста оценил этот комментарий
Как я помню, зависит от кодека. Некоторые кодеки сжимают и LSB метод не работает.
раскрыть ветку (1)
Автор поста оценил этот комментарий

Ну да. Уже все зависит от конкретной реализации, которая зависит в том числе и от кодека.

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку