Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Сборник задач по дисциплине «Информатика». Методические указания к проведению практических занятий по дисциплине «Информатика», для студентов первого
.pdf
4.2. Выполнить моделирование процесса передачи сообщения (числа) secrb от бан-
кира к вкладчику с использованием цифровой подписи. Результаты расчѐтов оформить в виде таблицы.
Домашняя работа.
Выполнить моделирование процесса передачи сообщения (числа) secrv от вкладчика к
банкиру. Значение числа secrv принять равным на единицу большим последней цифры зачѐтки.
Простые числа q2, p2 выбрать самостоятельно. Таблица простых чисел приведена в
Приложении 2.
61

Практическая работа № 11
«Стеганографические методы защиты информации»
1. Цель работы
Получить представление о методах скрытой передачи информации.
2. Связь с другими темами практических работ
Данная практическая работа опирается на практические работы «Системы счисления»,
«Логические основы работы ЭВМ» и позволяет получить представление о скрытой передаче
информации в младших битах графического файла.
3. Теоретические сведения и расчѐтные формулы
Стеганография — это наука, изучающая такие методы организации передачи (и хра-
нения) секретных сообщений, которые скрывают сам факт передачи информации.
Криптография превращает открытый текст в нечитаемый набор символов (криптограм-
му). Криптограмма передаѐтся по открытому каналу связи, и защита информации держится
на сложности подбора секретного ключа. Факт передачи криптограммы не скрывается от
противника.
Стеганография нацелена на сокрытие факта передачи информации. Сообщение (его на-
зывают вложением) помещают (внедряют) в контейнер, свойства которого практически не
изменяются при внедрении данных.
Все контейнеры можно разделить на контейнеры-оригиналы и контейнеры-результаты.
Контейнер-оригинал (или «пустой» контейнер) — это контейнер, который не содержит
скрытой информации. Контейнер-результат (или «заполненный» контейнер, стего) — это
контейнер, в который внедрена секретная информация. Под ключом понимается секретный
элемент, который определяет порядок занесения (внедрения) сообщения в контейнер.
Число разнообразных контейнеров и методов внедрения вложений велико. Многие
приѐмы сокрытия информации основываются на «обмане» органов чувств человека. При сокрытии информации в графических и видео файлах изменения кадров столь незначительны,
что глаз человека не регистрирует эти изменения.
При сокрытии информации в текстовых документах умышленно выбирают цвета символов и бумаги одинаковыми (скажем, зелѐные). В электронных документах используют невидимые (непечатаемые) символы (пробел, табуляцию).
В звуковых Midi-файлах незначительно изменяют длительности звучания нот и за счѐт
этого скрывают передаваемое сообщение. При вложении информации в аудио файлы изменения контейнера не должны регистрироваться слухом человека.
Однако такие требования к степени сокрытия информации могут использоваться лишь в
простейших случаях. При передаче ценной конфиденциальной информации сделанные вложения не должны обнаруживаться даже с помощью специальных программно-аппаратных
средств и профессиональных алгоритмов стегоанализа (например, с помощью статистического анализа контейнеров, спектрального анализа и т.п.).
Упрощѐнно идею стеганографии иллюстрирует следующий рисунок. Рисунок нужно
трактовать так. Добавление скрываемого текста практически не изменяет рисунок. В данном
случае контейнером служит графическое изображение.
62

Пиксель 1
Пиксель 2
Пиксель 3
R G B R G B R G B
Байт
1
Байт
2
Байт
3
Байт
4
Байт
5
Байт
6
Байт
7
Байт
8
Байт
9 0 0 0 0 0 0 1 1
…
0 0 0 0 0 0 1 1 Биты
Обычно размеры контейнера в несколько раз превышают объем встраиваемых в них
сообщений. Колоссальные объѐмы HTML-страниц, графических, текстовых, звуковых и видео файлов, хранящихся на серверах Интернета, позволяют практически неконтролируемо и
незаметно обмениваться секретной информацией между пользователями, находящимися в
разных точках земного шара.
Рассмотрим простейший учебный пример.
Пример 1.
Имеется последовательность двоичных чисел (8 байт), отображающих в цифровом виде
некоторый графический образ в формате BMP:
10100001-10101110-11010110-11001110-
11000111-11001010-11010110-11101101
Необходимо скрыть в контейнере русскую букву «А», представленную с помощью кодовой таблицы CP-1251.
Решение.
Десятичное представление буквы «А» имеет вид 192D, а двоичное — 11000000B. Модифицируя имеющийся блок двоичных чисел (контейнер), поместим в контейнер двоичное
число 11000000В. При этом 8 бит файла-сообщения записываются в 8 чисел файлаконтейнера:
10100000-10101110-11010110-11001110-11000110-11001010-11010111-11101101
Эта же процедура внедрения скрытой информации иллюстрируется следующей таблицей. Заметим, что здесь буква «А» записана, начиная с младших битов.
Изучить содержимое графических контейнеров можно с помощью редактора памяти
HEdit32. В дальнейшем рассмотрение принципов стеганографии будет производиться с помощью файлов, сформированных программой Courier. Особенностью этой программы является внедрение данных в два младших бита.
Для примера ниже показано содержимое файла с изображением чѐрного прямоуголь-
ника размером 10х4 пикселя. Первые строки (54 байт) содержат служебную информацию
(заголовок). Так как прямоугольник чѐрного цвета, то байты, отображающие цвет прямоугольника, содержат нули (00).
В левом столбце указаны восьмиразрядные шестнадцатеричные числа – адреса ячеек
памяти. Правее приведено содержимое ячеек памяти в шестнадцатеричной системе счисления.
63

Нужно обратить внимание на следующую деталь. При статическом распределении опе-
ративной памяти (которое уже не используется в современных ЭВМ) адреса операндов будут
совпадать с адресами ячеек памяти ОЗУ. При динамическом распределении памяти физические адреса определяются операционной системой в зависимости от наличия свободного
места в ОЗУ.
В дальнейшем будем использовать термин «ячейка памяти», понимая под этим адрес
операнда в исходном файле, не забывая, что при динамическом распределении памяти физический адрес в ОЗУ будет иным.
На следующем рисунке показана память графического контейнера, в который записана
буква Z.
.
В первых строчках файла содержится служебная информация (ячейки 0…2FH). Ниже
приведѐн фрагмент памяти, где выделены ячейки памяти, в которых размещена скрываемая в
контейнере буква Z.
64

Двоичная СС
01
01
10
10
Шестнадцатеричная СС
01
01
02
02
Адреса шестнадцатеричные
3B
6D
6A
67
Двоичная СС
01
01
00
10
Шестнадцатеричная СС
01
01
00
02
Адреса шестнадцатеричные
3B
6D
6A
67
Двоичная СС
01
01
00
11
Шестнадцатеричная СС
01
01
00
03
Адреса шестнадцатеричные
3A
6C
69
66
Дадим пояснение к полученному результату.
Десятичный код буквы Z в кодировке CP-1251 равен 90D, что эквивалентно двоичному
числу 01011010B.
Буква Z скрыта в дампе памяти последовательностью из четырѐх чисел: 10B → 02H,
10B → 02H, 01B → 01H, 01B → 01H.
Этот результат получен следующим образом: берут группы по 2 бита из двоичного кода буквы, начиная с младших (правых) разрядов, и заменяют ими 2 младших бита в соответствующих числах исходного файла-контейнера.
Процесс разбиения кода буквы Z на пары битов и порядок их размещения в памяти с
помощью программы Courier иллюстрирует следующая таблица:
В соответствии с разработанным автором программы Courier алгоритмом младший
(правый) байт будет расположен по адресу 67H, второй байт расположен по адресу 6AH,
третий – по адресу 6DH. Старший байт будет храниться на некотором отдалении от этих трѐх
байтов, в ячейке по адресу 3BH.
Рассмотрим ещѐ один пример.
Пример 2.
Предположим, что требуется скрыть в файле с изображением чѐрного прямоугольника
10x4 латинские буквы RSX.
Решение.
Вначале приведѐм содержимое памяти начинѐнного контейнера, а затем дадим комментарии к полученному результату.
На рисунке выделено полужирным шрифтом содержимое двенадцати ячеек, в которых
скрыто 24 бита информации (три буквы по восемь бит).
Сделаем анализ памяти для каждой буквы в отдельности.
Определим по кодовой таблице CP-1251 десятичный код заглавной латинской буквы R
и переведѐм это число в двоичную систему счисления:
82D → 01010010B.
После разбиения исходного байта пары битов перемещаются в ячейки памяти, адреса
которых указаны в следующей таблице.
Аналогичные операции выполним для буквы S:
83D → 01010011B
65

Двоичная СС
01
01
10
00
Шестнадцатеричная СС
01
01
02
00
Адреса шестнадцатеричные
39
6B
68
65
1 группа
битов
(СЗР)
2 группа
битов
3 группа
битов
4 группа
битов
(МЗР)
1 буква
FB
12D
12A
127
2 буква
FA
12C
129
126
3 буква
F9
12B
128
125
Дадим пояснения к порядку размещения в контейнере буквы X:
Необходимо обратить внимание на то, что файл с изображением белого квадрата (или
прямоугольника) содержит шестнадцатеричные числа FF.
Для квадрата 10х10 пикселей адреса размещения скрываемой информации с помощью
программы Courier приведены в следующей таблице.
Рассмотрим ещѐ один способ скрытой передачи информации в графическом файле
формата BMP. Структура файла показана на рисунке.
число 66Н, расположенное по адресу 02Н, говорит о том, что размер данного файла равен
102 байта. Это значение получено путѐм перевода шестнадцатеричного числа 66Н в десятичную систему счисления. Число 36Н, записанное по адресу 0AH, показывает, с какого адреса
начинается запись картинки (смещение). По адресу 12H указана ширина рисунка, выраженная в пикселях. В данном случае число пикселей равно 5. Высота рисунка указывается в
ячейке 16Н (для выбранного рисунка 3 пикселя). В ячейке 1AH указано число плоскостей на
рисунке – 1. По адресу 1СН указана глубина цвета. В данном случае число 18Н говорит о
том, что для формирования цветовых оттенков этого рисунка используется 24 бита. В ячейке
22Н указывается объем памяти, необходимый для запоминания битовой карты (объем рисунка без служебной информации).
адреса ячейки) ведѐтся в обратном порядке B-G-R. Таким образом, в самую первую ячейку
битовой карты (адрес 36) заносится синяя составляющая B=00. В ячейку 37 записывается зе-
88D → 01011000B
Два байта 42H и 4DH,
представленные в шестнадцатеричной системе счисления,
указывают на то, что формат
данного файла BMP. В соответствии с кодовой таблицей
CP-1251 эти числа после декодирования дают латинские
буквы BM (то есть, графический формат Bit Map).
Шестнадцатеричное
Приведѐнный файл содержит рисунок, показанный ниже.
Рисунок состоит из 15-ти пикселей (прямоугольник 5х3).
Одиннадцать пикселей белые, пиксель в левом верхнем углу
прямоугольника чѐрный (1), в левом нижнем углу красный (2), в
правом нижнем – синий (3) и в верхнем правом – синий (4).
Запись битовой карты в память начинается с левого нижнего угла рисунка. Красный пиксель (2) описывается составляющими R=255, G=0, B=0. Запись в память (при увеличении
66

лѐная составляющая красного пикселя G=00, а в ячейку 38 красная составляющая R=FF (см.
следующий рисунок). На рисунке красный пиксель обозначен цифрой 2.
Следующие три пикселя в нижней строке белые. Поэтому очередные девять байт име-
ют максимальное значение FFH (255D). В ячейках 42, 43 и 44 размещаются три байта зелѐного пикселя (цифра 3).
В ячейке 45 размещѐн байт 00 – это дополнение, предназначенное для выравнивания
строк дампа памяти. Эта ячейка избыточная, она не несѐт никакой полезной информации, но
еѐ содержимое передаѐтся вместе с рисунком.
Следующие пять пикселей рисунка (вторая строка) – белые. Эти пиксели описываются
с помощью пятнадцати байт FFH, которые размещены в ячейках памяти 46Н…54Н. В ячейке
55Н помещается выравнивающий байт 00.
В ячейках 56, 57 и 58 размещаются байты 00 – это цветовые компоненты чѐрного пик-
селя. Далее на рисунке размещены 3 белых пикселя верней строки. Им соответствуют девять
байт FFH.
В ячейках 62, 63 и 64
размещаются цветовые составляющие синего пикселя.
Ячейка 65 используется
для выравнивания. Три дополнительных байта обозначены
цифрой 5.
Дополнительные ячейки
появляются в тех случаях, когда произведение числа пиксе-
лей на три некратно числу 4. Другими словами, длина данных, описывающих отдельную
строку рисунка, должна быть кратна четырѐм.
Именно дополнительные байты, предназначенные для выравнивания строк, могут быть
использованы для скрытой передачи информации в графическом файле.
67

Задача
Дамп памяти
1.
2.
3.
4. Задания для выполнения практической работы
«Стеганографические методы защиты информации»
4.1. Извлечь информацию из графических контейнеров, сформированных с помощью
программы Courier.
68

Задача
Дамп памяти
4.
5.
6.
7.
69

Задача
Дамп памяти
8.
9.
10.
11.
Задача
Дамп памяти
12.
13.
70
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
