Буткит что это за вирус
В нашу уже почти кибернетическую эпоху, при столь обширном и массовом распространении компьютерной техники, и общей автоматизации, Мы наблюдаем удручающую картину: несмотря на то, что Антивирусные программы, и программы защиты постоянно обновляются, уже даже ежедневно, наши с Вами компьютеры продолжают атаковать и пытаться заразить вредоносные программы из интернета. Особенно учитывая увеличение геометрических степенях скорости доступа в интернет.
Так же руткиты заражают смартфоны и гаджеты на операционной системе Android, к примеру новый, якобы не удаляемый вирус.
Первый признак, на который стоит обращать внимание: компьютер ведет себя как-то не так. В автозагрузке чисто, процессы в порядке, антивирус ничего не находит, однако вас у Вас есть подозрение, что система не в порядке. В лучшем случае, Вы видите присутствие вирусов воочию, в худшем – визуально ничего не заметите, кроме странного поведения либо подтормаживания, при всем этом подозрительном спокойствии, Вы и не заметите, как с вашего ПК рассылается спам, крадутся пароли от сайтов или почты, происходят атаки на сайты или делают другие, не особо приятные другим пользователям сети интернет пакости.
Итак, руткит (rootkit) – это программа (набор программ) для скрытия следов присутствия злоумышленника или вредоносного кода в операционной системе. Установив руткит на ваш компьютер, хакер получает над ним полный контроль, может удаленно управлять компьютером и загружать на него другие вредоносные программы. Естественно, все это он делает не вручную под покровом ночи, а пользуясь различными командами, утилитами и т.п.
Более того, основная задача руткита – не допустить обнаружения действий вирусов хозяином компьютера, скрыть от пользователя присутствие хакера и изменений в системе. Руткит прячет от ваших глаз вредоносные процессы, системные службы, драйвера, сетевые соединения, ключи реестра и записи автозагрузки, модули, папки, файлы и, конечно же, прячет сам себя. В общем, ситуация не из приятных, и ваш компьютер при этом могут использовать в любых не добрых целях…
Сравнительно недавно, в конце прошлого века, появились руткиты и под операционную систему Windows. Поскольку на момент их адаптации к среде WINDOWS ни один антивирус их не опознавал, перед руткитами открывалось много перспектив… Однако в скором времени они были обнаружены и потихонечку крупные антивирусные компании и производители систем защиты начали добавлять функционал по обнаружению кодов руткитов в свои продукты.
На сегодняшний день существует множество антивирусов и специализированных программ, позволяющих обнаружить и нейтрализовать руткиты. Информацию о том, умеет ли ваш антивирус отлавливать и обезвреживать руткиты, вы всегда можете найти на официальном сайте его разработчиков.
В зависимости от того, с какой областью памяти работают руткиты, их можно подразделить на следующие виды:
• системы, работающие на уровне ядра (Kernel Level, или KLT);
• системы, функционирующие на пользовательском уровне (User Level).
Первый известный руткит для системы Windows, NT Rootkit, был написан в 1999 году экспертом в области безопасности Грегом Хоглундом в виде драйвера уровня ядра. Он скрывал все файлы и процессы, в имени которых встречалось сочетание _root, перехватывал информацию, набираемую на клавиатуре, и использовал другие способы маскировки.
Самым известным на сегодня руткитом является Hacker Defender. Эта программа работает в режиме пользователя и маскируется за счет перехвата некоторых API. Hacker Defender может обрабатывать сетевой трафик до того, как он будет передан приложению, то есть любая программа, работающая в сети, может быть использована для взаимодействия со взломщиком. Руткит умеет скрывать файлы и процессы, записи в реестре и открытые порты и может неправильно показывать количество свободного места на диске. Он прописывается в автозагрузку, оставляя для себя черный вход, и прослушивает все открытые и разрешенные брандмауэром порты на предмет 256-битного ключа, который укажет, какой порт использовать для управления. Hacker Defender перехватывает функции запуска новых процессов, что позволяет ему заражать все программы, запускаемые пользователем. Он полиморфен: для шифрования исполняемых файлов руткита обычно используется утилита Morphine.
Все современные версии руткитов могут прятать от пользователя файлы, папки и параметры реестра, скрывать программы, системные службы, драйверы и сетевые соединения. И простым включением «отображение скрытых фалов и папок ndows их не увидеть.
Популярен способ блокировки доступа к файлу: файл открывается в режиме монопольного доступа или блокируется с помощью специальной функции; удалить такой файл стандартными способами невозможно. Если попытаться воспользоваться отложенным удалением (во время следующей загрузки), например с помощью программы типа MoveOnBoot, то, скорее всего, запись об этой операции будет через некоторое время удалена либо файл будет переименован.
К сожалению, существующие на сегодняшний день антивирусные программы, предназначенные для обнаружения всевозможных вирусов и руткитов, не дают стопроцентной гарантии безопасности. Обладая исходным кодом этих программ, можно создать любые модификации руткитов или включить часть кода в любую шпионскую программу. Главное отличие руткитов это способность не прочно закрепиться в системе, а проникнуть в нее, поэтому основным правилом для вас должны стать максимальная защита и осторожность поведения в интернете.
Далее рассмотрим наиболее популярные и эффективные утилиты для поиска и деактивации данного типа вирусов.
Небольшая утилита, умеющая бороться с руткитами, которая работает, в операционных системах Windows XP, м Vista. Sophos Anti-Rootkit сканирует реестр и критические каталоги системы и выявляет скрытые объекты, то есть следы творчества руткитов.
Программа обычным образом устанавливается на компьютер и обладает интуитивно понятным интерфейсом. Прежде всего, вам необходимо задать объекты, которые должна искать и обнаружить утилита..
Кроме того, Sophos Anti-Rootkit в описании каждого объекта покажет полный путь к нему и дополнительную информацию. Но утилита может этого и не сделать. Самое разумное в этом случае – открыть папку с файлом или ветвь реестра и внимательно изучить найденный Sophos Anti-Rootkit объект со всех сторон: посмотреть его свойства, поискать информацию о нем в интернете и т.п.
Следующая программа на рассмотрении это:
Далее:
AVZ
Для того чтобы начать сканирование компьютера на предмет руткитов и другой заразы выберите нужный диск или папку (папки) в Области поиска.
В последние несколько лет увеличилось распространение вредоносных программ (буткитов), модифицирующих загрузочные сектора в процессе заражения системы. Среди самых видных представителей — TDL4, Olmasco и Rovnix. Каждый из них использует различные способы заражения жесткого диска, это либо модификация главной загрузочной записи (MBR), либо модификация первых секторов загрузочного раздела, т. е. VBR или IPL (первые сектора тома, куда передается управление из MBR — Volume Boot Record/Initial Program Loader). Наглядно эти семейства показаны на рисунке ниже.
Рис. 1. Схема различных семейств буткитов и методов заражения диска.
Существует несколько причин использования буткитов в современных угрозах:
● Возможность запуска вредоносного кода раньше кода ОС, что дает неоспоримые преимущества и позволяет контролировать процесс загрузки ОС.
● Как следствие первого пункта, позволяет обходить систему мониторинга целостности ключевых компонентов ядра — PatchGuard (практически единственный способ обеспечить выживаемость руткита в x64-среде).
● Возможность глубоко скрывать свой код и, таким образом, делать его невидимым для AV-сканеров.
● Буткит имеет посекторную архитектуру хранения своего тела на диске, что дает возможность выносить свой вредоносный код и код полезной нагрузки далеко за пределы файловой системы и даже разделов диска, делая почти невозможным его обнаружение.
● Безопасная установка руткита в системе.
В отчете ESET по угрозам и трендам за 2012 г., мы указали, что буткиты являются одним из ключевых технических трендов прошедшего года. Наши эксперты отслеживают появление новых сложных угроз. Мы также не обошли стороной и Win32/Gapz, так как он содержит ряд технических особенностей, которые делают его действительно интересным. Александр Матросов и Евгений Родионов проделали большую работу, занимаясь анализом этого буткита. Сегодняшний наш пост посвящен этому анализу.
Начнем с дроппера — компонента, который является изначальным носителем кода буткита и отвечает за его установку в системе. Мы детектируем его как: Win32/Gapz.X, X-версия. Мы обнаружили три его версии, A, B и C. Ниже в таблице приведены их характеристики:
Рис. 2.
В соответствии с нашими наблюдениями, первая известная версия дроппера была скомпилирована в апреле прошлого года и содержала много отладочной информации, т. е. не подразумевалась для массового распространения. Вполне вероятно, что Win32/Gapz начали массово распространять в конце лета или начале сентября прошедшего года. Для поднятия своих привилегий в системе Win32/Gapz использует LPE-эксплойты и COM Elevation метод.
В процессе анализа мы обнаружили, что заражению Win32/Gapz подвержены: 32-битные Windows XP SP2 и выше (исключая Windows Vista и Vista SP1) и 64-битные Windows XP SP2 и выше. Обсуждаемая версия дроппера Win32/Gapz способна заражать Windows XP и Windows 7, включая x64 версии, однако на Windows 8 буткит-часть не работает должным образом и после заражения часть, надлежащая к исполнению в режиме ядра, не исполнялась.
Рис. 3. Часть кода дроппера, проверяющая версию ОС.
Дроппер, устанавливающий буткит в систему, тщательно продуман и способен обойти современные проактивные защиты (HIPS), а также поднимать свои привилегии до уровня системы. Кроме того, он содержит хитрый метод внедрения кода в адресное пространство процесса. Файл дроппера экспортирует из себя несколько функций, которые указаны ниже на рисунке.
Рис. 4. Функции, экспортируемые исполняемым файлом дроппера.
Есть три экспортируемые функции, на которые следует обратить внимание: start, icmnf и isyspf. Краткое описание:
● start — точка входа в дроппер, осуществляет его внедрение в адресное пространство доверенного процесса explorer.exe;
● icmnf — отвечает за повышение (эскалацию) привилегий;
● isyspf — выполняет заражение жертвы кодом буткита.
Код дроппера использует специальную секцию, которая спроецирована в адресное пространство процесса explorer. Через эту секцию он загружает шелл-код в этот процесс и далее, с помощью специально сформированного API-вызова, производит его активацию. Соответственно, после того, как шелл-код активирован, он подгружает образ дроппера в адресное пространство процесса explorer, вызывает функцию повышения привилегий и инициирует процедуру заражения кодом буткита, записывая его на диск.
Рис. 5. Стадии выполнения дроппера и заражения жертвы кодом буткита.
После того, как дроппер заразил систему буткитом, его задача исполнена, и он удаляет свой файл с диска.
Вредоносный код MBR
Мы обнаружили две модификации буткита Win32/Gapz, которые различаются методами заражения диска жертвы. Самая ранняя модификация появилась в начале лета 2012 г., эта версия была нацелена на заражение MBR. Другая, более поздняя модификация, которая заражает VBR, была замечена в конце осени 2012 г.
Рис. 6. Две модификации Win32/Gapz, нацеленные на заражения MBR и VBR.
Давайте рассмотрим более раннюю модификацию буткита, которая нацелена на заражение MBR, подробнее. В этом случае, код буткита можно разбить на несколько частей:
● вредоносный MBR;
● код режима ядра и полезная нагрузка, внедряемая в процессы.
Вредоносный код сохраняет свой код режима ядра и полезную нагрузку либо перед самым первым разделом, либо после последнего раздела на жестком диске. Такой подход очень похож на тот, который использовался в бутките Rovnix, за исключением того, что Rovnix заражает VBR.
Что касается буткит части Win32/Gapz, то в ней нет ничего необычного: как только код из вредоносного MBR исполнился, он восстанавливает оригинальный код в памяти и читает следующие секторы жесткого диска, содержащие код для последующего исполнения, на который и передается управление. Код буткита перехватывает обработчик прерывания 0x13, int 13h и отслеживает, таким образом, загрузку ниже перечисленных модулей ОС для установки туда перехватов:
● ntldr (на системах до Windows Vista)
● bootmgr (на системах Vista+)
● winload.exe (на системах Vista+)
Код буткита идентифицирует каждый из вышеперечисленных модулей, используя специальные последовательности байт. Ниже перечислен список функций, которые буткит перехватывает в этих модулях:
Как только вредоносный код обнаруживает, что конкретный модуль читается с жесткого диска, он модифицирует его таким образом, чтобы вернуть себе контроль после того, как процессор переключится в защищенный режим. Буткит устанавливает перехваты на загрузчик ядра ОС: это либо ntldr в устаревших системах до Windows Vista, либо bootmgr в Vista и выше. В случае с bootmgr, он также перехватывает функцию OslArchTransferToKernel в winload.exe.
Рис. 7. Перехватчик функции OslArchTransferToKernel в winload.exe.
Следующий этап, это установка перехвата на функцию IoInitSystem, которая вызывается в процессе инициализации ОС. Она перехватывается вредоносным кодом либо из ntldr, либо из winload.exe, в зависимости от версии ОС.
Рис. 8. Код перехвата, устанавливаемого на функцию IoInitSystem.
После того, как вредоносный код из IoInitSystem был исполнен, буткит восстанавливает модифицированные байты в образе ядра ntoskrnl и передает управление оригинальной IoInitSystem. Перед передачей управления оригинальному коду, буткит перезаписывает адрес возврата в стеке на свою функцию, которая, соответственно, будет исполнена по завершении исполнения IoInitSystem. С помощью такого трюка вредоносный код получает управление после того, как ядро ОС будет инициализировано. Далее вредоносный код считывает остальную свою часть с жесткого диска и создает отдельный системный поток, который исполняет эти инструкции и в завершении возвращает управление ядру. В этой части буткита, которая исполняется в режиме ядра, реализуется руткит-функционал, внедрение полезной нагрузки в процессы и взаимодействие с C&C сервером.
Вредоносный код VBR
Рис. 9. Схема первого сектора VBR.
Рис. 10. Структура NTFS-тома.
В случае заражения системы, VBR-код вызывает на исполнение код буткита вместо легального IPL. Код буткита, как уже упоминалось, записывается либо перед самым первым разделом диска, либо после последнего. В остальном код буткита, по существу, ничем не отличается от версии с MBR-инфектором.
Вредоносный код режима ядра
Основное предназначение непосредственно той части, которая и называется буткитом, описанной выше, заключается в загрузке вредоносного кода режима ядра или руткита в системное адресное пространство, обходя ограничения, накладываемые ОС для такого привилегированного кода. Мы уже упоминали, что этот загружаемый буткитом код, содержит в себе руткит для скрытия своего присутствия, механизм работы с управляющим сервером C&C, а также полезную нагрузку (payload), которая предназначена для внедрения в процессы.
В отличие от Rovnix, TDL4 и других распространенных буткитов, вредоносный код режима ядра в Win32/Gapz не имеет структуры исполняемого PE-файла. Вместо этого он структурирован особым образом. Код состоит из 12 объединенных между собой блоков, каждый из которых имеет заголовок — структуру, которая хранит служебную информацию о нем. Она имеет следующий вид:
Каждый из блоков реализует определенный функционал: внедрение полезной нагрузки, взаимодействие с C&C серверами, самозащиту и так далее. Функционал кода режима ядра является достаточно сложным и может быть рассмотрен отдельно (выходит за рамки этого поста).
Bootkits vs. Microsoft ELAM
В этой части нашего поста мы хотим остановиться на специальном средстве, которое Microsoft решили использовать для борьбы с различного рода угрозами, особенно, руткитами и буткитами, которые пытаются загрузить себя раньше других драйверов в системе. Средство называется ELAM, Early Launch Anti-Malware Module и поставляется в составе ОС, начиная с Windows 8. По сути ELAM – это драйвер, предоставляемый антивирусным вендором, которому гарантирован приоритет при загрузке драйверов режима ядра. С точки зрения же ядра ОС, ELAM представляет собой API для антивирусных драйверов, а также набор правил, которых такому драйверу следует придерживаться. Одна из главных возможностей этого средства заключается в том, что он гарантированно позволяет AV-драйверу загружаться раньше остальных драйверов в системе и, таким образом, выходить за рамки обычных правил автозагрузки, регламентируемых для остальных драйверов.
Мы отмечаем, что ELAM сам по себе не может быть так эффективен для борьбы с буткитами, поскольку это часть ядра ОС, а буткит получает управление гораздо раньше.
Рис. 12. Мы видим, что буткит может компрометировать систему с активным ELAM, делая его бесполезным инструментом. Поскольку буткит загружается раньше инициализации ОС, он будет уже находиться в памяти на тот момент, когда ELAM получит управление.
В этой статье автор поделится своим видением будущего руткитов.
Проект "Синяя таблетка".
Несколько лет назад, я столкнулся со странной штукой, каким-то образом Windows XP обрела измененный boot сектор.
Для начала расскажу историю.
Когда вы включаете компьютер, процессор начинает выполнение программы, которая должна находится в строго указанных адресах памяти. Обычно там находится ПЗУ (постоянное запоминающее устройство. ("Привыкайте к сокращениям" (с) Трансформеры)) или проще говоря BIOS (Basic Input Output System или базовая система ввода вывода). Процессор может работать в 2х, а теперь уже в 3х режимах. Первый режим называется реальным и собственно представляет собой сверхпроизводительный процессор i8086 образца 1980 года, второй режим: защищенный, в нем реализован доступ ко всей доступной памяти до 4х гигабайт, сумасшедший объем для 1985 года и процессора i80386. В защищенном режиме был реализован режим виртуального i8086, для совместимости.
Как я говорил ранее i80386 и его клоны, позволяли уже тогда создавать виртуальную среду, в которой можно было эмулировать, в частности и сам i80386. Конечно, задача очень сложная в части обеспечения стабильности работы. А недавно для 64битной архитектуры появился и режим виртуального i80386. То есть 64 битная архитектура эмулирует 32 битную, а последняя 16 битную, образца 1980 года.
Вот такая матрешка. При этом, надо отметить, что технология виртулизации впервые появилась у AMD, но только для i80386, виртулизация i8086 пропала за ненадобностью, по крайней мере так посчитали в AMD, а Intel с опозданием, таки смогла обеспечить полный комплект виртуализаций. Но обе технологии отличаются друг от друга, поэтому придется писать два кода, чтобы использовать свой гипервизор на обоих технологиях.
Но я забежал вперед.
Очевидно было, что windows сама такое сделать не смогла бы. Тогда кто ? Изучение привело меня в замешательство. Это был мой первый опыт, я понятия не имел, что такой механизм уже существует в бытовом применении. То был буткит Sinowal, крадущий банковскую информацию, красть было с этого компьютера нечего, поэтому, как говорится, обошлось. Исследование показало, что помимо загрузочной части, у него было продолжение, собственный драйвер в системе, который уже работал, как классический руткит, скрывавший свое присутствие. Понимание этого процесса, помогло избавиться от заразы в ручную, так как ни один доступный мне антивирус его не обнаруживал.
Совсем недавно, в 2009м году, проект получил свое развитие и теперь успешно торпедирует как windows xp x64, так и Vista всех сортов, о чем и было доложено Джоанной на конференции Confedence.
Технологии не стоят на месте и гибкость оборачивается проблемами, когда ее начинают использовать с иными или двойными целями.
В том же 2006 году, компания Next Generation Security Software Ltd взорвала мир новостью о том, что существует возможность написания руткита, переживающего reset компьютера. Новость была опубликована в ноябре 2006 года. Несколько позже, та же компания опубликовала еще один способ заражения и выживания, более того практически, намертво вживления в систему, через перепрограммирование карт на шине PCI. Таким образом была концептуально скомпрометирована архитектура ACPI и вслед за ней PCI, для устройств с установленной EEPROM (Electrically Erasable Programmable Read Only Memory - электрически стираемой перезаписываемой памятью только для чтения) памятью, что встречается достаточно часто.
На сколько мне известно, рут(бут)китов использующих эти технологии нет, однако проект BluePill доступен в исходных кодах, при желании его можно скомпилировать, изменить и.
В 2008 году, летом, группа North Security Labs сообщила о возможности обнаружения среды виртуализации BluePill.
Есть два способа обнаружения, первый это через анализ косвенных действий, например снижения производительности или использования внешнего источника времени, так как внутренний может и будет, и подделывается гипервизором, конечно, анализ может быть отрицательным, если действия по обнаружению будут присекаться гипервизором, например, он будет смотреть, не лезет ли кто в сеть за источником точного времени, например путем внедрения в процесс NDIS, концепт метод которого описан той же Джоанной или как это делают некоторые руткиты внедряясь в процесс ipv6.sys, правда несколько для других целей.
Но существует второй способ, более надежный, это вбить еще один клин, и запустить вражеский гипервизор из под доверенного гипервизора и уже при помощи него проанализировать, нет ли чего подозрительного, включающего режим виртуализации, где не надо.
Будущее за виртуализацией. Уже сейчас существуют гипервизоры позволяющие объединять группы серверов в единый пул, где выход из строя одного сервера, ведет лишь к потере производительности и сбою в некоторых приложениях, которые будучи корректно написанными, спокойно переживут это проишествие.
Однако не стоит забывать о факторе профессионализма.
Руткит сложен, буткит еще сложнее, гипервизоры сложнее первых двух. Уровень профессионализма должен быть огромен, написать действующий невосприимчивый к обнаружению гипервизор, по трудозатратам похоже на написание небольшой собственной OS. Более того, он труден в отладке, отладчик должен обладать свойствами гипервизора, при этом не забудьте, что все это должно вращаться в гостевой операционной системе, предоставляющей возможность отладки и разработки. И если вы себе этого представить не можете, то поверьте, это очень и очень не просто. И самое главное, подобные трудозатраты недоступны тем, кто занимается самоутверждением, а так же тем, кто хочет подработать денег на собственном ботнете.
Это профессионалы, которые должны иметь сильную мотивацию, много времени и финансового ресурса, который их будет обеспечивать во время разработки и отладки кода. Но технологии не стоят на месте и борьба щита и меча наверняка развернется на небесах виртаулизации, оставив операционную систему более слабым и более молодым хакерам.
Призрак загрузочного сектора.
My power over you
grows stronger yet
(c) Andrew Lloyd Webber - Phantom Of The Opera
Кто раньше встал – того и тапки
(с) неизвестен.
То есть, реальностью внутри компьютерного мира рулит тот, кто раньше стартовал. Именно он, с вершины своей горы, обозревает окрестности и блюдёт в системе порядок… Или беспорядок, незаметно и безнаказанно – если первым загрузился зловред.
А очередь на загрузку начинается с загрузочного сектора – специальной области на диске, где сосредоточены все стрелки на что, когда и куда будет грузиться. И - о, ужас! - даже операционная система подчиняется этому порядку! Немудрено, что кибер-негодяи давно питают нездоровый интерес к оному сектору – это же идеальный вариант надеть тапки первым и полностью скрыть факт заражения компьютера! А помогает им в этом особый класс зловредов – буткиты.
О том, что такое буткиты и как мы вас от них защищаем – рассказ ниже.
На самом деле буткиты – история с бородой. Да ещё с какой!
Второе дыхание буткиты обрели в конце 2007г., когда на арену выползла новая версия троянца-шпиона Sinowal с функцией заражения загрузочного сектора. Кстати, для некоторых антивирусных компаний это был шок - с конца 90х угроза считалась неактуальной и некоторые продукты в принципе не умели защищать загрузочные секторы. Хотя буткиты сейчас уже не блещут пандемическим распространением, в наших отчётах они стабильно создают заметный вредоносный фон. А компьютерный андерграунд не перестаёт изобретать новые уловки.
Спросите - раз буткиты такие хитрые и неуловимые, почему же они не такие распространённые? И вообще стоит ли овчинка выделки – надо ли заморачиваться разработкой защиты?
Ну, во-первых, мы оцениваем общее количество компьютеров в мире, заражённых разными буткитами где-то в 10 миллионов. Согласитесь, цифра немалая, чтобы называть буткиты нераспространёнными и игнорировать разработку защитных технологий. Во-вторых, этот метод заражения активно используется в сложных целевых атаках при господдержке (например, печально известный FinSpy). Стать жертвой кибервоенщины или спецоперации - тоже не самая приятная перспектива. А в-третьих, для создания буткита требуется очень глубокое знание системного программирования, что не каждому кибер-негодяю по плечу. Соответственно, и защищать от таких тараканов оййй как непросто. Но мы защищаем и весьма успешно. И об одной уникальной фиче нашего арсенала сейчас и пойдёт речь.
Прежде всего, кратенько рассмотрим жизненный цикл буткита.
Обычно буткит-атака начинается через уязвимости в операционной системе или прикладном ПО. Вы просто заходите на некий вебсайт, откуда ваш компьютер прощупывают и, в случае обнаружения слабых мест - атакуют. А именно: на компьютер незаметно загружается файл, который и начинает заражение.
При заражении буткит записывается в загрузочный сектор, а его оригинальное содержимое переносится в укромное место и зашифровывается. Далее при каждом запуске компьютера буткит будет загружать в память свои модули, содержащие вредоносный функционал (например, банковский троянец) и средства маскировки (руткит). Руткит необходим для сокрытия факта заражения компьютера – он перехватывает последующие попытки операционной системы или других приложений (в том числе антивирусов) проверить содержимое загрузочного сектора и… подсовывает из того самого укромного места оригинал! Как будто ничего и не было!
Казалось бы, при таком монопольном контроле над системой эту кибер-заразу можно вывести только загрузкой с другого диска с чистой операционной системой и хорошим антивирусом. Да, это вариант. Но у нас есть технология, которая поможет справиться с буткитами (в том числе неизвестными!) без хирургического вмешательства, пролечив компьютер автоматически.
В наших корпоративных и персональных продуктах есть эмулятор загрузки. Подобно эмулятору операционной системы или браузера он создаёт искусственное окружение, соответствующее процессу загрузки компьютера. Затем эмулятор в обход перехваченных дисковых функций собирает все необходимые секторы, формирует специальный контейнер и запускает его в этом окружении. Буткит думает, что пришло время поработать и запускает свою стандартную процедуру, тут-то мы его и палим! Подозрительный объект через KSN отправляется нашим вирусным аналитикам - они разрабатывают защиту, обновляют базы, а дальше дело техники – антивирус расшифровывает оригинальный загрузочный сектор, удаляет буткит и все его модули и восстанавливает систему. Если нет возможности ждать – можно попытаться вылечить компьютер нашей бесплатной антивирусной утилитой KVRT.
Важно, что эта технология также помогает защищаться от неизвестных буткитов. Во-первых, мы задействуем локальный эвристический анализ и выявляем подозрительную активность во время эмуляции загрузки. Во-вторых, мы используем нашу облачную систему KSN, которая по тем самым контейнерам статистическими методами выявляет буткит-аномалии.
Как и любой эмулятор, виртуализация загрузки компьютера – процесс дюже ресурсоёмкий. С другой стороны – а зачем постоянно и глубоко сканировать загрузочный сектор? В общем, мы совместили приятное с полезным таким образом, что проверка загрузочной области происходит по требованию, по расписанию (например, поздно ночью) или в режиме простоя, когда на компьютере никто не работает. И овцы целы и волки сыты :)
Что будет дальше?
Нет сомнений, что буткиты будут дальше эволюционировать и совершенствоваться. Наглядный пример – полиморфный вирус XPAJ, который запросто обходит новые механизмы защиты Windows для маскировки своего буткит-модуля. На повестке дня биоскиты – вредоносные перехватчики ещё более глубокого системного уровня.
Также ясно, что этот класс зловредов ещё некоторое время останется оружием ограниченного числа кибер-банд, которым логично привлекать к себе поменьше внимания, подольше оставаясь в тени. А тень есть и ещё какая – тень от антивирусной индустрии, которая откровенно забивает на защиту от буткитов.
Ниже – результаты недавнего сравнительного тестирования способности разных антивирусов лечить активное заражение некоторыми распространёнными буткитами. Картина мрачная, но с элементами оптимизма :)
В общем, скучно точно не будет. Вместе с тем, мы тоже на месте не стоим, думаем, работаем, изобретаем, внедряем, детектим, лечим, спасаем!
Читайте также: