133

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

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

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

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

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


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

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


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

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


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

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

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

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

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


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


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


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


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


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


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


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

Найдены дубликаты

+2

Скрытие алгоритма не делает его более надежным.

раскрыть ветку 2
+2

Security through obscurity, да. Но все же должен признать что в определенной ситуации стеганография чертовски эффективный метод. Просто далеко не во всяком случае, скорее даже в специальном.

-1
Скрытие ключа шифрования не делает его более надёжным.
+2

Зачем котики? Есть же много других интересных персонажей... Например, САТАНА

Иллюстрация к комментарию
+1
Не могу не отметится. Обход блокировок обычно идет либо из-за желания получить доступ к мультимедиа (фильмы, книги, музыке) или собственно к экстемистским материалам. Стеганография позволяет легко скрыть текстовые и бинарные данные небольшого размера, средняя сложность по аудио и крайне тяжело по видео.

Так что видеофайлы скрыто передавать врят ли возможно, а вот вложить в легальную картинку магнет-ссылку или торрент файл вполне возможно.
раскрыть ветку 1
+1

Ок. В азбуке спрятали торрент с какой-нибудь "Поваренной книгой анархиста". Внимание вопрос - какой утырок пойдет искать в азбуке торрент с экстремистским материалом?

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

Еще раз - стеганография для массового обхода блокировок не годится. . (Точка) Не для этого она предназначена.

0
Скремблирование строго говоря относится к кодированию, а не криптографии.
раскрыть ветку 1
0

https://ru.wikipedia.org/wiki/%D0%A1%D0%BA%D1%80%D0%B5%D0%BC... Да, шифрование - это вид кодирования. Но скрэмблирование очень часто, особенно в военной связи используется для шифрования.

0

таки не утрачивается приватности. до сих пор нет способов гарантированного определения и изъятия информации из картинок, только по заранее известным простейшим алгоритмам и то далеко не всегда. даже если врагу будет известно на 100%, что в картинке есть текст прочитать его он все равно не сможет. а если текст зашифрован, то вероятность успешного извлечения практически равна 0.

раскрыть ветку 11
0

И да и нет. https://www.mcafee.com/us/resources/solution-briefs/sb-quart... Если мы имеем правильный самописный алгоритм и не аномальное использование файлов контейнера - да, все так. Но как только проценты людей пересядут на использование криптографии+стеганографии мигом подскочит и создание алгоритмов обнаружения этой штуки, просто потому что массовое использование означает и угрозу на которую обращают пристальное внимание и то что массовый продукт означает использование одной-двух конкретных реализаций.

раскрыть ветку 10
0

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

раскрыть ветку 9
0

Тег "Стеганография и с чем ее едят" избыточен.

раскрыть ветку 1
+3

Нет, это задел на следующую статью, чтобы можно было выводить целиком цикл.

0
Наверное было бы интересно обозреть примеры использования стеганографии, особенно в легальной области)
раскрыть ветку 4
+2
в следующем посте я пробегусь по конкретным реализациям стеганографии, да да, которые и не стеганография.
+1

Нужен пример сокрытия разного текста или стеганографии? Вы сейчас его читаете, так-то.

.

.

.

.

.

привет.

раскрыть ветку 2
0
Это самый простой, причём видимый вид. Хочется реальных вариантов применений) но спасибо)
раскрыть ветку 1
0
Что мешает стеганографить в видео с котиками зашифрованные данные?

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

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

раскрыть ветку 2
0
Как я помню, зависит от кодека. Некоторые кодеки сжимают и LSB метод не работает.
раскрыть ветку 1
0

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

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

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

раскрыть ветку 10
0
Да, согласен. Перекодировка повредит стеганографический контейнер, но величина повреждений зависит от используемого стеганографического алгоритма. Некоторые более подвержены к повреждению при перекодированию, другие же менее.
Читал я вот давно про один алгоритм, крайне высокая стойкость к повреждениям стеганографического контейнера, но вот записать можно лишь малый объем информации. Очень жаль...
раскрыть ветку 9
Похожие посты