15.08.2011

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

image

Сегодня мы поговорим о стеганографии – науке о сокрытии информации в других данных вместо обычного шифрования.

Fady Mohammed Osman
fady.mohamed.osman@gmail.com

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

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

Для пояснения давайте посмотрим на образец.

Одно из этих изображений содержит сообщение: "My secret message". Можете ли вы сказать, какое из них содержит это сообщение?

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

На следующей картинке наше изображение открыто в шестнадцатеричном редакторе (вы можете использовать Hex Workshop в Windows, GHex или Bless Hex Editor в Linux):

Теперь вы можете увидеть наше сообщение.

Отлично. Но что будет, если кто-нибудь еще увеличит изображение, заметит эти разноцветные пиксели и при дальнейшем изучении определит сообщение, которое мы спрятали?

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

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

Что такое неиспользуемые поля?

Это несколько байтов, добавляемых к файлу или сетевому пакету для группировки по 4 байта. Эти байты добавляются, потому что компьютер может обрабатывать данные кратные 4 байтам быстрее, т.к. регистры и шины являются 32-битными (для 32-х битных компьютеров). Еще одним очевидным примером является ваша видеокарта. Кадры отправляются сгруппировано, по 4 байта.

Давайте изучим простой bmp файл и увидим неиспользуемые поля (образец был взят из спецификаций bmp файла в wikipedia):

Вот bmp файл:

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

как вы видите, на изображение в 4 пикселя мы потратили 4 байта. Эти байты не будут отображены никакими графическими приложениям, и для любого графического приложения значения этих байтов не будут играть никакой роли, поэтому мы можем спрятать свое сообщение в них.

В качестве примера рассмотрим это изображение и сохраним слово “test” в этих байтах. Посмотрим, поменялись ли цвета. Одно из этих изображений содержит сообщение, а другое не содержит ничего:

цвета, как мы видим, не поменялись. На следующей картинке, открытой в GHex, вы можете видеть слово "test".

Как рассчитать доступное место в неиспользуемых полях?

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

(количество пикселей в строке * количество байтов на каждый пиксель)%4

Для чего я могу использовать это?

Это может быть использовано для сокрытия информации. Также это может быть использовано червями для загрузки шелл-кода на веб-сайты, которые разрешают загрузку изображений, вместо загрузки шелл-кода на сервер.

Определит ли антивирус, если я сохранил шелл-код таким образом?

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

или введите имя

CAPTCHA
Страницы: 1  2  3  4  
Gj8d7JwPJ249
15-08-2011 14:46:58
встречал такое в смайлах QIP -a (kolobok.us вроде и автор). Забавно, что вчера про этот метод споминал только))
0 |
Коммунист
15-08-2011 20:14:09
Статья - бред школьника... Также это может быть использовано червями для загрузки шелл-кода на веб-сайты, которые разрешают загрузку изображений, вместо загрузки шелл-кода на сервер.-??? Я думаю, что антивирус не сможет определить, т.к. сигнатура файла будет изменена только в случае изменения самого изображения или его размеров.- no comments...
0 |
Trojan
16-08-2011 00:12:06
ошибаетесь сударь, статья совсем не бредовая, вы зациклились на примере использования в вирусах, а статья имеет характер гипотезы и применение этому не предсказуемо, ну допустим в sms сообщениях (так на вскидку)
0 |
Trojan
16-08-2011 00:16:25
хотя есть один косяк в этой статье стенография я думаю не наука о сокрытии а система быстрого конспектирования, не стал лазить искать точного определения
0 |
TIP
16-08-2011 05:10:54
Это не косяк, просто читать надо внимательнее... Автор употребил другой термин - "стеганография" и применил его абсолютно правильно.
0 |
Коммунист
16-08-2011 08:31:05
Актуальность данной информации - ноль. Об этом знает практически каждый...
0 |
Guv
16-08-2011 10:06:22
Да что ты говоришь, я например не знал.
0 |
пекарь
22-08-2011 14:57:02
это печально
0 |
террарист
16-08-2011 11:11:39
Для Вас конечно - это полный ноль! Вы же наверняка не занимаетесь криптографией, стеганографией или защитой информации. А вот если вы в этом ещё и не разбераетесь, то увы, Вам нужно коментировать статьи в которых Вы облодаете достаточными познаниями. А из Ваших коментариев, можно сделать вывод - что полный ноль это ВЫ!
0 |
16-08-2011 11:37:43
Вместо того, чтобы писать My secret message открытым текстом, имеет смысл менять только младший значащий бит каждого пикселя (либо каждой цветовой компоненты пикселя). Тогда хоть на сокрытие байта сообщения и понадобится от трех до восьми пикселей, при увеличении изображения не будет этих разноцветных пикселей. А цвет, например, FFFFFF от FFFFFE на глаз отличить очень трудно.
0 |
скептик
16-08-2011 19:21:37
+1 согласен с Vladimir Kolesnikov. именно младший бит - поскольку расширяет выбор возможной транспортной среды передачи (когда носителем может являться музыкальный, видео контент и т д) добавлю что стеганография тесно связана с криптой, и что настоящими научными изысканиями по большому счёту в стеганографии занимаются в алгоритмах сокрытия информации, то есть в способах оборачивания информации, чтобы взглянув на младший бит можно было сказать о его естественном или в худшем случае рандомном происхождении... как-то так
0 |
скептик
16-08-2011 19:24:39
а так - уважаем за труд молодых авторов)) пиши ещё, тема мега-интересная
0 |
Коммунист
16-08-2011 13:26:27
Я криптограф по профессии и мне просто смешно смотреть на эту статью. Существуют намного более надёжные методы сокрытия информации в фотографиях, чем простое дописывание байтов в неиспользуемую часть файла - такую "стеганографию" не заметит только слепой!
0 |
Страницы: 1  2  3  4