Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Сборник задач по дисциплине «Информатика» для ВУЗов. Методические указания к проведению практических занятий по дисциплине «Информатика», для студенто

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
81
Практическая работа 12
«Стеганографические методы защиты информации»
1. Цель работы
Получить представление о методах скрытой передачи информации.
2. Связь с другими темами практических работ
Данная практическая работа опирается на практические работы
«Системы счисления», «Логические основы работы ЭВМ» и позволяет по-
лучить представление о скрытой передаче информации в младших битах графического файла.
3. Теоретические сведения и расчётные формулы
Стеганография — это наука, изучающая такие методы организации
передачи (и хранения) секретных сообщений, которые скрывают сам факт передачи (или хранения) информации.
Криптография превращает открытый текст в нечитаемый набор сим­волов (криптограмму). Криптограмма передаётся по открытому каналу связи, и защита информации держится на сложности подбора секретного ключа. Факт передачи криптограммы не скрывается от противника.
Стеганография нацелена на сокрытие фа Сообщение (его называют вложением) помещают (внедряют) в контейнер, свойства которого практически не изменяются при внедрении данных.
Все контейнеры можно разделить на контейнеры-оригиналы и кон­тейнеры-результаты. Контейнер-оригинал (или «пустой» контейнер) — это контейнер, который не содержит скрытой информации. Контейнер­результат (или «заполненный» ко рый внедрена секретная информация. Под ключом понимается секретный элемент, который определяет порядок занесения (внедрения) сообщения в контейнер.
Число разнообразных контейнеров и методов внедрения вложений ве­лико. Многие приёмы сокрытия информации основываются на «обмане» органов чувств человека. При сокрытии информации в графических и ви­део файлах и регистрирует эти изменения.
При сокрытии информации в текстовых документах умышленно вы-
зменения кадров столь незначительны, что глаз человека
нтейнер, стего) — это ко
кта пер
едачи информации.
нтейнер, в кото-
не
82
бирают цвета символов и бумаги одинаковыми (скажем, зелёные). В элек­тронных документах используют невидимые (непечатаемые) символы (пробел, табуляцию).
В звуковых Midi-файлах незначительно изменяют длительности зву­чания нот и за счёт этого скрывают передаваемое сообщение. При вложе­нии информации в аудио файлы изменения контейнера не должны регист­рироваться слухом человека.
Однако такие треб
ваться лишь в простейших случаях. При передаче ценной конфи-
пользо
ования к степени сокрытия информации могут ис-
денциальной информации сделанные вложения не должны обнаруживаться даже с помощью специальных программно-аппаратных средств и профес­сиональных алгоритмов стегоанализа (например, с помощью статистиче­ского анализа контейнеров, спектрального анализа и т.п.).
Упрощённо идею стеганографии иллюстрирует следующий ри
Рисунок
нужно трактовать так. Добавление скрываемого текста практиче-
сунок.
ски не изменяет рисунок. В данном случае контейнером служит графиче­ское изображение.
Обычно размеры контейнера в несколько раз превышают объем встраиваемых в них сообщений. Колоссальные объёмы HTML-страниц, графических, текстовых, звуковых и видео файлов, хранящихся на серверах Интернета, позволяют практически неконтролируемо и незаметно обмени­ваться секретной информацией между пользователями, находящимися в разных точках земного шара.
Рассмотрим простейший учебный пример.
Пример 1.
Имеется последовательность двоичных чисел (8 байт), отображающих
в цифровом виде некоторый графический образ в формате BMP:
10100001-10101110-11010110-11001110-
11000111-11001010-11010110-11101101
Необходимо скрыть в контейнере русскую букву «А», представлен-
ную с помощью кодовой таблицы CP-1251.
Решение.
Десятичное представление буквы «А» имеет вид 192D, а двоичное
83
11000000B. Модифицируя имеющийся блок двоичных чисел (контейнер),
поместим в контейнер двоичное число 11000000В. При этом 8 бит файла­сообщения записываются в 8 чисел файла-контейнера:
10100000-10101110-11010110-11001110-11000110-11001010-11010111-11101101
Эта же процедура внедрения скрытой информации иллюстрируется следующей таблицей. Заметим, что здесь буква «А» записана, начиная с младших битов.
Исследовать содержимое графических контейнеров можно с помо­щью редакторов памяти (например, Hex Editor Neo 6.11, HEdit32). В даль­нейшем рассмотрение принципов стеганографии будет производиться с помощью файлов, сформированных программой Courier. Особенностью этой программы является внедрение данных в два младших бита.
Для примера ниже показано содержимое файла с изображением чёр­ного прямоугольника размером 10х4 пикселя. Первые строки (54 байт) со­держат служебную информацию (заголовок). Так
как прямоугольник чёр-
ного цвета, то байты, отображающие цвет прямоугольника, содержат нули
(00).
В левом столбце указаны восьмиразрядные шестнадцатеричные чис­ла – адреса ячеек памяти. Правее приведено содержимое ячеек памяти в шестнадцатеричной системе счисления.
Нужно обратить внимание на следующую деталь. При статическом распределении оперативной памяти (которое уже не используется в совре­менных ЭВМ) адреса операндов будут совпадать с адресами ячеек памяти ОЗУ. При динамическом расп
ределении памяти физические адреса опреде­ляются операционной системой в зависимости от наличия свободного мес­та в ОЗУ.
В дальнейшем будем использовать термин «ячейка памяти», пони­мая под этим адрес операнда в исходном файле, не забывая, что при дина­мическом рас
пределении памяти физический адрес в ОЗУ будет иным.
84
На следующем рисунке показана память графического контейнера, в который записана буква Z.
.
В первых строчках файла содержится служебная информация (ячей­ки 0…2FH). Ниже приведён фрагмент памяти, где выделены ячейки памя­ти, в которых размещена скрываемая в контейнере буква Z.
85
Дадим пояснение к полученному результату.
Десятичный код буквы Z в кодировке CP-1251 равен 90D, что экви­валентно двоичному числу 01011010B.
Буква Z скрыта в дампе памяти последовательностью из четырёх чи­сел: 10B → 02H, 10B → 02H, 01B → 01H, 01B → 01H.
Этот результат получен следующим образом: берут группы по 2 бита из двоичного кода буквы, начиная с младших (правых) разрядов, и заменя­ют ими 2 младших бита в соответств
ующих числах исходного файла-
контейнера.
Процесс разбиения кода буквы Z на пары битов и порядок их разме­щения в памяти с помощью программы Courier иллюстрирует следующая таблица:
Двоичная СС 01 01 10 10 Шестнадцатеричная СС 01 01 02 02 Адреса шестнадцатеричные 3B 6D 6A 67
В соответствии с разработанным автором программы Courier алго­ритмом младший (правый) байт будет расположен по адресу 67H, второй байт расположен по адресу 6AH, третий – по адресу 6DH. Старший байт будет храниться на некотором отдалении от этих трёх байтов, в ячейке по адресу 3BH.
Рассмотрим ещё один пример.
Пример 2.
Предположим, что требуется скрыть в файле с изображением чёрно­го прямоугольника 10x4 пикселя латинские буквы RSX.
Решение.
Вначале приведём содержимое памяти начинённого контейнера, а затем дадим комментарии к полученному результату.
86
На рисунке выделено полужирным шрифтом содержимое двенадца­ти ячеек, в которых скрыто 24 бита информации (три буквы по восемь бит).
Скрытая информация для изображения прямоугольника 10х4 пиксе­ля размещается в ячейках с адресами, указанными в следующей таблице.
1 группа
битов (СЗР)
2 группа
битов
3 группа
битов
4 группа
битов (МЗР)
1 буква 3B 6D 6A 67 2 буква 3A 6C 69 66 3 буква 39 6B 68 65
Сделаем анализ дампа памяти.
Определим по кодовой таблице CP-1251 десятичный код заглавной латинской буквы R и переведём это число в двоичную систему счисления:
82D 01010010B.
После разбиения исходного байта на четыре части каждая пара би­тов помещается в ячейки памяти, адреса которых указаны в следующей таблице.
Двоичная СС 01 01 00 10 Шестнадцатеричная СС 01 01 00 02 Адреса шестнадцатеричные 3B 6D 6A 67
Аналогичные операции выполняются для букв S и Х:
83D 01010011B, 88D 01011000B
Необходимо обратить внимание на то, что файл с изображением бе­лого квадрата (или прямоугольника) содержит, в основном, шестнадцате­ричные числа FF.
Для квадрата 10х10 пикселей адреса размещения скрываемой ин-
формации с помощью программы Courier приведены в следующей таблице.
1 группа
битов (СЗР)
2 группа
битов
3 группа
битов
4 группа
битов (МЗР)
1 буква FB 12D 12A 127 2 буква FA 12C 129 126 3 буква F9 12B 128 125
87
Рассмотрим ещё один способ скрытой передачи информации в гра­фическом файле формата BMP. Структура файла показана на рисунке [15].
Два байта 42H и 4DH, представленные в шестнадцатеричной системе счисления, указывают на то, что формат данного файла BMP. В соответст­вии с кодовой таблицей CP-1251 эти числа после декодирования дают ла­тинские буквы BM (то есть, графический формат Bit Map).
Шестнадцатеричное числ
т о том, что размер данного файла равен 102 байта. Это значение полу-
ри
о 66Н, распол
оженное по ад
ресу 02Н, го
во-
чено путём перевода шестнадцатеричного числа 66Н в десятичную систему счисления. Число 36Н, записанное по адресу 0AH, показывает, с какого адреса начинается запись картинки (смещение). Ячейка 0EH содержит ин­формацию о длине информационного подзаголовка (40 байт). По адресу 12H указана ширина ри
сунка, выраженная в пикселях. В данном случае число пикселей равно 5. Высота рисунка указывается в ячейке 16Н (для выбранного рисунка 3 пикселя). В ячейке 1AH указано число плоскостей на рисунке – 1. По адресу 1СН указана глубина цвета. В данном случае число 18Н говорит о том, что для формирования цветовых оттенков этого рисун­ка испо
льзуется 24 бита. В ячейке 22Н указывается объем памяти, необхо­димый для запоминания битовой карты (объем рисунка без служебной ин­формации).
Приведённый файл содержит рисунок, показанный ниже.
Рисунок состоит из 15-ти пикселей (прямоугольник 5х3). Одиннадцать пиксе­лей белые, пиксель в левом верхнем углу прямоугольника чёрный (1), в левом ниж­нем углу красный (2), в правом нижнем синий (3) и в верхнем правом – синий (4).
Запись битовой карты в память на­чинается с левого нижнего угла рисунка. Красный пиксель (2) описывается состав-
88
ляющими R=255, G=0, B=0. Запись в память (при увеличении адреса ячей­ки) ведётся в обратном порядке B-G-R. Таким образом, в самую первую ячейку битовой карты (адрес 36) заносится синяя составляющая B=00. В ячейку 37 записывается зелёная составляющая красного пикселя 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. Другими словами, длина дан­ных, описывающих отдельную строку рисунка, должна быть кратна четы­рём.
Именно дополнительные байты, предназначенные для выравнивания строк, могут быть использованы для ск
рытой передачи информации в гра-
фическом файле.
4. Задания для выполнения практической работы
«Стеганографические методы защиты информации»
4.1. Извлечь информацию из графических контейнеров, сформиро-
ванных с помощью программы Courier.
Задача
1.
Дамп памяти
89
Таблица 12.1
2.
3.
90
Задача
4.
Дамп памяти
5.
6.
7.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]