Grishunov Stepan Sergeevich, lecturer, stepangrishunov@yandex. ru, Russia, Kaluga, KB BMSTU named after N.E. Bauman (National Research University)
УДК 519.688
СТЕГАНОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ
Н.В. Воронцова, И.В. Миляева
Рассмотрен процесс защиты информации методом стеганографии. Использован метод замены битов в сэмплах. Стеганографические методы защиты информации используются при изучении курса «Криптографические средства защиты информации».
Ключевые слова: стеганография, метод замены битов в сэмплах, защита информации, программа.
Передача информации на предприятии является достаточно важным и непростым процессом. Сегодня в основном для этого применяются достаточно надежные криптографические приложения, что само по себе является большим скачком по сравнению с прошлыми годами. Однако, заниматься криптографией можно только с разрешения ФСО. Но, тем не менее, эти приложения не являются абсолютно надежными и при перехвате злоумышленником могут быть вскрыты. Конечно же, напрашивается переход на качественно новый уровень - создание приложения, которое необходимо разработать таким образом, чтобы персонал смог перестроиться и работать с большей эффективностью. Идея данного приложения заключается в том, что секретная информация помещается в специальный контейнер, который передается через сети предприятия, таким образом, при перехвате злоумышленником контейнера, он не будет подозревать о наличии в нем секретного сообщения. Данное приложение можно установить на любом персональном компьютере и обмениваться информацией.
С учетом описанной выше предметной области можно определить следующие задачи, стоящие перед данным приложением:
необходимо предусмотреть возможность ввода данных, которые необходимо передать, с учетом различных буквенных регистров, а также наличие в нашем сообщении цифр, поскольку данные могут передаваться не только в виде фраз, но и носить цифровой характер;
данные, которые будут передаваться, должны быть помещены в контейнер, и отсюда вытекает условие выбора контейнера: необходимо реализовать возможность пользователю самому выбирать контейнер для передачи, поскольку один и тот же контейнер может вызвать подозрения у злоумышленника;
Поскольку контейнер будет передаваться из одного отдела в другой. Необходимо реализовать как встраиваемость сообщения в контейнер, так и извлечение сообщения из контейнера.
Для встраивания секретной информации в другую информацию и для ее извлечения используется стегосистема. Она представлена на рис. 1 и состоит из элементов [1] (рис. 1).
Прекодер, который выполняет начальную обработку скрытого сообщения и приводит его к виду, удобному для встраивания сообщения в контейнер, в который будет спрятано сообщение. Предварительная обработка часто выполняется с использованием ключа K для повышения секретности встраивания. Далее сообщение «вкладывается» в контейнер, например, путем модификации младших значащих бит. Ухо человека подобно низкочастотному фильтру, пропускающему мелкие детали и небольшие изменения, которые неизбежны, не будут слышны.
86
Рис. 1. Структурная схема стегосистемы, как системы связи
Стеганодекодер - устройство, предназначенное для осуществления вложения скрытого сообщения в другие данные с учетом их модели.
Устройство выделения встроенного сообщения.
Стеганодетектор - устройство, в котором происходит обнаружение сообщения в возможно измененном сообщении. Это изменение может появиться из-за ошибок в канале связи, операций обработки сигнала, преднамеренных атак нарушителей. Однако такой подход не учитывает двух факторов: неслучайного характера сигнала контейнера и требований по сохранению его качества. Их учет позволит построить более эффективные стегосистемы.
Различают стеганодетекторы, предназначенные для обнаружения факта наличия сообщения и устройства, предназначенные для выделения этого сообщения (стега-нодекодеры). В первом случае возможны детекторы с жесткими (да/нет) или мягкими решениями. Для вынесения решения о наличии/отсутствии ЦВЗ удобно использовать такие меры, как расстояние по Хэммингу, либо взаимную корреляцию между имеющимся сигналом и оригиналом. Если исходного сигнала нет, то в дело вступают более тонкие статистические методы, основанные на построении моделей исследуемого класса сигналов.
Декодер - устройство, восстанавливающее скрытое сообщение.
Как показано на рис. 1, в стеганосистеме происходит объединение контейнера и встраиваемого сообщения так, чтобы они не могли быть различимы для посторонней программы или взгляда человека. В качестве контейнера может выступать, например, музыкальный файл, в который будет «вшит» текст с секретной информацией [2].
Метод замены битов в сэмплах наиболее простой в реализации и, к тому же, самый «незаметный» из всех, так как файл не хранит избыточной информации, и метод не нарушает правила контейнера (то есть, не нарушается структура файла, он прекрасно открывается проигрывателями на компьютере или на плеере). Данный метод применим лишь к файлам с большим количеством контейнеров, к примеру, его нельзя применить к такому формату, как MP3, так как изменение в таком файле всего одного бита в двух и более байтов приведет к неминуемой порче данных. Это связано с тем, что MP3 использует очень сильное сжатие данных, чего WAV не делает.
При рассмотрении WAV файла в шестнадцатеричном редакторе можно увидеть следующее (рис. 2).
52 49 46 46 24 40 01 00 57 41 56 45 66 6D 74 20 [email protected]
10 00 00 00 01 00 02 00 11 2В 00 00 44 АС 00 00 .........+..D...
04 00 10 00 64 61 74 61 00 40 01 00 00 00 00 00 ....data.@......
Рис. 2. Структура заголовка WAV файла 87
Всё что идёт до слова «Data» является заголовком. Сама же секция данных начинается после слова «Data» Эта секция содержит в себе все WAV сэмплы. Это означает, что остальная часть файла - целиком аудио данные. Небольшие изменения в сэмплах можно с трудом услышать, а также это не уничтожает файл, и он всё ещё может быть воспроизведён. Этот метод как раз заменяет небольшие порции данных в сэмплах, практически не меняя звучания файла.
Так же, для большей надёжности, в данном методе будет использоваться ключевой файл, который будет указывать на то, какое количество сэмплов необходимо пропускать при шифровании и дешифровании сообщения. Данная процедура сильно снижает разницу, между оригинальным и файлом-контейнером, на слух.
Для решения данной задачи методом замены битов в сэмплах, сначала необходимо определить частоту дискретизации (количество байт в секунду). Затем запускается цикл, работающий до тех пор, пока не будет достигнут конец сообщения, а также присваивает переменной, отвечающей за байт буфера сообщения, значение текущего номера байта сообщения. После этого переменной типа byte присваивается текущий байт сообщения.
Следующим шагом будет задание цикла от первого до последнего бита сообщения, где выполняется следующее:
считывается ключевой байт из ключевого файла, после чего запускается цикл от 0 до ключевого байта, где происходит копирование сэмплов из оригинального файла в файл-контейнер;
считывается следующий сэмпл из потока, затем получается бит из текущего байта сообщения, затем помещается в последний бит сэмпла;
запускается проверка на условие того, что если бит равен 1, и последний бит сэмпла, получаемый остатком от деления текущего байта на 2, равен нулю, то к текущему байту прибавляется единица, в противном случае запускается проверка на то, что если бит равен 0, и последний бит сэмпла, равен единицу, то у текущего байта отнимается единица, иначе байт остаётся без изменений;
переменной, отвечающей за буфер байта, со значением меньше частоты дискретизации на единицу, присваивается значение текущего байта. Затем в файл-контейнер через поток, методом Write записывается переменная, отвечающая за буфер байта, после чего цикл повторяется.
По окончании цикла происходит копирование всего остального оригинального файла в файл-контейнер. После выполнения этого, процедуру шифрования можно считать завершённой.
Процесс дешифровки практически аналогичен процессу шифровки, но с небольшими изменениями: запускается цикл, работающий до тех пор, пока не будет достигнут конец сообщения или конец WAV файла. После этого необходимо обнулить переменную типа byte, отвечающую за байт сообщения.
Следующим шагом будет задание цикла от первого до последнего бита сообщения, где выполняется следующее:
считывается ключевой байт из ключевого файла;
запускается цикл от 0 до ключевого байта, где происходит считывание сэмплов из файла-контейнера, методом Read;
считывание следующего сэмпла из потока. Переменной, отвечающей за байт, присваивается значение переменной буфера байта, со значением меньше частоты дискретизации на единицу;
получается последний бит сэмпла, путём остатка от деления текущего байта на 2, и далее, этот бит прибавляется к переменной сообщения. Затем цикл повторяется до тех пор, пока не будут получены все 8 бит символа.
По окончанию цикла получения целого байта происходит записывание этого байта в поток сообщения, методом WriteByte. Затем цикл повторяется до тех пор, пока не будут считаны все байты сообщения.
Программа выполнена на языке программирования C#, так как данный язык очень удобно отлаживать, содержит в себе большое количество библиотек, которые покрывают практически все задачи разработки под Windows.
На рис. 3 и 4 представлен интерфейс программы для сокрытия и извлечения текста из файла формата WAV соответственно.
j Сокрытие
информации в WAV-фа i
- □
Открыть файл |f Ключевой
Спрятать | Извлечь j
f-- Спрятать содержимое Файла
(* Спрятать текст
Сохранить результат гак
Открыть... j
Рис. 3. Интерфейс программы с открытой вкладкой «Спрятать»
Сокрытие текстовой информации в WAV-файле Открыть Файл
Кпючевой Файл
Открыть... | Открыть... |
Спрятать { Извлечь ;j
- Сохранить сообщение как
. Вывести сообщение сюда
Извлечь сообщение
Рис. 4. Интерфейс программы с открытой вкладкой «Извлечь»
На рис. 5 осуществляется выбор файла, в который будет спрятан набранный текст или файл.
Bt Сокрытие текстовой информации в WAV-файле
Открыть файл |C:\Test\Song 1.wav
Ключевой Файл
Спрятать | Извлечь ]
у-. Спрятать содержимое Файла
Спрятать текст
Спрятать сообщение
Сохранить результат как |
Рис. 5. Выбор файла в пункте «Открыть файл»
На рис. 6 осуществляется выбор ключевого файла, который используется в программе вместо пароля.
Сокрытие текстовой информации в WAV-файле
Открыть Файл |C:4Test \Song1.wav
Ключевой | K:\Qoud\OneDrive\Documents\TMC docx Файл
Спрятать | Извлечь ]
Спрятать содержимое |-
Файла
(* Спрятать текст
Открыть... j Открыть... |
Открыть... |
Спрятать сообщение
Сохранить результат как | Открыть...
Рис. 6. Выбор файла в пункте «Ключевой файл»
Дальше вручную набирается или копируется текст в текстовое поле или выбирается файл, который необходимо спрятать (рис. 7). Файл может быть любого формата. Единственным ограничением является наличие в файле формата WAV необходимого количества сэмплов.
Сокрытие текстовой информации в WAV-файле
Открыть файл |C:\Test 4Song1.wav
Ключевой | K:\Cloud\One Drive\Documerrts\TMC.docx Файл
Спрятать ] Извлечь j
¡-- Спрятать содержимое фвйлв
(* Спрятать текст
Сохранить результат как |
Открыть... | Открыть... |
Открыть... |
Рис. 7. Ввод текста в пункте «Спрятать текст»
После выбора необходимых для сокрытия файлов, нужно выбрать файл, который будет являться итогом работы программы, то есть файл формата WAV, содержащий в себе сокрытую информацию (рис. 8). Путь к файлу указывается вручную или выбирается уже существующий файл. Если файла с выбранным именем нет, то программа создаст его, если файл существует, то он будет заменен на новый.
№ Сокрытие текстовой информации в WAV-файле
Открыть файл |C:\Test\Song1 wav
Ключевой | K:\Cloud\One Drive\Documents\TMC .docx Файл
Спрятать ] Извлечь |
(* Спрятать
Проба, 1234567890.
Спрятать сообщение
Сохранить результат как |C:\Test\Result1.wbv
Рис. 8. Выбор файла в пункте «Сохранить результат как»
90
После успешного сокрытия файла будет выдано сообщение об успешном выполнении (рис. 9).
Рис. 9. Сообщение об удачном выполнении сокрытия
Далее выбирается вкладка «Извлечь» и открываются основной и ключевой файлы, которые использовались при сокрытии данных. Кроме того, выбирается один из способов извлечения информации из файла: «Сохранить сообщение как» то есть извлечение файла или «Вывести сообщение сюда» то есть извлечение текста (рис. 10).
Сокрытие текстовой информации в №А\/-файле Открыть Файл |СЛТе^ \Рези1И юау
Открыть...
Ключевой Файл
K:\Cloud\OneDrive\Documents\TMC.docx
-'ткрь Г:
Спрятать Извлечь ]
- Сохранить сообщение как
■ Вывести сообщение сюда
Открыть... |
Извлечь сообщение
Рис. 10. Выбор файлов в пунктах «Открыть файл» и «Ключевой файл»
на вкладке «Извлечь»
На рис. 11 показан получившийся извлеченный текст. После проведенных над ним манипуляций он не изменился.
Если выбирается пункт «Сохранить сообщение как» то есть вывод файла, то проверить целостность текста можно в текстовом или ином редакторе, в зависимости от формата файла (рис. 12 и 13).
Сокрытие текстовой информации в WAV-фaйлe
Открыть файл |С:\Тез1\Ре8иК1 .юау
Ключевой | K:\SkyDrive\Documents\TMC ^осх Файл
Спрятать Извлечь |
Открыть... Открыть...
■ Сохранить сообщение как
Открыть... |
■ Вывести сообщение сюда
Проба, 1234567В90.
Из влеч ь сообщение
Рис. 11. Получившийся текст в текстовом поле «Вывести сообщение сюда»
91
ел
i—z
"Si;""
Рис. 12. Исходный текстовый файл
lUli— |г——1Г' ■ - * Ь-U--» ss N • ----»«»-----= -= = t
UfifR АЭЬ 8-г.ли.г .ыш J
ш ■ мш -
¡йншВВййнш
Рис. 13. Спрятанный и извлеченный текстовый файл
Если при извлечении указать неправильный ключевой файл, то в текстовом поле будет написан не тот текст, который был написан изначально (рис. 14).
Сокрытие текстовой информации вШАУ-файле
□ X
Открыть Файл (СЛТе^ХЯезиИ 1.wav
Ключевой | K:\Cloud\One Drive\Text .docx Файл
Спрятать Извлечь |
Открыть... | Открыть... |
Р Сохранить сообщение как
Вывести сообщение сюда
Открыть...
иН 'ъ UxJutN^p УьС"
Извлечь сообщение
Рис. 14. Получившийся текст с неправильным ключевым файлом
Если не указать какой-либо необходимый файл, программа будет оповещать об этом предупреждающим знаком около того пункта, который не указан (рис. 15).
92
Сокрытие текстовой информации в WAV-файле
Открыть Файл |C:\Test\Song1 .wav
Ключевой |C:\Test \Pic1.jpg Файл
Спрятать | Извлечь |
Открыть... Открыть...
Спрятать содержимое Файла
С Спрятать текст
Спрятать сообщение
Сохранить результат как Открыть
Рис. 15. Оповещение об ошибке
Если файл, в который необходимо поместить текст или другой файл слишком мал, то программой будет выдан6о сообщение об ошибке (рис. 16).
X
Файл-носитель слишком мал для данного сообщения и ключевого файла! Сэмплов доступно: 17719946 Сэмплов необходимо: &ZVI49SZ
Рис. 16. Сообщение об ошибке, в котором говорится, что в файле-носителе недостаточно сэмплов
Можно сравнить исходный файл с файлом-контейнером при помощи какой-либо программы, которая может отобразить спектр звука. Например, при помощи программы Audacity [3].
В данную программу импортируем исходный файл и файл-контейнер, в который был спрятан текстовый документ на 11400 символов и смотрим на получившийся спектр. На рис. 17 представлен спектр исходного файла, на рис. 18 представлен спектр файла-контейнера.
fita^Pff si ^ищвми^»^ «) J п и «1 .. 1, m •;.«»» » ^ « iz .........»'» 7
; ММЕ - Микрофон (Somic 7.1 Sou - 12 (стерео) кана. Ф) |l - ASUS VH242H (AMD Hie -
J. * 1:15 ™ 1«S и» 2:1S £30 MS 3». 115
Рис. 18. Спектр файла-контейнера
93
При просмотре спектров практически невозможно увидеть разницы между ними. Для точного сравнения воспользуемся другой программой под названием уапае [4]. Данная программа сравнивает разницу в сэмплах двух файлов и выводит процент различия между ними.
Импортируем два файла в программу и запускаем сравнение. Результат сравнения показан на рис. 19.
Рис. 19. Сравнение исходного файла и файла-контейнера
Программа сообщает нам о том, что данные два файла различаются в сэмплах лишь на 0,47%, хотя в файле-контейнере содержится текстовый файл на 11400 знаков. Отсюда можно сделать вывод, что человеческое ухо не сможет услышать такую разницу между исходным файлом и файлом-контейнером, следовательно, данный метод сокрытия данных в файле можно считать надёжным.
Список литературы
1. Конахович Г.Ф., Пузыренко А.Ю. Компьютерная стеганография. Теория и практика. К.: МК-Пресс, 2006. 288 с.
2. Генне О.В. Основные положения стеганографии // Защита информации. Конфидент, №3, 2000. [Электронный ресурс] URL: http://citforum.ru/internet/securities/ stegano.shtml (дата обращения: 10.02.2020).
3. Структура WAV файла. [Электронный ресурс] URL: http://audiocoding.ru/ article/2008/05/22/wav-file-structure.html (дата обращения: 10.02.2020).
4. Официальная страница ПО Audacity. [Электронный ресурс] URL: http:// www.audacityteam.org/download (дата обращения: 10.02.2020).
Воронцова Наталья Вадимовна, канд. техн. наук, доцент, [email protected], Россия, Тула, Тульский филиал РЭУ им. Г.В. Плеханова,
Миляева Ирина Вилорьевна, начальник отдела, [email protected], Россия, Тула, Технический колледж им. С.М. Мосина
STEGANOGRAPHIC INFORMA TION PROTECTION N. V. Vorontsova, I. V. Milyaeva
The process of protecting information by steganography methods is considered. The method of replacing bits in samples is used. The steganographic methods of information security are used in the study of the course «Cryptographic means of information security».
94
Key words: steganography, method for replacing bits in samples, information protection, program.
Vorontsova Natalia Vadimovna, candidate of technical sciences, docent, vnwni(a>, list.ru, Russia, Tula, Tula branch of REU named after G. V. Plekhanova,
Milyaeva Irina Vilorevna, head of department, irymiKq),yandex, ru, Russia, Tula, Technical College named after C.M. Mosin
УДК 004.41
ПОВЫШЕНИЕ ЭФФЕКТИВНОСТИ АЛГОРИТМОВ ОБРАБОТКИ ИНФОРМАЦИИ В СИСТЕМАХ ВИДЕОНАБЛЮДЕНИЯ МЕТОДАМИ
МАШИННОГО ОБУЧЕНИЯ
P.A. Крымов, A.B. Хамухин
Произведен анализ алгоритмов компьютерного зрения, обладающие сложным набором параметров, существенно влияющих на качество получаемых результатов. Предложен подход к автоматизации путём сведения к задаче машинного обучения, имеющей ряд особенностей.
Ключевые слова: машинное обучение, алгоритмы обработки видеоинформации, конфигурирование алгоритмов.
Системы видеонаблюдения, основанные на автоматической обработке видеоинформации, призваны облегчить труд операторов, то есть должны сообщать о подозрительных случаях и не отвлекать в обычных ситуациях. В идеальном случае должны детектироваться все события, которые могут быть классифицированы как «тревога», и при этом не должно происходить ложных срабатываний. Условия, в которых функционируют такие системы, существенно различаются, например, освещение сцены в кадре может быть естественным или искусственным, могут наблюдаться объекты других классов, разрешение кадра видеопотока также может отличаться. Разрабатываемые алгоритмы компьютерного зрения характеризуются большим количеством параметров, среди которых присутствуют вещественные, целочисленные, логические (могут рассматриваться как целочисленные), а также сложно структурированные, например, маски, которые можно определить, как массив индикаторных функций над точками изображения. Такая сложная система параметров обеспечивает гибкость и возможность подстраиваться под конкретные условия использования. В то же время тонкая ручная настройка оказывается чрезмерно трудозатратной, поэтому становится актуальной задача автоматической настройки параметров алгоритмов анализа видеоинформации. Дополнительное уточнение параметров требует дополнительной информации, но полноценная покадровая разметка может потребовать слишком много человеческих ресурсов и не окупиться с точки зрения прироста качества работы алгоритмов. Поэтому, в отличие от полноценного тестирования алгоритмов компьютерного зрения [1], автонастройку их параметров предлагается проводить на основе неполной разметки, называемой в дальнейшем «слабой».
Постановка задачи. Задача может быть сформулирована в терминах машинного обучения следующим образом. Имеется набор из п видеофайлов V = {Vn}^=1, снабжённых «слабой» идеальной ручной разметкой Jw = {1п}п=ъ и семейство алгоритмов сД = {ар(К)|р G J3), зависящих от вектора параметров р. После обработки