Евгений Касперский (e_kaspersky) wrote,
Евгений Касперский
e_kaspersky

Category:

Призрак загрузочного сектора.

My power over you
grows stronger yet
(c) Andrew Lloyd Webber - Phantom Of The Opera

Кто раньше встал – того и тапки
(с) неизвестен.



В противостоянии «вирус vs антивирус» есть одна любопытная игра – «царь горы».

Правила просты: побеждает тот, кто первым занял телеграф, почтамт, вокзал …  В компьютерных войнах победа достаётся тому, кто первым загрузился в память компьютера – он и царь горы. Он первым берёт контроль в свои руки: перехватывает системные вызовы, внедряется в них и тем самым получает полную власть над остальным пространством в компьютере. Остальные, которые появляются позже, работают под присмотром «хозяина» - который в состоянии «нарисовать» им любую реальность – прям как голливудская Матрица.

То есть, реальностью внутри компьютерного мира рулит тот, кто раньше стартовал. Именно он, с вершины своей горы, обозревает окрестности и блюдёт в системе порядок… Или беспорядок, незаметно и безнаказанно – если первым загрузился зловред.

В общем, "The winner takes it all" © ABBA.

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

Как загружается компьютер?
loading_comp

О том, что такое буткиты и как мы вас от них защищаем – рассказ ниже.

На самом деле буткиты – история с бородой. Да ещё с какой!

Самый первый вирус для «IBM-совместимых компьютеров» (прадедушек/бабушек современных компов и ноутов) появился в далёком-предалёком 1986м году. (Ага, 27 лет тому назад!) Назвали его “Brain” (поскольку в его коде был именно такой копирайт). Так вот, этот вирус прославился тем, что он был тем самым буткитом-невидимкой – при обращении к заражённому загрузочному сектору он подставлял изначальный (незаражённый) сектор!

У “Brain” впоследствии появилась масса последователей, но с ними быстро научились бороться («вылечивая» вирусные перехваты системных событий), потом появились макро-вирусы для MS Office, потом Интернет-черви – и мода на загрузочные вирусы (включая буткиты) сошла на нет… почти на 10 лет.

Второе дыхание буткиты обрели в конце 2007г., когда на арену выползла новая версия троянца-шпиона Sinowal с функцией заражения загрузочного сектора. Кстати, для некоторых антивирусных компаний это был шок - с конца 90х угроза считалась неактуальной и некоторые продукты в принципе не умели защищать загрузочные секторы. Хотя буткиты сейчас уже не блещут пандемическим распространением, в наших отчётах они стабильно создают заметный вредоносный фон. А компьютерный андерграунд не перестаёт изобретать новые уловки.
Раз буткиты такие хитрые и неуловимые, почему же они не такие распространённые? И вообще стоит ли заморачиваться защитой?

Спросите - раз буткиты такие хитрые и неуловимые, почему же они не такие распространённые? И вообще стоит ли овчинка выделки – надо ли заморачиваться разработкой защиты?

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

География распространения буткитов, 2013г.
(данные только по пользователям ЛК)
bootkit-infection-statistics-map

Прежде всего, кратенько рассмотрим жизненный цикл буткита.

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

При заражении буткит записывается в загрузочный сектор, а его оригинальное содержимое переносится в укромное место и зашифровывается. Далее при каждом запуске компьютера буткит будет загружать в память свои модули, содержащие вредоносный функционал (например, банковский троянец) и средства маскировки (руткит). Руткит необходим для сокрытия факта заражения компьютера – он перехватывает последующие попытки операционной системы или других приложений (в том числе антивирусов) проверить содержимое загрузочного сектора и… подсовывает из того самого укромного места оригинал! Как будто ничего и не было!

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

В наших корпоративных и персональных продуктах есть эмулятор загрузки. Подобно эмулятору операционной системы или браузера он создаёт искусственное окружение, соответствующее процессу загрузки компьютера. Затем эмулятор в обход перехваченных дисковых функций собирает все необходимые секторы, формирует специальный контейнер и запускает его в этом окружении. Буткит думает, что пришло время поработать и запускает свою стандартную процедуру, тут-то мы его и палим! Подозрительный объект через KSN отправляется нашим вирусным аналитикам - они разрабатывают защиту, обновляют базы, а дальше дело техники – антивирус расшифровывает оригинальный загрузочный сектор, удаляет буткит и все его модули и восстанавливает систему. Если нет возможности ждать – можно попытаться вылечить компьютер нашей бесплатной антивирусной утилитой KVRT.

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

Как и любой эмулятор, виртуализация загрузки компьютера – процесс дюже ресурсоёмкий. С другой стороны – а зачем постоянно и глубоко сканировать загрузочный сектор? В общем, мы совместили приятное с полезным таким образом, что проверка загрузочной области происходит по требованию, по расписанию (например, поздно ночью) или в режиме простоя, когда на компьютере никто не работает. И овцы целы и волки сыты :)

emulator_check_rus

Что будет дальше?

Нет сомнений, что буткиты будут дальше эволюционировать и совершенствоваться. Наглядный пример – полиморфный вирус XPAJ, который запросто обходит новые механизмы защиты Windows для маскировки своего буткит-модуля. На повестке дня биоскиты – вредоносные перехватчики ещё более глубокого системного уровня.

Также ясно, что этот класс зловредов ещё некоторое время останется оружием ограниченного числа кибер-банд, которым логично привлекать к себе поменьше внимания, подольше оставаясь в тени. А тень есть и ещё какая – тень от антивирусной индустрии, которая откровенно забивает на защиту от буткитов.

Ниже – результаты недавнего сравнительного тестирования способности разных антивирусов лечить активное заражение некоторыми распространёнными буткитами. Картина мрачная, но с элементами оптимизма :)

table_AV

В общем, скучно точно не будет. Вместе с тем, мы тоже на месте не стоим, думаем, работаем, изобретаем, внедряем, детектим, лечим, спасаем!
Tags: malware, technology
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 29 comments