Как стать автором
Обновить

Комментарии 41

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

P.S. Возможно, не лишним будет предупреждение о трафике, все-таки почти мегабайт в двух изображениях.
Спасибо, постараюсь.
Метод тривиален, его обнаружение тоже тривиально. Мне знакомый, занимающийся этой темой, рассказывал, что со многими картинками прокатит такой способ: вытягиваем младшие биты со всего изображения и строим на их основе черно-белое изображение того разрешение. Получившаяся Картинка должна быть очень сильно похожа на оригинал, если нет — то там что-то есть, и этого знания, что что-то есть иногда вполне достаточно.
Есть и другие, более продвинутые методы, над которыми он и работал.
С чего это картинка из младших битов должна быть похожа на оригинал?

Там только шумы будут же, не?
Стенография — это несколько другое, здесь описана стеганография. Просто чтобы вы не путил понятия.
*не путали
НЛО прилетело и опубликовало эту надпись здесь
Всегда завидовал людям с хорошим зрением. А если по теме, то всегда можно менять, не два последних бита, а один: заметить границу станет тяжелее.
НЛО прилетело и опубликовало эту надпись здесь
Скорее людям с хорошими мониторами.
Скорее людям с плохими углом монитора ;)
Уж лучше RARJPEG применять, чем такой способ.
При использовании LSB не изменяется размер файла. Это его несомненный плюс.
Сейчас вместо проверки размера принято делать проверку контрольной суммы, так что плюс небольшой.
проверка контрольных сумм прокатила бы, если бы было исходное изображение
Ну вот и я о том же.
В таком случае, зачем оставлять оригинал?
НЛО прилетело и опубликовало эту надпись здесь
Решение проблемы очевидно — нужно забивать неиспользованные LSB шумом. Тогда границы не будет.
Мм… Опередили меня со статьёй =) Как-раз вчера в топике про теги в мп3 выяснилось что хаброюзерам вообщем-то интересна эта тема.
На этот алгоритм есть простая, но в то же время интересная (как мне кажется) атака.
Как правило, в качестве картинке-контейнера выступает фотография. В настоящей фотографии вероятности встретить, скажем, пиксели со значениями R равными 128 и 129 отличаются (аналогично для значений 130 и 131). Мы же записываем в младший бит фактически равномерно распределённый шум, поэтому выравниваем вероятности для соседних чётных и нечётных значений.

Анализируя разности между количествами таких вот соседних пикселей, можно сделать предположение о том, присутствует в изображении вложение или нет, и даже оценить его размер, если вложение «упаковано» в подряд-идущих пикселях. Метод реально работающий, нашёл его в книжке «Цифровая стеганография», когда сам интересовался этим вопросом.
НЛО прилетело и опубликовало эту надпись здесь
Теоретически можно так закодировать информацию, чтобы полученная гистограмма изображения была похожа на натуральную.
Маленький нюанс по коду — ((x shr 2) shl 2)
все таки лучше реализовывать как
(x and $FC)
Вроде как старая тема. Еще похожий трюк с wav и gif прокатывает.
Сначала прочитал «LSD стенография»
snark
А вот и они — два изображения с режимом слоя Divide
Это всё хорошо, но есть два небольших замечания:
1. При записи информации, можно во всех остальных байтах тоже заменить последние биты, тогда граница сообщения будет не так видна.
2. Важно понимать, что для злоумышленника доступно только изображение с закодированным текстом. Т.е. исходного изображения нет, поэтому побайтовое сравнение изображений не сработает.
Сравнить с изображением, в котором эти последние биты — нулевые.
С флагом это сработает, а как быть с изображениями со сложным фоном?
Статистическим анализом можно извлечь кое-что.
Просто интересно было, насколько оно действительно меняет пиксели. Естественно это не метод поиска скрытых данных…
Итоговая версия программа может менять 1, 2 или 4 последних пикселя. Причём, если размер контейнера позволяет, то искажения минимальны. А зашумление остальных пикселов я добавил, спасибо.
Вам нужно было просто привести примеры с реальными картинками, а не флагом
Когда-то в рамках учебного курса тоже занимался таким методом, вот мои картинки для разбавления флага :)



Это полноценно восстанавливаемое изображение, или PNG-образец?
Это PNG-скриншот BMP-изображений исходного (слева) и содержащим сообщение (справа). Конечно, прямо из этой картинки сообщения уже не извлечь
Но сообщение там про историю становления математического факультета)
мм, почему из PNG не извлечь сообщение? Он ведь сжимает без потерь.
Это будет очень по стеганографичному — я ведь эту картинку вытащил из отчёта (.doc), увеличив масштаб немного и сделав скриншот. Теоретически конечно возможно… Ставлю плюс тому кто сможет)
Спасибо, теперь кто-нибудь закодирует библиотеку конгресса США в Санта-Барбара.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации