ВВЕДЕНИЕ 6
ЦЕЛИ И ЗАДАЧИ 8
1 ОСНОВНЫЕ СВЕДЕНИЯ О СТЕГАНОГРАФИИ 9
1.1 ПРЕДМЕТ, ТЕРМИНОЛОГИЯ И СФЕРЫ ПРИМЕНЕНИЯ СТЕГАНОГРАФИИ 9
1.2 ПРОБЛЕМА УСТОЙЧИВОСТИ СТЕГАНОГРАФИЧЕСКИХ СИСТЕМ 13
1.3 СТРУКТУРНАЯ СХЕМА И МАТЕМАТИЧЕСКАЯ МОДЕЛЬ ТИПИЧНОЙ СТЕГАНОСИСТЕМЫ 15
1.4 ПРОТОКОЛЫ СТЕГАНОГРАФИЧЕСКИХ СИСТЕМ 18
1.5 ВИДЫ АТАК НА СТЕГАНОГРАФИЧЕСКУЮ СИСТЕМУ 21
1.6 ОСНОВНЫЕ ВЫВОДЫ ПО РАЗДЕЛУ 1 24
2 КРИПТОГРАФИЧЕСКИЕ МЕТОДЫ ЗАЩИТЫ ИНФОРМАЦИИ 25
2.1 ЦИФРОВОЙ ШИФР 26
2.2 ШИФР ЦЕЗАРЯ 26
2.3 ШИФР ПОЛИБИЯ 27
2.4 ШИФР ВИЖЕНЕРА 29
2.5 ШИФР ГРОНСФЕЛЬДА 30
2.6 ОСНОВНЫЕ ВЫВОДЫ ПО РАЗДЕЛУ 2 31
3 ЛЕКСИЧЕСКИЙ АНАЛИЗАТОР 33
3.1 ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ 33
3.2 АЛГОРИТМ ВЫПОЛНЕНИЯ 34
3.3 ТЕСТИРОВАНИЕ 35
3.4 ОСНОВНЫЕ ВЫВОДЫ ПО РАЗДЕЛУ 3 36
4 СИНТАКСИЧЕСКИЙ АНАЛИЗАТОР 38
4.1 ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ 38
4.2 АЛГОРИТМ ВЫПОЛНЕНИЯ 38
4.3 ОСНОВНЫЕ ВЫВОДЫ ПО РАЗДЕЛУ 4 39
5 ВЫБОР ПРОГРАММЫ-КОНТЕЙНЕРА 40
5.1 АЛГОРИТМ СОКРЫТИЯ ШИФРОТЕКСТА В ФАЙЛЕ ИСХОДНОГО КОДА НА ЯЗЫКЕ ASSEMBLER 40
5.2 АЛГОРИТМ СОКРЫТИЯ ШИФРОТЕКСТА В ФАЙЛЕ ИСХОДНОГО КОДА НА ЯЗЫКЕ C++ 41
5.3 ОСНОВНЫЕ ВЫВОДЫ ПО РАЗДЕЛУ 5 42
6 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ 43
6.1 ЯЗЫК C++ 43
6.2 СРЕДА РАЗРАБОТКИ QT CREATOR 45
6.3 ОПИСАНИЕ ПРОГРАММНОЙ РЕАЛИЗАЦИИ 46
6.4 ГРАФИЧЕСКИЙ ИНТЕРФЕЙС ПРИЛОЖЕНИЯ 47
6.5 ТЕСТИРОВАНИЕ ПРОГРАММЫ 49
6.6 ОСНОВНЫЕ ВЫВОДЫ ПО РАЗДЕЛУ 6 51
ЗАКЛЮЧЕНИЕ 52
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 53
ПРИЛОЖЕНИЕ
Информация является одним из ценнейших предметов современной жизни. Получение доступа к ней с появлением глобальных компьютерных сетей стало невероятно простым. В то же время, легкость и скорость такого доступа значительно повысили и угрозу нарушения безопасности данных при отсутствии мер относительно их
зашиты, а именно, — угрозу неавторизированного доступа к информации.
Задача надежной защиты авторских прав, прав интеллектуальной собственности
или конфиденциальных данных (которые в большинстве случаев имеют цифровой
формат) от несанкционированного доступа является одной из старейших и нерешенных на сегодня проблем. В связи с интенсивным развитием и распространением
технологий, которые позволяют с помощью компьютера интегрировать, обрабатывать и синхронно воспроизводить различные типы сигналов (так называемые мультимедийные технологии), вопрос защиты информации, представленной в цифровом
виде, является чрезвычайно актуальным.
Поэтому во всем мире назрел вопрос разработки методов (мер) по защите информации организационного, методологического и технического характера, среди
них — методы криптографии и стеганографии.
Криптографическая защита информации – система изменения последней с целью
сделать ее непонятной для непосвященных, сокрытие содержания сообщений за
счет их шифрования. Она не снимает упомянутую выше проблему полностью, поскольку наличие шифрованного сообщения само по себе привлекает внимание, и
злоумышленник, завладев криптографически защищенным файлом, сразу понимает
о размещении в нем секретной информации и переводит всю суммарную мощь своей компьютерной сети на дешифрование данных.
Скрытие же самого факта существования секретных данных при их передаче,
хранении или обработке является задачей стеганографии — науки, которая изучает
способы и методы скрытия конфиденциальных сведений. Задача извлечения информации при этом отступает на второй план и решается в большинстве случаев стандартными криптографическими методами.7
Иначе говоря, под скрытием существования информации подразумевается не
только невозможность обнаружения в перехваченном сообщении наличия иного
(скрытого) сообщения, но и вообще сделать невозможным возникновение любых
подозрений на этот счет, поскольку в последнем случае проблема информационной
безопасности возвращается к стойкости криптографического кода. Таким образом,
занимая свою нишу в обеспечении безопасности, стеганография не заменяет, а дополняет криптографию.
Стеганографирование осуществляется различными способами. Общей же чертой
таких способов является то, что скрываемое сообщение встраивается в некий не
привлекающий внимание объект, который затем открыто транспортируется (пересылается) адресату.
Исторически направление стеганографического скрытия информации было первым, но со временем во многом было вытеснено криптографией. Интерес к стеганографии возродился в последнее десятилетие и был вызван широким распространением технологий мультимедиа (что вполне закономерно, принимая во внимание
указанные выше проблемы, связанные с зашитой информации). Не менее важным
стало появление новых типов каналов передачи информации, что в совокупности с
первым фактором дало новый импульс развитию и усовершенствованию стеганографии, способствовало возникновению новых стеганографических методов, в основу которых были положены особенности представления информации в компьютерных файлах, вычислительных сетях и т.д.
В результате выполнения дипломной работы была осуществлена разработка
компьютерной программы для стеганографического внедрения текста в текстовые
файлы.
Был разработан метод стеганографического внедрения шифротекста в исходный код программы, написанной на языке Assemblerи С++. Была осуществлена программная реализация разработанных методов стеганографии, а также реализация
криптографических методов.
Также были сделаны выводы по каждому разделу.
Приложение было разработано в среде QtCreator.
Разработанная программа обладает следующими возможностями:
1. возможность выбора программы-контейнера;
2. поиск подходящего места для внедрения шифротекста
3. шифрование (дешифрование) исходного сообщения с помощью выбранного криптографического метода;
4. преобразование полученного шифротекста в код Assembler в виде объявления массива;
5. преобразование полученного шифротекста в кодС++ в виде объявления
массива;
6. загрузка (сохранение)секретного сообщения из (в) файла;
7. встраивание шифротекста в исходный код программы-контейнера;
8. извлечение встроенного шифротекста из исходного кода программыконтейнера.
Среди достоинств данного метода можно назвать простоту реализации и возможность использования в качестве контейнера программу на любом языке программирования.
Артёхин Б.В. Стеганография. / Б.В. Артёхин. – 4-е изд. – М.: Журнал
«Защита информации. Конфидент», 1996. – 47-50 с.
2 Генне О.В. Стеганография. / О.В. Генне. – 3-е изд. – М.: Журнал «Защита
информации. Конфидент», 2000. – 23-39 с.
3 Хорошко В.О. Основы компьютерной стеганографии. / В.О. Хорошко, О.Д.
Ааров, М.С. Шелест, Ю.С. Яремчук. – Винница: ВДТУ, 2003. – 143 с.
4 Игнатов В.А. Теория информации и передачи сигналов. - М.: Радио и
связь, 1991. – 280с.
5 Барсуков В.С., Романцов А.П. Компьютерная стеганография: вчера,
сегодня, завтра. Технологии информационной безопасности XXI века. / Под общ.
ред. А.П. Романцова. – URL: http://www.ess.ru/ (дата обращения: 16.05.2018).
6 Конахович Г.Ф. Компьютерная стеганография: Теория и практика [Текст] /
Г.Ф. Конахович, А.Ю. Пузыренко – Киев: МК-Пресс, 2006. - 288 с.
7 Баженова И.Ю. Языки программирования. / И.Ю. Баженова. – М.:
Академия, 2012. – 368 с.
8 Петраков А.В. Основы практической защиты информации: Учебное
пособие / А.В. Петраков. – М.: Солон-Пресс, 2005. – 184 с.
9 Правило Кирхгофа. URL: http://life-prog.ru/1_30741_pravilo-kirhgofakerkhoffs.html (дата обращения: 06.05.2018).
10 Грибунин В.Г. Цифровая стеганография [Текст] / В.Г. Грибунин, И.Н.
Оков, И.В. Туринцев. – М.: Солон-Пресс, 2002. – 272 с.
11 Аграновский А.В. Стеганография, цифровые водяные знаки и
стеганоанализ. / А.В. Аграновский, А.В. Балакин, В.Г. Грибунин, С.А. Сапожников.
– М.: Вузовская книга, 2009. – 220 с.
12 Бесплатная электронная библиотека [Инт. ресурс]. URL:
http://window.edu.ru (дата обращения: 13.05.2018).
13 Саймон Сингх Книга шифров. Тайная история шифров и расшифровки. /
Сингх Саймон. – М.: Астрель, 2007. – 5-20 с.54
14 Адаменко М. Основы классической криптологии. Секреты шифров и
кодов. / М. Адаменко. – М.: Изд-во ДМК Пресс, 2012. – 19-43 с.
15 Серебряков В.А. Основы конструирования компиляторов. / В.А.
Серебряко, М.П. Галочкин. – М.: Изд-во Едиториал УРСС, 1999. – 21-81 с.
16 Семакин И.Г. Основы программирования. / И.Г. Семакин, А.П. Шестаков.
– М.: Мастерство, 2001. - 432 с.
17 Голицына О.Л. Программирование на языках высокого уровня. / О.Л.
Голицына, И.И. Попов. – М.: Форум, 2010. – 496 с.
18 Шмидский Я.К. Программирование на языке С/С++. / Я.К. Шмидский. –
М.: Диалектика, 2003. – 152 с.
19 Алексеев Е.Р. Программирование на языке C++ в среде QtCreator. / Е.Р.
Алексеев, Г.Г. Злобин, Д.А. Костюк, О.В. Чеснокова, А.С. Чмыхал. – Москва.: Издво ALT Linux, 2015. – 11-13 с.
20 Павловская Т. А. Паскаль. Программирование на языке высокого уровня. /
Т.А. Павловская. – СПб.: Изд-во «Питер», 2003. – 26 с.