Стеганография в аудиовизуальных образах

Содержание:

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

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

Метаинформация может содержать следующие поля: модель камеры, фокусное расстояние, название приложения которым она обрабатывалась, информация об авторстве, электронно-цифровые подписи, контрольные суммы и другие вещи. Если вы когда-нибудь монтировали ролики для YouTube и пользовались библиотекой royalty free аудиозаписей, вы могли заметить что метаинформационное поле «Software:» содержит значение «Google».

Создание и воспроизведение аудиовизуальных образов

Изображение и видео

Информация в простых несжатых изображениях это положение пикселя и его цвет. Цвет пикселя можно описать тремя байтами для красного, зеленого и синего компонентов (RGB), или четырьмя байтами для указания прозрачности (RGBA). Положение пикселей описывается массивом целых чисел.

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

Для ещё большей экономии, используют сжатие. Вы можете описать состояние каждого пикселя, но это не имеет смысла. Легче просто сказать: «красный круг с радиусом R и центром [x1;y1]». Подобным образом работают алгоритмы сжатия данных. Несжатые данные анализируются на предмет повторяющихся функциональных закономерностей. Для сжатия изображений прекрасно подходят ряды Фурье. В результате, вы экономите пространство для хранения данных.

Для хранения видео применяют контейнера: webm, avi, mpeg-2, vob, matroska, или mp4. Для кодирования и декодирования информации применяют кодеки H.264, H.265, VP8, VP9 и так далее.

Видеокодек H.264: эксплуатация и тюнинг

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

Одним из самых популярных кодеков сейчас является H.264. Для этих целей кодек H.264 использует несколько типов кадров:

  1. Ключевой кадр (I-FRM) — сжимается независимо;
  2. Предиктивный разностный кадр (P-FRM) — хранит только разницу между текущим и ключевым кадром;
  3. Двунаправленный предиктивный разностный кадр (B-FRM) — также хранит разницу между кадрами но в двух направлениях.

Skype использует кодек H.264 для кодирования видео. В данном кодеке есть параметр тюнинг. Он определяет сложность кодирования. Чем сложнее процесс кодирования, тем больше это требует аппаратных ресурсов. Самый быстрый параметр «fastdecode». Когда скорость передачи видеопотоков падает, тогда происходит их перенастройка и пропуск кадров. Большинство популярных приложений и видеохостингов используют искусственный интеллект для оптимизации кодирования видео.

H.264
Редактирование видео в Avidemux

Во время подготовки и монтажа видео мной использовано MP4 видео мультиплексор. Я хотел удалить часть видео и получил предупреждение на рисунке выше. Дело в том, что начальный кадр A и конечный кадр B промежутка AB это двунаправленные предиктивные кадры (B-FRM). Если я удалю промежуток AB и сохраню такой файл, тогда видео можно будет просмотреть, но оно не будет правильно интерпретировано декодером. Вы увидите искажения. Если A и B ключевые кадры (I-FRM) и я удалю кадры между ними, тогда искажений не будет.

Кодирование визуальных образов и проблемы стеганографии

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

Впрочем, даже учитывая перечисленные особенности можно столкнутся с трудностями. После загрузки видео со скрытым содержанием на YouTube оно будет перекодировано при помощи кодека H.264. Рекомендации Google касательно формата заливаемого видео https://support.google.com/youtube/answer/1722171.

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

Какие кодеки применяет YouTube?

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

После того как вы залили видео на YouTube, алгоритмы проверяют его на соответствие рекомендациям в предыдущем пункте. Если вы залили видео в формате и кодировке не входящих в список рекомендаций, тогда YouTube преобразует видео применив кодировку H.264. Что касается контейнера, то для устройств с разрешением ниже 720p, YouTube будет вещать видео в контейнере flv, а для 720p и выше в контейнере mp4.

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

Как перекодировать видео из одного формата в другой в Windows, MacOS и Linux?

Существует кроссплатформенная утилита ffmpeg. Она позволяет конвертировать видео из одного формата кодирования в другой. Можете поэкспериментировать с параметрами и посмотреть на результат.

Если видео (input.mkv) использует контейнер Matroska и кодировщик H.264, тогда для перекодирования в кодек VP8 зайдите в каталог с приложением, откройте командную строку и введите следующее: ffmpeg -i input.mkv -c:v vp8 output.mp4. Файл output.mp4 перекодирован кодеком vp8 [1].

Аудио дорожки

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

Для преобразования аналогового сигнала в дискретный применяют аналогово-цифровой преобразователь (АЦП). Тем кому данная тема очень интересна, я рекомендую почитать книги про основы теории информации и кодирования [2].

В одном видео могут быть несколько дорожек. Дорожки могут быть моно и стерео. Каждая дорожка имеет собственный уровень звука и балансировку. Балансом звуковоспроизведения называется пропорциональное разделение звука между левым и правым динамиками. Баланс который равен 100% означает что звук равномерно распределяется (отношение 1/1).

Разрушение мифов про качество звука

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

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

Качество звука зависит от выбранной среды передачи. В звуковом тракте это играет огромную роль. Электромагнитное излучение создает помехи. Самая низкая помехоустойчивость у беспроводной передачи. Оптическая среда передачи защищена от помех такого рода лучше других.

искажение формы синусоиды
Дискретизация (квантование) сигнала

Квантование сигнала также вносит дополнительные искажения. На рисунке выше, показано как исказится форма синусоидального сигнала после дискретизации на АЦП. Такие искажения называются шумом квантования.

Стеганографические методы подсвечивания информации

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

Хотя, если использовать хор вокалоидов в mp3 файле со многими дорожками, тогда смену акцента можно скрыть. Секретную информацию, таким образом, можно будет извлечь после обработки звуковых дорожек в редакторе: 1) дорожки без стеганографического содержания заглушить; 2) увеличить звук стеганографической дорожки и извлечь слова [3].

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

Метод метронома

Метод метронома прекрасно подходит для подсвечивания слов в открытом тексте. Если у вас очень хороший музыкальный слух и чувство ритма и времени, тогда этот метод вам понравится. Суть метода состоит в применении пауз разной длинны.

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

Общие методы

Одним из общих стеганографических методов является метод LSB. LSB — это английская аббревиатура которая означает «наименьший значащий бит» (Least Significant Bit). Суть LSB-методов состоит в смене последних значащих бит в каждом байте информации.

Метод шаговых градиентов является частью LSB-методов применяемых к визуальным образам. Шаг градиента выбирают небольшой. Таким образом, трудно будет отличить смену цвета объекта.

step gradient method
Фруктовый алфавит

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

Для видео я рекомендую использовать lossless опции (без потерь) для кодеков. Если вы решили залить видео со скрытым содержимым на видеохостинг, тогда лучше использовать Vimeo. Этот видеохостинг предоставляет несколько тарифных планов. Начиная с Pro подписки (20$ в месяц) вы получаете возможность устанавливать необходимые цвета. Они не будут смещаться.

Стеганография и YouTube

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

  1. Увеличьте шаг градиента и проверьте цвета на соответствие;
  2. Если цвета сместились и не соответствуют первоначальным повторите пункт 1.

Если буква «A» представлена цветным RGB вектором [255,102,0], тогда буква «B» будет представлена не так как на рисунке выше, а вектором [255,100,0]. В этом случае шаг зеленого компонента вектора равен двум.

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

Аналогичный совет вы можете применить для аудио файлов. В аудио можно использовать звуковой градиент для различения скрытого смысла. Также можно использовать смену баланса звукового вывода на дорожках. Смену инструментов и так далее.

Альтернативные способы

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

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

Выводы

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

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

Источники информации:

  1. RFC 6386.
  2. И.В. Кузьмин, В.А. Кедрус. «Основы теории информации и кодирования»
  3. https://www.vocaloid.com/en/learn/

Оставьте комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *