Методы и средства сокрытия (маскирования) сообщений в стегоканалах, подвергаемых атакам

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 00:39, 25 мая 2017.

Содержание


Под стегоканалом здесь понимается:

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

Основные понятия теории стеганографии

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

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

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

Можно выделить две причины популярности исследований в области стеганографии в настоящее время: ограничение на использование криптосредств в ряде стран мира и появление проблемы защиты прав собственности на информацию, представленную в цифровом виде. Первая причина повлекла за собой большое количество исследований в духе классической стеганографии (то есть скрытия факта передачи информации), вторая – еще более многочисленные работы в области так называемых водяных знаков. Цифровой водяной знак (ЦВЗ) – специальная метка, незаметно внедряемая в изображение или другой сигнал с целью тем или иным образом контролировать его использование.

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

Задачу встраивания и выделения сообщений из другой информации выполняет стегосистема. Стегосистема состоит из следующих основных элементов, представленных на рис.1:

Рис. 1. Структурная схема типичной стегосистемы ЦВЗ
  • прекодер – устройство, предназначенное для преобразования скрываемого сообщения к виду, удобному для встраивания в сигнал-контейнер. (Контейнером называется информационная последовательность, в которой прячется сообщение);
  • стегокодер – устройство, предназначенное для осуществления вложения скрытого сообщения в другие данные с учетом их модели;
  • устройство выделения встроенного сообщения;
  • стегодетектор – устройство, предназначенное для определения наличия стегосообщения;
  • декодер – устройство, восстанавливающее скрытое сообщение.

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

Прежде, чем осуществить вложение ЦВЗ в контейнер, ЦВЗ должен быть преобразован к некоторому подходящему виду. Например, если в качестве контейнера выступает изображение, то и последовательность ЦВЗ зачастую представляется как двумерный массив бит. Для того чтобы повысить устойчивость ЦВЗ к искажениям, нередко выполняют его помехоустойчивое кодирование, либо применяют широкополосные сигналы. Первоначальную обработку скрытого сообщения выполняет показанный на рис. прекодер. В качестве важнейшей предварительной обработки ЦВЗ (а также и контейнера) назовем вычисление его обобщенного преобразования Фурье. Это позволяет осуществить встраивание ЦВЗ в спектральной области, что значительно повышает его устойчивость к искажениям. Предварительная обработка часто выполняется с использованием ключа для повышения секретности встраивания. Далее ЦВЗ «вкладывается» в контейнер, например, путем модификации младших значащих бит коэффициентов. Этот процесс возможен благодаря особенностям системы восприятия человека. Хорошо известно, что изображения обладают большой психо-визуальной избыточностью. Глаз человека подобен низкочастотному фильтру, пропускающему мелкие детали. Особенно незаметны искажения в высокочастотной области изображений. Эти особенности человеческого зрения используются, например, при разработке алгоритмов сжатия изображений и видео.

Процесс внедрения ЦВЗ также должен учитывать свойства системы восприятия человека. Стеганография использует имеющуюся в сигналах психо-визуальную избыточность, но другим, чем при сжатии данных, образом. Приведем простой пример. Рассмотрим полутоновое изображение с 256 градациями серого, то есть с удельной скоростью кодирования 8 бит/пиксел. Хорошо известно, что глаз человека не способен заметить изменение младшего значащего бита. Еще в 1989 году был получен патент на способ скрытого вложения информации в изображение путем модификации младшего значащего бита. В данном случае детектор стего анализирует только значение этого бита для каждого пиксела, а глаз человека, напротив, воспринимает только старшие 7 бит. Данный метод прост в реализации и эффективен, но не удовлетворяет некоторым важным требованиям к ЦВЗ.

В большинстве стегосистем для внедрения и выделения ЦВЗ используется ключ. Ключ может быть предназначен для узкого круга лиц или же быть общедоступным. Например, ключ должен содержаться во всех DVD-плейерах, чтобы они могли прочесть содержащиеся на дисках ЦВЗ. Иногда по аналогии с криптографией стегосистемы делят на два класса: с открытым ключом и с секретным ключом. На взгляд некоторых исследователей, аналогия неверна, так как понятие открытого ключа в данном случае в корне различно. Правильным выражением было бы «общедоступный ключ», причем ключ встраивания совпадает с ключом выделения. Не существует, насколько известно, стегосистемы, в которой бы при выделении ЦВЗ требовалась другая информация, чем при его вложении. Хотя и не доказана гипотеза о невозможности существования подобной системы. В системе с общедоступным ключом достаточно сложно противостоять возможным атакам со стороны злоумышленников. В самом деле, в данном случае нарушителю точно известен ключ и месторасположение ЦВЗ, а также его значение.

В стегодетекторе происходит обнаружение ЦВЗ в (возможно измененном) защищенном ЦВЗ изображении. Это изменение может быть обусловлено влиянием ошибок в канале связи, операций обработки сигнала, преднамеренных атак нарушителей. Во многих моделях стегосистем сигнал-контейнер рассматривается как аддитивный шум[4]. Тогда задача обнаружения и выделения стегосообщения является классической для теории связи. Однако такой подход не учитывает двух факторов: неслучайного характера сигнала контейнера и требований по сохранению его качества. Эти моменты не встречаются в известной теории обнаружения и выделения сигналов на фоне аддитивного шума. Их учет позволит построить более эффективные стегосистемы.

В зависимости от того, какая информация требуется детектору для обнаружения ЦВЗ, стегосистемы ЦВЗ делятся на три класса: открытые, полузакрытые и закрытые системы. Эта классификация приведена в табл.1

Таблица №1. Классификация систем встраивания ЦВЗ
Что требуется детектору Выход детектора
Исходный сигнал Исходный ЦВЗ Да/Нет ЦВЗ
Закрытые Тип1
Тип2

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

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

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

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

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

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

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

ЦВЗ могут быть трех типов: робастные, хрупкие и полухрупкие (semifragile). Под робастностью понимается устойчивость ЦВЗ к различного рода воздействиям на стего.

Стегосистема образует стегоканал, по которому передается заполненный контейнер. Этот канал считается подверженным воздействиям со стороны нарушителей. Следуя Симмонсу [5], в стеганографии обычно рассматривается такая постановка задачи («проблема заключенных»).

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

Методы атак в стегоканале

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

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

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

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

Для осуществления той или иной угрозы нарушитель применяет атаки.

Наиболее простая атака – субъективная. Вилли внимательно рассматривает изображение (слушает аудиозапись), пытаясь определить “на глаз”, имеется ли в нем скрытое сообщение. Ясно, что подобная атака может быть проведена лишь против совершенно незащищенных стегосистем. Тем не менее, она, наверное, наиболее распространена на практике, по крайней мере, на начальном этапе вскрытия стегосистемы. Первичный анализ также может включать в себя следующие мероприятия:

  • Первичная сортировка стего по внешним признакам.
  • Выделение стего с известным алгоритмом встраивания.
  • Определение использованных стегоалгоритмов.
  • Проверка достаточности объема материала для стегоанализа.
  • Проверка возможности проведения анализа по частным случаям.
  • Аналитическая разработка стегоматериалов. Разработка методов вскрытия стегосистемы.
  • Выделение стего с известными алгоритмами встраивания, но неизвестными ключами и т.д.

По аналогии с криптоанализом в стегоанализе можно выделить следующие типы атак:

  • Атака на основе известного заполненного контейнера. В этом случае у нарушителя есть одно или несколько стего. В последнем случае предполагается, что встраивание скрытой информации осуществлялось Алисой одним и тем же способом. Задача Вилли может состоять в обнаружении факта наличия стегоканала (основная), а также в его извлечении или определения ключа. Зная ключ, нарушитель получит возможность анализа других стегосообщений.
  • Атака на основе известного встроенного сообщения. Этот тип атаки в большей степени характерен для систем защиты интеллектуальной собственности, когда в качестве водяного знака используется известный логотип фирмы. Задачей анализа является получение ключа. Если соответствующий скрытому сообщению заполненный контейнер неизвестен, то задача крайне трудно решаема.
  • Атака на основе выбранного скрытого сообщения. В этом случае Вилли имеет возможность предлагать Алисе для передачи свои сообщения и анализировать получающиеся стего.
  • Адаптивная атака на основе выбранного скрытого сообщения. Эта атака является частным случаем предыдущей. В данном случае Вилли имеет возможность выбирать сообщения для навязывания Алисе адаптивно, в зависимости от результатов анализа предыдущих стего.
  • Атака на основе выбранного заполненного контейнера. Этот тип атаки больше характерен для систем ЦВЗ. Стегоаналитик имеет детектор стего в виде «черного ящика» и несколько стего. Анализируя детектируемые скрытые сообщения, нарушитель пытается вскрыть ключ.

У Вилли может иметься возможность применить еще три атаки, не имеющих прямых аналогий в криптоанализе:

  • Атака на основе известного пустого контейнера. Если он известен Вилли, то путем сравнения его с предполагаемым стего он всегда может установить факт наличия стегоканала. Несмотря на тривиальность этого случая, в ряде работ приводится его информационно-теоретическое обоснование. Гораздо интереснее сценарий, когда контейнер известен приблизительно, с некоторой погрешностью (как это может иметь место при добавлении к нему шума). В этом случае имеется возможность построения стойкой стегосистемы.
  • Атака на основе выбранного пустого контейнера. В этом случае Вилли способен заставить Алису пользоваться предложенным ей контейнером. Например, предложенный контейнер может иметь большие однородные области (однотонные изображения), и тогда будет трудно обеспечить секретность внедрения.
  • Атака на основе известной математической модели контейнера или его части. При этом атакующий пытается определить отличие подозрительного сообщения от известной ему модели. Например, допустим, что биты внутри отсчета изображения коррелированы. Тогда отсутствие такой корреляции может служить сигналом об имеющемся скрытом сообщении. Задача внедряющего сообщение заключается в том, чтобы не нарушить статистики контейнера. Внедряющий и атакующий могут располагать различными моделями сигналов, тогда в информационно-скрывающем противоборстве победит имеющий лучшую модель.

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

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

Методы атак и способы противодействия им

Классификация атак

ЦВЗ должны удовлетворять противоречивым требованиям визуальной (аудио) незаметности и робастности к основным операциям обработки сигналов. В дальнейшем без потери общности будем предполагать, что в качестве контейнера используется изображение.

Обратимся вновь к системе встраивания собщений путем модификации младшего значащего бита (LSB) пикселов, рассмотренной выше. Практически любой способ обработки изображений может привести к разрушению значительной части встроенного сообщения. Например, рассмотрим операцию вычисления скользящего среднего по двум соседним пикселам , являющуюся простейшим примером низкочастотной фильтрации. Пусть значения пикселов и могут быть четными или нечетными с вероятностью . Тогда и значение младшего значащего бита изменится после усреднения в половине случаев. К тому же эффекту может привести и изменение шкалы квантования, скажем, с 8 до 7 бит. Аналогичное влияние оказывает и сжатие изображений с потерями. Более того, применение методов очистки сигналов от шумов, использующих оценивание и вычитание шума, приведет к искажению подавляющего большинства бит скрытого сообщения.

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

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

  1. Атаки против встроенного сообщения - направлены на удаление или порчу ЦВЗ путем манипулирования стего. Входящие в эту категорию методы атак не пытаются оценить и выделить водяной знак. Примерами таких атак могут являться линейная фильтрация, сжатие изображений, добавление шума, выравнивание гистограммы, изменение контрастности и т.д.
  2. Атаки против стегодетектора – направлены на то, чтобы затруднить или сделать невозможной правильную работу детектора. При этом водяной знак в изображении остается, но теряется возможность его приема. В эту категорию входят такие атаки, как аффинные преобразования (то есть масштабирование, сдвиги, повороты), усечение изображения, перестановка пикселов и т.д.
  3. Атаки против протокола использования ЦВЗ – в основном связаны с созданием ложных ЦВЗ, ложных стего, инверсией ЦВЗ, добавлением нескольких ЦВЗ.
  4. Атаки против самого ЦВЗ – направлены на оценивание и извлечение ЦВЗ из стегосообщения, по возможности без искажения контейнера. В эту группу входят такие атаки, как атаки сговора, статистического усреднения, методы очистки сигналов от шумов, некоторые виды нелинейной фильтрации и другие.

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

В соответствии с этой классификацией все атаки на системы встраивания ЦВЗ могут быть разделены на четыре группы:

  • атаки, направленные на удаление ЦВЗ;
  • геометрические атаки, направленные на искажение контейнера;
  • криптографические атаки;
  • атаки против используемого протокола встраивания и проверки ЦВЗ.

Атаки, направленные на удаление ЦВЗ

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

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

Перемодуляция – сравнительно новый метод, который является специфичным именно для атак на ЦВЗ. В настоящее время известны ее различные варианты, в зависимости от используемого в стегосистеме декодера. В построении атаки имеются свои нюансы для стегосистемы М-ичной модуляции, стегосистемы, использующей помехоустойчивые коды, использующей корреляционный декодер. В любом случае считается, что ЦВЗ внедрен в изображение с применением широкополосных сигналов и размножен на все изображение. Так как оцениваемый декодером ЦВЗ коррелирован с истинным, появляется возможность обмана декодера. Атака строится следующим образом. Вначале ЦВЗ «предсказывается» путем вычитания фильтрованной версии изображения из защищенного изображения (применяется медианный фильтр). «Предсказанный» ЦВЗ подвергается ВЧ фильтрации, усекается, умножается на два и вычитается из исходного изображения. Кроме того, если известно, что при внедрении ЦВЗ умножался на некоторую маску для повышения незаметности встраивания, то атакующий оценивает эту маску и домножает на нее ЦВЗ. В качестве дополнительной меры по «обману» декодера представляется эффективным встраивание в высокочастотные области изображения (где искажения незаметны) шаблонов, имеющих негауссовское распределение. Таким образом будет нарушена оптимальность линейного корреляционного детектора.

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

В одной из работ ([3]) приведена модификация этого алгоритма, заключающаяся в применении фильтра Винера вместо медианного и более интеллектуального способа нахождения коэффициента умножения. Он выбирается так, чтобы минимизировать коэффициент взаимной корреляции между ЦВЗ и стего. Кроме того, добавляется еще один шаг: наложение случайного шума. Данная атака не работает против адаптивно встроенного ЦВЗ, так как в ней предполагается, что ЦВЗ и стего есть стационарный гауссовский процесс с нулевым средним. Ясно, что это предположение не выполняется также и для реальных изображений. Поэтому, С.Волошиновским и др. предложена атака, в которой сигналы моделируются как нестационарный гауссовский или обобщенный стационарный гауссовский процесс. Коэффициент умножения ЦВЗ выбирается исходя из локальных свойств изображения. Вместо наложения случайного шума предложено добавлять отсчеты со знаком, противоположным знаку отсчета ЦВЗ (в предположении, что ЦВЗ есть последовательность биполярных символов). Это еще более затрудняет работу корреляционного детектора. Конечно, знаки нужно менять не у всех, а только у части отсчетов оцениваемого ЦВЗ, например, случайно.

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

Атака путем статистического усреднения представлена в [5]. Нарушитель может попытаться оценить ЦВЗ и вычесть ее из изображения. Такой вид атак особенно опасен в случае, когда атакующий может получить некоторый обобщенный ЦВЗ, например, некоторый , независящий сильно от исходного изображения .

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

Противоядием против подобной атаки может быть случайное использование одного из двух ЦВЗ с вероятностями и . Тогда вышеприведенная атака даст лишь . Однако, атака может быть улучшена в том случае, если у атакующего есть какие-то предположения о том, какой ЦВЗ из двух встроен в данное изображение. Тогда все изображения могут быть распределены на два класса: 1 и 2. Пусть - вероятность того, что изображение отнесено к неверному классу. Тогда усреднение по большому числу изображений класса 1 дает . Аналогично усреднение по изображений класса 2 дает . Вычисление взвешенной разности дает . Следовательно, для любого , атакующий может оценить сумму и разность и , откуда он может получить и .

При атаке сговора имеется несколько одинаковых копий, содержащих различные ЦВЗ, а для атаки из каждой копии выбираются какие-то части, которые в совокупности и образуют атакуемое множество. Атаки на основе «сговора» описаны, например, в работах [8], [9]. Чем больше содержащих стего копий имеется у нарушителя, тем выше вероятность того, что близкое к исходному реконструированное изображение не будет содержать стего. В стегосистемах с закрытым ключом такая атака не столь эффективна в силу того, что атакующий не может проверить, содержат ли получающиеся у него аппроксимации ЦВЗ. Это повышает безопасность стегосистем с закрытым ключом. Защищенность от этой атаки можно также повысить за счет специального построения стего.

Еще одна эффективная атака на ЦВЗ называется мозаичной [10]. Эта атака направлена на поисковые системы, отслеживающие незаконно распространяемые изображения. Изображение разбивается на несколько частей, так что поисковая система ЦВЗ не обнаруживает. Интернет-браузер демонстрирует фактически несколько кусочков изображения, вплотную расположенных друг к другу, так что в целом изображение выглядит неискаженным. Для противодействия такой атаке ЦВЗ должен обнаруживаться даже в малых частях изображения. Это очень трудно выполнимое требование, даже более тяжелое, чем робастность к обрезанию краев изображения, так как в последнем случае атакующий ограничен необходимостью сохранения качества изображения. Наверное, более выполнимым было бы создание интеллектуальных поисковых систем, способных «собрать» изображение из кусочков и проверить наличие в нем ЦВЗ.

Интересная и практически значимая атака предлодена в работе [17]. Она основана на оценивании ЦВЗ, но не в области исходного изображения, а по его гистограмме. Атака особенно эффективна против систем неадаптивных систем ЦВЗ, но может быть использована и для оценивания адаптивно внедренного ЦВЗ.

Пояснить атаку можно на следующем примере. Пусть ЦВЗ , а в исходном изображении имеется изолированное значение пиксела. Например, значение 200 встречается 300 раз, а значения 199 и 201 – ни разу. Тогда после внедрения ЦВЗ значения 199 и 201 встретятся примерно 150 раз, а значение 200 – ни разу. Это и есть демаскирующий признак. Как показано на примере в работе [17], этот метод может быть применен и в случае наличия на гистограмме изображения нескольких ненулевых значений, разделенных тремя и больше нулями.

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

Геометрические атаки

В отличие от атак удаления геометрические атаки стремятся не удалить ЦВЗ, но изменить его путем внесения пространственных или временных искажений. Геометрические атаки математически моделируются как аффинные преобразования с неизвестным декодеру параметром. Всего имеется шесть аффинных преобразований: масштабирование, изменение пропорций, повороты, сдвиг и усечение. Эти атаки приводят к потере синхронизации в детекторе ЦВЗ и могут быть локальными или глобальными (то есть примененными ко всему сигналу). При этом возможно вырезание отдельных пикселов или строк, перестановка их местами, применение каких-то преобразований и т.д. Подобные атаки реализованы в программах Unsign (локальные атаки) и Stirmark (локальные и глобальные атаки).

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

Современные методы встраивания ЦВЗ робастны к глобальным атакам. В них применяются специальные методы восстановления синхронизации, имеющие много общего с применяемыми в технике связи. Робастность достигается за счет использования инвариантных к сдвигу областей [11], применения опорного ЦВЗ [12], вычисления автокорреляционной функции ЦВЗ.

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

Криптографические атаки

Криптографические атаки названы так потому, что они имеют аналоги в криптографии. К ним относятся атаки с использованием оракула, а также взлома при помощи «грубой силы». Атака с использованием оракула позволяет создать незащищенное ЦВЗ изображение при наличии у нарушителя детектора. В некоторых работах исследуется устойчивость ЦВЗ на основе расширения спектра к атаке при наличии детектора в виде «черного ящика». Метод заключается в экспериментальном изучении поведения детектора для выяснения того, на какие изображения он реагирует, на какие – нет. Например, если детектор выносит «мягкие» решения, то есть показывает вероятность наличия стего в сигнале, то атакующий может выяснить, как небольшие изменения в изображении влияют на поведение детектора. Модифицируя изображение пиксел за пикселом, он может вообще выяснить, какой алгоритм использует детектор. В случае детектора с «жестким» решением атака осуществляется возле границы, где детектор меняет свое решение с «присутствует» на «отсутствует». Пример атаки на детектор с жестким решением:

  1. На основе имеющегося изображения, содержащего стегосообщение, создается тестовое изображение. Тестовое изображение может быть создано разными путями, модифицируя исходное изображение до тех пор, пока детектор не покажет отсутствия ЦВЗ. Например, можно постепенно уменьшать контрастность изображения, либо пиксел за пикселом заменять действительные значения какими-то другими.
  2. Атакующий увеличивает или уменьшает значение какого-либо пиксела, до тех пор, пока детектор не обнаружит ЦВЗ снова. Таким образом выясняется, увеличил или уменьшил значение данного пиксела ЦВЗ.
  3. Шаг 2 повторяется для каждого пиксела в изображении.
  4. Зная, насколько чувствителен детектор к модификации каждого пиксела, атакующий определяет пикселы, модификация которых не приведет к существенному ухудшению изображения, но нарушит работу детектора.
  5. Данные пикселы вычитаются из исходного изображения.

Возможно ли построение стегоалгоритма, стойкого против подобной атаки, пока неизвестно.

Известна разновидность вышеприведенной атаки для вероятностного детектора. Так же, как и ранее, атака начинается с построения тестового изображения на границе принятия решения детектором. Затем выбирается случайная двоичная последовательность, и ее элементы прибавляются к пикселам тестового изображения. Если детектор выносит решение о наличии, то эта последовательность считается ЦВЗ. В противном случае – ЦВЗ считается противоположная этой последовательность. Далее выполняется случайная перестановка элементов в последовательности, и процесс повторяется. Повторив эту процедуру несколько раз и просуммировав все промежуточные результаты, получим достаточно хорошую оценку ЦВЗ. Можно показать, что точность оценивания , где - число попыток, - число пикселов в исходном изображении. Отсюда следует, что при фиксированной точности оценивания число попыток линейно зависит от числа пикселов в изображении. Также может быть показано, что число попыток пропорционально квадрату ширины зоны принятия решения. Таким образом, разработчик вероятностного детектора должен компромиссно выбрать между следующими параметрами: большой величиной зоны принятия решения (то есть безопасностью), малым значением верхнего порога зоны (то есть малой вероятностью ложного обнаружения стего) и большим значением нижнего порога зоны (то есть малой вероятностью ложного необнаружения стего). В целом, из работы [2] и других следует, что системы ЦВЗ на основе расширения спектра не должны иметь общедоступного детектора.

Атаки против используемого протокола

В работах [13]-[15] показано, что многие стегосистемы ЦВЗ чувствительны к так называемой инверсной атаке. Эта атака заключается в следующем. Нарушитель заявляет, что в защищенном изображении часть данных есть его водяной знак. После этого он создает ложный оригинал, вычитая эту часть данных. В ложном оригинале присутствует настоящий ЦВЗ. С другой стороны, в защищенном изображении присутствует провозглашенный нарушителем ложный ЦВЗ. Наступает неразрешимая ситуация. Конечно, если у детектора имеется исходное изображение, то собственник может быть выявлен. Но, как показано в работе [14], далеко не всегда. В работах [13]-[15] представлены методы защиты от подобной атаки. В них показано, что устойчивый к подобной атаке ЦВЗ должен быть необратимым. Для этого он делается зависимым от изображения при помощи однонаправленной функции.

Пусть - исходное изображение, - водяной знак законного собственника. Тогда защищенное изображение . Нарушитель объявляет произвольную последовательность бит своим водяным знаком и вычитает ее из защищенного изображения, в результате чего получает ложный оригинал . Теперь если выполняется равенство , то цель нарушителя достигнута. ЦВЗ называется в этом случае обратимым. Невозможно определить, что является оригиналом: или и, следовательно, кто является собственником контента.

В работе [12] описаны атаки, использующие наличие стегокодера. Подобная атака является одной из наиболее опасных. Одним из возможных сценариев, когда ее опасность существует, является следующий. Пусть пользователю разрешено сделать одну копию с оригинала, но не разрешено делать копии с копий. Записывающее устройство должно изменить ЦВЗ с «разрешена копия» на «копирование не разрешено». В этом случае атакующий имеет доступ к сообщению до и после вложения ЦВЗ. Значит, он может вычислить разность между исходным и модифицированным сообщением. Эта разность равна . Далее исходное изображение предыскажается: из него вычитается . После осуществления копирования будет записано , что очень близко к исходному изображению . Эта близость объясняется тем, что ЦВЗ должны быть робастны к добавлению аддитивного шума. Следовательно, . В случае данной атаки в качестве шума выступает стегосообщение и .

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

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

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

Методы противодействия атакам на системы ЦВЗ

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

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

Атака «сговора» и возможные методы защиты от нее рассмотрена в работе [16]. Причиной нестойкости систем ЦВЗ с расширением спектра к подобным атакам объясняется тем, что используемая для вложения последовательность обычно имеет нулевое среднее. После усреднения по достаточно большому количеству реализаций ЦВЗ удаляется. Известен специальный метод построения водяного знака, направленный против подобной атаки. При этом коды разрабатываются таким образом, чтобы при любом усреднении всегда оставалась не равная нулю часть последовательности (статическая компонента). Более того, по ней возможно восстановление остальной части последовательности (динамическая компонента). Недостатком предложенных кодов является то, что их длина увеличивается экспоненциально с ростом числа распространяемых защищенных копий. Возможным выходом из этого положения является применение иерархического кодирования, то есть назначения кодов для группы пользователей. Некоторые аналогии здесь имеются с системами сотовой связи с кодовым разделением пользователей (CDMA).

Различные методы противодействия предлагались для решения проблемы прав собственности. Первый способ заключается в построении необратимого алгоритма ЦВЗ. ЦВЗ должен быть адаптивным к сигналу и встраиваться при помощи однонаправленной функции, например, хэш-функции. Хэш-функция преобразует 1000 бит исходного изображения в битовую последовательность . Далее, в зависимости от значения используется две функции встраивания ЦВЗ. Если , то используется функция , если , то функция , где - -й коэффициент изображения, - -й бит встраиваемого сообщения. Предполагается, что такой алгоритм формирования ЦВЗ предотвратит фальсификацию. В работе [13] на примере показано, что для того, чтобы данный алгоритм был необратимым, все элементы должны быть положительными.

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

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

Для защиты от атак типа аффинного преобразования можно использовать дополнительный (опорный) ЦВЗ. Этот ЦВЗ не несет в себе информации, но используется для «регистрации» выполняемых нарушителем преобразований. В детекторе ЦВЗ имеется схема предыскажения, выполняющая обратное преобразование. Здесь имеется аналогия с используемыми в связи тестовыми последовательностями. Однако в этом случае атака может быть направлена именно против опорного ЦВЗ. Другой альтернативой является вложение ЦВЗ в визуально значимые области изображения, которые не могут быть удалены из него без существенной его деградации. Наконец, можно разместить стего в инвариантных к преобразованию коэффициентах. Например, амплитуда преобразования Фурье инвариантна к сдвигу изображения (при этом меняется только фаза).

Другим методом защиты от подобных атак является блочный детектор. Модифицированное изображение разбивается на блоки размером 12х12 или 16х16 пикселов, и для каждого блока анализируются все возможные искажения. То есть пикселы в блоке подвергаются поворотам, перестановкам и т.п. Для каждого изменения определяется коэффициент корреляции ЦВЗ. Преобразование, после которого коэффициент корреляции оказался наибольшим, считается реально выполненным нарушителем. Таким образом, появляется возможность как бы обратить внесенные нарушителем искажения. Возможность такого подхода основана на предположении о том, что нарушитель не будет значительно искажать контейнер (это не в его интересах).

Программные продукты

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

Gif-It-Up 1.0 for Windows95 - прячет данные в GIF файлах, выполняя подстановку скрытых цветов в изображение.
EZStego - Java–приложение. Модифицирует наименее значимые биты (LSB) яркости точек GIF и PICT, изменяя их цветовую палитру.
DiSi-Steganograph - DOS–приложение. Прячет данные в графических файлах PCX.
Hide and Seek - Прячет данные в GIF файлах, скрываемые данные кодирует алгоритмом шифрования Blowfish. Осуществляет случайный выбор точек для хранения внедряемых данных.
MP3Stego - внедряет данные в звуковые файлы формата MP3, который широко рапространен.
Steganos - Программа с ассистентом (Wizard) кодирует и прячет файлы в форматах DIB, BMP, VOC, WAV, ASCII и HTML.
Steganography Tools 4 - Предварительно кодирует данные с помощью алгоритмов шифрования IDEA, MPJ2, DES TripleDES и NSEA, а затем прячет их в графических файлах, звуковых (WAV) файлах или свободных секторах флоппи-дисков.
Contraband — программное обеспечение, позволяющее скрывать любые файлы в 24 битовых графических файлах формата BMP.
Jsteg — программа предназначена для скрытия информации в популярном формате JPG.
FFEncode — интересная программа, которая скрывает данные в текстовом файле. Программа запускается с соответствующими параметрами из командной строки.
StegoDos — пакет программ, позволяющий выбирать изображение, скрывать в нем сообщение, отображать и сохранять изображение в другом графическом формате.
Wnstorm — пакет программ, который позволяет шифровать сообщение и скрывать его внутри графического файла PCX формата.

Примеры использования стеганографических программ

Gifshuffle

Синопсис

gifshuffle [ -CQS1 ] [ -p passwd ] [ -f file | -m message ] [ infile.gif [outfile.gif ]]

Следующая команда сокроет сообщение «let us go for a walk» в файле mountain.gif, со сжатием и паролем для доступа «what’s up».

Результат – заполненный контейнер outfile.gif (рис. 2,3,4)

gifshuffle -C -m "let us go for a walk" -p "what’s up" mountain.gif outfile.gif

Рис. 2.Gifshuffle

Описание программы

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

Представьте колоду из 52 игральных карт. Количество существующих способов перетасовать колоду - факториал 52, таким образом, каждый из вариантов может представлять собой число в диапазоне от нуля до (52!-1). Другими словами, имея n карт, можно хранить порядка log2(n!) бит информации, основанной на упорядочивании.

Gif-изображение содержит цветовую карту с числом вхождений до 256, что обеспечивает максимальный объем хранимой информации в 1675 бит. Само изображение состоит из сжатого массива индексов на данную цветовую карту. Для сокрытия послания в изображении проделывается следующая последовательность шагов:

  1. Сообщение указывается в командной строке либо файле. Опционально его можно сжать и/или зашифровать. Имеется последовательность нулей и единиц.
  2. Добавляя спереди 1, получим двоичное число m.
  3. Далее взгляните на изображение, в котором вы бы желали сокрыть сообщение. Посчитайте число уникальных цветов и обозначьте его n. Если m > (n!-1), то сообщение слишком велико для скрытия в исходном файле.
  4. Цвета сначала сортируются в соответствии с их «естественным» порядком (если не применяется шифрование): каждому цвету в модели RGB присваивается значение (red *65536 + green*256 + blue), все дублирующиеся значения удаляются.
  5. I изменяется от 1 до n. Каждый цвет (i-1) располагается в позиции (m mod i), после чего m делится на i.
  6. Цвет, прежде занимавший позицию, и те, что находятся «выше», сдвигаются на 1 вверх.
  7. В том случае, если размер цветовой карты превышает n, она будет «склеена» с последним цветом из исходной карты.
  8. Далее изображение распаковывается, индексы изменяются в соответствие с новой цветовой картой, после чего изображение упаковывается вновь. Для файлов с анимацией данная процедура повторяется для каждого кадра.

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

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

Шифрование также доступно в рамках данного программного продукта: используется алгоритм ICE с 1-битовой обратной связью шифра. Поддерживаются пароли любой длины вплоть до 1170 символов.

Если строка сообщения или файл специфицируются в командной строке, программа попытается скрыть данные в файле infile.gif (если данный параметр задан) или стандартном input (в противном случае). Аналогичная картина для выходных файлов.

Если не указано сообщение, программа пытается выделить его из входного файла. Результат записывается в файл выхода.

Опции

  • C Сжимает данные при сокрытии и распаковывает при выделении сообщения.
  • Q «Тихий» режим. Если атрибут не задан, программа сообщает статистику (процент сжатия, количество использованного места)
  • S Сообщает доступный объем информации, которая может быть сокрыта в файле. Рассчитывается, исходя из количества уникальных цветов в изображении.
  • 1 Поддержка совместимости с версией 1. Имеет смысл только при задании пароля.
  • p password Если установлен, то данные будут зашифрованы с использованием указанного пароля или расшифрованы при выделении сообщения из заполненного контейнера.
  • f message-file Содержимое файла будет скрыто во входном gif-овском файле.
  • m message Собственно сообщение.

SecurEngine Professional 1.0

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

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

Рис. 5. SecurEngine Professional 1.0

Рассмотрим интересующий нас стеганографический аспект, а точнее – его реализацию в данной программе. Для этого выберем пункт меню Hide Files. Появится следующее окно 9 (рис. 6), запрашивающее скрываемые файлы (директории). Опционально можно сжать файлы перед шифрованием, удалить исходные материалы.

Рис. 6. SecurEngine Professional 1.0. Меню Hide Files

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

При этом необходимо правильно указать расширение файла-контейнера: BMP, GIF, PNG, HTM.

Исходный графический файл может быть при желании удален.

Рис. 7. Указание пустого контейнера

Далее требуется ввести пароль (не менее 4х символов), указать алгоритм шифрования (AES, Gost, BlowFish, ThreeDes) и выбрать директорию, где будет сохранен выделенный из заполненного контейнера файл (который, кстати, называется так же, как и исходный)(рис. 8).

Рис. 8. Ввод пароля

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

Нажимаем кнопки Next и Hide (в окне, изображенном на рис. 9).

Рис. 9. Промежуточные результаты

Процесс завершен. После нажатия кнопки Exit вновь отобразится приветственное окно, в котором пользователь сможет выбрать следующее желаемое действие либо выйти из программы (рис. 10).

Рис. 10. Ввод пароля

Несложно убедиться в том, что содержание файлов, подаваемого на вход и получаемого на выходе, идентично (рис. 11).

Рис. 11. Содержимое файлов на входе и на выходе

Stegdetect

Программа обнаружения файлов стеганографического содержания.

Синопсис

stegdetect [-qnV] [-s float] [-d num] [-t tests] [file…]

Описание

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

Опции

  • q Выводит сообщение, является ли изображение подозрительным на предмет наличия вложенных данных.
  • n Активирует проверку заголовков JPEG – файлов.
  • V Отображает версию продукта.
  • s float Изменяет чувствительность алгоритмов выявления. Их результаты умножаются на указанный коэффициент.
  • d num Выводит информацию отладки.
  • t tests Устанавливает, каким тестам подвергается входное изображение.
  • J Проверяет, не было ли осуществлено вложение с помощью алгоритма jsteg
  • O Проверяет, не было ли осуществлено вложение с помощью алгоритма outguess
  • P Проверяет, не было ли осуществлено вложение с помощью алгоритма jphide
  • I Проверяет, не была информация спрятана с использованием невидимых секретов. По умолчанию значение данного параметра jopi.

Работает только с файлами формата JPEG.

Stegbreak

Выполняет стеганографическую атаку по отношению к специфицированному файлу.

Синопсис

stegbreak [-qV] [-r rules] [-f wordlist] [-t tests] [-c] [file…]

Описание

  • q Уведомляет, была ли успешна атака.
  • V Отображает версию продукта.
  • r rules Правила трансформации слов из списка.
  • f wordlist Файл, содержащий список слов для словарной атаки. По умолчанию usr/share/dict/words.
  • t test См. предыдущее описание.
  • c Показывает, что файл нужно преобразовать к малому размеру, сохранив всю информацию, достаточную для проведения стеганографической атаки.

Постановка задачи с использованием кластеров

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

В порядке обсуждения остановимся на некоторых характерных особенностях распределенных вычислений в сетях.

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

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

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

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

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

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

При организации распределенных вычислений для таких задач необходимо учитывать дополнительные ограничения типа привязки некоторых вычислений к определенным узлам сети.

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

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

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

Принципиально задача решается вне зависимости от платформы.

Сравнительные характеристики стеганографических методов

Таблица №2. Сравнительные характеристики стеганографических методов
Стеганографические методы Краткая характеристика методов Недостатки Преимущества
1. Методы использования специальных свойств компьютерных форматов данных
1.1. Методы использования зарезервированных для расширения полей компьютерных форматов данных Поля расширения имеются во многих мультимедийных форматах, они заполняются нулевой информацией и не учитываются программой Низкая степень скрытности, передача небольших ограниченных объемов информации Простота использования
1.2. Методы специального форматирования текстовых файлов:
1.2.1. Методы использования известного смещения слов, предложений, абзацев Методы основаны на изменении положения строк и расстановки слов в предложении, что обеспечивается вставкой дополнительных пробелов между словами 1. Слабая производительность метода, передача небольших объемов информации

2. Низкая степень скрытности

Простота использования. Имеется опубликованное программное обеспечение реализации данного метода
1.2.2. Методы выбора определенных позиций букв (нулевой шифр) Акростих - частный случай этого метода (например, начальные буквы каждой строки образуют сообщение)
1.2.3. Методы использования специальных свойств полей форматов, не отображаемых на экране Методы основаны на использовании специальных "невидимых", скрытых полей для организации сносок и ссылок (например, использование черного шрифта на черном фоне)
1.3. Методы скрытия в неиспользуемых местах гибких дисков Информация записывается в обычно неиспользуемых местах ГМД (например, в нулевой дорожке) 1. Слабая производительность метода, передача небольших объемов информации

2. Низкая степень скрытности

Простота использования.

Имеется опубликованное программное обеспечение реализации данного метода

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

2. Низкая степень скрытности

Результирующий текст не является подозрительным для систем мониторинга сети
1.5. Методы удаления идентифицирующего файл заголовка Скрываемое сообщение шифруется и у результата удаляется идентифицирующий заголовок, оставляя только шифрованные данные.

Получатель заранее знает о передаче сообщения и имеет недостающий заголовок

Проблема скрытия решается только частично.

Необходимо заранее передать часть информации получателю

Простота реализации.

Многие средства (White Noise Storm, S-Tools), обеспечивают реализацию этого метода с PGP шифроалгоритмом

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

Для снижения компрометирующих признаков требуется коррекция статистических характеристик

Возможность скрытой передачи большого объема информации.

Возможность защиты авторского права, скрытого изображения товарной марки, регистрационных номеров и т.п.

Как видно из табл.2, первое направление основано на использовании специальных свойств компьютерных форматов представления данных, а не на избыточности самих данных. Специальные свойства форматов выбираются с учетом защиты скрываемого сообщения от непосредственного прослушивания, просмотра или прочтения. На основании анализа материалов табл. 2 можно сделать вывод, что основным направлением компьютерной стеганографии является использование избыточности аудио и визуальной информации. Цифровые фотографии, цифровая музыка, цифровое видео — представляются матрицами чисел, которые кодируют интенсивность в дискретные моменты в пространстве и/или во времени. Цифровая фотография — это матрица чисел, представляющих интенсивность света в определенный момент времени. Цифровой звук — это матрица чисел, представляющая интенсивность звукового сигнала в последовательно идущие моменты времени. Все эти числа не точны, т.к. не точны устройства оцифровки аналоговых сигналов, имеются шумы квантования. Младшие разряды цифровых отсчетов содержат очень мало полезной информации о текущих параметрах звука и визуальнного образа. Их заполнение ощутимо не влияет на качество восприятия, что и дает возможность для скрытия дополнительной информации.

Графические цветные файлы со схемой смешения RGB кодируют каждую точку рисунка тремя байтами. Каждая такая точка состоит из аддитивных составляющих: красного, зеленого, синего. Изменение каждого из трех наименее значимых бит приводит к изменению менее 1% интенсивности данной точки. Это позволяет скрывать в стандартной графической картинке объемом 800 Кбайт около 100 Кбайт информации, что не заметно при просмотре изображения.

Другой пример. Только одна секунда оцифрованного звука с частотой дискретизации 44100 Гц и уровнем отсчета 8 бит в стерео режиме позволяет скрыть за счет замены наименее значимых младших разрядов на скрываемое сообщение около 10 Кбайт информации. При этом изменение значений отсчетов составляет менее 1%. Такое изменение практически не обнаруживается при прослушивании файла большинством людей.


Пример решения задачи сокрытия файлов в цифровом фотоаппарате

Одним из методов стеганографической защиты изображений в цифровом фотоаппарате может быть внедрение цифрового водяного знака в изображение при его записи на флэш-карту фотоаппарата. Существует метод маскирования изображений с пощью программного обеспечения, поддерживаемого операционной системой цифрового фотоаппарата Сведения об операционных системах и спецификации карт памяти, используемых в цифровых фотоаппартах, являются, в большинстве своем, коммерческой тайной фирмпроизводителей. Однако известно, например, что ЦФА фирмы CANON имеют операционною систему, сходную с MS-DOS 6.11. Далее описывается пример программного обеспечения, реализованного под данную ОС.

Исследование режимов работы карты памяти ЦФА

В настоящее время существует девять широко используемых видов карт памяти. Основные их характеристики представлены в таблице 3.

Таблица №3. Типы наиболее популярных карт памяти для ЦФА
№ п/п Тип карты Максимальный объем памяти Скорость обмена Габариты, мм
1 Compact Flash (CF/CF+) 4 Гб 85х 42,8х36,4х3,3
2 Secure Digital(SD) 1 Гб 60х 32х24х2,1
3 miniSD (mini) 256 Мб 21,5х20х1,4
4 MultiMediaCard (MMC) 512 Мб 32х24х1,4
5 Reduced-Sized MultiMediaCard (RS MMC) 256 Мб 24х18х1,4
6 Memory Stick/Pro (MS/Pro) 1 Гб 15 Мб/c 50х21,5х2,8
7 Memory Stick Duo/Pro Duo (MSD/Pro) 512 Мб 15 Мб/c 31х20х1,6
8 xD-Picture Card (XD-PC) 512 Мб 25х20х1,7
9 SmartMedia (SM) 128 Мб 45х37х0,76

Анализ данных, представленных в таблице, позволяет заключить, что несмотря на относительно большие габаритные размеры, карты типа CF/CF+ обладают наибольшей емкостью и быстродействием. В частности, высокое быстродействие карт CF/CF+ обеспечивается благодаря параллельной шине данных и адреса, что также позволяет упростить разработку модуля кодирования передаваемой информации. Немаловажным аргументом в пользу использования карт CF/CF+ для создания на их основе кодирующих устройств является и то, что информация с описанием протокола обмена данными, а также список используемых команд официально опубликована в открытой печати (в отличие от других производителей, например «Memory Stick» от фирмы «SONY»). Стандарт CF/CF+ широко используется в ЦФА таких фирм, как NIKON и CANON (все модели), а также в полупрофессиональных и профессиональных ЦФА других фирм (например, SONY CyberShot F828). Кроме того, протокол обмена карт памяти стандарта CF/CF+ является унифицированным с протоколами обмена жестких дисков True IDE (а именно, ATA-4) и устройств ввода-вывода PCMCIA, что делает возможным использование модуля кодирования не только с картами памяти CF/CF+, но и с мини жесткими дисками и другими переносными устройствами хранения информации. Относительно большие габаритные размеры карты CF/CF+ также могут сыграть положительную роль при встраивании модуля кодировки внутрь корпуса карты памяти.

Таким образом, по совокупности характеристик карты памяти стандарта CF/CF+ являются оптимальными для использования встроенных модулей кодирования записываемых файлов с изображением.

Исследование стандарта CF/CF+

Стандарт CF/CF+ предусматривает работу карты памяти в одном из трех возможных режимов:

Рис. 14. Обобщенная структурная схема карты памяти CF/CF+
  1. Режим памяти (Memory Card Mode).
  2. Режим ввода-вывода (I/O PC Card Mode).
  3. Режим жесткого диска (True IDE MODE).

Аппаратнопрограммная поддержка указанных режимов осуществляется за счет использования встроенного микроконтроллера, осуществляющего передачу данных с соблюдением соответствующего выбранному режиму протокола от внешнего устройства (ЦФА, картридера) к энергонезависимой флэш памяти. Обобщенная структурная схема карты памяти CF/CF+ представлена на рис. 1.

Связь внешнего устройства и карты памяти обеспечивает 50-ти контактный специализированный разъем. Обмен данными между внешним устройством (в дальнейшем, ЦФА) и картой (по сути, микроконтроллером) осуществляется по двунаправленной 16-разрядной шине данных с тремя состояниями. При этом установка адреса происходит по 18-разрядной однонаправленной шине от ЦФА к карте памяти. Кроме того, в процессе обмена данными используется ряд специальных сигналов шины управления. Питание карты осуществляется от ЦФА при условии, что ЦФА обнаружил и правильно идентифицировал карту памяти. В случае возникновения ошибки идентификации или при неудачном результате выполнения операции обмена данными напряжение питания с карты со стороны ЦФА снимается. В таблице 4 приведено краткое описание сигналов CF/CF+ стандарта в трех соответствующих режимах.

Таблица №4. Краткое описание сигналов обмена данными через интерфейс карты CF/CF+
Направление передачи Наименование сигнала Описание сигнала
Режим памяти (Memory Card Mode) Режим ввода-вывода (I/O PC Card Mode) Режим жесткого диска (True IDE Mode)
D0-D15 Двунаправленная шина данных Двунаправленная шина данных Двунаправленная шина данных
А0-А10 Шина адреса Шина адреса Шина адреса
OE Строб-импульс чтения данных Не используется. По умолчанию «1» Сигнал активации режима жесткого диска. В этом режиме всегда «0»
WE Строб-импульс записи данных Не используется Не используется
CE1, CE2 Сигналы активации карты памяти (CHIP ENABLE) и выбора четного/нечетного байтов передачи при 8-ми бит Сигналы активации карты памяти (CHIP ENABLE) и выбора четного/нечетного байтов передачи при 8-ми бит CE1 для выбора регистров задач; -CE2 для выбора регистров статуса и контроля
IORD Не используется Строб-импульс чтения данных Строб-импульс чтения данных
IOWR Не используется Строб-импульс записи данных Строб-импульс записи данных
WAIT Сигнал занятости карты Сигнал занятости карты Сигнал занятости карты
IOCS16 Не используется Сигнал подтверждения выбора формата передачи данных 16 бит / 8 бит Сигнал ожидания картой очередного цикла обмена данными
CD1, CD2 Сигналы наличия карты в разъеме ЦФА Сигналы наличия карты в разъеме ЦФА Сигналы наличия карты в разъеме ЦФА
REG Сигнал обращения к памяти атрибутов Сигнал активации цикла записи/чтения Не используется. По умолчанию «1»
VS1, VS2 Сигналы определения напряжения питания карты +3,3В / +5В Сигналы определения напряжения питания карты +3,3В / +5В Сигналы определения напряжения питания карты +3,3В / +5В
CSEL Не используется. По умолчанию «0» Не используется. По умолчанию «0» Сигнал выбора Master/Slave
INPACK Не используется Сигнал подтверждения активации карты и ее готовности к передаче данных Не используется
RESET Сброс установок Сброс установок Сброс установок
READY Сигнал готовности принятия новых данных Запрос на прерывание Запрос на прерывание
BVD1 Не используется Сигнал защиты по записи Сигнал диагностики
BVD2 Не используется Выход аудиосигнала. По умолчанию «0» Сигнал переключения режима Active/Slave
VCC Напряжение питания Напряжение питания Напряжение питания
GND Общий вывод Общий вывод Общий вывод

В таблице значок «» обозначает двунаправленность сигнала, «» – выходной сигнал от карты к ЦФА, «» – входной сигнал карты от ЦФА. Значок «» перед обозначением сигнального вывода обозначает то, что его активным уровнем является низкий. Все рассмотренные сигналы можно разбить на четыре группы:

  1. Шина данных D0-D15 является единой для всех режимов. По ней данные могут передаваться как в полном 16-ти разрядном виде, так и в 8-ми разрядном, в зависимо-сти от сигналов управления -CE1, -CE2.
  2. Шина адреса A0-A17 также является общей для всех режимов работы, но является однонаправленной от ЦФА к карте.
  3. Шина управления. Все сигналы шины управления в свою очередь, могут быть разби-ты на две подгруппы. В первую подгруппу входят статические сигналы, значения напряжений на которых устанавливаются однажды в момент идентификации карты и процессе работы не изменяются. К ним относятся: -CD1, -CD2, VS1, VS2, . Вторую подгруппу составляют динамические сигналы (т.е. осуществляющие управление по заднему или переднему фронту), используемые только в процессе циклов записи-чтения. Это: -OE, -WE, -IORD, -IOWR, -WAIT, -IOCS16. При этом, в зависимости от выбранного ЦФА режима работы не все перечисленные сигналы могут быть задействованы (см. таблицу 3).
  4. Напряжение питания и «земля». Как уже было показано выше, напряжение питания устанавливает ЦФА +5В либо +3,3В по сигналам карты -VS1 и -VS2. В настоящее время карты с питанием +5В практически не применяются. Максимальный потребляемый ток для карты CF составляет 75 мА, для карты СF+ 500 мА (по 3,3 В).

Отметим, что в любом из 3-х режимов карта памяти CF/CF+ представляется в виде электронного диска с виртуальным разбиением на цилиндры, сектора и кластеры в соответствие с файловой системой FAT16. Рассмотрим процесс записи-чтения в каждом из трех перечисленных режимов.

Режим памяти (Memory Card Mode)

В этом режиме циклы записи-чтения могут осуществляться как с памятью общего пользования, в которой хранятся записываемые данные, так и с памятью атрибутов, используемой для хранения служебных регистров. При этом переключение типа памяти осуществляется со стороны ЦФА посредством сигнала –REG. Временные диаграммы цикла чтения одного 16-ти разрядного слова из памяти атрибутов представлены на рис. 15, а диаграммы цикла записи одного 16-ти разрядного слова в память атрибутов - на рис. 16.

Рис. 15. Временные диаграммы цикла чтения регистра памяти атрибутов
Рис. 16. Временные диаграммы цикла записи регистра памяти атрибутов

При работе с памятью общего назначения диаграммы аналогичны, но при сигнале –REG = «1». Необходимо отметить, что для осуществления цикла чтения ЦФА предварительно устанавливает на ША адрес требуемой ячейки памяти, после чего активирует сигнал –OE. Через 5..150 нс после отрицательного фронта строба –OE на ШД появляются данные из соответствующей ячейки памяти, которые фиксируются картой в течение действия сигнала –OE. Средняя продолжительность цикла чтения в этом режиме составляет 300 нс. При записи в память атрибутов ЦФА последовательно устанавливает адрес нужной ячейки памяти, сигнал –REG, а также данные на ШД, после чего активирует строб –WE. Запись данных осуществляется по положительному перепаду строба –WE. Средняя продолжительность цикла записи в этом режиме составляет 250 нс. Основные временные параметры в этом режиме представлены в таблице 5.

Таблица №5. Основные временные параметры циклов записи-чтения в режиме памяти
Чтение, нс Запись, нс
tc(R) 300 Tc(W) 250
ta(A) 300 Tw(WE) 150
ta(CE) 300 Tsu(A) 30
Ta(OE) 150 Trec(WE) 30
Tdis(CE) 100 Tsu(D-WEH) 80
Tdis(OE) 100 Th(D) 30
Tsu(A) 30
Ten(CE) 5
Ten(OE) 5
Tv(A) 0

Важно отметить, что этот режим в современных ЦФА и карт-ридерах практически не используется.

Режим ввода/вывода (I/O PC Card Mode)

В этом режиме также циклы записи-чтения могут осуществляться как с памятью общего пользования, так и с памятью атрибутов. При этом переключение типа памяти осуществляется со стороны ЦФА посредством того же сигнала –REG. Временные диаграммы цикла чтения одного 16-ти разрядного слова из памяти атрибутов представлены на рис. 17, а диаграммы цикла записи одного 16-ти разрядного слова в память атрибутов - на рис. 18.

Рис. 17. Временные диаграммы цикла чтения регистра памяти атрибутов
Рис. 18. Временные диаграммы цикла записи регистра памяти атрибутов

При работе с памятью общего назначения диаграммы аналогичны, но при сигнале –REG = «1». Как и в первом режиме, для осуществления цикла чтения ЦФА предварительно устанавливает на ША адрес требуемой ячейки памяти, после чего активирует строб-сигнал –IORD. Через 25 нс после отрицательного фронта строба –IORD на ШД появляются данные из соответствующей ячейки памяти, которые фиксируются картой в течение действия сигнала –IORD. Средняя продолжительность цикла чтения в этом режиме составляет 200 нс. При записи в память атрибутов ЦФА последовательно устанавливает адрес нужной ячейки памяти, сигнал –REG, а также данные на ШД, после чего активирует строб –IOWR. Запись данных осуществляется по положительному перепаду строба –IOWR. Средняя продолжительность цикла записи в этом режиме составляет 270 нс. Основные временные параметры в этом режиме представлены в таблице 6.

Таблица №6. Основные временные параметры циклов записи-чтения в режиме ввода-вывода
Чтение, нс Запись, нс
td(IORD) 100 tsu(IOWR) 60
th(IORD) 0 th(IOWR) 30
tw(IORD) 165 tw(IOWR) 165
tsuA(IORD) 70 tsuA(IOWR) 70
thA(IORD) 20 thA(IOWR) 20
tsuCE(IORD) 5 tsuCE(IOWR) 5
thCE(IORD) 20 thCE(IOWR) 20
tsuREG(IORD) 5 tsuREG(IOWR) 5
thREG(IORD) 0 thREG(IOWR) 0
tdfINPACK(IORD) 0..45 tdfIOIS16(ADR) 35
tdrINPACK(IORD) 45 tdrIOIS16(ADR) 35
tdfIOIS16(ADR) 35 tdWT(IOWR) 35
tdrIOIS16(ADR) 35 tdrIOWR(WT) 0
tdWT(IORD) 35 tw(WT) 350..3000
td(WT) 0
tw(WT) 350..3000

Важно отметить, что строб-сигналы –OE и –WE в этом режиме не используются и устанавливаются в логическую «1». Данный режим чаще всего используется карт-ридерами, а также недорогими ЦФА типа NIKON 2000.

Режим жесткого диска (True IDE Mode)

Все команды и временные диаграммы при работе карты памяти в этом режиме соответствуют стандарту ATA-4, разработанному для интерфейса жестких дисков в 1998 г. в США. Однако есть и небольшие отличия. Специально для запоминающих устройств на флэш-памяти CF/CF+ в ATA-4 ввели специальную группу команд. Специфика этих устройств заключается в выполнении операции записи: флэш-память обеспечивает запись лишь в предварительно стертые ячейки (сектор), хотя есть устройства, автоматически осуществляющие стирание при записи. Операция записи устройством выполняется существенно медленнее, чем чтения, скорость которого приближается к скорости динамической памяти. Операция стирания занимает еще больше времени. Интерес представляет и информация о состоянии сектора: стертый или нет, сколько раз выполнялась запись (это число хоть и велико, но ограничено). В системе команд имеются средства идентификации и управления свойствами устройств. Команда идентификации позволяет считать из контроллера блок из 256 слов, характеризующих устройство ATA. Блок параметров может храниться как в энергонезависимой памяти устройства, так и на самом носителе в месте, недоступном для обычных обращений. В отличие от предыдущих двух режимов, флэш-память не разбивается на память атрибутов и общего пользования, а поэтому сигнал –REG не используется и всегда равен логической «1». Команда установки параметров задает режим трансляции логической геометрии в системе CHS. Если запрошенный режим трансляции устройство поддержать не может, то оно выдаст состояние с ошибкой "команда отвергнута" (прежняя спецификация ATA не четко описывала эту ситуацию, и некоторые системы не обнаруживали отказ при выполнении данной команды). После запроса неподдерживаемого режима трансляции устройство блокирует доступ к носителю информации до запроса поддерживаемого режима трансляции. Устройство обязано поддерживать режим, описанный в блоке его параметров. Команда установки свойств имеет ряд подкоманд, позволяющих управлять режимом обмена, кэшированием, параметрами режимов энергосбережения и т.п.

Рис. 19. Временные диаграммы цикла чтения-записи

Как и в режиме ввода-вывода, для чтения и записи также используются строб-сигналы -IORD и –IOWR в аналогичной последовательности, но вдобавок еще используется сигнал –IOSC16, формируемый картой памяти и подтверждающий достоверность принятого адреса. В соответствии с протоколом АТА-4 существует 6 скоростных режимов передачи данных, отличающихся только временем цикла чтения-записи. Применительно к картам памяти, используется только четыре режима, влияющих на скорость обмена данными. Основные временные параметры работы карты памяти в режиме жесткого диска представлены в таблице 7.

Таблица №7. Основные временные параметры работы карты памяти в режиме жесткого диска
Параметр Режим 1,нс Режим 2,нс Режим 3,нс Режим 4,нс
T0 600 383 240 180
T1 70 50 30 30
T2 165 125 100 80
T2 290 290 290 80
T2i 70
T3 60 45 30 30
T4 30 20 15 10
T5 50 35 20 20
T6 5 5 5 5
T6Z 30 30 30 30
T7 90 50 40
T8 60 45 30
T9 20 15 10
TRD 0 0 0 0
TA 35 35 35 35
TB 1250 1250 1250 1250
TC 10 10 10 10

В заключении необходимо отметить, что режим жесткого диска (True IDE Mode) используется в дорогих ЦФА, например в SONY CyberShot F828. В общем случае, как ЦФА, так и карт-ридеры могут использовать два последних из трех названных режимов работы карты памяти.

Описание команд CF-ATA

Этот раздел определяет требования к программному обеспечению и формат команд, которые посылаются картам памяти CompactFlash (таблица 8). Команды поступают в карту памяти CompactFlash путем загрузки необходимых регистров в командном блоке входными параметрами и записи кода команды в командный регистр. Способы распознавания команды различны. Существует три класса приема команд, при условии, что карта памяти не занята (BSY = 0). Все команды, внесенные в список в этой спецификации, должны быть исполняемыми. Команды могут быть реализованы как пустое действие (“no operation”), чтобы выполнить это требование. Набор признаков режима безопасности (Security Mode) (командные коды F1, F2, F3, F4, F5, и F6) не должен использоваться, если устройство не предназначено для встроенного, несъемного применения. Эти команды не предназначены для съемных устройств, поэтому можно столкнуться с некоторыми проблемами при их использовании. Эта спецификация вводит некоторые новые команды и особенности.

Таблица №8. Список команд CF/ATA
Класс Команда Код FR SC SN CY DH LBA

Обозначения:

  • FR = Features Register;
  • SC = Sector Count Register;
  • SN = Sector Number Register;
  • CY = Cylinder Registers;
  • DH = Card / Drive / Head Register;
  • LBA = Logical Block Address Mode Supported;
  • Y – регистр содержит допустимый параметр для этой команды. Для Drive / Head Register Y используется и для параметров карты памяти CompactFlash и для параметров головки; D – допустимый параметр только для параметров карты памяти CompactFlash; С – регистр содержит данные спецификации команды.

Список литературы

  1. «Цифровая стеганография»
  2. University of Cambridge Computer Laboratory
  3. Petitcolas F., Anderson R., Kuhn M. Attacks on Copyright Marking Systems // Lecture Notes in Computer Science. 1998. P. 218-238.
  4. www.cs.hut.fi
  5. Kutter M., Voloshynovskiy S., Herrigel A. The Watermark Copy Attack // Proceedings of SPIE: Security and Watermarking of Multimedia Content II. 2000. Vol. 3971.
  6. Su J., Girod B. On the imperceptibility and robustness of digital fingerprints // IEEE ICMCS-99. 1999.
  7. Voloshynovskiy S., Herrigel, A., Baumgrtner N., Pun T. A stochastic approach to content adaptive digital image watermarking // Proceeding of International Workshop on Information hiding. 1999.
  8. Cox I., Linnartz J. Some general methods for tampering with watermarks // IEEE Journal on Selected Areas of Communications. 1997.
  9. Kutter M. Digital Image Watermarking: Hiding Information in Images. PhD thesis, Swiss Federal Institute of Technology, Lausanne, Switzerland, 1999.
  10. Petitcolas F. Weakness of existing watermarking schemes, 1997.
  11. Lin C. Watermarking and Digital Signature Techniques for Multimedia Authentication and Copyright Protection. PhD Thesis, Columbia University, 2000.
  12. Wu M. Multimedia Data Hiding. PhD Thesis, Princeton University, 2001.
  13. Craver S., Memon N., Yeo B., Yeung M. Can Invisible Watermarks Resolve Rightful Ownerships? // IBM Research Report. 1996.
  14. Craver S., Memon N., Yeo B., Yeung M. On the Invertibility of Invisible Watermarking Techniques // Proc. of ICIP. 1997.
  15. Craver S., Memon N., Yeo B., Yeung M. Resolving Rightful Ownerships with Invisible Watermarking Techniques: Limitations, Attacks, and Implications // IEEE Journal on Selected Areas in Communication. 1998. Vol. 16. № 4. P. 573-586.
  16. Deguillaume F., Csurka G., Pun T. Countermeasures for unintentional and intentional video watermarking attacks // SPIE Electronic Imaging. 2000.
  17. Maes M. Twin Peaks: The Histogram Attack to Fixed Depth Image Watermarks // Proceeding of International Workshop on Information hiding. 1998.