Перейти к содержанию
AM_Bot

Trojan.Bioskit.1 заражает BIOS компьютера

Recommended Posts

AM_Bot

12 сентября 2011 года

В первых числах сентября в руки экспертов вирусной лаборатории компании «Доктор Веб» попал примечательный экземпляр вредоносной программы, получившей название Trojan.Bioskit.1. В целом это стандартный по функционалу троянец, заражающий MBR (загрузочную область диска) и пытающийся скачать что-то из сети. После проведенного специалистами «Доктор Веб» исследования оказалось, что в него также заложены механизмы, позволяющие заразить BIOS материнской платы компьютера.

Чем больше деталей функционирования этой вредоносной программы вскрывалось в процессе исследования, тем больше мы укреплялись во мнении, что это скорее экспериментальная разработка, нежели полноценная вредоносная программа, — либо она «утекла» раньше, чем этого хотелось бы автору. Об этом, в частности, могут свидетельствовать следующие факты:

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

Но все эти обстоятельства нисколько не умаляют потенциальной опасности данного троянца. Сразу оговоримся, что заражению могут подвергнуться только материнские платы, оборудованные BIOS производства компании Award.

Заражение

Первоначально дроппер троянца Trojan.Bioskit.1 проверяет, запущены ли в операционной системе процессы нескольких китайских антивирусов: если таковые обнаруживаются, то троянец создает прозрачное диалоговое окно, из которого осуществляется вызов его главной функции. Затем Trojan.Bioskit.1 определяет версию операционной системы и в случае, если это Windows 2000 и выше (за исключением Windows Vista), продолжает заражение. Троянец проверяет состояние командной строки, из которой он может быть запущен с различными ключами:

  • -d — данный ключ не функционирует (вероятно, в «релизной сборке» эта функция была удалена);
  • -w — заразить систему (используется по умолчанию);
  • -u — вылечить систему (включая MBR и BIOS).

В ресурсах дроппера упаковано несколько файлов:

  • cbrom.exe
  • hook.rom
  • my.sys
  • flash.dll
  • bios.sys

В процессе своей работы дроппер распаковывает и сохраняет на жестком диске драйвер %windir%system32driversbios.sys. В случае если в системе есть устройство .MyDeviceDriver (в исследуемом дроппере драйвера, реализующего такое устройство, нет), троянец сбрасывает на диск библиотеку %windir%flash.dll и, вероятнее всего, последовательно пытается внедрить ее в системные процессы services.exe, svchost.exe и explorer.exe. Назначение данной библиотеки — запуск драйвера bios.sys штатными средствами (service control manager) с целью создания службы bios. При выгрузке библиотеки эта служба удаляется. В случае отсутствия устройства .MyDeviceDriver троянец инсталлируется в систему путем перезаписывания системного драйвера beep.sys. После запуска beep.sys восстанавливается из предварительно созданной копии. Единственное исключение из этого правила сделано для ОС Microsoft Windows 7: в данной системе дроппер сбрасывает на диск библиотеку %windir%flash.dll и сам же ее загружает.

Затем дроппер сохраняет в корне диска C: руткит-драйвер my.sys. Если драйвер bios.sys так и не удалось запустить или BIOS компьютера отличается от Award, троянец переходит к заражению MBR. На диск сбрасывается файл %temp%hook.rom, который является полноценным модулем расширения (PCI Expansion ROM). Но на данном этапе он используется всего лишь как контейнер, из которого извлекаются данные для последующей записи на диск. После этого перезаписываются первые 14 секторов жесткого диска, включая MBR. Оригинальный MBR сохраняется в восьмом секторе.

Драйвер my.sys

По сегодняшним меркам это достаточно примитивный драйвер: он перехватывает у системного драйвера disk.sys обработчики IRP_MJ_READ, IRP_MJ_WRITE и IRP_MJ_DEVICE_CONTROL, при этом:

  • IRP_MJ_READ возвращает нули вместо первых 63 секторов винчестера;
  • IRP_MJ_WRITE не позволяет осуществлять запись в первые 63 сектора. При этом вирус пытается разрешить своему дропперу перезаписать MBR и прочие секторы, но из-за явной ошибки в коде уловка не срабатывает. Таким образом, автор троянца разрешает перезаписывать 0x14 (20) секторов, а дроппер пишет только 0xE (14);
  • IRP_MJ_DEVICE_CONTROL возвращает STATUS_UNSUCCESSFUL в ответ на запросы IOCTL_DISK_GET_DRIVE_LAYOUT_EX, IOCTL_STORAGE_GET_MEDIA_TYPES_EX и IOCTL_DISK_GET_DRIVE_GEOMETRY_EX.

Заражение BIOS

Но вернемся к случаю, когда драйверу bios.sys удается опознать Award BIOS. Надо сказать, что именно наличие этого драйвера выделяет данную вредоносную программу из большого списка подобных троянцев, заражающих MBR.

Упомянутый драйвер очень мал и обладает пугающим деструктивным потенциалом. В нем реализовано три метода:

  • Опознать Award BIOS (попутно определить размер его образа и, самое главное, I/O порта, через который можно программно заставить сгенерировать SMI (System Management Interrupt) и таким образом исполнить код в режиме SMM);
  • Сохранить образ BIOS на диск в файл С:bios.bin;
  • Записать образ BIOS из файла С:bios.bin.

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

знакомый для него протокол стирания/записи данных. Но автор этой вредоносной программы пошел более легким путем, переложив все эти задачи на сам BIOS. Он воспользовался результатами работы китайского исследователя, известного под ником Icelord. Работа была проделана еще в 2007 году: тогда при анализе утилиты Winflash для Award BIOS был обнаружен простой способ перепрошивки микросхемы через сервис, предоставляемый самим BIOS в SMM (System Management Mode). Программный код SMM в SMRAM не виден операционной системе (если BIOS корректно написан, то доступ к этой памяти им заблокирован) и исполняется независимо от нее. Назначение данного кода весьма разнообразно: это эмуляция не реализованных аппаратно возможностей материнской платы, обработка аппаратных ошибок, управление режимами питания, сервисные функции и т.д.

Для модификации самого образа BIOS данная вредоносная программа использует утилиту cbrom.exe (от Phoenix Technologies), которую, как и все прочие файлы, несет у себя в ресурсах. При помощи этой утилиты троянец внедряет в образ свой модуль hook.rom в качестве ISA BIOS ROM. Затем Trojan.Bioskit.1 отдает своему драйверу команду перепрошить BIOS из обновленного файла.

При следующей перезагрузке компьютера в процессе инициализации BIOS будет вызывать все имеющиеся PCI Expansion ROM, в том числе и hook.rom. Вредоносный код из этого модуля каждый раз проверяет зараженность MBR и перезаражает ее в случае необходимости. Следует отметить, что наличие в системе Award BIOS вовсе не гарантирует заражение данным троянцем. Так, из трех проверенных в вирусной лаборатории материнских плат заразить удалось только одну, а в двух других в памяти BIOS банально не хватило места для записи нового модуля.

Заражение MBR

Троянец размещает в MBR код, основная задача которого — инфицировать файлы winlogon.exe (в операционных системах Windows 2000 и Windows XP) или wininit.exe (Windows 7). Для решения этой задачи Trojan.Bioskit.1 располагает собственным парсером NTFS/FAT32. Троянец ведет счетчик запусков, который обновляется раз в день. Через 50 дней предполагается дезактивация зараженного модуля: он будет изменен таким образом, что вирусный код перестанет получать управление. Но в данной версии троянца этот механизм отключен. Всего Trojan.Bioskit.1 включает две версии шелл-кода, из которых в настоящий момент активна только одна.

Заключение

Трудно недооценивать опасность подобного рода угроз, особенно с учетом того, что в будущем возможно появление более совершенных модификаций данной троянской программы либо вирусов, действующих по схожему алгоритму. В настоящий момент в антивирусное ПО Dr.Web добавлено детектирование и лечение MBR, системных файлов и файловых компонентов вируса. В случае если после детектирования и лечения данной угрозы система вновь оказывается инфицированной Trojan.Bioskit.1, источником заражения, скорее всего, является инфицированный BIOS компьютера. Специалисты компании «Доктор Веб» продолжают работать над проблемой.

Источник

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy

Ну что, теперь согласования прошли несколько быстрее, чем обычно :)

Возможно, потому что те, с кем нужно согласовывать, не поняли большую часть текста :)

  • Upvote 5

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
A.

Валер, а почему у ДрВеб всегда тексты анонимные ? Никогда автора текста-исследования не пишут. Это принцип такой что ли?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
K_Mikhail
Валер, а почему у ДрВеб всегда тексты анонимные ? Никогда автора текста-исследования не пишут. Это принцип такой что ли?

Принцип. Считается, что текст написала компания (читай -- партия). Если возникает желание обозначиться автором, есть почти 100% вероятность попасть в "зазвездившиеся" (с). По себе знаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy
Считается, что текст написала компания (читай -- партия). Если возникает желание обозначиться автором, есть почти 100% вероятность попасть в "зазвездившиеся" (с).

Примерно так. Есть нюанс. В компании "Доктор Веб" есть ограниченное количество людей, от имени которых могут публиковаться материалы. К счастью (или наоборот) я был одним из таких людей. Если человек не входит в круг таких доверенных, то ой - будет от лица компании.

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

Можно, правда, вспомнить, некоторые исследования, которые публиковались от имени некоторых аналитиков. Например, публикация по Rustock.C с указанием авторства Вячеслава Русакова.

Возможно, после того, что произошло после этого, решили больше от имени аналитиков ничего не публиковать. Но это мои мысли на грани ИМХО.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ALEX(XX)

А если включить Bios Write Protect? Поможет от "детских нежданчиков"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy

http://www.cnews.ru/news/top/index.shtml?2011/09/13/455168

"«Доктор Веб» обнаружил троянца, способного заразить BIOS"

Звучит так, что "Доктор Веб" первый обнаружил. А кто на самом деле?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Юрий Паршин
http://www.cnews.ru/news/top/index.shtml?2011/09/13/455168

"«Доктор Веб» обнаружил троянца, способного заразить BIOS"

Звучит так, что "Доктор Веб" первый обнаружил. А кто на самом деле?

Мы. Детект Rootkit.Win32.MyBios.a (Rootkit.Boot.MyBios.a) добавлен 19 августа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Вадим Волков
Мы. Детект Rootkit.Win32.MyBios.a (Rootkit.Boot.MyBios.a) добавлен 19 августа.

Интересно, почему тогда не стали этот случай пиарить?

А лечение тоже есть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Юрий Паршин
Интересно, почему тогда не стали этот случай пиарить?

А лечение тоже есть?

Не успели вовремя статью выпустить, бывает.

Лечение MBR есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  • Сообщения

    • Ego Dekker
    • ArktiTig
      Арктика - северная полярная область Земли, включающая окраины материков Евразии и Северной Америки, почти весь Северный Ледовитый океан с островами и прилегающие к нему части Атлантического и Тихого океанов. Название её происходит от греческого слова arctos (медведь) и связано со звёздами: Полярная звезда, находящаяся почти точно в зените над Северным полюсом, принадлежит к созвездию Малая Медведица.
    • ArktiTig
      Арктика - северная полярная область Земли, включающая окраины материков Евразии и Северной Америки, почти весь Северный Ледовитый океан с островами и прилегающие к нему части Атлантического и Тихого океанов. Название её происходит от греческого слова arctos (медведь) и связано со звёздами: Полярная звезда, находящаяся почти точно в зените над Северным полюсом, принадлежит к созвездию Малая Медведица.
    • PR55.RP55
      .xml  файлы taskschd.msc Могут быть подписаны  цифровой подписью. Думаю будет нелишним, если uVS будет это фиксировать. т.е. проверять не только подпись целевого файла, но и подпись самого файла\задачи. и писать в ИНфО .  
    • demkd
      ---------------------------------------------------------
       4.15.2
      ---------------------------------------------------------
       o Исправлена ошибка при работе с образом автозапуска.
         Для некоторых процессов команда unload не добавлялась в скрипт при нажатии кнопки "принять изменения".  o Добавлена плашка окна на таскбаре для окна удаленного рабочего стола.
         (при работе с удаленной системой) -----------------------------------------------------------
      Есть проблема с локализацией глюка в редких случаях приводящему к аварийному завершению uVS при активном флаге "Проверять весь HKCR".
      На основе дампов его найти не получается, нужна копия реестра системы с такой проблемой, если кому-то попадется такая проблема, то присылайте архив с копией реестра системы мне на почту.  
×