Руткиты: что это такое и как их удалить

5 ключевых атрибутов хорошего антивирусного программного обеспечения

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

  • Анализ на основе сигнатур. Антивирусное программное обеспечение будет сравнивать зарегистрированные файлы с известными сигнатурами руткитов. Анализ также будет искать поведенческие паттерны, которые имитируют определенные действия известных руткитов, такие как агрессивное использование портов.
  • Обнаружение перехвата – операционная система Windows использует таблицы указателей для запуска команд, которые, как известно, заставляют руткит действовать. Поскольку руткиты пытаются заменить или изменить что-либо, что считается угрозой, это предупредит вашу систему об их наличии.
  • Сравнение данных из нескольких источников. Руткиты, пытаясь оставаться скрытыми, могут изменить некоторые данные, представленные в стандартном исследовании. Возвращенные результаты системных вызовов высокого и низкого уровня могут выдавать наличие руткита. Программное обеспечение также может сравнивать память процесса, загруженную в ОЗУ, с содержимым файла на жестком диске.
  • Проверка целостности – каждая системная библиотека обладает цифровой подписью, которая создается в то время, когда система считалась «чистой». Хорошее программное обеспечение безопасности может проверять библиотеки на предмет любых изменений кода, используемого для создания цифровой подписи.
  • Сравнения реестра – большинство антивирусных программ имеют их по заданному расписанию. Чистый файл будет сравниваться с клиентским файлом в режиме реального времени, чтобы определить, является ли клиент незапрошенным исполняемым файлом (.exe).

What are the Types of Rootkits?

There are five types of rootkits that exist in the wild at the time of this writing based on the level of computer security the malware uses to obtain privileged access to the computing system. These include user-mode, kernel mode, bootkits, hypervisor level, and those targeting hardware/firmware. Some rootkits can make use of hybrid combinations of these types that include attacking the user and kernel mode on the targeted computer.

User Mode Rootkits

A user-mode rootkit operates in the outer run of computer security on the targeted computer. This variant will use vulnerabilities in various APIs on the targeted computer to install itself to include infecting .DLL files on Windows and .dylib files on Mac OS X. As a result, they are able to execute within the infected computer process or overwrite the memory of the targeted application. User-level rootkits will also monitor any programs that attempt to update or patch the infected computer process and prevent this action to ensure they remain active on the targeted computer.

Kernel Mode Rootkit

A kernel mode rootkit obtains the highest-level of access on the targeted computer by replacing parts of the core operating system and device drivers. The majority of OS’s support kernel-level device drivers which provide a means for the rootkit to infect the system. Kernel-level rootkits can infect just about any computer operating system to include Windows, Mac OS X, Linux, and UNIX. Although harder to author, kernel mode rootkits are extremely difficult to detect and subsequently remove because of the security level they operate. Once installed, the malware can subsequently modify Windows kernel data structures to help cloak itself using the direct kernel object modification exploit. If found and removed, many rootkits will do sufficient damage to an operating system to necessitate a reload of the OS to regain full system functionality.

Bootkit

A variant of the kernel level rootkit is called the bootkit. This version is designed to attack a fully encrypted system. In many cases, the bootkit will fully replace the boot loader of the computer. It will then persist on the computer after the OS kernel has been loaded. One example of this type of rootkit is the Stoned Bootkit which loads a compromised boot loader. This boot loader intercepts the end-user’s passwords and encryption keys to further infect the targeted computer. A newer version of the Bootkit variant is the Alureon rootkit that targets the Windows operating system. Alureon attacks 64 bit Windows OS’s by removing the requirement for driver signing through modification of the master boot record on the computer.

Hypervisor Level Rootkit

Sometimes academics demonstrate proof-of-concept projects in order to “help” operating system and other software authors fix security issues. The hypervisor level rootkit is one of these cases, where researchers have publicly demonstrated the ability of a rootkit to exploit hardware virtualization features. Once installed on the target computer, this type of rootkit will host the operating system as a virtual machine allowing it to intercept all hardware calls made by the originally installed OS. The hypervisor rootkit does not have to modify the kernel of the OS in order to subvert it in this example. One of the academic examples of this type of rootkit is the SubVirt laboratory rootkit that was developed in coordination between the University of Michigan and the Microsoft Corporation in 2009.

Hardware/Firmware-Level Rootkit

A hardware-level rootkit typically leverages device firmware to create a footprint on a hard drive, system BIOS, or network card. Since firmware is not typically analyzed by rootkit detection software, this type of rootkit can be very difficult to detect. One of the first publicly acknowledged instances of a hardware-level rootkit was in late 2008 in Europe. In this case, a group of criminals were able to infect a large number of credit-card reading machines. These machines would transmit customer credit card details when swiped at legitimate businesses to the rogue actors for criminal use. Since then, firmware-level rootkits have been developed which can survive the reinstallation of the operating system.

Жизненно важные задачи каждого руткита

В ядре имеется множество структур, описывающих текущее состояние системы. Например, это список запущенных процессов, состоящий из указателей на дескрипторы процессов, который используется планировщиком. Другой важный объект — список загруженных модулей ядра, где каждый элемент указывает на дескриптор загруженного модуля. Он используется командами, оперирующими LKM: , , и подобными. Эти списки относятся ко внутренним объектам ядра.

Всякий вредоносный модуль первым делом удаляет себя из списка загруженных модулей, ведь если LKM в нем не описан, то ядро считает, что такой модуль не загружен. Это значит, что он не отобразится в выводе и не будет выгружен с помощью . Такая техника называется манипулированием внутренними объектами ядра (DKOM, Direct Kernel Object Manipulation).

Также любой хороший руткит заботится о том, как остаться в строю после перезапуска системы. Например, Snakso, обнаруженный в 2012 году, для этого прописывает команду загрузки модуля в , rkduck предпочитает файл , а Reptile в зависимости от целевой системы может использовать и , и . Skidmap вносит разнообразие в этот список и закрепляется в сценариях планировщика задач cron. Вообще, для этой цели могут подойти и другие файлы, влияющие на загрузку Linux, в том числе загрузочные скрипты. Далее будем называть такие файлы файлами автозагрузки.

И все вроде бы просто: проверяй содержимое этих файлов на подозрительные строки, и в твоей системе все будет хорошо. Но руткит не руткит, если не скрывает еще и что эти файлы модифицированы. Он может перехватывать системные вызовы и даже функции самого ядра, которые за этими вызовами стоят: например, Snakso и Reptile перехватывают функции файловой подсистемы ядра VFS (Virtual File System). Руткиты проверяют, было ли среди прочитанного что-то, что необходимо скрыть от глаз пользователя или администратора, и при необходимости модифицируют буфер со считанными данными.

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

Как руткит заражает компьютер?

Руткиты можно установить на устройство несколькими способами, например:

  • Обманчивые загрузки. Большинство заражений вредоносным ПО происходит, когда пользователи загружают и запускают файлы из ненадежных источников. Руткиты могут быть связаны с пиратскими носителями или программным обеспечением, или они могут представлять собой вложения, отправленные с поддельных адресов электронной почты, предназначенные для того, чтобы заставить пользователей думать, что они загружают файлы из надежного источника.
  • Фишинговые сайты. Фишинговые сайты — это поддельные веб-сайты, которые имитируют легальные веб-страницы, чтобы украсть информацию о пользователях или убедить их загрузить вредоносные файлы, в том числе руткиты.
  • Попутные загрузки. Эксплуатируя уязвимости браузера (особенно устаревшие браузеры и плагины), хакеры могут навязывать вредоносное ПО на ваше устройство.
  • Использовать атаки. Эксплойты используют уязвимости программного обеспечения в вашем браузере, операционной системе или любом приложении, подключенном к интернету, что позволяет хакерам получить доступ к вашему устройству.
  • Физическое вмешательство. Аппаратные руткиты должны устанавливаться вручную, либо хакерами, перехватывающими устройства до того, как они попадут в магазины, либо путем взлома использованных и украденных устройств.

Как и все программное обеспечение, руткит начинается с исполняемого файла.

Когда руткит запускается на вашем устройстве, он обманывает вашу систему множеством способов.

Руткиты пользовательского режима используют внедрение DLL, в то время как руткиты гипервизора виртуализируют вашу ОС, а руткиты ядра встраиваются в пространство ядра, убеждая вашу операционную систему в том, что руткит является законным системным процессом.

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

Вы не можете обнаружить их

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

Вы можете попытаться найти руткиты, используя такие бесплатные инструменты, как chkrootkit (для Linux и Mac), или Rootkit Revealer (для Windows), но только если вы своевременно обновляете эти программы. Нужно отметить, что не существует гарантии, что таким способом удастся обнаружить руткит, они более развиты, чем любые способности инструментов по их обнаружению.

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

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

AVZ

Мультифункциональный антивирусный сканер, созданный российским программистом Олегом Зайцевым. Способен найти и обезвредить вирус любого типа (включая модули SpyWare и Adware, трояны, черви). Оснащён специальным инструментом для эффективного выявления руткитов — настраиваемым модулем Anti-Rootkit.

Чтобы проверить Windows на наличие вирусов утилитой AVZ, выполните нижеприведённое руководство:

1. Перейдите на страницу для скачивания — z-oleg.com/secur/avz/download.php (официальный веб-ресурс разработчика).

3. После загрузки распакуйте архив: щелчок правой кнопкой → Извлечь всё.

4. Запустите с правами администратора файл AVZ (иконка «щит и меч»).

5. Обновите сигнатурные базы утилиты: в вертикальной панели кнопок, расположенной в правой нижней части окна, кликните по кнопке «земной шар». В новом окне нажмите «Пуск».

6. Выполните предварительные настройки на вкладках:

  • «Область поиска» — установите флажки возле разделов диска, которые необходимо проверить;
  • «Типы файлов» — включите опцию «Все файлы»;
  • «Параметры поиска» : в блоке «Эвристический анализ» передвиньте регулятор порога вверх (до значения «Максимальный уровень»), включите функцию «Расширенный анализ»; в «Anti-Rootkit» установите флаги возле всех надстроек (детектировать перехватчики, блокировать работу Rootkit User-Mode и Kernel-Mode).

7. Чтобы началась проверка разделов, нажмите по кнопке «Пуск».

Условно-бесплатное решение (триал — 180 дней) от отечественного разработчика Greatis Software. Одинаково успешно борется как с руткитами, так и с угонщиками браузеров, рекламным ПО. Поддерживает безопасный режим. Совместим с Windows 10.

Чтобы задействовать утилиту:

1. Скачайте инсталлятор с офсайта (greatis.com/unhackme/): щёлкните на странице кнопку «Download».

2. Распакуйте загруженный архив (клик правой кнопкой → Извлечь всё).

3. Запустите файл unhackme_setup. Следуйте указаниям установщика.

4. Кликните ярлык утилиты на рабочем столе.

5. В окне приложения, в разделе «Настройки», в блоке «Поиск руткитов… », проверьте, включена ли опция «Активен».

6. Перейдите на вкладку «Проверить» и нажмите с таким же названием красную кнопку.

7. В отрывшемся меню выберите режим сканирования:

  • «Онлайн проверка… » — подключение баз, находящихся на сервере разработчика;
  • «… тест» — оперативное тестирование;
  • «Сканирование… » — детектирование и обезвреживание в безопасном режиме.

Так что же такое руткиты?

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

Любая из таких техник в большей или меньшей степени вписывается в понятие «руткит», которое каждый сам определяет для себя, так или иначе опираясь на мнение большинства либо на точку зрения авторитетного меньшинства специалистов. Для чего нужно это определение? Для того чтобы не попасть в ловушку слов, когда речь идет о таких пограничных случаях, как упомянутое выше скандальное обнаружение «руткитов» в коммерческих продуктах. Вместо того чтобы делать поспешные выводы, испугавшись страшного слова «руткит», стоит разобраться, как именно реализован механизм, объявленный кем-то компрометирующим, и какие именно угрозы он в себе таит в действительности. Весьма показателен в этом смысле «скандальный руткит», обнаруженный в продукте Kaspersky Antivirus 7.0. Используемая в продукте техника, которую сочли компрометирующей, – размещение служебной информации в «стримах» файловой системы, т. е. в таких ее участках, которые недоступны при прямом наблюдении. Есть ли в этой технике обход системных механизмов? Нет; «стримы» – это документированная функция операционной системы. Скрывается ли вредоносная активность? Нет; скрывается только служебная небинарная информация. Является ли эта техника уязвимостью – иными словами, может ли злоумышленник воспользоваться ею в своих целях? Нет, он может воспользоваться лишь самими «стримами» для сокрытия кода вируса (что действительно реализовано в некоторых вредоносных программах) – но это уже уязвимость ОС, а не коммерческого продукта. Так и где же здесь руткит?

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

Временная линейка руткит-событий

Понятие и история руткитов

Около 20 лет назад руткиты создавались как своеобразное дополнение к другим типам вредоносных программ — «шпионам» и вирусам. Их главной целью было лишь скрыть такое ПО от пользователя и его защиты.

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

  • похищать информацию: пароли, банковские данные;
  • отслеживать поведение в сети;
  • устанавливать, удалять программы и др.

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

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

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

  • бот для совершения DDos-атак;
  • «вор» паролей;
  • сканер карточек;
  • клавиатурный «шпион» и др.

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

Обнаружение и борьба

Напрашивается вопрос о том, как удалить руткиты. Сложности в борьбе присутствуют начиная с обнаружения. Поиск обычным средством не даст результата. В арсенале руткитов есть различные методы маскировки: сокрытие файлов, ключей реестра и пр. Как правило, для поиска вредителей необходимы специальные программы. Некоторые из них предназначены для обнаружения и удаления только одного определенного вида руткитов, другие — многих, в том числе — неизвестных. К первым относится, например, TDSSkiller («Касперский»). Поиск обычно производится с помощью:

  • сигнатурного анализа;
  • поведенческого анализа;
  • узконаправленных методов.

Удалять их также непросто. Нередко процесс включает несколько этапов. В результате, как правило, удаление затрагивает множество файлов. Если системные ресурсы повреждены слишком сильно, иногда приходится переустанавливать операционную систему. Для более простых случаев вполне подойдет, например, стандартная процедура лечения в Kaspersky Internet Security. Для отключения регулярного поиска руткитов в продуктах «Лаборатории Касперского» обычно достаточно открыть настройки и снять соответствующую галочку в пункте меню «Производительность». Хотя делать это не рекомендуется.

Как удалить руткит программой Sophos Anti-Rootkit

Ну и напоследок давайте разберем еще одну утилиту, которая помогает избавиться от руткитов. Она пригодится вам в том случае, если первые два оказались нерабочими или вам пришлись не по душе.

Запускаем программу, в настройках сканирования оставляем все галочки и нажимаем кнопку «Start scan».

Поиск руткитов может продолжаться достаточно долго. В конце вы получите полный отчет по найденным проблемам в виде списка. Замечу, что здесь есть одна особенность. Когда вы выбираете найденный файл в списке после сканирования, в окне ниже появляется его описание. Если в строке «Removable» стоит значение «Yes (but clean up not recommended for this file)», то это файл удалять не рекомендуется, так как он является системным и его удаление может повлиять на работу всей операционной системы.

Все остальные записи, у которых нет указанной выше строки, вы можете смело выделить галочками и удалить с помощью кнопки «Clean up checked items». В моем примере я не стал дожидаться окончания сканирования и на скриншоте ниже показал процесс удаления лишь для примера.

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

Не забудьте поделиться ссылкой на статью ⇒

Как зарегистрироваться в Скайпе (Skype)

В данном уроке я подробно расскажу вам как можно зарегистрироваться в Skype (скайпе)

Перевод на русский с экрана (Screen Translator)

В этом уроке поговорим о программе, которая позволяет сделать перевод с экрана.

Как открыть файл pdf с помощью программы Adobe Reader

В этом уроке мы разберем с вами как установить программу Adobe Reader, с помощью которой вы cможете просматривать файлы pdf.

Как установить программу Skype (Скайп)

В данном уроке мы рассмотрим с вами процесс установки программы Skype (скайп) на ваш компьютер.

Чем открыть DjVu

DjVu (от французкого «déjà vu») является популярным форматов для хранения сканированных документов, в которых присутствует много формул, рисунков, рукописных символов и схем. Очень часто в этом формате распространяются энциклопедии, книги, журналы и рукописи. Вот как раз сегодня и попытаемся разобраться, какими способами их можно открыть.

Как обнаружить руткит?

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

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

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

Скомпрометированное устройство может быть не в состоянии обнаружить несанкционированные модификации самого себя или своих компонентов.

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

Ищем ошибки и глюки

Руткиты встраиваются в системные процессы, перехватывая, а иногда и изменяя их действия.

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

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

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

Установка антивирусного программного обеспечения

Расширенные антивирусные пакеты поставляются с проприетарными инструментами сканирования руткитов (один из моих любимых инструментов для обнаружения руткитов — Bitdefender).

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

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

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

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

Использование альтернативного надежного носителя

Альтернативным доверенным носителем является другое устройство (это может быть другой компьютер или USB-накопитель), которое можно использовать для сканирования зараженного устройства.

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

«Panda Dome» включает загрузочный USB-комплект Rescue Kit, который может сканировать ваш компьютер во время загрузки.

Анализ дампа памяти

Дампы памяти содержат список энергозависимой памяти компьютера (оперативной памяти).

Энергозависимые данные — это данные, которые хранятся во временной памяти компьютера во время его работы.

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

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

Анализ дампа памяти довольно сложен, и его не должны выполнять неквалифицированные пользователи.

Проведение проверки целостности

Большинство файлов имеют цифровую подпись, созданную законным издателем — по сути, это идентификатор или паспорт, который позволяет приложению вносить определенные изменения в вашу систему.

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

Windows 10 имеет встроенные проверки целостности, которые периодически происходят во время загрузки и выполнения, а некоторые специализированные сканеры руткитов, такие как «RootkitRemover» от McAfee, также выполняют проверки целостности.

Итог

К нашей радости, победитель теста – Gmer 1.0 – и второй призер, AVG Anti-Rootkit, обнаружили все 30 руткитов, «спрятавшихся» на тестовых компьютерах, и исправно сообщали о других скрытых опасностях. Gmer, кроме того, распознала всех «замаскированных вредителей», которые скрывались в альтернативных потоках данных (именно это и принесло ей победу в общем зачете). И Gmer, и AVG Anti-Rootkitудаляют большую часть найденных «вредителей», но все-таки не всех… Добиться максимального эффекта позволяет одновременное использование этих двух программ. Все остальные антируткиты получили оценку «плохо».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector