Построение системы для обнаружения скрытой текстовой информации в изображениях
Анализ возможностей разработки системы автоматизированного обнаружения скрытой передачи текстовой информации в файлах формата jpeg. Цифровая стеганография в файлах. Методики сокрытия информации в файлах формата jpeg. Принципиальные алгоритмы программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 25.06.2017 |
Размер файла | 2,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
Введение
1. Терминология
2. Цифровая стеганография в файлах. Значение исследования
3. Методики сокрытия информации в файлах формата jpeg
4. Анализ существующих программных продуктов
4.1 JSteg
4.2 JPHide
4.3 JPHide&Seek
4.4 OutGuess
4.5 S-Tools
4.6 Steghide
4.7 F3
4.8 F4
4.9 F5
5. Рассмотрение принципиальных алгоритмов программы. Применение
6. Выводы и рекомендации по применению
Список используемых источников
Введение
jpeg текстовый информация формат
В данной работе решается задача исследования возможности построения системы для обнаружения скрытой текстовой информации в изображениях.
Объектом исследования в настоящей работе является файл формата jpeg, поскольку он является очень популярным, и для него существует много разработанных методов встраивания информации.
Цель работы: исследовать возможности разработки системы автоматизированного обнаружения скрытой передачи текстовой информации в файлах формата jpeg.
Задачи:
1. Исследовать методики сокрытия и обнаружения информации в файлах jpeg.
2. Разобрать и проанализировать уже существующие для этих целей программные продукты.
3. Предложить подходы к обнаружению скрытой информации в файлах jpeg.
В главе 1 рассматривается терминология, тесно связанная с исследуемой тематикой.
В главе 2 рассматриваются известные методики атак на стегосистему и производится отбор пригодных для обнаружения заполненных стегоконтейнеров в файлах jpeg.
Также обсуждается важность исследования цифровой стеганографии.
Далее в главе 3 приведены известные методики сокрытия информации для файлов формата jpeg.
Глава 4 посвящена анализу программных продуктов, обеспечивающих сокрытие информации в цифровые файлы.
В главе 5 предложены принципиальные алгоритмы программы с рассмотрением способов извлечения последовательностей битов, критериев осмысленности текста, исследований статистических методов распределения битов.
В главе 6 описаны выводы и рекомендации по применению.
1. Терминология
До недавнего времени для описания модели стеганографической системы использовалась «проблема заключенных», предложенная Симмонсом [1] в 1983 году. Она состоит в том, что двое, Алиса и Боб, хотят обмениваться секретными сообщениями без вмешательства охранника Вилли, который контролирует канал связи. При этом имеется ряд допущений: 1) участники информационного обмена могут разделять секретное сообщение (например, используя кодовую клавишу) перед заключением (упрощает решение проблемы). 2) охранник имеет право не только читать сообщения, но и изменять их (затрудняет решение проблемы).
Позже, на конференции Information Hiding: First Information Workshop [2] в 1996 году было предложено использовать единую терминологию, которой мы и будем пользоваться в рамках настоящей работы.
Стеганография (от греч. скрытый + пишу, буквально: тайнопись) - способ передачи секретной информации, при этом сохраняя в тайне сам факт ее передачи.
Стеганографическая система или стегосистема - совокупность средств и методов, которые используются для формирования скрытого канала передачи информации.
Обобщенная модель стегосистемы представлена на рис. 1.
Рис. 1 Модель стегосистемы
Контейнер - информация, предназначенная для сокрытия в ней тайных, секретных сообщений.
Пустой контейнер - контейнер, в котором нет никакого встроенного сообщения; заполненный контейнер или стегоконтейнер - контейнер, в котором есть встроенная информация.
Встроенное (скрытое) сообщение - сообщение, встраиваемое в контейнер.
Стеганографический канал или просто стегоканал - канал передачи стего.
Стегоключ или просто ключ - секретный ключ, необходимый для сокрытия информации.
В стегосистеме может быть один или несколько стегоключей. Это зависит от количества уровней защиты (например, встраивание сообщения, которое было зашифровано).
Типы атак [3]:
Атака на основе известного заполненного контейнера. Здесь у нарушителя имеется одно или более стего. В том случае, когда есть несколько стего, то предполагается, что встраивание информации производится одним и тем же методом. Задача злоумышленника заключается в выявлении факта наличия стегоканала, в его извлечении или нахождения ключа. Если ключ известен, то нарушитель способен анализировать другие стегосообщения.
Атака на основе известного встроенного сообщения. Этот тип атаки наиболее распространен для систем защиты интеллектуальной собственности, когда может использоваться логотип фирмы в роли водяного знака. Задача анализа заключается в обнаружении ключа. Задача может решаться сложно, если заполненный контейнер, который соответствует встроенному сообщению, неизвестен.
Атака на основе выбранного скрытого сообщения. При данной атаке злоумышленник может предлагать отправителю свои сообщения для передачи, а также анализировать получающиеся стего.
Адаптивная атака на основе выбранного скрытого сообщения. Эта атака представляет собой частный случай предыдущей. Тут злоумышленник может выбирать сообщения, чтобы навязывать их тому, кто отправлял эти сообщения, в соответствии с результатами анализа предыдущих стего.
Атака на основе выбранного заполненного контейнера. Такие атаки наиболее характерен для систем ЦВЗ. У стегоаналитика имеется детектор стего, который представляет собой «черный ящик» и несколько стего. Нарушитель стремится взломать ключ, анализируя детектируемые спрятанные сообщения.
Атака на основе известного пустого контейнера. Если злоумышленнику известен пустой контейнер, то он всегда может определить факт присутствия стегоканала, сравнивая его с предполагаемым стего.
Атака на основе выбранного пустого контейнера. При данной атаке злоумышленник может заставить отправителя, чтобы тот воспользовался предложенным контейнером. В таком контейнере могут иметься большие однородные области (однотонные изображения), и тогда обеспечить конфиденциальность внедрения будет нелегко.
Атака на основе известной математической модели контейнера или его части. В данном случае атакующий пытается найти отличие подозрительного сообщения от известной ему модели. Задача внедряющего сообщение - не сбить статистические характеристики контейнера. Те, кто внедряет и атакует, могут владеть разнообразными моделями сигналов. При конкуренции побеждает тот, у кого имеется лучшая модель.
2. Цифровая стеганография в файлах. Значение исследования
В современном мире при стремительном развитии средств вычислительной техники появилось много новых областей применения стеганографии: секретные сообщения встраивают в цифровые данные - в текстовые файлы, изображения, аудиозаписи, видео.
Широкое применение имеет сокрытие информации в неподвижных файлах, поскольку они обладают относительно большим объемом предоставления изображений, обеспечивая достаточно места для сокрытия текста, а также в таких файлах содержатся текстурные области, имеющие шумовую структуру, и именно поэтому они наилучшим образом подходят для встраивания информации.
Также одной из причин использования изображений в качестве стегоконтейнеров является слабая чувствительность человеческого глаза к незначительным изменениям цветов изображений, его яркости, контрастности, содержания в ней шума, искажений вблизи контуров.
Еще сравнительно недавно, до печальных событий 11 сентября 2001 года, стеганография была неизвестна широкой аудитории и часто заинтересованность к ней проявлялась в основном со стороны ученых математиков. Позднее, после расследования теракта, стало известно, что террористы используют методы стеганографии для передачи секретных сообщений - тексты, вкрапленные не только в фотокарточки, но и в изображения сети Интернет. Таким образом, интерес к стеганографии стал только увеличиваться, количество зашифрованной информации уже не поддается исчислению, а методы дешифрования изучены пока не очень хорошо [4].
Кроме того, стеганография использовалась шпионами во время Холодной войны, Второй мировой войны. Это отличный способ передачи тайного сообщения, так как, во-первых, спецслужбы обычно не знают, как проверить картинку на наличие сокрытого сообщения, а во-вторых, в сети настолько много разного рода изображений, что именно кадры с зашифрованным текстом не так-то просто найти [5].
Стеганография также может быть применима для предотвращения утечки информации. Для этого строятся DLP-системы (Data Leak Prevention), которые в потоке информации отслеживают конфиденциальные данные и блокируют несанкционированные попытки передачи сообщения.
Существует несколько задач, для которых может быть актуальна стеганография: незаметная передача информации, скрытое хранение информации, недекларированное хранение информации (многие информационные ресурсы позволяют хранить данные только определенного вида), защита исключительного права, защита авторского права, защита подлинности документов, индивидуальный отпечаток в системе электронного документооборота и др.
3. Методики сокрытия информации в файлах формата jpeg
Существует огромное количество различных алгоритмов стеганографии. Методы компьютерной стеганографии можно разделить на три основные группы [6]:
1. Методы сокрытия, основанные на использовании специальных свойств компьютерных форматов.
2. Методы сокрытия в пространственной области.
3. Методы сокрытия в частотной области.
Преимущество методов 1-ой группы - простота использования. Во многих форматах поля расширения заполняются нулевой информацией и не учитываются программой [7, 8]. Однако такие методы не могут похвастаться высокой степенью скрытности и хорошей производительностью. Методы 2-ой группы основываются на встраивании секретных данных в области первичного изображения. Достоинством таких методов можно считать тот факт, что для встраивания информации нет необходимости в сложных математических расчетах и длительных преобразований изображения [9].
Приняв все вышесказанное во внимание, можно заключить, что никакие методы, основанные на использовании особых свойств форматов файлов, или же работающие в пространственной области файла, не подходят для разработки алгоритма сокрытия в формате JPEG. Поэтому нелишним будет рассмотреть и методы сокрытия информации в частотной области контейнера.
Далее рассмотрим подробно методы сокрытия информации.
3.1 Метод замены наименее значащего бита (LSB)
Это самый распространенный метод. Его суть заключается в том, что информация скрывается путем изменения последних битов изображения, т.к. младший значащий бит в изображении представляет наименьшую информацию и, следовательно, для глаза восприятие общей картинки никак не изменится. Фактически, наименее значащий бит - это шум, а, следовательно, его можно использовать для того, чтобы встроить информацию путем замены бит секретного сообщения на менее значащие биты пикселей изображения. Кроме того, что этот метод простой, он еще дает возможность скрывать большие объемы данных в небольших файлах. К недостаткам этого метода относится его неустойчивость его к обработке файла-контейнера, поэтому его невозможно использовать при сокрытии данных в файле, который затем подвергается сжатию.
3.2 Метод псевдослучайного интервала [10]
При использовании этого метода биты секретного сообщения распределяются случайно по контейнеру, и в результате расстояние между двумя битами определяется псевдослучайно. Метод заключается в использовании набора псевдослучайных чисел (которые задаются секретным ключом), которые определяют псевдослучайный интервал между пикселями изображения, куда встраиваются информационные биты методом LSB.
Этот подход эффективен, когда битовая длина встраиваемого сообщения много меньше количества пикселей в изображении.
3.3 Метод псевдослучайной перестановки
Для контейнеров определенного размера наиболее подходящим является использование метода псевдослучайной перестановки (выбора), поскольку в предыдущем методе биты сообщения в контейнере располагаются в том же порядке, что и в самом сообщении, а изменяется только интервал между ними. Смысл данного метода заключается в образовании последовательности индексов генератором псевдослучайных чисел и сохранении k-го бита сообщения в пикселе с индексом .
3.4 Метод блочного скрытия
Метод заключается в разбиении изображения на непересекающиеся блоки различных конфигураций, затем для них вычисляется бит четности. В каждом блоке производится скрытие одного секретного бита информации. Если бит четности не совпадает битом секретной информации, тогда один из наименее значащих битов инвертируется так, чтобы произошло совпадение.
К недостаткам можно приписать то, что метод неустойчив к искажениям. Но у него также есть и преимущества, например, можно изменять значение пикселя, чтобы это привело не к сильному изменению статистики контейнера. Другое преимущество заключается в том, что при увеличении размера блока можно сократить воздействие встраивания секретных данных.
3.5 Метод замены палитры
Суть заключается в использовании особенностей файла, который представляет собой контейнер, чтобы сокрыть в нем текстовые данные. Палитра представляет собой несколько байт, которые описывают цвет точки. Далее идет массив байт, и каждый из них описывает одну из точек на изображении и содержит номер цвета палитры. Принцип сокрытия информации заключается в том, что порядок цветов в палитре не имеет значения, и поэтому можно встроить данные с помощью перестановки цветов этой самой палитры.
3.6 Метод квантования изображения [11, 12]
Метод основан на зависимости между пикселями. Сокрытие данных осуществляется при помощи корректирования разностного сигнала. Имеется таблица, которая играет роль стеганоключа, где каждому возможному значению ставится в соответствие определенный бит. Если вычисляемая разница для какого-либо бита не соответствует биту, который нужно скрыть, то эта разница меняется на другую, более близкую, чтобы условие выполнилось.
3.7 Метод Куттера-Джордана-Боссона (метод креста) [13]
Метод заключается в изменении яркости синих цветов пикселя. Именно синего, т.к. глаз человека отличает оттенки синего меньше всего, в сравнении с красным или зеленым. Информация встраивает по одному биту. Секретный ключ представляет собой координаты пикселей, в которые будет встраиваться информация.
3.8 Метод Дармстедтера-Делейгла-Квисквотера-Макка
Метод заключается в следующем: секретная информация представляет собой вектор данных в двоичном виде. В каждый блок происходит встраивание отдельного бита (обычно блоки размерностью 8 на 8 пикселей). Преимущество метода - устойчивость стеганосистемы к искажениям, поскольку информация внедряется с избыточностью.
3.9 Метод Коха (сокрытие данных в частотной области изображения)
В блок размером 8х8 встраивается 1 бит сообщения. Псевдослучайно выбираются два коэффициента ДКП (дискретного косинусного преобразования). Чтобы передать бит 0, нужно добиться, чтобы разность абсолютных значений коэффициентов была больше некоторой положительной величины, а для передачи бита 1 наоборот - добиваются, чтобы разность была меньше некоторой отрицательной величины. Чтобы раскодировать сообщение используется обратный алгоритм.
3.10 Метод Бенгама
Это оптимизированная версия рассмотренного выше метода. Для встраивания используются не все блоки, а только те, которые больше подходят для этой процедуры. А также внутри блока берутся не 2, а 3 коэффициента ДКП, что приводит к снижению искажений. Если нужно встроить 1, коэффициенты меняются так, чтоб 3й коэффициент стал меньше каждого из первых двух. Если 0 - больше каждого из первых двух. Если такое изменение приводит к очень большому изменению изображения в худшую сторону, то коэффициенты не меняют и этот блок не используют.
3.11 Метод Фридрих
Алгоритм содержит в себе комбинацию двух алгоритмов: происходит встраивание конфиденциальных данных в низкочастотные и в среднечастотные коэффициенты ДКП. Благодаря этому достигается высокая стойкость стеганосистемы к атакам.
3.12 Метод расширения спектра
Метод заключается в том, что в контейнер встраивается специальная случайная последовательность, а потом при помощи согласованного фильтра эта последовательность обнаруживается. Плюсом данного метода является возможность встраивать в контейнер большое количество сообщений, и при этом не будут возникать помехи от каждого из встроенных сообщений.
3.13 Статистические методы
Принципом таких методов является изучение статистических параметров изображения, например, коэффициенты корреляции, вероятность появления того или иного символа в сообщении, зависимость между элементами в последовательности, и далее проверка теоретических статистических гипотез.
3.14 Структурные методы
Метод заключается в следующем: отдельные части изображения постепенно и последовательно преобразовываются, в следствие чего формируется текст, который и хотят скрыть в файле.
4. Анализ существующих программных продуктов
Рассмотрим подробно программы для сокрытия и извлечения текста в изображениях формата jpeg, а также с помощью источника https://code2flow.com, построим графы, описывающие принцип работы некоторых программ из приведенных далее. В общем виде извлечение секретной информации выглядит так:
Рис. 2 Схема алгоритма извлечения секретной информации
4.1 JSteg [14]
Алгоритм разработал Дерек Апхэм в 2004г. Одна из программ для встраивания сообщения в файл формата jpeg. Алгоритм использует метод замены наименее значащих битов (LSB). Данная программа заменяет один последний (младший) бит коэффициентов дискретного косинусного преобразования на бит секретного сообщения для блоков 8х8.
Скрытое сообщение может занимать 12,8% от всего размера файла.
Достоинством является простота алгоритма [15]: сначала подготавливается последовательность коэффициентов ДКП, обычно это самые первые коэффициенты в цифровом файле, они идут слева направо и далее сверху вниз. Таким образом, встраиваемое сообщение находится в верхней части изображения. Из полученной последовательности исключаются коэффициенты, равные 0 и 1, т. к. при замещении бита единица может стать нулем.
А также то, что это первая общедоступная программа для форматов jpeg.
К недостаткам можно отнести среднее противостояние к атакам, а еще отсутствие секретного ключа. Это может привести к тому, что можно извлечь сообщение, зная, как работает алгоритм.
Функцию встраивания можно показать на блок-схеме рис. 3.
Рис. 3 Функция встраивания алгоритма JSteg
4.2 JPHide
Эта программа использует алгоритм, который несколько отличается от предыдущего. Дискретные косинусные коэффициенты выбираются псевдослучайным образом для сокрытия информации.
Этот алгоритм, не только изменяет последний значимый бит выбранных коэффициентов, но также может переключиться на процесс, при котором могут быть выработаны биты второй наименее значащей битовой плоскости [17].
4.3 JPHide&Seek [17]
4.3.1 Последовательный подход
Простейшей формой стеганографии изображений является метод, известный как Hide&Seek, который заменяет наименее значимый бит значений пикселей битами из потока битов скрываемого сообщения. Алгоритм прост и не требует ключа. Хотя это намного упрощает программирование и обмен секретности, это означает, что безопасность лежит исключительно в алгоритме. Если использовать ключ, тогда для противника может быть невозможным декодировать скрытое сообщение, поскольку ключ обычно индексирует обрабатываемые области изображения. Однако в случае алгоритма Hide&Seek противник просто должен понять, как работает алгоритм, и он сможет расшифровать сообщение.
К преимуществам относится, как было сказано ранее, отсутствие ключа, а также тот факт, что очень легко можно запрограммировать этот метод и передавать секретные сообщения.
Недостаток - метод не считается безопасным.
4.3.2 Рандомизированный подход
Позволяет разбросать расположение пикселей, которые должны быть заменены данными сообщения. Ядро процесса кодирования идентично ядру последовательного метода. Фактически, эти два метода отличаются только тем, как данные изображения представлены перед запуском процесса внедрения. Для рандомизированного подхода данные изображения обычно перетасовываются с использованием генератора псевдослучайных чисел (PRNG). Этот генератор принимает данные изображения и производит перетасованную версию в соответствии с начальным значением k, которое задается кодером. Также будет иметься инверсная перетасовка, которая принимает и возвращает исходный порядок, когда используется то же k. Затем значения после этого вставляются обратно в исходное положение, чтобы изображение могло отображаться правильно, чтобы отправить его по определенному каналу связи получателю.
Продемонстрируем работу программы. Программа JPHS состоит из трех частей, где jhide.exe - встраивание данных, jseek.exe - извлечение данных, jphswin.exe - совмещает в себе функции встраивания и извлечения.
Рис. 4 Компоненты программы JPHS
Рассмотрим последнюю из них. Внешний вид главного экрана:
Рис. 5 Внешний вид главного экрана
1) Загрузим изображение (car.jpg) формата jpeg (open jpeg), программа покажет характеристики этого изображения: размер, ширина, высота, приближенный возможный размер скрываемого сообщения и рекомендуемый максимальный размер изображения:
Рис. 6 Вид экрана с загруженным в программу файлом
2) Далее нужно ввести кодовую фразу (pass phrase), которая используется при кодировании сообщения. Если этого не сделать, то программа сама запросит ввод при загрузке скрываемого сообщения.
Рис. 7 Ввод кодовой фразы
3) После этого нужно выбрать скрываемое сообщение (hide). В данном конкретном случае будет файл «to hide.txt», где записана фраза «hello world»:
Рис. 8 Скрываемая фраза
4) Теперь нужно сохранить полученный файл (save jpeg), мы сохраним как новый файл - car2.jpeg (save jpeg as) и сравним два изображения.
Рис. 9а Изображение до встраивания сообщения
Рис. 9б Изображение после встраивания сообщения
5) Чтобы извлечь сообщение, нужно проделать пункты 1) - 2), а в 3) вместо hide использовать функцию seek.
6) Проделаем обратную операцию. Из файла car.jpg извлечем скрытый текстовый файл, который будет называться «to seek.jpg»
Рис. 10 Загрузка файла с заполненным стегоконтейнером
7) Извлекся файл с тем же текстом, что и прятался
Рис. 11 Скрытое сообщение
8) Проанализировав работу программы, можно заметить, что если применять функцию извлечения сообщения (seek) к исходному изображению, в котором нет скрытой информации, то будет просто пустой файл:
Рис. 12 Пустой файл
9) Если при извлечении информации ввести не тот пароль, что был введен при сокрытии, выдается ошибка и скачивается пустой файл:
Рис. 13 Ошибка при неверно введенной кодовой фразе
10) Попробовав загрузить файл формата.png, программа мгновенно закрывается:
Рис. 14 Попытка загрузка файла, отличного от jpeg
11) Проверим, что будет с изображением, если в нем спрятать сообщение размером, превышающем приближенный максимальный размер и рекомендованный лимит (из п. 1). Воспользуемся файлом readme.txt размером 192Kb:
Рис. 15 Оригинальное изображение
Рис. 16 Встроен слишком большой файл
Если очень внимательно присмотреться, то можно заметить, что второе изображение (рис. 16) имеет более светлые тона. Хотя, если не иметь перед собой оригинала (рис. 15), догадаться, что в файл встроено сообщение, невозможно. Таким образом, можно сделать вывод, что визуально отличить изображение с встроенным сообщением от оригинала все еще сложно. Но не стоит забывать о том, что существует множество статистических методов анализа потенциальных стегоконтейнеров.
К значительным минусам программы стоит отнести малый процент возможности использования контейнера.
4.4 OutGuess
Данный метод стегоанализа был разработан для улучшения надежности алгоритма JSteg, поскольку с достаточно большой вероятностью можно детектировать факт применения стеганографической системы. Этот подход разрабатывал Нилс Провос. В алгоритм Д. Апхэма было внесено два значительных дополнения. Первое - использование метода случайных блужданий для получения последовательности пикселей. Второе - сохраняется гистограмма распределения частот исходного изображения.
Алгоритм состоит из двух этапов:
1) Этап внедрения
Сначала происходит получение последовательности пикселей из файла, для чего происходит запуск генератора псевдослучайных чисел, которые используются как индексы пикселей. Чтобы избежать появления повторений в последовательности, применяются разные приемы, такие как косвенная адресация (когда адреса операндов неизвестны и появляются только в процессе решения задачи), выбраковка значений (исключение значений, которые наиболее отличаются от общего массива данных) или пропуск. Таким образом, алгоритм Outguess является стеганографической системой с секретным ключом, который используется как начальное значение для генератора. В остальном процедура встраивания происходит так же, как и в алгоритме Jsteg.
2) Этап восстановления
Далее, на втором шаге происходит восстановление статистической информации исходного изображения. Для этого корректируются последовательности, незадействованные во внедрении сообщения. Это достигается за счет того, что уменьшается потенциально возможная область, где происходит размещение сообщения, то есть максимальная длина сообщения ограничивается. В отличие от алгоритма Jsteg, где сообщение может использовать всю плоскость LSB, для алгоритма Outguess существует ограничение в 12%.
Подытожив все вышеизложенное, можно сказать, что данный алгоритм не детектируется статистическими видами анализа. В основе построения стегосистемы находится принцип открытости методов стегоанализа.
4.5 S-Tools
Программа позволяет скрывать файлы в изображения формата GIF и BMP, а также в аудиофайлы формата WAV. При этом S-tools помимо методов стеганографии сочетает в себе методы криптографии, потому что файл, который скрывается, шифруется с помощью одного из криптографических алгоритмов с симметричным ключом (DES, тройной DES или IDEA).
Используются стандартные библиотеки Windows: ntdll.dll, kernel32.dll,
KernelBase.dll, winmm.dll, msvcrt.dll, user32.dll, gdi32.dll, lpk.dll, usp10.dll и другие. Нестандартные библиотеки: GIFutil.dll -- библиотека для работы с GIF изображениями; zlib.dll - библиотека для сжатия данных; cryptlib.dll.
Ниже приведены схемы осуществления вложения и извлечения вложения программой S-Tools [20].
Рис. 17 Общая схема осуществления вложения программой S-Tools
Рис. 18 Алгоритм работы стеганодетектора S-Tool (часть 1)
Рис. 19 Алгоритм работы стеганодетектора S-Tool (часть 2)
Стоит также отметить, что определить наличие вложения без знания пароля невозможно, т.к. при определении адресов значащих байт используется библиотека cryptlib.dll с алгоритмом шифрования IDEA (режим шифрования CFB) и паролем, который вычисляется по алгоритму МD5 на базе введенного пользователем пароля.
4.6 Steghide
Это консольная утилита, написанная на C++, которая позволяет скрывать информацию не только в графические, но и аудио файлы. Программа скрывает биты файла с секретными данными в битах другого файла, с менее значимой информацией. Таким образом, данные становятся невидимыми и их существование определить невозможно. Программа применяет псевдослучайное распределение скрываемых бит в файле-контейнере (текстовые файлы, изображения и пр.). Формат и размер файла-контейнера выбирается в соответствии с размером данных, которые нужно сокрыть, т.к. при задании параметров стеганографии нужно ориентироваться на наличие наименьшего числа артефактов у файла-контейнера, иначе очевидные артефакты могут показать наличие скрытых данных.
В документации к данной утилите можно найти команды и функции работы с программой, такие как Embed (встраивание секретных данных в обложку файла, тем самым создавая стегофайл), Extract (извлечение секретных данных из стегофайла), Info (отображение информации об обложке или стегофайле), Encinfo(отображение списка алгоритмов шифрования и режимов, которые могут использоваться и др.
4.7 F3 [14]
В отличие от JSteg данный алгоритм имеет две особенности:
1) Происходит уменьшение абсолютного значения коэффициентов на единицу, если значение наименее значимого бита (НЗБ) не совпадает со значением встраиваемого бита сообщения. Коэффициенты с нулевым значением не используются в стеганографии. НЗБ ненулевых коэффициентов соответствует секретному сообщению после встраивания. Отличительной чертой F3 является то, что он использует коэффициенты со значением 1. Симметрия значений 1 и -1 сохраняется.
2) Некоторые встроенные биты сокращаются, и сокращение происходит каждый раз, когда F3 уменьшает абсолютное значение 1 или -1 до 0. Получатель не может отличить нулевой коэффициент, который алгоритм не изменял, от нуля, полученного сокращением. Поэтому при получении нуля отправитель повторяет встраивание бита.
4.8 F4 [14]
Данный алгоритм устраняет недостатки предыдущего алгоритма F3: отрицательные коэффициенты отображаются на инвертированное стеганографическое значение: отрицательные четные коэффициенты представляют стеганографическую единицу, отрицательные нечетные коэффициенты - ноль, положительные четные представляют ноль, положительные нечетные - единицу.
С увеличением абсолютного значения этих коэффициентов частота появления коэффициентов уменьшается.
Далее приведена блок-схема, которая описывает функцию встраивания F4 в упрощенном виде.
Рис. 20 Упрощенная схема функции встраивания алгоритма F4
4.9 F5
Еще один алгоритм стеганографии для встраивания текста в JPEG. Изображения имеют ограниченную стеганографическую емкость. Часто встраиваемый текст не требует всей емкости изображения, и большая часть ее остается неиспользованной. При последовательном внедрении изменения находятся в начале файла, а после идет уже неиспользованное пространство этого самого файла. Таким образом, чтобы противостоять атакам, функция встраивания должна использовать весь контейнер, а плотность встраивания должна быть равномерной по всему файлу.
Некоторые известные стеганографические алгоритмы используют весь контейнер для распространения текста, но этим методы очень медленные в случае, когда используется полностью вся емкость изображения.
Перестановка считается простым способом, если точно известна емкость контейнера. Но в случае с алгоритмом F4 сложно предсказать, где будут сокращения, т.к. они зависят от того, какой бит будет встраиваться и в какую позицию. В этом случае можно только оценить приблизительно емкость файла.
Для алгоритма F5 используется механизм разнесенной перестановки, который сначала перемешивает все коэффициенты, использую перестановку. Сокращение изменяет только значения коэффициентов, но не их количество. На основе пароля получается ключ, от которого зависит перестановка. Данный алгоритм восстанавливает измененные коэффициенты в их исходную последовательность для кодирования Хаффмана. Если ключ правильный, то можно повторить перестановку, которая имеет линейную сложность O(n). Так алгоритм F5 позволяет распределить изменения по всему изображению.
Кратко структуру алгоритма F5 можно изложить следующим образом [14]:
1. Начать сжатие JPEG и остановиться после квантования коэффициентов.
2. Инициализировать криптографически стойкий генератор случайных чисел с помощью ключа, полученного из пароля.
3. Создать перестановку с двумя параметрами - генератор случайных чисел и количество коэффициентов (включая нулевые коэффициенты).
4. Определить параметр k{\displaystyle k\,\!}, который зависит от емкости несущей среды, а также от длины секретного сообщения.
5. Вычислить длину кодового слова
6. Вставить секретное сообщение, используя (1, n, k) кодирование матрицы.
6.1 Заполнить буфер n{\displaystyle n\,\!} ненулевыми коэффициентами.
6.2 Хешировать буфер (сгенерированное значение хеш-функции состоит из k{\displaystyle k\,\!} бит).
6.3 Добавить следующие k{\displaystyle k\,\!} битов сообщения к значению хеша (побитно с помощью операции XOR).
6.4 Если сумма равна 0, то буфер остается неизменным. В противном случае, сумма указывает на элемент буфера, абсолютное значение которого нужно уменьшить на единицу.
6.5 При получении нуля проверяется сокращение. Если сокращение имеет место, то настроить буфер (исключить 0, прочитав еще один ненулевой коэффициент, т. е. повторить шаг 6.1, начиная с того же коэффициента). Если сокращения не произошло, осуществляется переход к новым коэффициентам фактического буфера. Если еще есть данные сообщения, перейти к шагу 6.1.
7. Продолжить сжатие JPEG.
5. Рассмотрение принципиальных алгоритмов программы. Применение
В данной главе рассматриваются два подхода. Как было замечено в предыдущих главах, программные продукты для встраивания секретного сообщения в изображение могут содержать секретный ключ или нет.
Поэтому первый подход будет для случая, когда нет ключа. Рассмотрим алгоритм пошагово с подробным рассмотрением решений и способов реализации:
1. Получение на вход программы файла со скрытой в нем информацией
2. Извлечение скрытого сообщения
Извлечение состоит не только в том, что атакующий определяет факт наличия скрытой информации, но также извлекает это секретное сообщение из файла. Здесь может быть рассмотрена концепция «Человек посередине», которая заключается в том, что злоумышленник ставит себя в цепочку между общающимися сторонами, в данном случае это тот, кто встраивает секретный текст в изображение и само изображение. При этом в цепочки два согласующихся объекта не подозревают о существовании третьего, и обмен информацией происходит как раз через этого «человека посередине».
Для методов замены для извлечения нужно знать место, где была размещена секретная информация, т.к. принцип этих методов заключается в замене избыточной части изображения битами секретного сообщения.
Кроме этого, методы извлечения приведены в главе 5 вместе с методами встраивания. Также концепции извлечения, используемые в программных продуктах, можно найти в главе 6.
3. Проверка текста на осмысленность.
Существует несколько подходов по определению осмысленности текста.
Индекс совпадений - это вероятность того, что выбранные случайным образом две буквы одинаковы. С помощью индекса совпадений (Index of Coincidence) можно определить язык, на котором написан текст. Индекс рассчитывается по формуле:
где , N - общее количество букв в тексте. Чем выше этот индекс (около 0,070), тем более равномерным является текст в плане распределения букв одного языка. Если индекс совпадений низкий (около 0,0385), это может означать, что в тексте используются буквы из разных языков.
Пример соответствия незашифрованного текста и индекса соответствия: английский - 0,0667, немецкий - 0,0762, итальянский - 0,0738, французский - 0,0778, испанский - 0,0770, русский - 0,0529.
Индекс совпадений может также использоваться для определения длины неизвестного слова.
Частотный анализ предполагает, что частота появления какой-либо буквы алфавита в различных текстах одного и того же языка одинакова. Конечно, это лучше всего работает на относительно длинных текстах. Анализируя текст, который зашифрован методом замены (методом подстановки - метод шифрования, где элементы исходного текста заменяются зашифрованным текстом в соответствии с некоторым правилом; элементами текста могут быть не только отдельные символы, но и пары, тройки букв), можно произвести обратную замену по частотам появления тех или иных символов, и таким образом восстановить исходный текст. Аналогичные размышления применимы к биграммам (последовательностям из 2х букв), триграммам и т.д.
Критерием осмысленности текста также является отсутствие невозможных сочетаний букв (например, ёя, ъж, цё, щч, яы, хщ, дй, вхй, оыа, и т.д.).
В другом случае, когда имеется секретный ключ, решить задачу определения факта наличия скрытого сообщения можно с помощью изучения статистических свойств сигнала (второй подход). Таким образом, младшие биты в сигнале несут наименьшее количество информации, и поэтому их можно использовать для сокрытия секретного сообщения. При этом может измениться их статистика, вследствие чего атакующему будет известно о наличии скрытого канала.
Сначала можно выделить подмножество незначащих бит, выбрать из них нужное количество, которое соответствует встроенному сообщению. Если статистические свойства контейнера изменились, значит, там содержится скрытое сообщение. При анализе модели нужно проверить неоднородность последовательностей отсчетов, зависимость между битами в отсчетах, зависимость между отсчетами, неравновероятность условных распределений в последовательности отсчетов, статистику длин серий (последовательностей из одинаковых бит) [3].
Рассмотренные алгоритмы могут найти применение в DLP системах.
6. Выводы и рекомендации по применению
В первой главе, во введении, была описана исследуемая задача, поставлена цель данной работы и приведен порядок рассматриваемых в каждой главе вопросов. Далее были введены основные определения, необходимые и часто встречающиеся при обсуждении данной темы. Рассмотрено значение разбираемой темы, ее место в современном мире и влияние на окружение.
Приведены виды атак на стегосистему с кратким их описанием, наиболее распространенные методы сокрытия информации в файлах формата jpeg.
Рассмотрены алгоритмы встраивания и извлечения скрытой информации программных продуктов.
На основе проведенных исследований предложен принципиальный алгоритм программы, который позволит распознать информацию, скрытую в изображении.
Приведен пример использования этого алгоритма в практических целях.
Список используемых источников
1. SimmonsG.J. The prisoner`s problem and the subliminal channel, Proc. Workshopon Communications Security (Crypto`83), 1984, 51-67.
2. Pfitzmann B. Information Hiding Terminology, in Information Hiding, Springer Lecture Notes in Computer Science, v.1174, 1996, 347-350.
3. Грибунин В.Г., Оков И.Н., Туринцев И.В. Цифровая стеганография, 2009.
4. https://www.osp.ru/os/2002/07-08/181729/ (дата обращения 5.04.2017)
5. https://rutlib.com/book/25967/p/63 (дата обращения 7.04.2017).
6. Балашова С.А. Сокрытие информации в коэффициентах спектральных преобразований файла формата JPEG // Молодой ученый. 2016. №14. С. 56-62.
7. Грибунин В.Г., Оков И.Н., Туринцев И.В. Цифровая стеганография. Наука и учеба, 2002.
8. Аграновский А.В., Балакин А.В., Грибунин В.Г., Сапожников С.А. Стеганография, цифровые водяные знаки и стеганоанализ. М.: Вузовская книга, 2009.
9. Михайличенко О.В. Методы и алгоритмы защиты цифровых водяных знаков при JPEG сжатии, СПб., 2009.
10. Moller S., Pfitzmann A., Stirand I. Computer based steganography: How It Works And Why Therefore Any Restriction On Cryptography Are Nonsense, At Best. //Information Hiding: First International Workshop «InfoHiding'96», 1996.
11. Хорошко В.О., Азаров О.Д., Шелест М.Е., Еремчюк Ю.Е., Компьютерна криптографія. Лабораторний практикум для студентів, що навчаються з напрямків підготовки "Інформаційна безпека" і “Комп'ютерні системи та мережі”, 2003.
12. Matsui K., Tanaka K.Video-Steganography: How to Secret Embed a Signature In a Picture, 1994.
13. Kutter M., Jordan F., Bossen F. Digital Signature of Color Images Using Amplitude Modulation, 1997.
14. Westfeld A. F5 - A Steganographic Algorithm: High Capacity Despite Better Steganalysis, 2001.
15. Валишин М.Ф. Диссертация на соискание ученой степени кандидата технических наук на тему «Повышение эффективности методов противодействия встраиванию скрытой информации в графические файлы», 2015.
16. Chinchu Elza Andrewa, Iwin Thanakumar Joseph. An analysis of various steganographic algorithms, 2013.
17. Барсуков В.С., Шувалов А.В. Еще раз о «стеганографии» - самой современной из древнейших наук, 2006.
18. Солодуха Р.А., Машуков Д.В. Опыт сигнатурного анализа стеганографической программы S-tools, 2013.
Размещено на Allbest.ru
...Подобные документы
Создание работоспособного приложения, обеспечивающего сокрытие информации произвольного размера в файле формата JPEG и доступ к уже имеющейся информации. Определение основных понятий стеганографии. Структура файла формата JPEG. Метод сокрытия данных.
курсовая работа [57,5 K], добавлен 30.03.2009Реализация программ для работы с большим объемом информации, записанной в файлах. Набор инструментальных и алгоритмических средств для разработки программы. Структура данных, описание основных модулей. Требования к программному и аппаратному обеспечению.
курсовая работа [712,0 K], добавлен 13.08.2012Предотвращение несанкционированного распространения информации в текстовых файлах. Разработка подсистемы обнаружения утечки информации с фильтром идентификации текстовых областей в передаваемом потоке данных и их сходства с конфиденциальными данными.
дипломная работа [1,8 M], добавлен 14.03.2013Анализ подходов по защите от утечки конфиденциальной информации. Разработать программный модуль обнаружения текстовых областей в графических файлах для решения задач предотвращения утечки конфиденциальной информации. Иллюстрация штрихового фильтра.
дипломная работа [12,8 M], добавлен 28.08.2014Виды информации, с которыми работают современные компьютеры. Понятие "информация": в физике, в биологии, в кибернетике. Представление информации. Кодирование и каналы передачи информации. Локальные компьютерные сети. Хранение информации в файлах.
контрольная работа [26,4 K], добавлен 13.01.2008Характеристика средств обработки текстовой информации, способы редактирования и форматирования документов. Порядок создания списков и таблиц, проверка орфографии и синтаксиса текста. Выбор формата файла. Работа в табличном процессоре Microsoft Excel.
курсовая работа [411,1 K], добавлен 27.04.2013Проблема защиты информации от несанкционированного доступа, основные направления ее решения (криптография и стеганография). Методы классической и цифровой стеганографии, стегосистемы. Классификация методов компьютерной стеганографии и их характеристика.
курсовая работа [332,3 K], добавлен 26.11.2013Актуальность защиты информации и персональных данных. Постановка задачи на проектирование. Базовая модель угроз персональных данных, обрабатываемых в информационных системах. Алгоритм и блок-схема работы программы, реализующей метод LSB в BMP-файлах.
курсовая работа [449,5 K], добавлен 17.12.2015Распознавание текста на изображениях как очень важная задача, имеющая множество практических приложений. Особенности архитектуры интегрированной системы получения текстовой информации из изображений. Общая характеристика методов выделения текста.
курсовая работа [1,7 M], добавлен 12.06.2016Классическое, компьютерное и цифровое направления стенографии. Использование зарезервированных полей компьютерных форматов файлов. Алгоритмы встраивания скрытой информации. Стеганография и цифровые водяные знаки. Документация программного продукта.
курсовая работа [37,7 K], добавлен 22.06.2011Понятие и отличительные черты аналоговой и цифровой информации. Изучение единиц измерения цифровой информации: бит (двоичная цифра) и байт. Особенности передачи, методы кодирования и декодирования текстовой, звуковой и графической цифровой информации.
реферат [479,4 K], добавлен 22.03.2010Основные допечатные процессы подготовки издания. Технологическая схема компьютерной подготовки текстовой информации. Выбор варианта оформления, формата, гарнитуры и кегля. Основные правила компьютерного набора. Верстка в программе Adobe InDesig.
курсовая работа [250,5 K], добавлен 22.01.2015Понятие и сущность стеганографии, использование свойств формата файла-контейнера. Классификация методов стеганографии. Компьютерные вирусы и стеганография, гарантированное уничтожение информации. Методы воздействия на средства защиты информации.
контрольная работа [80,2 K], добавлен 02.01.2018Назначение, классификация и экономическая целесообразность использования устройств ввода текстовой и графической информации. Обзор и сравнительный анализ программ распознавания образов Acrobat Reader и ASDee. Охрана труда при работе на компьютере.
дипломная работа [4,3 M], добавлен 23.07.2010Базовая модель угроз персональных данных, обрабатываемых в информационных системах персональных данных. Метод сокрытия информации в наименьших битах графических контейнеров. Алгоритм и блок-схема работы программы, реализующей метод LSB в BMP-файлах.
курсовая работа [475,1 K], добавлен 05.12.2014Программы работы с текстами: MS-DOS Editor, Word Pad, блокнот, word, текстовый процессор. Редакторы для обработки документов. Стили форматирования. Двоичное кодирование текстовой информации в компьютере. Операции технологического процесса ее обработки.
курсовая работа [324,0 K], добавлен 25.04.2013Принципы компьютерной стеганографии. Классификация методов сокрытия информации. Популярность метода замены наименьшего значащего бита. Сущность методов расширения палитры и блочного сокрытия. Применение методов в GIF изображениях. Реализация алгоритмов.
курсовая работа [589,7 K], добавлен 17.02.2013Средства и технологии обработки текстовой информации: MS-DOS Editor, Word Pad, Блокнот, Microsoft Word. Двоичное кодирование текстовой информации в компьютере. Рассмотрение разновидностей кодовых таблиц для русских букв: Windows, MS-DOS, КОИ-8, Мас, ISO.
курсовая работа [644,5 K], добавлен 27.04.2013Особенности построения алгоритма поиска адресов e-mail, ICQ и имен пользователей в файлах, с использованием формата вывода html страницы, а также его реализация с помощью GHCi языка Haskell. История создания и принципы работы с wxWidgets и wxHaskell.
курсовая работа [687,3 K], добавлен 21.12.2009Создание информационной мультимедиа системы (медиа-плеера) для презентации аудио-видео информации о факультете КТАС, представленной в специально отснятых и смонтированных avi-файлах. Разработка модуля пользовательского интерфейса, выходные данные.
курсовая работа [41,5 K], добавлен 21.11.2014