- infoCOM.UZ - http://infocom.uz -

Код в картинке, или Что такое стеганография?

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

Как работает цифровая стеганография?

Спрятать секретное послание можно практически в любой цифровой объект — текстовый документ [1]лицензионный ключ [2]расширение файла [3]. Например, редакторы сайта Genius.com, посвященного разбору треков рэп-исполнителей, использовали два вида апострофов в текстах таким образом, чтобы вместе они составляли словосочетание red handed («с поличным») на азбуке Морзе. Таким образом они защищали от копирования уникальный контент ресурса [4].

Однако один из самых удобных «контейнеров» — медиафайлы (картинки, аудио, видео и так далее). Они обычно достаточно большие сами по себе, а значит, и «довесок» может быть не таким маленьким, как в случае, скажем, с документом Word.

Секретную информацию можно записать в метаданные файла [5] или же прямиком в основное содержимое. Возьмем, например, картинку. С точки зрения компьютера она представляет собой набор из сотен тысяч точек-пикселей. У каждого пикселя есть «описание» — информация о его цвете.

Для формата RGB, который используется в большинстве цветных картинок, это описание занимает в памяти 24 бита. Если в описании некоторых или даже всех точек 1–3 бита будет занято секретной информацией, на картинке в целом изменения будут неразличимы. А за счет огромного числа пикселей всего в изображение вписать можно довольно много данных.

[6]

Слева просто картинка без скрытого сообщения, а в изображении справа спрятаны первые 10 глав «Лолиты» Набокова

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

Как используют цифровую стеганографию?

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

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

Стеганография — находка для кибершпиона

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

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

Самые тонкие мемы

Еще одна любопытная шпионская программа [8], наоборот, получала команды через картинки. Злоумышленники общались со зловредом при помощи сообщений, в которых серьезную информацию ищут в последнюю очередь, — твитов с мемами.

Очутившись на компьютере жертвы, зловред открывал опубликованный злоумышленниками пост и выуживал из смешной картинки инструкцию для дальнейших действий. Среди команд, к примеру, были такие:

Код в картинке

Вслед за шпионами к стеганографии стали чаще прибегать и другие киберпреступники: ведь в медиафайле можно спрятать не просто текст, а кусок вредоносного кода. Это не превращает картинку, музыку или видео в полноценного зловреда, однако позволяет скрыть от антивируса полезную нагрузку [9].

Так, в январе злоумышленники распространяли через рекламные сети занятный баннер. Собственно рекламы на нем не было, он выглядел как небольшой белый прямоугольник. Зато он содержал скрипт, который выполнялся в браузере. Да, в рекламный слот можно загружать скрипты, например, чтобы компании могли собирать статистику о просмотре объявления.

[10]

Баннер со скрытым кодом

В случае киберпреступников скрипт распознавал цвет пикселей на картинке и записывал его в виде набора букв и цифр. Казалось бы, довольно бессмысленная задача: помните, там был просто белый прямоугольник? Однако в глазах программы пиксели были почти белыми, и это «почти» она преобразовывала во вредоносный код [11], который тут же и исполняла.

Извлеченный из картинки код перенаправлял пользователя на сайт злоумышленников. Там жертву уже ждал троян, притворяющийся обновлением Adobe Flash Player, который затем скачивал другие гадости, в частности рекламное ПО [12].

Обнаружить стеганографию очень трудно

Как отметил на форуме RSA Conference 2018 эксперт Саймон Уайзмен (Simon Wiseman), качественную стеганографию распознать крайне сложно [13]. Избавиться от нее тоже не так-то просто: есть методы, позволяющие вшить сообщение в картинку настолько глубоко, что оно сохранится даже после того, как ее напечатают и снова отсканируют [14], уменьшат, увеличат или еще как-то отредактируют [15].

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

Источник [17]