Главная страница
Навигация по странице:

  • LSB (Least Significant Bit, найменший значущий біт)

  • Программы для стеганографии в JPEG

  • Принцип работы стеганографии (на примере программы JSteg ).

  • Исходное изображение Изображение со скрытым текстом

  • Младшие битыквантованных коэффициентов DCT

  • Атака по известному заполненному контейнеру

  • Атака по известной математической модели контейнера

  • Атака на основе известного пустого контейнера

  • стеганография. Повідомлення бо не знає про факт його існування. Якщо криптографія приховує зміст повідомлення, то стеганографія приховує сам факт існування повідомлення. Стеганографию обычно используют совместно с методами криптографии, таким образом, дополняя её


    Скачать 44.8 Kb.
    НазваниеПовідомлення бо не знає про факт його існування. Якщо криптографія приховує зміст повідомлення, то стеганографія приховує сам факт існування повідомлення. Стеганографию обычно используют совместно с методами криптографии, таким образом, дополняя её
    Анкорстеганография.docx
    Дата06.08.2018
    Размер44.8 Kb.
    Формат файлаdocx
    Имя файластеганография.docx
    ТипПовідомлення
    #22543

    Стеганографія


    Стеганогра́фія — (з грец. στεγανός — прихований + γράφω — пишу) — тайнопис, при якому повідомлення, закодоване таким чином, що не виглядає як повідомлення — на відміну від криптографії. Таким чином непосвячена людина принципово не може розшифрувати повідомлення — бо не знає про факт його існування.

    Якщо криптографія приховує зміст повідомлення, то стеганографія приховує сам факт існування повідомлення.

    Стеганографию обычно используют совместно с методами криптографии, таким образом, дополняя её.

    Комп'ютерна стеганографія


    В современной компьютерной стеганографии существует два основных типа файлов: сообщение — файл, который предназначен для скрытия, и контейнер — файл, который может быть использован для скрытия в нем сообщения. При этом контейнеры бывают двух типов. Контейнер-оригинал (или “Пустой” контейнер) — это контейнер, который не содержит скрытой информации. Контейнер-результат (или “Заполненный” контейнер) — это контейнер, который содержит скрытую информацию. Под ключом понимается секретный элемент, который определяет порядок (алгоритм) занесения сообщения в контейнер. Скрываемая информация называется стеганограммой или просто стего. Данные, среди которых она прячется, играют роль информационного контейнера, а потому так же и именуются.

    Комп'ютерна стеганографія базується на двох принципах. По-перше, аудіо- і відеофайли, а також файли з оцифрованими зображеннями можна деякою мірою змінити без втрати функціональності. По-друге, можливості людини розрізняти дрібні зміни кольору або звуку обмежені. Методи стеганографії дають можливість замінити несуттєві частки даних на конфіденційну інформацію. Сімейна цифрова фотографія може містити комерційну інформацію, а файл із записом сонати Гайдна — приватний лист.

    Цифрова стеганографія — напрям класичної стеганографії, заснований на захованні або впровадженні додаткової інформації в цифрові об'єкти, викликаючи при цьому деякі спотворення цих об'єктів. Але, як правило, дані об'єкти є мультимедіа-об'єктами (зображення, відео, аудіо, текстури 3D-об'єктів) та внесення спотворень, які знаходяться нижче межі чутливості середньостатистичної людини, не призводить до помітних змін цих об'єктів.

    Приклади — стеганографічна файлова система StegFS для Linux, приховування даних в невикористовуваних областях форматів файлів, підміна символів в назвах файлів, текстова стеганографія і т. д.

    Таблица 1. Сравнительные характеристики стеганографических методов

    Стеганографические методы

    Краткая характеристика методов

    Недостатки

    Преимущества

    1. Методы использования специальных свойств компьютерных форматов данных

    1.1. Методы использования зарезервированных для расширения полей компьютерных форматов данных

    Поля расширения имеются во многих мультимедийных форматах, они заполняются нулевой информацией и не учитываются программой

    Низкая степень скрытности, передача небольших ограниченных объемов информации

    Простота использования

    1.2. Методы специального форматирования текстовых файлов:

     

    1.2.1. Методы использования известного смещения слов, предложений, абзацев

    Методы основаны на изменении положения строк и расстановки слов в предложении, что обеспечивается вставкой дополнительных пробелов между словами

    1. Слабая производительность метода,передача небольших объемов информации

    2. Низкая степень скрытности

    Простота использования. Имеется опубликованное программное обеспечение реализации данного метода

    1.2.2. Методы выбора определенных позиций букв (нулевой шифр)

    Акростих - частный случай этого метода (например, начальные буквы каждой строки образуют сообщение)

    1.2.3. Методы использования специальных свойств полей форматов, не отображаемых на экране

    Методы основаны на использовании специальных "невидимых", скрытых полей для организации сносок и ссылок (например, использование черного шрифта на черном фоне)

    1.3. Методы скрытия в неиспользуемых местах гибких дисков

    Информация записывается в обычно неиспользуемых местах ГМД (например, в нулевой дорожке)

    1. Слабая производительность метода, передача небольших объемов информации

    2. Низкая степень скрытности

    Простота использования.

    Имеется опубликованное программное обеспечение реализации данного метода

    1.4. Методы использования имитирующих функций (mimic-function)

    Метод основан на генерации текстов и является обобщением акростиха. Для тайного сообщения генерируется осмысленный текст, скрывающий само сообщение

    1. Слабая производительность  метода, передача небольших объемов информации

    2. Низкая степень скрытности

    Результирующий текст не является подозрительным для систем мониторинга сети

    1.5. Методы удаления идентифицирующего файл заголовка

    Скрываемое сообщение шифруется и у результата удаляется идентифицирующий заголовок,оставляя только шифрованные данные. 
    Получатель заранее знает о передаче сообщения и имеет недостающий заголовок

    Проблема скрытия решается только частично.
    Необходимо заранее передать часть информации получателю

    Простота реализации.
    Многие средства (White Noise Storm, S-Tools), обеспечивают реализацию этого метода с PGP шифроалгоритмом

    2. Методы использования избыточности аудио и визуальной информации

    2.1. Методы использования избыточности цифровых фотографии, цифрового звука и цифрового видео

    Младшие разряды цифровых отсчетов содержат очень мало полезной информации. Их заполнение дополнительной информацией практически не влияет на качество восприятия, что и дает возможность скрытия конфиденциальной информации

    За счет введения дополнительной информации искажаются статистические характеристики цифровых потоков.
    Для снижения компрометирующих признаков требуется коррекция статистических характеристик

    Возможность скрытой передачи большого объема информации.
    Возможность защиты авторского права, скрытого изображения товарной марки, регистрационных номеров и т.п.

    Але найчастіше стеганографія використовується для створення цифрових водяних знаків. На відміну від звичайних їх можна нанести і відшукати тільки за допомогою спеціального програмного забезпечення — цифрові водяні знаки записуються як псевдовипадкові послідовності шумових сигналів, згенерованих на основі секретних ключів. Такі знаки можуть забезпечити автентичність або недоторканість документа, ідентифікувати автора або власника, перевірити права дистриб'ютора або користувача, навіть якщо файл був оброблений або спотворений.

    Алгоритми


    Існуючі алгоритми вбудовування таємної інформації можна поділити на декілька підгруп:

    • Працюючі з самим цифровим сигналом. Наприклад, метод LSB (Least Significant Bit);

    • «Впаювання» прихованої інформації. В даному випадку відбувається накладення приховуваного зображення (звуку, іноді тексту) поверх оригіналу. Часто використовується для вбудовування ЦВЗ (цифровий водяний знак).

    • Використання особливостей форматів файлів. Сюди можна віднести запис інформації в метадані або в різні інші не використовувані зарезервовані поля файлу.

    LSB (Least Significant Bit, найменший значущий біт) — суть цього методу полягає в заміні останніх значущих бітів у контейнері (зображення[6], аудіо[7] або відеозапису) на біти приховуваного повідомлення. Різниця між порожнім і заповненим контейнерами повинна бути не відчутна для органів сприйняття людини.

    Наиболее часто для сокрытия инфы используются графические файлы. Существует множество разных по своей сложности методов сокрытия, но наиболее простым является так называемый метод битовых плоскостей. Суть его заключается в следующем. Как известно, любое изображение представляет собой совокупность точек. Каждая точка цветного изображения кодируется комбинацией из 3-х байт, задающих уровень красного (R), зелёного (G) и голубого цветов (B) — RGB. Если в этой комбинации изменить самый последний бит, или пару — тройку битов, цвет хоть и получится отличным от исходного, но настолько незначительно, что даже самый острый глаз не заметит никакой разницы. Это и используется для того, чтобы путём изменения битов точек встроить в изображение любые данные, которые предварительно ещё и шифруются, после чего можно спокойно передавать такую картинку (стегофайл), не представляющую никакой ценности для ФСБ, ЦРУ, M6, Моссада (нужное подчеркнуть) через открытый канал. Cтегофайл нельзя обрабатывать в графическом редакторе как картинку, иначе скрытая информация может быть разрушена. С осторожностью их надо загружать на файловые хостинги, поскольку они тоже при загрузке могут обрабатывать изображения.
    Підвиди LSB-алгоритмів для растрових зображень без палітри

    BlindHide (приховування наосліп). Найпростіший алгоритм: дані записують, починаючи з верхнього лівого кута зображення до правого нижнього — піксел за пікселем. Приховані дані програма записує у наймолодших бітах кольорів пікселя. Приховані дані розподіляються у контейнері нерівномірно. Якщо приховані дані не заповнять повністю контейнер, то лише верхня частина зображення буде засміченою.

    HideSeek (заховати-знайти). Цей алгоритм у псевдовипадковий спосіб розподіляє приховане повідомлення у контейнері. Для генерації випадкової послідовності використовує пароль.

    FilterFirst (попередня фільтрація). Виконує фільтрацію зображення-контейнера — пошук пікселів, у які записуватиметься прихована інформація (для яких зміна наймолодших розрядів буде найменш помітною для ока людини).

    BattleSteg (стеганографія морської битви). Найскладніший і найдосконаліший алгоритм. Спочатку виконує фільтрацію зображення-контейнера, після чого прихована інформація записується у «найкращі місця» контейнера у псевдовипадковий спосіб (подібно, як у HideSeek).

    Очень распространены 2 следующих формата: rar и jpeg. В первом хранятся заархивированные данные. Второй используется для хранения данных, сжатых по алгоритму сжатия изображений jpeg. Если внимательно приглядеться к их внутреннему устройству (я не буду здесь приводить точную спецификацию), то можно заметить, что в самое начало файла можно вставить практически любую информацию – она будет игнорироваться программами-архиваторами (winrar, к примеру) – так как они пропускают все до тех пор, пока не натолкнутся на определенную метку. То есть если сообщение не содержит такой метки в качестве какой-либо своей подпоследовательности, то коллизий не возникнет. Ну, а формат jpeg предусматривает хранение длины файла, и из-за этого программы для просмотра изображений игнорируют какое-либо сообщение, вставленное в конец файла. В связи с этим представляется любопытным провести следующий эксперимент:

    Попробовать взять какое-нибудь изображения в формате jpeg и дописать в конец него rar-архив. Мы увидим, что все действительно работает так, как нам хотелось бы – при просмотре файла, например с помощью ACDSee, нам открывается наше изображение. А при попытке его разархивировать – все тоже проходит гладко, и мы спокойно себе получаем наше сообщение. Естественно можно на архив наложить шифрование – и получить таким образом «спайку» возможностей криптографии и стеганографии. Ничего не подозревающий анонимус видит картинку, тот кто знает о скрытом содержимом, открывает архиватором. Такие стегоконтейнеры безразмерны, но при попытке засунуть слишком много такую конструкцию выдаст размер. Также существует множество скриптов для поиска.

    Представляется очевидным, что в компьютерах все конечно и дискретно. В связи с этим мы храним лишь отдельные части изображений/звуков/… В простейшем варианте (формат bmp = bitmap picture) изображение хранится как матрица (таблица) значений оттенков цвета для каждой точки хранимого изображения. Ну и, разумеется, он хранится не как длина его волны (вспоминаем немного физику), а как комбинация из трех оттенков (красного, зеленого и синего цветов - это называется схема смешения RGB) которые необходимо "смешать" для того чтоб получить наш исходный цвет. Таким образом, каждая из трех компонент (их еще называют каналами цвета), хранясь в одном байте, может принимать значения от 0 до 255 включительно. Особенность нашего зрения заключается в том, что мы достаточно терпимо относимся к незначительным колебаниям цвета. Это значит, что мы не заметим разницы между цветами, соответствующими значениям, отстоящим друг от друга в пределах 3. Изменение каждого из трех наименее значимых бит (в трех каналах соответственно) приводит к изменению менее чем на 1% интенсивности данной точки. А это, в свою очередь означает, что наименее значащий бит мы можем изменять по своему усмотрению. Это называется принцип "наименее значащих битов" = Least Significant Bits. Если отбросить в расчетах, обычно незначительную относительно размера изображения, служебную информацию в начале файла, то получаем следующую картину. Мы имеем возможность дополнительно хранить сообщение размером в 1/8 размера контейнера ("размазанную" по последним битам в каждом байте матрицы цветов пикселей) или же размером в 1/4 контейнера (соответственно при использовании 2 последних битов в байтах).

    Но недостатки данного способа в том, что такое склеивание можно легко заметить. К примеру если картинка имеет размер 200х200 и при этом весит 2 мегабайта, то тут же возникают подозрения. К тому же все форматы (контейнеры) обычно имеют четкую структуру и если вдруг в файле имеется какая то избыточная информация, то это легко обнаружить.

    Аудио:

    Например, можно замещать наименее значащие биты контейнера битами встраиваемого сообщения. Так же можно строить стегосистемы, основанные на особенностях системы слуха человека и на особенностях самих аудиосигналов. По своей сути система слуха человека – это анализатор частотного спектра, который воспринимает сигналы в диапазоне 10 – 20000 Гц. Систему слуха человека можно смоделировать, как 26 пропускающих фильтров, полоса пропускания, которых увеличивается с увеличением частоты. Изменение фазы сигнала улавливается системой человеческого слуха слабее, чем изменение амплитуды или частоты. 
    Следовательно, существуют три способа встраивания информации в аудиосигналы:

    • Встраивание с расширением спектра (незначительно модифицируются амплитуды отсчетов);

    • Встраивание за счет модификации фазы аудиосигнала (фаза начального сегмента сигнала модифицируется согласно внедряемым данным, фаза последующих сегментов согласовывается с фазой начального сегмента для сохранения разности фаз);

    • Встраивание за счет изменения времени задержки эхо-сигнала.

    Эхо-методы применяются в цифровой аудиостеганографии и используют неравномерные промежутки между эхо-сигналами для кодирования последовательности значений. При наложении ряда ограничений соблюдается условие незаметности для человеческого восприятия. Эхо характеризуется тремя параметрами: начальной амплитудой, степенью затухания, задержкой. При достижении некоего порога между сигналом и эхом они смешиваются. В этой точке человеческое ухо не может уже отличить эти два сигнала. Наличие этой точки сложно определить, и она зависит от качества исходной записи, слушателя. Чаще всего используется задержка около 1/1000, что вполне приемлемо для большинства записей и слушателей. Для обозначения логического нуля и единицы используется две различных задержки. Они обе должны быть меньше, чем порог чувствительности уха слушателя к получаемому эху.

    Программы для стеганографии в  JPEG

    Более серьезным иструментом является OpenPuff, который имеет возможность работать с разными форматами контейнеров и позволяет использовать несколько ключей.

    SecurEngine, которая прячет сообщение в большом текстовом файле и напоследок познакомимся с программкой, которая скрывает файлы в MP3 формате – так называемая - MP3Stego.

    Сейчас наиболее распространены четыре программы стеганографии, работающие под управлениемWindows:

    • F5 , который был разработан в рамках исследований, специализирующихся на стеганографии. Вероятно, одна из самых передовых программ, находящихся в публичном доступе. Программа использует различные методы, чтобы компенсировать изменения статистических характеристик контейнера при внесении изменений, что затрудняет статистический анализ.  Доступны исходные коды на языке программирования Java.

    • JPHide / JPSeek / JPHSWin  - существует начиная с 1999 года, исходный код доступен. Программа использует Blowfish, как генератор псевдо-случайных чисел.

    • JSteg – одна  из первых программ для  сокрытия данных в формате JPEG. Программа не поддерживает шифрование скрываемых данных.  Графический интерфейс, который называется JStegShell, был написан позднее и добавляет несколько дополнительных возможностей, такие как возможность шифрования. Исходные коды доступны.

    • StegHide новый относительно свежая программа с открытым исходным кодом, поддерживаемая разработчиками 

    Принцип работы стеганографии (на примере программы JSteg).

    Для демонстрации работы стеганографического алгоритма рассмотрим подробнее программу JSteg

    Сначала программа JSteg преобразует скрываемый файл в байтовую последовательность очень простым способом. Он добавляет имя скрываемого файла (если вы выбрали эту опцию) в начало. Затем, после имени скрытого файла, он добавляет байт с длиной названия файла. И, наконец, в конце в качестве подписи, добавляется строка korejwa (имя автора).

    Скрываемая информации имеет следующий формат (взято из файла README, и немного упрощенно):

    A

    BBB … B

    CCCCCCCCCCCCCCCCCC. . .

    где область:

      А – длиной в 5 бит. Он выражает длину (в битах) поля B;

    B – некоторое количество бит, определенное значением, содержащимся в области А. Количество битов может варьироваться в диапазоне от 0 до 31. Он выражает длину (в байтах) скрываемого сообщения;

      С – содержит само скрываемое сообщение.

    Для анализа работы программы JSteg скроем информацию в изображении обложки  "Планета историй", сборника научно фантастических рассказов. Это небольшое JPEG изображение, размером 15 Kb. На рисунке приведены изображения до и после сокрытия информации. Изображение слева не содержит никаких скрытых сообщений. Внутри правого изображения , скрыто стихотворение "If ", Редьярда Киплинга, на английском языке, размером 1,5 Kb:
    Цветом обозначены области формата данных JSteg, описанные выше: красный цвет для поля "А" - первого 5 битного блока, содержащего размер следующего поля размера; зеленый для блока "B", содержащий размер данных, и синий для поля "С", в котором находятся скрытые данные. Важно помнить, что если байт равен 0 или 1, он не принимаются во внимание..

    Исходное изображение

    Изображение со скрытым текстом

    Квантованные коэффициенты DCT

    Квантованные коэффициенты DCT

    Младшие биты
    квантованных коэффициентов DCT


    D6 69 13 05 03 15 F2 EB

    FF 04 01 00 FA FB F9 FF

    06 02 FE FF 00 00 00 FF

    01 03 02 01 01 FF 00 00

    01 00 00 00 00 00 00 00

    00 FF FF 00 00 00 00 00

    00 00 00 00 00 01 00 00

     00 00 00 00 00 00 00 00

    D6 69 12 05 03 15 F3 ЕА

    FE 04 01 00 FA FB F8 FE

    06 03  FE FF 00 00 00 FE

    01 02  03 01 01 FE 00 00

    01 00 00 00 00 00 00 00

    00 FE FF 00 00 00 00 00

    00 00 00 00 00 01 00 00

    00 00 00 00 00 00 00 00

    00 01 00 01 01 01 01 00

    00 00 01 00 00 01 00 00

    00 01 01 00 00 00 00 00

    01 00 01 01 01 00 00 01

    00 00 00 00 00 00 00 00

    00 00 01 00 00 00 00 00

    00 00 00 00 00 01 00 00

    00 00 00 00 00 00 00 00


    Далее декодируем приведенный в таблице первый блок размером 8x8 вручную, чтобы понять, как работает алгоритм сокрытия данных. В результате:
    Поле А: всегда содержит 5 бит для декодирования. Из таблицы 5 видно , что это число равное 00 01 00 01 01 или 01011 в двоичной системе счисления или 11 в десятичной системе счисления. Это размер следующего поля, содержащего размер скрытых данных.
    Поле В: 11 бит для декодирования: 01 01 00 00 00 00 01 00 00 00 01 или 11000010001 в двоичной или 1553 в десятичной системе. Это точный размер скрываемого стихотворения.
    Поле C: 1553 x 8 бит для декодирования, начиная с: 00 01 00 00 01 00 00 01 или 01001001 в двоичном или 73 в десятичной системе, что в соответствии с таблицей ASCII является буквой «I» в верхнем регистре, и соответствует первой букве скрытого стихотворения.

    Атаки на стегосистемы

    Под атакой на стегосистему понимается попытка обнаружить, извлечь, изменить скрытое стеганографическое сообщение. Такие атаки называются стегоанализом по аналогии с криптоанализом для криптографии. Способность стеганографической системы противостоять атакам называется стеганографической стойкостью. Наиболее простая атака — субъективная. Внимательно рассматривается изображение, прослушивается звукозапись в попытках найти признаки существования в нём скрытого сообщения. Такая атака имеет успех лишь для совсем незащищенных стегосистем. Обычно это первый этап при вскрытии стегосистемы. Выделяются следующие типы атак.[9]

    Атака по известному заполненному контейнеру — у взломщика имеется одно или несколько стего. В случае нескольких стего считается, что запись скрытой информации проводилось отправителем одинаковым способом. Задача взломщика заключается в обнаружении факта наличия стегоканала, а также доступа к нему или определения ключа. Имея ключ, можно раскрыть другие стегосообщения.

    Атака по известной математической модели контейнера — взломщик определяет отличие подозрительного послания от известной ему модели

    Атака на основе известного пустого контейнера — если злоумышленнику известен пустой контейнер, то сравнивая его с предполагаемым стего можно установить наличие стегоканала.


    написать администратору сайта