Вы используете устаревший браузер!

Страница может отображаться некорректно.

СпецНаз (специальные названия)

СпецНаз (специальные названия)

Другие выпуски этой рубрики (32)
  • добавить в избранное
    Добавить в закладки

Это бомба!

Прочитали: 1120 Комментариев: 49 Рейтинг: 55

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

Нас спрашивали: сколько ресурсов расходуется при проверке бомб, упомянутых в том выпуске. Отвечаем скриншотами. Вот данные по процессору:

#drweb

А вот память (использована тестовая виртуальная машина с очень малым объемом памяти):

#drweb

Из изображений видно, что лишь в начале проверки возникает небольшой «горбик».

Вернемся к собственно бомбам. На самом деле их много, и бывают они самыми разными. Например, вы наверняка знаете, что изображения могут сохраняться в файлах с потерей качества и без. Форматы без потери качества – это, по сути, чистые архивы. Алгоритм сжатия пробегает по строчкам изображения и, если видит ряд одинаковых пикселей, пишет в файл: мол, тут столько-то таких-то пикселей. Чем это чревато? Создаем огромную картинку из одинаковых элементов. В виде файла она будет весить очень мало, а вот программе для ее отображения потребуется очень много ресурсов.

В архиве на 420 байт – файл PNG размером 6 132 534 байт (5,8 МБ) и изображением 225 000 х 225 000 пикселей (50,625 гигапикселей). В пиксельном буфере с тремя байтами на пиксель картинка займёт примерно 141,4 ГБ.

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

Источник

Заходите вы на некий сайт, видите «превьюшку» картинки, скачиваете ее – и...

Исследователь написал два небольших PHP-скрипта, которые определяют подозрительные user-agent. Так, если злоумышленники пытаются использовать сканер уязвимостей, или через браузер запрашивают доступ к защищенным или приватным страницам (бэкэнду, панели администрирования, страницам, содержащим формы регистрации и входа), скрипты подменяют обычное содержимое страницы ZIP-бомбой. Как только клиент атакующего получит такой архив, злоумышленника ждет неизбежный аварийный отказ.

Источник

Если вам нравится рисковать, попробуйте сами!

Источник

А есть еще «фавиконы» (favicon) – картинки, отображаемые слева от адресной строки браузера. Вот в связи с этим старая «шутка»:

Энтузиасты-извращенцы в качестве фавикона выкладывали своим посетителям 10GB-файл мультиков в HD.

Остается утешаться тем, что фавикон-иконки размером в 10Gb — это не самое страшное, что может случиться с вами в жизни.

Источник

Сложно ли сделать бомбу? Зависит от целей. Подчас – проще простого:

Это легко сделать в Linux с помощью следующей команды:

dd if=/dev/zero bs=1024 count=10000 | zip zipbomb.zip -

Замените счетчик количеством КБ, которое вы хотите сжать. В приведенном выше примере создается 10-мегабайтная молния (не большая часть бомбы вообще, но она показывает процесс).

Вам НЕ нужно место на жестком диске для хранения всех несжатых данных.

Источник

Команда dd создает поток нулей и отправляет их на вход архиватора. Тот получает их и на лету упаковывает в архив.

Это вариант с практически бесконечным файлом. Еще есть вариант с почти бесконечным количеством вложенных каталогов в архиве:

Из Security Focus доказательство концепции (NSFW!), это ZIP файл с 16 папками, каждый с 16 папками, который продолжается (42 - это имя zip файла):

\42\lib 0\book 0\chapter 0\doc 0\0.dll

...

\42\lib F\book F\chapter F\doc F\0.dll

Вероятно, я ошибаюсь с этой цифрой, но она создает 4 ^ 16 (4 299 967 296) каталогов. Поскольку каждому каталогу требуется пространство для размещения N байтов, оно становится огромным. Файл dll в конце – 0 байт.

Распакованный только первый каталог \42\lib 0\book 0\chapter 0\doc 0\0.dll приводит к 4 ГБ пространства для размещения.

Источник

В чем опасность вложенных каталогов? Это связано с рекурсией. Обнаружив файл, архиватор запускает определенную процедуру (в данном случае – распаковки). Если в ходе распаковки найден еще один архив (вложенный в распаковываемый), то распаковка текущего уровня приостанавливается, сохраняется окружение, и вызывается та же процедура, которая уже работала. Когда вложенная распаковка завершит работу, то при возврате из процедуры окружение восстановится автоматически и продолжится прерванная распаковка. Но если встретится еще один уровень, а затем еще... Всё время сохраняется окружение. А ресурсы программы на сохранение окружения, в том числе стек программы (если интересно, что это – пишите, расскажем), ограниченны и исчерпываются. Далее возможны варианты: либо программа «падает», либо возникает так называемое исключение, и распаковка аварийно завершается – вирус внутри остается ненайденным. Но это, конечно, в случае обычных программ. Антивирус же обязан распаковать до упора.

Если хотите сделать всё вручную, есть рецепт:

Шаги, которые я сделал до сих пор:

  • создайте файл с размером 1,4 ГБ, полный '0'
  • сжать его.
  • переименуем .zip в .txt, затем сделаем 16 копий.
  • сжать все это в .zip файл,
  • переименовать переименованные .txt файлы внутри .zip файла в .zip снова,
  • повторите шаги от 3 до 5 раз.
  • Наслаждайтесь:)

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

Источник

Если интересует теория, можно заглянуть, например, сюда.

#бомба

Dr.Web рекомендует

Во многих странах «активная защита» приравнивается к хакингу и является уголовно наказуемой. Например, в Германии.

Это как подключить электрошокер к двери в квартиру или поставить у входа капкан для воров.

Источник

Мы крайне не рекомендуем использовать бомбы любых видов ни в качестве шуток, ни в качестве защиты. Но важно понимать, как это может быть использовано против вас.

Получайте Dr.Web-ки за участие в проекте

Каждая активность = 1 Dr.Web-ка

Оцените выпуск

Сделайте репост

Поставьте «Нравится»

Чтобы получать награды надо войти на страницу выпуска через аккаунт на сайте «Доктор Веб» (или создать аккаунт). Аккаунт должен быть связан с вашим аккаунтом в социальной сети. Видео о связывании аккаунта.


Нам важно ваше мнение

10 Dr.Web-ок за комментарий в день выхода выпуска или 1 Dr.Web-ка в любой другой день. Комментарии публикуются автоматически и постмодерируются. Правила комментирования новостей «Доктор Веб».

Чтобы оставить комментарий, нужно зайти через свой аккаунт на сайте «Доктор Веб». Если аккаунта еще нет, его можно создать.

Комментарии пользователей