Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Защита информации (2010)_специалисты.doc
Скачиваний:
33
Добавлен:
01.05.2025
Размер:
6 Мб
Скачать
☆

Лабораторная работа № 6. Сокрытие сообщения методом знаков одинакового начертания

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

К таким символам относятся: «а», «А», «В», «е», «Е», «К», «М», «Н», «о», «О», «р», «Р», «с», «С», «Т», «у», «х», «Х». Так, например, буква «А» в русском написании имеет ASCII-код 192, а в латинском – 65.

Пусть скрываемое сообщение содержит только символы, которые могут быть закодированы таблицей ASCII (русский/ латинский текст, цифры, знаки препинания). Таблицу ASCII (правда не для русской, а для западноевропейской раскладки клавиатуры можно посмотреть в окне команды MS Word Вставка/Символ/Обычный текст). Каждый символ в этом случае кодируется числом от 0 до 255 или в двоичном виде – одним байтом (8 двоичных знаков).

Пусть в качестве контейнера используется русский текст, не содержащий отдельных символов латиницы. Если текст содержит отдельные латинские слова, при стеганографическом кодировании/декодировании они игнорируются (пропускаются). Далее следует просматривать подряд символы одинакового начертания в тексте, и если требуется закодировать значение 0, то символ не менять, а если следует закодировать 1 – изменить символ на символ того же начертания латинского алфавита.

Пример: Пусть следует скрытно передать число 7, используя в качестве контейнера текст «Хорошо в деревне летом!».

Числу 7 соответствует ASCII-код 55 и двоичная последовательность 00110111.

Выделим в тексте знаки одинакового начертания (жирным шрифтом):

Хорошо в деревне летом!

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

В примере для кодирования сообщения потребуется всего 8 знаков одинакового начертания, будем перебирать эти знаки один за другим подряд с начала сообщения, заменяя латиницей те из них, которые соответствуют единицам двоичной последовательности (рис.27). На рис.27 замененные символы выделены подчеркиванием.

Контейнер

Х

о

р

о

ш

о

в

д

е

р

е

в

н

е

л

е

т

о

м

!

Стеганограмма

0

0

1

1

0

1

1

1

Контейнер со стего

Х

о

p

o

ш

о

в

д

e

p

e

в

н

е

л

е

т

о

м

!

Рис.27. Пример применения метода символов одинакового начертания

Данный метод не лишен недостатков, так, факт передачи секретного сообщения невозможно скрыть при просмотре текста контейнера в редакторе MS Word.

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

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

  • шрифт Algerian: Хоpoшо в дepeвне летом!

  • шрифт Blackadder ITC: Хоpoшо в дepeвне летом!

  • шрифт Brush Script MT: Хоpoшо в дepeвне летом!

Таким образом, метод не отличается стойкостью.

Задание

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

Указания к выполнению лабораторной работы

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

Для выполнения лабораторной работы рекомендуется воспользоваться файлом «Стеганография.xlsm», позволяющим производить анализ контейнера и стеганограммы.

Технология выполнения задания

Задание 1. Выбрать стеганограмму, контейнер и занести стеганограмму в контейнер.

  1. Придумать текст секретного сообщения (от 7 до 15 символов).

  2. Получить двоичный код стеганограммы:

  • Открыть файл «Стеганография.xlsm», перейти на вкладку Файл/Сведения и включить выполнение макросов.

  • Выбрать вкладку Главная, перейти на лист «Сообщение» и занести в столбец С по одному символы сообщения.

  • В столбце D с помощью текстовой функции КОДСИМВ() будут отображены ASCII-коды символов сообщения.

  • В столбце E с помощью инженерной функции ДЕС.В.ДВ() будут отображены восьмизначные двоичные последователь­ности, соответствующие символам сообщения (рис.28).

Рис.28. Пример кодирования стеганограммы

  1. Выбрать текст сообщения-контейнера, состоящий из 3-5 абзацев (в зависимости от длины стеганограммы, должен быть примерно в 30-40 раз длиннее), не содержащий отдельных латинских символов.

  2. Загрузить выбранный текст в книгу «Стеганография.xlsm» с целью его исследования на наличие символов с одинаковым написанием:

  • Скопировать текст, перейти на лист «Загрузить текст» и выбрать ячейку B3. Установить курсор мыши в строку формул, вставить в нее скопированный текст и нажать Enter. Затем нажать кнопку Загрузить текст.

  • После загрузки текста контейнера будет открыт лист «Стего». Под символами стего-контейнера должны отображаться: 0 – если символ одинаково начертания набран в русскоязычной раскладке клавитауры и 1 – если он набран латиницей. Под символами, начертание которых различно в русском и латинском алфавитах, ничего не отображается. Первоначально все отображаемые цифры должны быть нулями.

ПРИМЕЧАНИЕ: Если в загруженном тексте встретились отдельные символы, которым соответствует 1 (например. вследствие опечатки), следует заменить такой символ на русский.

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

  1. На листе «Стего» начиная с начала текста контейнера заменить символы одинакового начертания так, чтобы под текстом отобразилась двоичная последовательность, соответствующая первому символу стеганограммы (рис.29):

Рис.29. Пример занесения в контейнер буквы «П» стегано­граммы, которой соответствует последовательность 11001111

  • Если в последовательности стоит 0, то символ не изменяется;

  • Если в последовательности стоит 1 – символ меняется на латинский;

  • Для удобства последний символ восьмибитовой последовательности (восьмой символ 0/1) можно выделять цветом.

  1. Продолжая изменять символы контейнера, аналогичным образом занести в него все символы стеганограммы.

  2. После того, как все символы стеганограммы занесены в контейнер, сохранить его:

  • Перейти на лист «Выгрузить текст стего» и нажать кнопку Получить стего.

  • Выбрать ячейку B3 и скопировать ее, затем создать новый документ MS Word и вставить в него текст из ячейки.

  • Сохранить файл в текстовом формате, выбрав в окне сохранения тип файла Обычный текст (*.txt).

Задание 2. Извлечь стеганограмму из заполненного контейнера.

  1. Обменяться заполненным контейнером с партнером.

  2. Открыть полученный контейнер, содержащий стеганограмму партнера, в MS Word:

  • Оценить степень заполнения контейнера, проанализировав слова, помеченные как ошибки правописания.

  • Просмотреть измененные символы в контейнере, выполнив команду Главная/Выделить/Выделить все, а затем выбрав из списка шрифтов на вкладке Главная шрифт, существенно отличающийся от текущего по написанию и не имеющий рядом с названием примера написания русских букв (например, CasTELLAR, Curl или другой). Замененные буквы должны выделиться этим шрифтом, формат русского текста останется без изменения.

  • Скопировать текст заполненного стего-контейнера.

  1. Провести анализ заполненного стего-контейнера:

  • Открыть книгу «Стеганография.xlsm», включив макросы. При необходимости очистить данные с листа «Стего» с помощью кнопки Очистить, затем загрузить скопированный текст заполненного стего-контейнера.

  • На листе «Стего» проанализировать вставленный текст контейнера. Если текст содержит латинские слова (но не отдельные символы), выделить соответствующие им части двоичной последовательности цветом с целью дальнейшего исключения из рассмотрения.

  • Выписать с листа «Стего» двоичную последовательность, порциями по 8 символов (можно заносить в столбец на лист «Сообщение»). Последовательности, начинающиеся с символа 0 при вводе в ячейки MS Excel следует предварять знаком одинарной кавычки. Для удобства на листе «Стего» можно выделять цветом конечные символы восьмибитовых последовательностей.

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

  1. Преобразовать полученную последовательность байт в символы стеганограммы:

  • Перевести каждый байт в десятичное число с помощью инженерной функции ДВ.В.ДЕС();

  • Рассматривая полученные десятичные числа как ASCII-коды символов, получить для каждого из них соответствующий символ с помощью текстовой функции СИМВОЛ().

  • Выписать полученный скрытый текст.

  1. Показать результаты выполнения лабораторной работы преподавателю.

Контрольные вопросы:

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

(Метод символов одинакового начертания позволяет кодировать только два состояния: 0 – символ не изменен, 1 – символ изменен)

2. Какие функции MS Excel могут быть использованы для перевода секретного сообщения в двоичный вид и обратного преобразования?

(Текстовые функции КОДСИМВ() и СИМВОЛ(), позволяющие получить ASCII-код символа и выдать символ с заданным кодом; инженерные функции ДЕС.В.ДВ() и ДВ.В.ДЕС(), осуществляющие перевод из одной системы счисления в другую)

3. Каков основной недостаток стеганографического метода символов одинакового начертания?

(Метод скрытия не является стойким, поскольку факт изменения текста контейнера легко установить с помощью средства проверки орфографии или переформатирования текста в MS Word)