ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.06.2021
Просмотров: 3537
Скачиваний: 3
456
Глава
20.
Стеганография
глаза
читателю
,
обеспечивается
передача
большего
количества
скрытых
данных
по
сравнению
с
предыдущим
методом
(1
бит
на
80
байт
).
Недостаток
метода
состоит
в
том
,
что
некоторые
программы
(
например
,
sendmail
)
могут
неосторожно
удалять
дополни
-
тельные
пробелы
.
Помимо
этого
,
скрытые
таким
образом
данные
не
всегда
могут
быть
восстановлены
с
печатной
копии
документа
.
М
ы
р
е
д
к
о
д
о
к
о
н
ц
а
п
о
-
н
и
м
а
е
м
,
ч
т
о
м ы
д
е
й
с
т
-
в
и
т
е
л
ь
н
о
х
о
т
и
м
.
М
ы
р
е
д
к
о
д
о
к
о
н
ц
а
п
о
-
н
и
м
а
е
м
,
ч
т
о
м ы
д
е
й
с
т
-
в
и
т
е
л
ь
н
о
х
о
т
и
м
.
Рис
. 20.3.
Пример
сокрытия
данных
пробелами
в
конце
текстовых
строк
Еще
один
метод
сокрытия
данных
с
помощью
пробелов
манипулирует
с
текстами
,
которые
выровнены
с
обеих
сторон
.
В
этом
методе
данные
кодируются
путем
управляе
-
мого
выбора
мест
для
размещения
дополнительных
символов
пробела
.
Один
символ
ме
-
жду
словами
интерпретируется
как
0
,
а
два
—
как
1
.
Метод
позволяет
встраивать
не
-
сколько
бит
скрытой
информации
в
каждую
строку
текста
(
рис
. 20.4).
Рис
. 20.4.
Пример
сокрытия
битового
сообщения
0110
≡
100011010110
Поскольку
текст
часто
выравнивается
по
ширине
листа
,
не
каждый
промежуток
меж
-
ду
словами
может
использоваться
для
кодирования
скрытых
данных
.
Для
того
чтобы
определить
,
в
каком
из
промежутков
между
словами
спрятана
информация
,
а
какие
про
-
межутки
являются
частью
оригинального
текста
,
используется
следующий
метод
деко
-
дирования
.
Битовая
строка
,
которая
извлекается
из
стеганограммы
,
разбивается
на
пары
.
Пара
бит
01
интерпретируется
как
1
;
пара
10
—
как
0
;
а
биты
00
и
11
являются
пусты
-
ми
,
т
.
е
.
такими
,
которые
не
несут
никакой
информации
.
Например
,
битовое
сообщение
1000101101
сокращается
до
001
,
а
строка
110011
—
будет
пустой
.
Рассмотренные
методы
работают
успешно
до
тех
пор
,
пока
тексты
представлены
в
коде
ASCII.
Существуют
также
стеганографические
методы
,
которые
интерпретируют
текст
как
двоичное
изображение
.
В
данных
методах
скрываемая
информация
кодируется
изменением
расстояния
между
последовательными
строками
текста
или
словами
.
Со
-
крытие
данных
происходит
путем
выбора
местоположения
строк
в
документе
,
которые
сдвигаются
вверх
или
вниз
в
соответствии
с
битами
скрываемых
данных
.
При
этом
не
-
которые
строки
оставляют
для
синхронизации
на
месте
(
например
,
каждую
вторую
).
В
Текстовые
стеганографы
457
этом
случае
один
секретный
бит
сообщения
кодируется
сдвигом
одной
строки
.
Если
строка
сдвинута
,
то
значение
секретного
бита
равно
1
,
иначе
—
0
.
Извлечение
скрытого
сообщения
проводится
путем
анализа
расстояний
между
цен
-
трами
строк
,
которые
расположены
рядом
.
Обозначим
через
Δ
R+
—
расстояние
между
центрами
сдвинутой
строки
и
предыдущей
неизмененной
строки
(
синхрострока
),
Δ
R–
—
расстояние
между
центрами
сдвинутой
линии
и
последующей
синхростроки
,
а
через
Δ
Х
+
и
Δ
Х
–
—
соответствующие
расстояния
в
исходном
документе
.
Тогда
,
если
расстояние
между
строками
было
увеличено
,
то
Δ
R+
+
Δ
R–
Δ
R+
–
Δ
R–
>
Δ
X+
+
Δ
X–
Δ
X+
–
Δ
X–
Аналогично
,
если
расстояние
было
уменьшено
,
то
Δ
R+
+
Δ
R–
Δ
R+
–
Δ
R–
<
Δ
X+
+
Δ
X–
Δ
X+
–
Δ
X–
Отметим
,
что
данный
метод
нечувствителен
к
изменению
масштаба
документа
,
что
обеспечивает
ему
хорошую
устойчивость
к
большинству
искажений
,
которые
могут
иметь
место
при
активных
атаках
.
Другая
возможная
схема
сокрытия
путем
сдвига
слов
отформатированного
текста
по
-
казана
на
рис
. 20.5.
В
соответствии
с
этой
схемой
изменяется
горизонтальная
позиция
на
-
чала
слов
.
Теоретически
,
можно
использовать
изменение
каждого
промежутка
между
сло
-
вами
.
Для
того
чтобы
обеспечить
сохранение
первоначального
выравнивания
текста
,
не
-
обходимо
соблюдать
единственное
ограничение
:
сумма
всех
сдвигов
в
одной
строке
должна
равняться
нулю
.
Рис
. 20.5.
Пример
сокрытия
данных
в
промежутках
между
словами
(
для
наглядности
указаны
вертикальные
линии
)
Существуют
более
тонкие
методы
сокрытия
информации
в
текстовой
среде
.
В
неко
-
торых
текстовых
редакторах
реализованы
опции
,
которые
проводят
автоматическое
форматирование
текста
в
соответствии
с
определенными
критериями
.
Например
,
редак
-
тор
ТЕХ
использует
сложный
алгоритм
вычисления
конца
строки
или
страницы
.
Факти
-
чески
вычисляются
некоторые
специальные
параметры
,
по
которым
определяется
место
перехода
с
одной
строки
или
страницы
на
другую
.
Один
из
таких
параметров
оценивает
количество
пробелов
,
которые
необходимо
вставить
,
чтобы
сохранить
заданный
стиль
документа
;
другой
—
оценивает
эстетический
вид
документа
при
выборе
переноса
и
т
.
д
.
В
результате
ТЕХ
пытается
выбрать
последовательность
мест
переносов
таким
образом
,
458
Глава
20.
Стеганография
что
сумма
всех
параметров
,
которые
относятся
к
редактируемому
параграфу
,
была
ми
-
нимальной
.
Изменяя
некоторые
значения
параметров
,
можно
управлять
выбором
мест
переносов
и
использовать
их
для
сокрытия
данных
.
До
сих
пор
вопрос
о
создании
безопасной
лингвистической
стегосистемы
остается
открытым
.
Любая
обработка
текста
редактором
,
его
печать
или
перевод
в
другой
формат
(HTML, PostScript, PDF
или
RTF)
может
изменить
расположение
пробелов
и
уничтожить
скрытый
текст
.
Низкая
устойчивость
подобных
методов
к
возможным
модификациям
документа
является
одной
из
причин
поиска
других
методов
поиска
данных
в
тексте
.
Синтаксические
и
семантические
методы
в
корне
отличаются
от
рассмотренных
вы
-
ше
,
но
могут
использоваться
одновременно
с
ними
.
Синтаксические
методы
К
синтаксическим
методам
лингвистической
стеганографии
относятся
методы
изме
-
нения
пунктуации
и
методы
изменения
стиля
и
структуры
текста
.
В
любом
языке
существуют
случаи
,
когда
правила
пунктуации
являются
неодно
-
значными
и
имеют
слабое
влияние
на
содержание
текста
.
Например
,
обе
формы
пере
-
числения
“
хлеб
,
масло
и
молоко
”
и
“
хлеб
,
масло
,
молоко
”
являются
допустимыми
.
Мож
-
но
использовать
тот
факт
,
что
выбор
таких
форм
является
произвольным
и
использовать
альтернативный
выбор
для
кодирования
данных
в
двоичном
виде
.
Например
,
если
появ
-
ляется
форма
перечисления
с
союзом
“
и
”,
то
кодируется
1
,
иначе
—
0
.
Для
сокрытия
можно
также
применять
сокращения
и
аббревиатуры
.
В
любом
языке
имеется
много
возможностей
для
синтаксического
сокрытия
данных
,
но
они
не
часто
встречаются
в
типовых
текстах
.
Средняя
скорость
передачи
данных
та
-
кими
методами
равна
нескольким
битам
на
килобайт
текста
.
Хотя
многие
из
правил
пунктуации
являются
неоднозначными
и
избыточными
,
их
противоречивое
использование
может
стать
объектов
внимания
для
цензора
.
Кроме
того
,
существуют
случаи
,
когда
изменение
пунктуации
может
сильно
изменить
содержание
текста
.
Поэтому
такой
подход
должен
использоваться
с
осторожностью
.
К
синтаксическим
методам
относятся
методы
изменения
стиля
или
структуры
текста
без
существенного
изменения
его
значения
или
тона
.
Например
,
предложение
“
До
окон
-
чания
ночи
я
буду
готовым
”
можно
представить
в
виде
“
Я
буду
готов
быстрее
,
чем
ночь
закончится
”.
Такой
подход
более
прозрачен
,
но
возможность
его
ограничена
.
Семантические
методы
Семантические
методы
стеганографии
аналогичны
синтаксическим
методам
.
Для
этих
методов
элементарными
лингвистическими
компонентами
считаются
отдельные
слова
,
поэтому
сокрытие
данных
реализуется
путем
непосредственной
замены
слов
.
Для
такой
замены
необходимы
таблицы
синонимов
.
Ко
-
дирование
секретного
сообщения
проводится
выбо
-
ром
синонима
из
необходимого
места
таблицы
.
На
-
пример
,
первому
слову
-
синониму
соответствует
1
,
а
второму
—
0
(
табл
. 20.1).
Если
слову
соответствует
Таблица
20.1.
Фрагмент
таблицы
синонимов
1 0
след
отпечаток
дыра
отверстие
оборона
защита
овация
аплодисменты
Текстовые
стеганографы
459
большое
количество
синонимов
,
то
можно
кодировать
большее
количество
бит
одно
-
временно
.
На
рис
. 20.6
приведен
пример
другого
подхода
к
сокрытию
данных
,
в
котором
сек
-
ретное
сообщение
управляет
перефразированием
текста
контейнера
.
В
результате
полу
-
чается
стеганограмма
,
которая
имеет
тот
же
самый
смысл
,
что
и
текст
контейнера
.
Рис
. 20.6.
Пример
работы
семантической
стегосистемы
SubiText
Методы
генерации
стеганограмм
В
отличие
от
рассмотренных
выше
стеганометодов
,
где
скрываемая
информация
внедряется
в
текстовый
контейнер
,
существуют
методы
,
которые
полностью
порождают
стеганограмму
на
основе
защищаемых
данных
.
В
таких
методах
секретная
информация
не
внедряется
в
текст
,
а
представляется
полностью
всей
стеганограммой
.
Теоретическую
основу
для
методов
генерации
стеганограмм
разработал
П
.
Вайнер
в
теории
функций
имитации
.
В
стеганографии
функции
имитации
применяются
для
того
,
чтобы
скрыть
идентичность
сообщения
путем
изменения
его
статистических
свойств
.
Пусть
имеется
файл
А
,
который
состоит
из
символьных
строк
.
Обозначим
через
р
(t,
a, A)
вероятность
того
,
что
символ
а
находится
в
строке
t
файла
A
,
а
через
р
(
⋅
, a, A)
и
p(t,
⋅
, A)
—
независимые
вероятности
того
,
что
символ
а
или
строка
t
,
соответственно
,
существуют
в
A
.
Два
файла
А
и
B
будем
считать
статистически
эквивалентными
в
пре
-
делах
ε
,
если
|p(t,
⋅
, A) – p(t,
⋅
, B)| <
ε
для
всех
строк
t
,
длина
которых
меньше
чем
n
.
Определение
20.4
Функцией
имитации
n
-
го
порядка
будем
называть
такую
функцию
f
,
которая
в
ε
-
окрестности
выполняет
статистически
эквивалентное
преобразование
файла
А
в
файл
В
.
Таким
образом
,
если
p(t, A)
—
вероятность
появления
некоторой
строки
t
в
файле
А
,
то
функция
f
преобразует
файл
А
в
файл
В
так
,
что
для
всех
строк
t
длиной
меньше
n
выполняется
соотношение
|p(t, f(A)) –p(t, B)| <
ε
.
Можно
предложить
несколько
типов
функции
имитации
,
которые
,
в
зависимости
от
сложности
,
моделируются
регулярной
,
контекстно
-
свободной
или
рекурсивно
-
счетной
грамматиками
.
Стеганографические
преобразования
первого
типа
описываются
в
тер
-
минах
процедур
сжатия
информации
;
второго
—
контекстно
-
свободными
грамматиками
,
в
которых
скрываемые
биты
управляют
непротиворечивыми
продукциями
;
для
описания
функций
третьего
типа
применяется
аппарат
машин
Тьюринга
.
460
Глава
20.
Стеганография
Регулярные
функции
имитации
можно
смоделировать
с
помощью
схемы
кодирова
-
ния
по
Хаффману
.
Известно
,
что
любой
язык
обладает
некоторыми
статистическими
свойствами
.
Этот
факт
используется
многими
методами
сжатия
данных
.
Если
на
алфа
-
вите
Σ
задано
распределение
вероятностей
A
,
то
можно
воспользоваться
схемой
кодиро
-
вания
по
Хаффману
для
создания
функции
сжатия
с
минимальной
избыточностью
f
A
:
Σ→
{0,1}*
,
где
символ
*
используется
в
смысле
Σ
*=
∪
i
≥
0
{x
1
…x
i
|x
1
,…,x
i
∈Σ
}
.
Такую
функцию
можно
построить
на
основе
функции
сжатия
Хаффмана
:
G(x)=f
B
-1
(f
A
(x))
.
Таким
образом
,
секретный
файл
можно
сжать
по
схеме
Хаффмана
с
распределением
A
,
в
результате
чего
получится
файл
двоичных
строк
,
которые
могут
интерпретировать
-
ся
как
результат
операции
сжатия
некоторого
файла
с
распределением
B
.
Этот
файл
мо
-
жет
быть
восстановлен
с
применением
инверсной
функции
сжатия
f
B
-1
к
файлу
двоичных
строк
и
использоваться
в
дальнейшем
как
стеганограмма
.
Если
функции
f
A
и
f
B
-1
являют
-
ся
взаимно
однозначными
,
то
и
созданная
функция
имитации
будет
также
взаимно
одно
-
значна
.
Доказано
,
что
построенная
таким
образом
функция
подобия
оптимальна
в
том
смысле
,
что
если
функция
сжатия
Хаффмана
f
A
является
теоретически
оптимальной
и
файл
x
состоит
из
случайных
бит
,
то
взаимно
однозначная
функция
f
A
-1
(X)
имеет
наи
-
лучшую
статистическую
эквивалентность
к
А
.
Регулярные
функции
имитации
создают
стеганограммы
,
которые
имеют
заданное
статистическое
распределение
символов
,
однако
при
этом
игнорируется
семантика
по
-
лученного
текста
.
Для
человека
такие
тексты
выглядят
полной
бессмыслицей
с
грамма
-
тическими
ошибками
и
опечатками
.
Для
генерирования
более
осмысленных
текстов
ис
-
пользуются
контекстно
-
свободные
грамматики
(
КСГ
).
Контекстно
-
свободная
грамматика
определяется
упорядоченной
четверткой
<V,
Σ⊆
V,
П
, S
⊂
V\
Σ
>
,
где
V
и
Σ
—
соответственно
множества
переменных
и
терминальных
символов
,
П
—
набор
продукций
(
правил
вывода
),
а
S
—
начальный
символ
.
Продукции
подобны
правилам
подстановки
,
они
преобразуют
переменную
в
строку
,
состоящую
из
терминальных
или
переменных
символов
.
Если
с
помощью
правил
вывода
из
стартового
символа
можно
получить
последовательность
терминальных
символов
,
то
говорят
,
что
последовательность
получена
грамматикой
.
Такие
грамматики
называются
контекстно
-
свободными
,
т
.
к
.
любой
символ
можно
заменить
последовательностью
символов
,
не
об
-
ращая
внимания
на
контекст
,
в
котором
он
встретился
.
Если
для
каждой
строки
s
суще
-
ствует
только
один
путь
,
по
которому
s
может
быть
порождена
из
начального
символа
,
то
такая
грамматика
называется
однозначной
.
Однозначные
грамматики
могут
использоваться
в
качестве
апарата
для
стеганогра
-
фических
преобразований
.
Рассмотрим
грамматику
<{S,A,B,C},{A,…,Z, a,…,z},
П
,S>
,
где
каждой
возможной
продукции
приписана
некоторая
вероятность
:
П
={S
→
0.5
Alice
B, S
→
0.3
Bob B, S
→
0.1
Eve B, S
→
0.1
I A; A
→
0.3
am working, A
→
0.4
am lazy, A
→
0.4
am tired; B
→
0.5
is
С
, B
→
0.5
can cook; C
→
0.5
reading, C
→
0.1
sleeping, C
→
0.4
working}.