Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Новости ИТ Программы Книги Games   Обои   Экспорт RSS E-Books
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full
 
Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
 
Поиск по сайту

 
 

   Безопасность -> Криптография -> Стеганография


Стеганография. Особенности использования программ на основе метода наименьшего значащего бита.

1. Введение

Написать эту статью меня побудило практическое отсутствие в Интернете грамотных материалов в этой области и достаточно странная ситуация на рынке непрофессионального ПО, связанного со стеганографией. Забавно, но Интернет сейчас буквально завален поделками "уровня школьника" - серьёзные системы интересны серьёзным людям и стоят - вот странно, не правда ли? - серьёзных денег, а на рынке простых систем распространены удручающе примитивные программы, авторы которых явно прогуливали занятия если не в школе, то в институте точно. Я никого не хочу обидеть персонально (оптом - тоже не хочу), но ученье свет, а "неученье", особенно в области защиты информации, является всего лишь основанием для самоуспокоения, что тоже хорошо, но не имеет практической ценности =).

Здесь я не буду вдаваться в теорию, которая сама по себе очень интересна, но и достаточно сложна; не буду описывать виды и применение стеганографических методов скрытия данных и вообще растекаться мыслью по десктопу. Здесь я просто расскажу о некоторых аспектах самого распространенного метода скрытия информации в графических файлах - о методе НЗБ (Наименьшего Значащего Бита) и ошибках, связанных с использованием программ базирующихся на этом методе. О них уже писалось многими и неоднократно, но, как видно из отдельных материалов и комментариев, читали это не все…

Этот материал ни на что не претендует и сильно упрощён для облегчения понимания =) Я даже не буду приводить формул и теории, очень уж они большие и страшные. Для знакомых с предметом специалистов здесь вряд ли найдётся что-то новое, а вот совершенно незнакомые с предметом люди может быть чего и почерпнут.

2. Итак, приступим: основные понятия и определения.

Во-первых. В чём главное отличие стеганографии от других методов защиты, в частности от той же криптографии? Дело в том, что первоочередной задачей стеганографии является скрытие самого существования канала связи, задача извлечения информации тут отступает на второй план и решается в большинстве случаев стандартными криптографическими методами. Есть области стеганографии, когда факт внедрения данных известен: это цифровые водяные знаки, так называемые "отпечатки пальцев", и заголовки, но их я рассматривать не буду.

Во-вторых. Почему НЗБ? Потому что это один из самых простых методов цифровой стеганографии, дающий скрытый канал с достаточно большой пропускной способностью.

Определения просты, но понятны:
  • Контейнер - некоторая информация, в частности файл, в которую можно внедрить другую информацию, не предназначенную для посторонних глаз.
  • Пустой контейнер - контейнер, в который ещё не внедрена информация. Соответственно, когда информацию внедрили, то контейнер становится заполненным.
  • Сообщение - секретная информация, наличие которой в контейнере необходимо скрыть, то, из-за чего весь сыр-бор. Это может быть файл, текст, что угодно. Исторически сложилось, что это всё называется сообщением.
  • Канал передачи - путь, по которому контейнер попадает от отправителя к получателю (пусть будут Юстас и Алекс, для интереса. Или Алиса и Боб, что тоже хорошо…).
  • Наблюдатель - промежуточное звено, задачей которого является определение, не передаётся ли от Юстаса Алексу чего-то скрытое и насквозь запрещённое в обычном их общении. Существует три типа наблюдателей: пассивный, активный и злонамеренный. Самый безопасный пассивный - он не может разрушить сообщение, или скажем заменить его ложным, все его возможности сконцентрированы на одном: смотреть, смотреть и еще раз смотреть… и быть тревогу, если что-то там высмотрит.

Предположим, что у нашего канала связи появился пассивный наблюдатель (бороться с активным можно только с помощью полной замены применяемого алгоритма, метод НЗБ не выдерживает такой атаки). Допустим, от Юстаса Алексу непрерывно пересылаются невинные - на первый взгляд - файлы. Если наблюдатель обоснованно определит, что в этих файлах не всё чисто, то это явится основанием для приглашения в гестапо, где, как известно, скорость перебора паролей очень высока, ибо прямо пропорциональна температуре паяльника. Или утюга, кому что больше нравится.

Способов внедрения и защиты данных в контейнере может быть множество даже в рамках одного типа контейнеров. Первое и главное из требований к методам внедрения - незаметность. Это означает, что посторонний наблюдатель в канале связи не должен на глаз определить наличие или отсутствие внедрения. Это требование большая часть самопальных программ худо-бедно, но выполняет (иначе зачем бы они были нужны?..). Вот сейчас мы и посмотрим, как именно.

3. Собственно НЗБ

Что такое метод НЗБ? Это метод скрытия данных с искажением контейнера, основанный на особенностях человеческого восприятия. Конкретнее, идея метода заключается вот в чём: если взять картинку в формате BMP (или, скажем, как альтернативу 8 и более- битный оцифрованный звук), лучше всего TrueColor, в 24-х битном формате и взять да изменить младшие значащие биты цвета, то на глаз это будет незаметно. Почему 24 бита? Существует такой немаловажный фактор, как объём контейнера - сколько всего можно впихнуть в картинку, пока это не станет явным. Логично предположить, что чем больше контейнер, тем больше можно и внедрить, а распространенные на сегодня 24-х битные BMP - самая благодатная почва.

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

Внедрение может осуществляться так:
  • Берём сообщение и предварительно подготавливаем его: шифруем и пакуем. Этим достигается сразу две цели - повышение КПД и увеличение стойкости системы (см. далее). В начало для удобства можно записать сигнатуру метода, что не секретно, зато просто.
  • Берём контейнер и внедряем подготовленное сообщение в младшие его - контейнера -биты любым удобным для нас способом. Самое простое:
    • раскладываем упакованное сообщение в битовую последовательность;
    • заменяем избыточные биты (НЗБ) контейнера битами сообщения. Просто и со вкусом.

А вот тут-то собака обычно и закапывается… Надежность такого внедрения прямо пропорциональна соответствию характера распределения НЗБ в контейнере и сообщении. А распределения эти в подавляющем большинстве случаев совпадать-то и не будут. А еще в некоторых случаях это будет визуально заметно на картинке, построенной из одних только младших битов контейнера. Вот простейший пример, послуживший поводом к написанию статьи - берём исходную картинку:

и внедряем в неё некоторое количество информации при помощи не так давно публиковавшейся здесь в исходном коде программы Stegograph (сие не в упрёк этой программе, она просто приведена для примера). Что мы видим?

При помощи очень простой программки, показывающей картинку побитно (то есть, только интересующие нас биты нужных цветовых компонентов) очень ясно видно внедрение данных. Более того, можно легко представить себе картину внедрения (какие биты, какие компоненты цвета), а при некоторых дополнительных усилиях и извлечь спрятанную информацию. Да, это ещё только полдела - нужно эту информацию ещё и расшифровать, но факт передачи уже определён.

Конечно, для большинства наблюдателей достаточно и того, что "на глаз не видно", но… слабые места своей защиты надо знать.

4. Как с этим бороться

Начать, пожалуй, нужно с того, что все BMP контейнеры нужно разделить на два класса: "чистые" и зашумленные. В "чистых" картинках прослеживается связь между младшим битом, в который мы так бесцеремонно влезаем, и остальными 7-ю битами элементов цвета, а также прослеживается существенная зависимость самих младших битов между собой. Внедрение сообщения в "чистую" картинку разрушает существующие зависимости, что, как видно из вышеприведенной иллюстрации, очень легко выявляется пассивным наблюдателем. Если же картинка зашумлена (например, получена со сканера или фотокамеры), то определить вложение становиться на порядок сложнее, но продвинутый наблюдатель может призвать на помощь науку (раз уж сам не справляется) - теорию вероятностей, матстатистику и др.

Различить, какой контейнер попал вам под руку, можно тоже побитным просмотром картинки. Например, сканированное изображение, в которое ничего не внедрялось, выглядит так:

А вот - изначально компьютерное:

Объясняется это тривиальным шумом матрицы сканера (или цифровой камеры). Опять же, несколько отступая в сторону, следует сказать, что просмотром и анализом распределения НЗБ иногда очень просто определить факт компьютерной обработки (подчистки) картинки:

А вот это же изображение, но с внедрением:
Чётко видна граница между "своим" шумом и шумом, возникшим в результате внедрения сообщения. Отсюда вытекает еще одно необходимое правило - всегда нужно распределять биты сообщения по всем младшим битам контейнер (например, внедрять не последовательно, а в каждый 2-й, 3-й и т. д. НЗБ) или же дополнять чем-то (шумом с тем же законом распределения) длину сообщения так, чтобы она стала равна объему НЗБ контейнера.

Есть еще одно интересное решение - подбор картинки под сообщение: из множества имеющихся картинок подобрать такую, которая исказится менее всего при внедрении указанного сообщения.

5. Резюме, оно же вывод

В данной статье я пытаюсь показать, что скрывать данные нужно с умом. И применение простейших методов скрытия может быть достаточно надёжным только тогда, когда понимаешь и учитываешь ограничения и область применимости этих методов. В частности, не стоить доверять свои секреты "чистым" картинкам-контейнерам, а перед использованием той или иной стеганографической программы лучше все же проверить, дает ли она хотя бы какой-то минимум надежности.

Автор: Алексей Кошкин, Наталья Кошкина
Источник: www.delphikingdom.ru

 
 


 

загрузка...

Новости ИТ
21.05.2012  AOC начала выпуск на японском рынке 23-дюймового монитора E2357FH
21.05.2012  В Европе стартовали продажи смартфона LG Optimus TrueHD LTE
21.05.2012  Toshiba анонсировала выпуск в этом месяце моноблока dynabook REGZA PC D732/T9F
21.05.2012  HTC планирует выпустить на рынок бюджетную модификацию смартфона One S – модель Ville C
21.05.2012  Toshiba начет уже в эту пятницу продажи трех новых ноутбуков серии Dynabook - T852, T752 и T552
21.05.2012  D-Link начала продажу новых высокопроизводительных коммутаторов 2-го уровня линейки DES-3200
21.05.2012  Novac начала продажи внешнего корпуса для накопителей NV-HS213U3
21.05.2012  Lenovo в будущем месяце обновит модельный ряд бизнес-лэптопов за счет ThinkPad X230 и ThinkPad X230t
21.05.2012  Опубликованы спецификации «сети масштаба тела» IEEE 802.15.6
21.05.2012  Объектив Panasonic LUMIX G X VARIO 12-35mm/F2.8 ASPH./POWER O.I.S. предназначен для камер системы Micro Four Thirds
21.05.2012  Intel представила встраиваемые CPU серии Xeon E5-2400
21.05.2012  Shuttle приступает к продаже неттопа XS35GS V3, укомплектованного 3D-картой AMD Radeon HD 7410M
21.05.2012  В Италии стартовали продажи планшета Yashi Ypad A8 с восьмидюймовым дисплеем
21.05.2012  AMD представила встраиваемые APU серии R (Trinity)
21.05.2012  Компания Google получила добро на поглощение Motorola Mobility
21.05.2012  В Samsung готовы обсудить с Apple соглашение о взаимном лицензировании
21.05.2012  Nauticam анонсирует подводный бокс для Canon 5D Mark III
21.05.2012  В Сеть попали любопытные фотографии опытного образца FM2-матплаты MSI MS-7778AMD
21.05.2012  ASUS представила две материнские платы на базе чипсета Intel Z77 Express с поддержкой Thunderbolt
21.05.2012  Shuttle планирует выпустить на рынок Японии свою новую компактную систему XS35GS V3
21.05.2012  Panasonic выпускает стильный и компактный зум-объектив H-HS12035 системы Micro Four Thirds
21.05.2012  Представлен объектив Pentax SMC DA 50mm f/1.8
21.05.2012  ASUS выпустила две системные платы серии P8Z77 с поддержкой Thunderbolt
20.05.2012  Hasselblad снижает цены - среднеформатная камера начального уровня H4D-31 с объективом 35-90 мм подешевела на 22,9%
20.05.2012  Что будет после Kinect? Электромагнитные поля и звуковые волны на службе распознавания движений
20.05.2012  Корпус для внешнего накопителя Akitio Cloud Hybrid оснащен интерфейсами Gigabit Ethernet и USB 3.0
20.05.2012  Toshiba использует в моноблочных ПК dynabook REGZA PC D732 процессоры Ivy Bridge
20.05.2012  Lenovo рассказала о бизнес-ноутбуках ThinkPad X230 и ThinkPad X230t
20.05.2012  Британские ученые случайно создали память, которая в 1000 раз энергетически эффективнее и в 100 раз быстрее флэш-памяти
20.05.2012  Apple снова просит запретить в США продажи планшета Samsung Galaxy Tab 10.1

 
Advertisment



 
Интересное в сети

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.
 
Rambler's Top100