среда, 30 января 2013 г.

Программа JSTEG

Стеганография JPEG
Процесс сокрытия данных
JSteg - одна из из программ стеганографии для встраивания данных в изображения JPEG. Алгоритм сокрытия  представляет собой замену наименее значимых бит(LSB). JSteg заменяет младший бит квантованных дискретных DCT коэффициентов. При этом программа пропускает все коэффициенты с значениями 0 или 1.
Программа устойчива к визуальным атакам на стегосистему. Обычно JSteg прячет сообщения в  изображениях JPEG сжатых с потерями. Алгоритм имеет высокую пропускную способность,скрытое сообщение может занимать до 12% от общего объема изображения. Недостаток программы JSteg  в том, что он довольно уязвима для  статистических атак. JSteg осуществляет стеганографию только для изображений JPEG.
Процесс скрытия информации программой JSteg изображен на рисунке, и вкратце представляет из себя следующие шаги: мначала выбирается jpeg файл, пригодный для стеганографии. Далее выделяются данные (в нашем случае это коэффициенты квантования DCT) и смешиваются с уже подготовленным сообщением для встраивания. После этого программа записывает получившийся файл со стеганографией внутри.

Характеристики программы JSTEG

  • JSteg это не отдельная утилита, а целый пакет программного обеспечения. Он включает в себя библиотеку для стеганографии и консольную утилиту.
  • Реализованный алгоритм прост- это замена наименее значащего бита (LSB) в области коэффициетов DCT для блоков 8х8.
  • По принципу реализации похожа на LSB для формата BMP, иными словами на замену наименее значащего бита в цветовом пространстве.
  • Для увеличения скрытности применяется анализ  χ

Стеганографический алгоритм JSTEG (псевдокод)

Input: Image I, Message m~
Output: Image J
for each bit b of m~
c := next DCT coefficient from I
while c = 0 or c = 1,
c := next DCT coefficient from I
end while
c := c mod 2 + b
replace coefficient in I by c
end for

Примечание: Может не обрабатывать большие или маленькие DCT коэффициенты

Манипуляция с битами в JSTEG


Достоинства и недостатки


Достоинства

  • Первая общедоступная программа для стеганографии в JPEG
  • Простота

Недостатки
Похожа на LSB для BITMAP изображений
Для выявления эффективен анализ гистограмм. Эффективна и так называемая визуальная атака на изображение, модифицированное программой JSTEG. Для визуальной атаки можно использовать разработанное мной open source приложение stect. Как это делается можно посмотреть тут.
Для выявления эффективно применение  критерия χ 2 для пар значений.


Об изменениях, вносимых алгоритмом в файл-контейнер я писал ранее.

Литература (на английском):

1. JSteg: Steganography and Steganalysis
2. Steganography in JPEG - Computing - University of Surrey
3. Steganography in JPEG (CSM25 Secure Information Hiding)

7 комментариев:

  1. Какая же она первая? Просьба уточнить. Уже давно существуют RedJPEG, RedJPEG XT, WCX_RedJPEG, DarkCryptTC, DarkCrypt GUI - тот же метод используется (DCT). В DarkCrypt и RedJPEG JPEG стеганография появилась в 2011 году (http://wincmd.ru/plugring/darkcrypttc.html) (http://wincmd.ru/plugring/redjpeg.html)

    Полный перечень: ru-steganography.narod.ru

    ОтветитьУдалить
    Ответы
    1. Пиар своего бложика ок))

      Теперь по поводу первая/не первая. JSteg появилась еще в далеком 2004 году, что согласитесь ГОРАЗДО раньше 2011, и и даже 2008 - времени создания самого раннего приложения на Вашем сайте.

      P.S. Спасибо за ссылку, интересно посмотреть на подборку свежих программ по стеганографии в JPEG

      Удалить
  2. Где можно скачать Jsteg shell скинте ссылку пожалуйста

    ОтветитьУдалить
    Ответы
    1. Пожалуйста
      http://www.securityfocus.com/tools/1434

      Удалить
    2. Эта ссылка уже несколько лет не работает. Если у кого-нибудь есть, залейте, пожалуйста, на файлообменник, или скиньте рабочую ссылку

      Удалить
    3. А немного подумать и поискать самостоятельно?
      Вот ссылка рабочая
      http://house.ofdoom.com/~hungerf3/steg/

      Удалить
    4. Спасибо!!

      Удалить