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

Previous Entry Поделиться Next Entry
1 августа, 2013
e_kaspersky
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

В общем, скучно точно не будет. Вместе с тем, мы тоже на месте не стоим, думаем, работаем, изобретаем, внедряем, детектим, лечим, спасаем!
Метки: ,
Previous Entry Поделиться Next Entry
а вот кстати, а как червь проникает через браузер, да еще и устанавливается в систему? если его не запустить конечно.
не понимаю до сих пор. Где почитать про механизм популярно?

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

это понятно, но код должен записать ексешник на диск. Как он опускается на такой уровень? :)

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

Вот тут технически описано http://en.wikipedia.org/wiki/Stack_buffer_overflow

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

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

Почитеть можно здесь: w w w . s e c u r e l i s t . c o m / ru / a n a l y s i s / 2 0 8 0 5 0 6 5 2 / Nebezopasnyy_internet#8

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

Не стоит судить по обычному веб-программисту, он действует через стандартные интерфейсы. Эксплоит активизируется через уязвимость. И (в зависимости от уязвимости) эксплоиту совсем не обязательно работать в рамках JavaVM. Хватает Java-эксплоитов, которые позволяют запускать произвольный код за пределами JavaVM.

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

В чем именно непонимание?

ладно, напрягся, сформулировал: каким образом хакер протаскивает большие данные сквозь замочную скважину эксплойта? Если эксплойт это по сути сбой адресации, то я могу представить только один вариант - подсунуть уязвленной библиотеке адрес запуска вредоносного кода. Но ведь код все равно же будет работать в рамках javaVM! Второй вариант - всё тело будущего трояна прогнать эксплойтом через стек на запись на диск. Но это же бред.

На конкретном примере:

- грузится html с апплетом, содержащим эксплоит;
- отрабатывает эксплоит, после чего ты уже вне песочницы;
- отрубаем SecurityManager;
- вызываем Download для PE'шника;
- запускаем PE'шник.

Это еще раз доказывает, то что все тестирования находятся под влиянием некоторых компании и продвигают их интересы. Тесты = реклама.
Устанавливаются свои глупые правила и продвигается своя реклама!
=)
SysInspector лечит например mebroot и Stoned Bootkit, а потом будет лечить всё. А для чего ESET SysRescue, разработано.

А чтобы лечить совсем не нужно импортировать в антивирус баги и тормоза. Вот:
kb.e s e t. c o m/esetkb/index?page=content&id=SOLN2372
e s e t.c o m/download/utilities/

Потом в сети куча бесплатного софта, разного, бери и лечи. А продвинутые пользователи смогут легко вылечить всё что угодно с помощью ESET SysRescue, SysInspector, не дожидаясь, когда это там антивирусные компании будут лечить или выпустят свои улиты для лечения, тем более, что антивирусные компании потенциально не смогут справится с таким потоком зверушек, и лечить они должны Zero-day угрозы, то есть сразу.

Образ диска с форматированием - Complete PC. И MBR/VBR можно перезаписать.

Я думаю, что LK просто не в состоянии лечить всё и сразу/o-day, тем более качественно и надежно. Так-что все заявления, вот мы чего-то там лечим(а они..), не серьезны, для серьезных людей.

А так-же я например наблюдаю то, что давно лечат некачественные поделки. Их много, и как мы видим это доступно любому дикарю из самого отсталого племени на планете!
=)

А теперь факт.

Самые отстойные продукты с самыми отстойными разработчиками способны лечить. И таких некачественных продуктов/отсталых было и есть сейчас очень много. Таким продуктам просто нужна реклама/деньги - лечим!

Это далеко не лучшие/best продукты, с хорошими разработчиками и вирусными аналитиками. Поэтому они пытаются и тут установить свои липовые правила! Правила поделок.
=)

А на самом деле: y o u t u b e.c o m/user/nodikess?feature=watch


Их разработчики не в состоянии делать качественные и надежные продукты на новых, сложных, современных и не доступных другим технологиях.

У них разработчики не того уровня, который требуется. Они как глупые дети играются в чужую Lego, собирая отсталые поделки.

Которые не защищают от тех же буткитов.
=)

i m g 1 3.imageshost. r u/img/2013/01/11/image_50ef3fe0babe1.png
i m g 1 3.imageshost. r u/img/2013/01/11/image_50ef4022eccd4.png

ESET beta:
Eliminate extremely persistent malware and rootkits thanks to Improved Cleaning. Specialized cleaner
:P =)


Edited at 2013-08-01 15:28 (UTC)

Гыыг... Ясен перец - если _независимые_ тесты показывают _реальную_ картину, где Eset в глубокой попе, то по мнению Eset'овского тролля это правдой не является. Кто бы сомневался. А вот заниматься недобросовестной конкуренцией ESET'у - это всегда пожалуйста. LOL.

Edited at 2013-08-01 19:24 (UTC)

Просьба прочитать пост 70:
forum.drweb. c o m/index.php?showtopic=281933&p=323665
А я не чей, а ярлыки можно на всех повесить, МНЕ нельзя написать что черное это белое, можно ярлык повесить(тролль) и наврать остальным "СЛЕПЫМ" пользователям.
:P =)
supporter_33 ЛК.
Написать вам точно нечего, по делу. Могли бы мне сразу коротко написать - сам дурак. Как ребенок.
:P =)

Нечего писать, тогда тихо завидуйте:
s6.hostingkartinok. c o m/uploads/images/2013/07/7c13cfefc91d7a9deba9c841beb3c3a4.png
:P =)

Edited at 2013-08-01 22:13 (UTC)

А я не говорил, что ты чай. Читай внимательнее. Я сказал, что ты Eset'овский тролль.
Ага, очевидно же: supporter_33 - ЛК, а 5evik - Eset, кто бы сомневался.

Тролль, который:
- бесплатно тратит время на _синтетические_ ролики, лишь бы очернить репутацию;
- задает вопросы в других постах, на которые ему не может ответить поддержка любимого Eset;
- хочет, чтобы другие копались в какашнах, которые он наснимал;
- мнит себя Lipton'ом...

Вот ты подумай своей головой, как ты позиционируешь свою контору в глазах читателей. - Будет честная контора с хорошей репутацией вести себя так - ходить на блог к ЛК и выкладывать всякую порнографию, если та контора не боится и ей есть, что предложить с технологической точки зрения? Если она хорошо выглядит в независимых тестах? Видишь, ты правильно ответил на все вопросы. Теперь перечитай басню Крылова про Моську - и ты поймешь, как вы выглядите.

В той басне моська просто предупреждала людей, что тут шарится большая и нехорошая слонятина !
:P =)


Edited at 2013-08-02 10:01 (UTC)

sav-ip@list.ru

SV

2013-08-07 07:50 (UTC)

читаю и умиляюсь и пугаюсь одновременно...
вот из за таких как 5evik - интернет и погибнет, не скоро, но все же. Работа у чела конкретная и целенаправленная, найти-обложить всех и вся-пропиарить хозяина. из-за таких в последнее время комменты начал переставать читать, из-за таких и на митинги, которые по моему убеждению имеют правильную цель, перестал ходить. Да много еще чего перестал делать. Вот и инет скоро будет заполнен до отказа вот такими экземплярами, что тошно вообще читать чего-либо будет.
никуда конечно от этого не деться, прыщи и язвы всегда были есть и будут. А....чем умиляюсь (?), да тем, что 5evik искренне уверен в своих правильных действиях.



Edited at 2013-08-07 07:52 (UTC)

а теперь представим средний офис на 120 человек из которого 90% скажем женского пола. Которые постоянно сидят в инете и кликают на все баннеры.
Я бы с радостью посмотрел как бы вы объясняли им как они "...смогут легко вылечить всё что угодно с помощью ESET SysRescue, SysInspector..."
Что? Они не "продвинутые пользователи"?? А таких 99.99% в мире. Сюрприз? :)

TDL и ZeroAccess мне в свое время неплохой доход приносили :)
Помогал только TDSSKiller и Combofix.

Хуясе!

Простите. Не удержался.

А как быть, если атака будет на биос, АВП работает на уровне биоса? Планируются работы в данном направлении уже?

Данная технология (из поста) не предназначалась для борьбы с атаками через BIOS. У нее немного другие задачи, с которыми она весьма успешно справляется и наловила кучу зловредов.

Если же говорить о BIOSе (точнее об UEFI), то ответ положительный. И даже больше, чем просто планы :)
P.S. Ответ получился несколько туманный, но детали пока раскрывать не могу.

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

Опять же, необходимо различать атаки на BIOS, так как BIOS'ы разные бывают. Очевидно, что в ближайшее время все современные компьютеры будут использовать UEFI. Мы ведем разработки в данной области, причем довольно успешные ;)



Что касается legacy BIOS'ов, то тут ситуация неоднозначная. Создать биос-кит не так просто как кажется, так как производители биосов держат свои форматы закрытыми, да и самих биосов довольно много в живой природе. Аналогично и с методами "прошивания" в биос. В общем, это проблема для вирмейкеров (и для антивирусных компаний) и, скорее, это удел профессиональных исследователей, нежели создателей троянов-даунлоадеров. Поэтому MyBios скорее концепт, нежели полноценный биос-кит. Думаю, что обычным пользователям не грозит подхватить биос-кит не в UEFI. Что касается таргетированных атак, то биос - это очень неплохое место, чтобы спрятаться на атомной электростанции :)



Кроме всего прочего я вижу определенную угрозу со стороны UEFI Универсальный интерфейс, документация и так далее - это все может привести к созданию полноценных боевых руткитов и их надо будет: 1) обнаруживать 2) излечивать.



Edited at 2013-08-02 08:15 (UTC)

При заражении

kalsblood

2013-08-04 22:27 (UTC)

................................При заражении буткит записывается в загрузочный сектор..................................
простите идиота, а почему ОС это позволяет??

Re: При заражении

Nick Borovikov

2013-08-05 09:33 (UTC)

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

(http://hostingkartinok.com)

Чуток in english:
FIG shows the areas on the disk 131, 132, 133 where bootkit data can be written. Therefore, bootkit data 121, 122 and a hidden copy of the boot record 130 are not reflected in the operating system's file system, are not included in disk partitions and are not detectable by scanning the files and the disk space, if the anti-virus software does not use tools which are effective against this type of threat. Aspects of the invention recognize that it is possible to build an efficient security system for a computer by analyzing current threats and their harmful functionality; this requires access to the files or data area which store the malware and are used by it. It is especially important to timely gather information on the threat in order to respond to it early; otherwise, infection of a multiplicity of computers can lead to an outbreak and cause significant damage to the public's information systems.
In one example, the bootkit includes a driver 121, which executes rootkit functionality, a modified MBR 120 and a payload of harmful functionality 122. In this case, the bootkit can additionally contain encoding components used to conceal data, anti-detection components, and other additional functions, which complicate the analysis of the malware. The number of the disk sectors used during the system boot process can be dozens or even hundreds, while the disk area occupied by the harmful functionality executed after the operating system boot can be even greater.
When a computer boots from infected disk 111, which has a modified boot sector, the modified MBR 120 loads the disk sectors containing the bootkit code; subsequently, control is transferred and the operating system is loaded together with the rootkit component. This boot sequence allows the bootkit to remain undetected. The original MBR 130 is copied to a specific area on the disk 133 and in some cases may be encoded. The bootkit needs a copy of it in order to pass the boot record integrity test and to substitute the original record when calls are made for the disk's boot sector. As a result, the operating system, conventional anti-virus programs and other security tools conclude that the actually modified MBR 120 is not modified and the disk 111 is not infected. The need to save the original MBR 130 also provides the opportunity to restore of the system. To do this, the protection system determines the original MBR's 130 copied-to address on the disk, decodes it (if necessary) and rewrites it into the boot sector, replacing the modified record 120.

Re: При заражении

supporter_33

2013-08-05 10:00 (UTC)

А почему она не должна позволять? Не из Ring3 же туда напрямую пишешь...

Евгений Валентинович! =)

И чем это теперь будет лучше ваш Касперский? - нечем!
=)

Ver: 7.0104.0

Virus signature database: 8703P (20130819)
Update module: 1044 (20130708)
Antivirus and antispyware scanner module: 1405 (20130814)
Advanced heuristics module: 1142 (20130712)
Archive support module: 1175 (20130809)
Cleaner module: 1075 (20130730)
Anti-Stealth support module: 1050 (20130807)
Personal firewall module: 1143B (20130819)
Antispam module: 1026 (20130715)
ESET SysInspector module: 1237 (20130701)
Real-time file system protection module: 1009 (20130301)
Translation support module: 1110 (20130729)
HIPS support module: 1093B (20130806)
Internet protection module: 1078B (20130814)
Web content filter module: 1028 (20121113)
Advanced antispam module: 1443P (20130818)
Database module: 1039 (20130812)

Седьмая версия ESET теперь лечит буткит Gapz и всё остальное лечит, и новое будет лечить.

Точно детектирует даже Zero-day, лечит и точно детектирует даже если файла ещё нет в базах. После перезагрузки ПК чистый, ваш tdsskiller нечего не находит.
=)

Смотрим:
storage2.static.itmages. r u/i/13/0819/h_1376924966_2609943_c43db8c7d8.png
s6.hostingkartinok. c o m/uploads/images/2013/07/7c13cfefc91d7a9deba9c841beb3c3a4.png

Edited at 2013-08-19 15:15 (UTC)

Виталик, ну прежде чем писать; ну подумай
Ты пишешь :
>После перезагрузки ПК чистый, ваш tdsskiller нечего не находит.
Выходит так, что разработками ЛК (причем давними) ты проверяешь качество лечения ;) других антивирусов

Edited at 2013-08-19 15:18 (UTC)

?

Log in

No account? Create an account