Базовые принципы компьютерной стеганографии

Обновлено: 01.07.2024

Слово "стеганография" в переводе с греческого буквально означает "тайнопись" (steganos - секрет, тайна; graphy - запись). К ней относится огромное множество секретных средств связи, таких как невидимые чернила, микрофотоснимки, условное расположение знаков, тайные каналы и средства связи на плавающих частотах и т. д.

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

Термины и определения

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

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

Позднее, на конференции Information Hiding: First Information Workshop в 1996 году было предложено использовать единую терминологию и обговорены основные термины [4].

Стеганографическая система или стегосистема - совокупность средств и методов, которые используются для формирования скрытого канала передачи информации.

Обобщенная модель стегосистемы представлена на рис. 1.

Стеганографический канал или просто стегоканал - канал передачи стего.

  • с секретным ключом;
  • с открытым ключом.

Требования

Приложения

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

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

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

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

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

Ограничения

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

Контейнеры

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

Методы

Методы сокрытия информации

Для встраивания цифровых водяных знаков используются более сложные методы.

Цифровые водяные знаки

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

ИСТОРИЧЕСКИЕ ЗАМЕТКИ

История стеганографии - это история развития человечества.

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

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

Особое место в истории стеганографии занимают фотографические микроточки. Да, те самые микроточки, которые сводили с ума спецслужбы США во время второй мировой войны. Однако микроточки появились намного раньше, сразу же после изобретения Дагером фотографического процесса, и впервые в военном деле были использованы во времена франко-прусской войны (в 1870 году).

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

Рассказываем об одном из самых креативных способов спрятать информацию.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Баннер со скрытым кодом. Источник: блог компании Confiant

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

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

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

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

Существует множество секретных средств связи, которые можно отнести к методам стенографии, от достаточно древних (невидимые чернила, особое расположение знаков в письме, узелки на нитках, надписи на боковой стороне колоды карт или внутри варёного яйца, тайные каналы передачи) до современных, используемых в, так называемой, компьютерной стеганографии (метод наименьшее значащего бита, метод Куттера-Джордана-Боссена, алгоритм Брайндокса или Коха и так далее). В этой статье мы рассмотрим метод наименьшее значащего бита или Least Significant Bit method (LSB).

Для понимания происходящего, нам понадобится ввести некоторые определения.

Теперь, когда у нас есть базовое понимание принципов организации стегосистемы и работы алгоритма LSB, рассмотрим один из способов распознавания факта передачи информации в изображении. Основным инструментом будет Python, библиотеки numpy, matplotlib, pillow и openCV.

Для начала, импортируем необходимые библиотеки.

``` import numpy as np import matplotlib.image as img import matplotlib.pyplot as plt from PIL import Image import cv2 ```

Прочитаем тестовое изображение, скопируем его и сформируем изображение той же размерности, что исходное.

``` image_name = "test1" image = img.imread("images/" + image_name + ".jpg") image_check = np.copy(image) image[0, 0] ```

Далее приступим к написанию основной распознающей функции.

``` def check_lsb_channel(input_im, channel): output_im = np.copy(input_im) for x in range(0, input_im.shape[0]): for y in range(0, input_im.shape[1]): r = input_im[x,y][0] g = input_im[x,y][1] b = input_im[x,y][2] rgb = (r, g, b) binary = '<0:b>'.format(rgb[channel]) if(list(str(binary))[-1] == '1'): output_im[x,y] = (0, 0, 0) return output_im ```

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

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

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

Что такое стеганография?

Для чего используется стеганография?

Как и большинство утилит по безопасности, стеганография может использоваться для разных целей. Законные цели включают водяные знаки на изображениях в целях защиты прав собственности. Цифровые подписи (также известны как fingerprinting(отпечатки), указывают в основном на объекты, защищенные законом об авторском праве) являются обычными для стеганографии, так как содержатся в файлах, являясь частью их, и потому сложно обнаружимы обыкновенным человеком. Стеганография может также использоваться для замены одностороннего значения хэша (когда берется длина вводимой переменной и создается статическая длина строки на выходе, для того, чтобы подтвердить, что водимая переменная не была изменена). Также стеганография может быть использована для добавления заметок на онлайновые изображения (как стикеры для бумаг). И, наконец, стеганография может использоваться для сохранения ценной информации, в целях защиты данных от возможного саботажа, кражи или несанкционированного просмотра.

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

Инструменты стеганографии

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

Для знакомства со средствами стеганографии рекомендуем сайт Нейла Джонсона (Neil Johnson') Steganalysis site. Так же можно посетить сайт Ниелс Провос (Niels Provos), хотя он в данный момент переезжает, как что следите за его развитием.

Большое количество утилит работают под разными ОС - Windows, DOS, Linux, Mac, Unix: вам будет из чего выбирать.

Принципы работы стеганографии



Рис.2 с вложенным файлом

Steganos Suite – это коммерческий пакет, объединивший множество утилит. В дополнение к изящной деструктивной функции трассировки (для Интернета) и утилиты для уничтожения файлов, программа так же обладает так называемым файловым менеджером, что позволяет пользователям шифровать и скрывать файлы на своем винчестере. Пользователь выделяет папку или файл, которые следует сокрыть и файл – «носильщик» информации - обязательно графический или музыкальный. Программа также позволяет самим пользователям создавать файлы при помощи микрофона или сканера. Если у вас нет подходящего файла, встроенный файловый менеджер умеет искать нужный файл на вашем винчестере. Эта утилита, в отличие от тех, которые мы тестировали, способна работать с разными файловыми форматами(dll, dib). Так что, если вам необходим качественный продукт для шифрования информации, то вам придется выложить деньги за коммерческий пакет.

Стеганография и безопасность

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

Защита от стеганографии

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

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

В исследовании, проведенным Стефаном Хетцлем Stefan Hetzel на его сайте, идет речь о двух методах стеганографии, которые, в свою очередь, являются средствами обнаружения ее. Это – визуальная и статистическая атака. «Идея статистической атаки – сравнение частоты распределения цветов для возможного носителя скрытой информации и теоретически ожидаемая частота распределения цветов для файла–носителя скрытой информации». Это возможно не самый быстрый метод защиты, но если возникаю подозрения на счет такого рода деятельности, то этот метод может быть самым эффективным. Специально для JPEG-файлов существует утилита Stegdetect, которая способна определять следы стеганографии в этих файлах. Родственная утилита к Stegdetect, с называнием Stegbreak способна расшифровывать и находить возможную информацию в подозрительном файле.

Стеганография – один из самых увлекательных и эффективных методов сокрытия данных, которые использовались за всю историю человечества. Методы, способны разоблачить хитрые тактики злоумышленников несовершенны, но радует то, что такие методы существуют. Есть очень много причин, по которым следует использовать стеганографию (подписи, пароли, ключи), но главная – это легкость в обращении и сложность при обнаружении. Чем больше вы знаете о методах стеганографии, тем больше у вас шансов не попасть впросак.

Читайте также: