# Что такое стеганография?
Стеганогра?фия (от греч. «скрытый» + «пишу»; букв. «тайнопись») — способ передачи или хранения информации с учётом сохранения в тайне самого факта такой передачи (хранения). Этот термин ввёл в 1499 году аббат бенедиктинского монастыря Св. Мартина в Шпонгейме Иоганн Тритемий в своём трактате «Стеганография» (лат. Steganographia), зашифрованном под магическую книгу.
В отличие от криптографии, которая скрывает содержимое тайного сообщения, стеганография скрывает сам факт его существования. Как правило, сообщение будет выглядеть как что-либо иное, например, как изображение, статья, список покупок, письмо или судоку. Стеганографию обычно используют совместно с методами криптографии, таким образом, дополняя её.
Преимущество стеганографии над чистой криптографией состоит в том, что сообщения не привлекают к себе внимания. Сообщения, факт шифрования которых не скрыт, вызывают подозрение и могут быть сами по себе уличающими в тех странах, в которых запрещена криптография. Таким образом, криптография защищает содержание сообщения, а стеганография — сам факт наличия каких-либо скрытых посланий от обличения.
# Как работает цифровая стеганография?
Стеганография в цифровых изображениях — раздел стеганографии, изучающий проблему сокрытия данных в цифровых изображениях. В отличие от криптографии, задача стеганографии — скрыть сам факт наличия скрытого сообщения. Основные методы сокрытия информации в цифровых изображениях можно разделить на пространственные и частотные
Задача стеганографии в изображениях — встроить информацию в цифровое изображение так, чтобы и сообщение, и сам факт его наличия были скрыты Полученное изображение с дополнительной скрытой информацией не должно выглядеть аномальным. Это достигается путём внесения изменений, незаметных для человеческого зрения. Многие методы стеганографии используют методики, схожие с методами сжатия изображений.
Цифровые изображения представляют особый интерес в качестве контейнеров для скрытых сообщений, поскольку они имеют большой объём и не вызывают подозрений при публикации в социальных сетях и пересылке по электронной почте. В JPEG изображение размером в 733 килобайта поместились все 272 страницы пьесы Шекспира «Макбет» На практике методы стеганографии применяются для идентификации, защиты авторских прав и сокрытия передаваемых сообщений.
Хранение изображений в цифровом формате упрощает их хранение и распространение, но так же увеличивает риск нарушения авторских прав, несанкционированного изменения и распространения. В целях защиты интеллектуальной собственности и определения изменений, разрабатываются и применяются цифровые водяные знаки. К таким стеганографическим методикам предъявляются особые требования:
Качество исходного изображения не должно быть серьёзно затронуто, скрытые данные должны быть минимально заметны. Скрытые данные должны сохраняться в разных форматах, то есть содержаться не только в заголовке, а во всем теле изображения. Скрытые данные должны быть устойчивы к намеренным попыткам удаления. Необходимо наличие избыточного кода для коррекции ошибок, так как деградация данных при передаче/модификации неизбежна. В 2018 году сотрудник General Electric использовал фотографию заката чтобы украсть 40 файлов Excel и Matlab, содержащих данные, являющиеся коммерческой тайной.
На сегодня учеными разработаны и опробованы различные алгоритмы и методы стеганографии, мы отметим следующие:
LSB-стеганография (сообщение скрывается в младших битах (возможно использование одного или нескольких младших бит) контейнера. Чем меньше бит задействовано, тем меньше артефактов получает оригинальный контейнер после внедрения. Метод, основанный на сокрытии данных в коэффициентах дискретного косинусного преобразования (далее ДКП) — разновидность предыдущего метода, которая активно используется, например, при внедрении сообщения в контейнер формата JPEG. При прочих равных, такой контейнер имеет несколько меньшую емкость чем в предыдущем методе, в том числе за счет того, что коэффициенты «0» и «1» остаются неизменными — внедрение сообщения в них невозможно.
Метод сокрытия информации при помощи младших бит палитры— этот метод по сути является вариантом общего метода LSB, но информация встраивается не в наименее значащие биты контейнера, а в наименее значащие биты палитры, очевидный недостаток такого метода — низкая емкость контейнера.
Метод сокрытия информации в служебных полях формата — довольно простой метод, основанный на использовании служебных полей заголовка контейнера для хранения сообщения. Очевидные минусы — низкая емкость контейнера и возможность обнаружения внедренных данных при помощи обычных программ для просмотра изображения (которые иногда позволяют видеть содержимое служебных полей).
Метод встраивания сообщения — заключается в том, что сообщение встраивается в контейнер, затем при помощи схемы, известной обеим сторонам, извлекается. Можно встроить несколько сообщений в один контейнер, при условии, что способы их внедрения ортогональны.
Широкополосные методы, которые подразделяются на:
метод псевдослучайной последовательности; используется секретный сигнал, который моделируется псевдослучайным сигналом.
метод прыгающих частот: частота несущего сигнала меняется по определенному псевдослучайному закону.
Метод оверлея — по сути не является настоящей стеганографией, основан на том, что некоторые форматы содержат в заголовке размер данных, или же обработчик этих форматов будет читать файл до маркера конца данных. Примером такого метода является хорошо известный метод «rar-jpeg», который основан на конкатенации графического файла в формате JREG и RAR-архива. ПО для просмотра JPEG будет считывать информацию до границы, указанной в заголовке файла, а RAR-архиватор откинет все, что находится до сигнатуры «RAR!», которая обозначает начало архива. Таким образом, если такой файл открыть в просмотрщике графических файлов — мы увидим картинку, а если в RAR-архиваторе — содержимое RAR-архива. Очевидные минусы такого подхода заключаются в том, что оверлей, добавленный к контейнеру, легко выделяем при визуальном исследовании такого файла.
Facebook манипулирует метаданными изображений, публикуемых на сайте, для отслеживания их дальнейшего распространения.
Цифровые стего-изображения так же встречаются в известной интернет-головоломке Цикада 3301, одним из основных фокусов которой является стегоанализ.
# Как используют цифровую стеганографию?
Статья в Википедии говорит нам, что стеганография (буквально переводится с греческого как «тайнопись») -это наука о скрытой передаче информации путем сохранения в тайне самого факта передачи. В отличие от криптографии, которая скрывает содержимое секретного сообщения, стеганография скрывает сам факт его существования. Хотя обычно эти две технологии используют совместно.
Стеганографию используют для всевозможных целей. Нередко ее используют не для воровства, а для борьбы с похитителями. Например, при защите авторского права, когда в документе прячут некую скрытую закладку, позволяющую определять того, кому принадлежит данная копия файла. В случае если такая метка будет затем обнаружена где-либо на торрентах, правообладатели смогут найти, кто именно его выложил, и предъявить ему соответствующие претензии.
# Код в картинке
Вслед за шпионами к стеганографии стали чаще прибегать и другие киберпреступники: ведь в медиафайле можно спрятать не просто текст, а кусок вредоносного кода. Это не превращает картинку, музыку или видео в полноценного зловреда, однако позволяет скрыть от антивируса полезную нагрузку. Так, в январе злоумышленники распространяли через рекламные сети занятный баннер. Собственно рекламы на нем не было, он выглядел как небольшой белый прямоугольник. Зато он содержал скрипт, который выполнялся в браузере. Да, в рекламный слот можно загружать скрипты, например, чтобы компании могли собирать статистику о просмотре объявления.
# Обнаружить стеганографию очень трудно
Обнаружение и предотвращение передачи стеганографических сообщений является чрезвычайно сложной задачей. В зависимости от обстоятельств, иногда даже сложно доказать, что кто-то вообще отправлял сообщение!
Когда дело доходит до борьбы (или, скорее, обнаружения) физических стеганографических сообщений, ключевым моментом должно быть понимание всех возможных способов, которыми сообщение может быть скрыто в объекте или на нем. Например, невидимые чернила, которые видны только при воздействии определенных химических веществ или ультрафиолетового света. Существует великая история стеганографии, которая использовалась в реальном мире, но, в конце концов, была раскрыта - скрытые сообщения, отправленные через газеты, средства массовой информации и, на первый взгляд, обычные сообщения. Обнаружение стеганографии, когда вы не знаете конкретно, что вы ищете, - это частично игра на угадывание, и частично упражнение по поиску цельной структуры.
В вычислительном мире, определение стеганографически закодированных пакетов называется стеганализом (steganalysis). Самый простой способ обнаружения файлов, которые могут быть изменены для отправки стеганографических сообщений, - это сравнить данный файл с имеющимся у вас (если таковой есть) чистым оригиналами файлом. Например, если вы хотите посмотреть, был ли веб-сайт изменен, чтобы скрыть сообщение в его файлах изображений, можно сравнить файлы изображений, находящиеся на сайте, с исходными файлами, которые должны быть там. Различия в этих файлах файле (если таковые имеются) будут раскрывать стеганографическое сообщение в полном объеме.
Другим распространенным методом борьбы со стеганографией является сжатие данных. Сжатие данных в некоторых форматах (таких как изображения формата JPEG) может полностью разрушить любые скрытые измененные биты данных внутри файла. Урезание размера файла с помощью сжатия также значительно уменьшит объем свободного пространства для скрытого сообщения.