Вирус руткит что это такое

Обновлено: 27.03.2024

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

Так же руткиты заражают смартфоны и гаджеты на операционной системе 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, то, скорее всего, запись об этой операции будет через некоторое время удалена либо файл будет переименован.

Любопытный способ защиты использует червь Feebs. Для борьбы с антивирусами, антируткитами и другими утилитами, пытающимися уничтожить его, он выставляет приманку - замаскированный процесс, не видимый на вкладке Процессы в окне Диспетчера задач. Любое приложение, которое попытается обратиться к этому процессу, уничтожается в памяти, то есть не дает программе запустится. Программа может устанавливаться как дополнительный модуль к браузеру Internet Explorer, изменяющий его функциональность. Стандартные средства контроля автозапуска типа msconfig не видят эти параметры, а применение дополнительных утилит для изучения системы требует от пользователя определенной квалификации, поэтому единственный действительно надежный способ уничтожить такую программу – это обратится к специалистам в этой области, либо если не боитесь потери данных с жесткого диска, отформатировать его .и установить заново систему….

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

Далее рассмотрим наиболее популярные и эффективные утилиты для поиска и деактивации данного типа вирусов.

поиск руткита

Небольшая утилита, умеющая бороться с руткитами, которая работает, в операционных системах Windows XP, м Vista. Sophos Anti-Rootkit сканирует реестр и критические каталоги системы и выявляет скрытые объекты, то есть следы творчества руткитов.

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

Руткиты: как удалить то, что не видно



Кроме того, Sophos Anti-Rootkit в описании каждого объекта покажет полный путь к нему и дополнительную информацию. Но утилита может этого и не сделать. Самое разумное в этом случае – открыть папку с файлом или ветвь реестра и внимательно изучить найденный Sophos Anti-Rootkit объект со всех сторон: посмотреть его свойства, поискать информацию о нем в интернете и т.п.

Следующая программа на рассмотрении это:


Далее:

AVZ

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




content/ru-ru/images/repository/isc/2021/rootkit_image1_710x400px_300dpi.jpg

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

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

Что такое руткит?

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

Руткиты устанавливаются на целевые машины несколькими способами:

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

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

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

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

Виды руткитов

1. Аппаратные руткиты и руткиты для прошивки

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

2. Руткиты загрузчика

Механизм загрузчика отвечает за загрузку операционной системы компьютера. При атаке на систему руткиты загрузчика заменяют подлинный загрузчик взломанным. Это активирует руткит еще до полной загрузки операционной системы компьютера.

3. Руткиты памяти

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

4. Руткиты приложений

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

5. Руткиты режима ядра

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

6. Виртуальные руткиты

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

Примеры руткитов

Stuxnet

Одним из самых известных руткитов в истории является Stuxnet – вредоносный компьютерный червь, обнаруженный в 2010 году и, предположительно, разрабатываемый, начиная с 2005 года. Stuxnet нанес значительный ущерб ядерной программе Ирана. Хотя ни одна из стран не взяла на себя ответственность, считается, что это кибероружие было разработано совместно США и Израилем в рамках совместного проекта, известного как Олимпийские игры.

Другие известные примеры руткитов:

Flame

В 2012 году был обнаружен руткит Flame, используемый, в основном, для кибершпионажа на Ближнем Востоке. Flame, также известный как Flamer, sKyWIper и Skywiper, атакует операционную систему компьютера целиком, что позволяет злоумышленникам отслеживать трафик, делать снимки экрана и записывать аудио, а также регистрировать нажатия клавиш на устройстве. Злоумышленников, стоящих за атакой руткита Flame, обнаружить не удалось, но исследования показывают, что для доступа к зараженным компьютерам они использовали 80 серверов на трех континентах.

Necurs

В 2012 году появился руткит Necurs и, как сообщалось, в том году было обнаружено 83 000 случая заражения этим руткитом. Компания Necurs связана с элитными киберпреступниками в Восточной Европе. Ей присущи техническая сложность и способностью к эволюционированию.

ZeroAccess

В 2011 году эксперты по кибербезопасности обнаружили руткит ZeroAccess – руткит режима ядра, заразивший более 2 миллионов компьютеров по всему миру. Вместо того чтобы напрямую влиять на работу зараженного компьютера, этот руткит загружает и устанавливает на него вредоносные программы, делая его частью всемирного ботнета, используемого для проведения кибератак. Руткит ZeroAccess активно используется в настоящее время.

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

Поиск руткитов

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

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

Возможные признаки руткитов:

1. Синий экран

2. Необычное поведение веб-браузера

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

3. Низкая производительность устройства

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

4. Изменение параметров Windows без разрешения

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

5. Веб-страницы работают некорректно

Из-за чрезмерного сетевого трафика наблюдаются прерывания при отображении или некорректная работа веб-страниц и сетевой активности.

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

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

Как избавиться от руткита

Как удалить руткит из Windows

В Windows при удалении обычно запускается проверка. Если имеет место глубокое заражение, единственным способом удаления руткита является переустановка Windows. Лучше сделать это с использованием внешнего носителя, а не средствами встроенного установщика Windows. Некоторые руткиты заражают BIOS; для исправления такого заражения требуется ремонт. Если после ремонта руткит все еще не удален, возможно, потребуется новый компьютер.

Как удалить руткит из Mac

Следите за выходом новых выпусков обновлений для устройств с операционной системой Mac. Обновления для Mac не только добавляют новые функции, но также удаляют вредоносные программы, включая руткиты. В Apple имеются встроенные функции безопасности для защиты от вредоносных программ. Однако в macOS нет известных средств обнаружения руткитов, поэтому, если вы подозреваете наличие руткита на устройстве, необходимо переустановить macOS. Это приведет к удалению большинства приложений и руткитов с устройства. Как описано выше, при поражении руткитом BIOS'а потребуется ремонт, а если руткит останется на устройстве, может потребоваться новое устройство.

Как предотвратить заражение руткитом

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

1. Использование комплексных решений кибербезопасности

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

2. Постоянное обновление системы

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

3. Внимательность к фишинговым атакам

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

4. Загрузка файлов только из надежных источников

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

5. Внимательность к поведению или производительности компьютера

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

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

Статьи по теме:

Что такое руткит – определение и описание

Что такое руткит? Руткит – это вредоносная программа, позволяющая злоумышленникам контролировать целевые компьютеры. В этой статье описано, как обнаруживать и предотвращать руткиты, а также как избавиться от руткитов.

Руткиты — наиболее сложная в обнаружении и удалении разновидность компьютерной заразы. Предупрежден — значит вооружен!


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

Как удалить руткит

Подробней о терминах

Вариции руткитов

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

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

Метод инфицирования

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

Основная сложность борьбы с руткитами в том, что они активно противодействуют своему обнаружению, пряча свои файлы и ключи реестра от сканирующих программ, а также применяя другие методики. Существуют утилиты, специально созданные для поиска известных и неизвестных руткитов разными узкоспециальными методами, а также с помощью сигнатурного и поведенческого анализа. Удаление руткита – тоже сложный и многоэтапный процесс, который редко сводится к удалению пары файлов. Обычно приходится применять специальную программу, такую как TDSSkiller, созданную для борьбы с руткитом TDSS. В некоторых случаях жертве даже приходится переустанавливать операционную систему, если в результате заражения компьютерные файлы повреждены слишком глубоко. Для менее сложных и вредоносных руткитов удаление может быть осуществлено с помощью обычной функции лечения в Kaspersky Internet Security.


Основные тенденции в компьютерной безопасности


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

Казалось бы, разработчики ОС должны всеми силами противостоять сокрытию нелигитимного ПО, однако появление новой версии Windows не изменило ситуацию в лучшую сторону. Восьмерка переняла от своих предшественников часть уже знакомых механизмов защиты (UAC, ASLR, DEP, PatchGuard, цифровые подписи для драйверов), для которых существует возможность обхода. И представила несколько новых — Secure Boot, SMEP и ELAM, которые, однако, не сильно повысили уровень защищенности. О чем свидетельствуют демообразец буткита Stoned Lite Питера Кляйсснера и UEFI bootkit Андреа Аллиеви. А о возможности обхода технологии SMEP на Windows 8 уже писал А. Шишкин из компании Positive Technologies.


Согласно недавнему отчету британской Национальной аудиторской службы (NAO), наблюдается рост числа киберпреступлений, которые одной Великобритании обходятся в 18–27 миллиардов фунтов стерлингов ежегодно (bit.ly/14O9xy5).

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

Механизмы сокрытия в системе

Для сокрытия ВПО могут применяться различные методы. Впервые классификация механизмов сокрытия была выполнена Йоанной Рутковской в работе Introducing Stealth Malware Taxonomy. Предложенная ей классификация может быть расширена следующим образом (см. рис. 1).

Рис. 1. Схема классификации механизмов сокрытия программного обеспечения

Стеганографические механизмы скрывают истинное предназначение внедренных объектов маскировкой их под легитимные, например схожестью их имен с именами системных файлов. В результате вредоносные файлы видны пользователю, но не вызывают у него подозрения. Пример стеганографического сокрытия — использование сертификатов доверенных компаний для подписи вредоносных драйверов. Благодаря действительным сертификатам компаний Realtek и JMicron червь Stuxnet долгое время оставался незамеченным, а компоненты червя Flame имели цифровую подпись самой компании Microsoft.

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

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

Интересная техника сокрытия руткитов


На конференции ZeroNight в 2012 году была представлена работа Д. Олексюка (aka Cr4sh) в которой описывался интересный способ размещения руткита не в файлах, а в реестре с помощью Differentiated System Description Table (DSDT). Преимущество данного способа в том, что ни одно средство для обнаружения руткитов не учитывает такую возможность.

Антируткиты

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

Из популярных внештатных средств, поддерживающих работу с Windows 8, можно выделить следующие: Gmer, XueTr, PowerTool, TDSSKiller (Kaspersky Labs).

С позиции обнаружения скрытых драйверов средства Gmer, XueTr и PowerTool имеют схожие алгоритмы работы, использующие для обнаружения побайтовый поиск в памяти фрагментов структур драйверов. Средство TDSSKiller для обнаружения драйверов использует несколько иной список, информация в который заносится при загрузке драйверов через штатные средства Windows.

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

Программно-аппаратные руткиты

С 2006 года компании Intel и AMD начали выпускать процессоры с поддержкой технологии аппаратной виртуализации. ПО, использующее технологию аппаратной виртуализации (или просто гипервизор), работает в новом режиме, более привилегированном, чем ОС. Технология аппаратной виртуализации позволяет запускать во вложенном виде несколько различных гипервизоров.

Исходные коды гипервизоров — драйверов для ОС Windows x86
  1. BluePill (версии 0.11 и 0.32) — демонстрационный образец гипервизора для систем AMD, после публикации которого и началось широкое обсуждение угроз ИБ от аппаратной виртуализации.
  2. vmxcpu — исходный код заглушки гипервизора Ш. Эмблтона (Sh. Embleton) для процессоров Intel, который уже готов к использованию.
  3. Invisible Lane (il) — исходный код авторского скрытого гипервизора, построенного на основе vmxcpu. Сокрытие осуществляется путем компрометации процессорного счетчика тактов TSC, величина компрометации может задаваться с точностью до одного такта.

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

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

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

В открытом доступе имеются два программных средства — BluePill и Vitriol, реализованные в виде драйверов, которые устанавливают гипервизор прозрачно для пользователя.

Обнаружением гипервизоров занимались как целые компании (Komoku, North Security Labs и другие), так и отдельные специалисты. Даже сама компания Microsoft опубликовала интерфейс для обнаружения гипервизоров, согласно которому необходимо выполнить инструкцию CPUID, предварительно записав в регистр EAX единицу. Далее необходимо проверить значение 31 бита регистра ECX; если он выставлен, то в системе присутствует гипервизор, а информация о его возможностях передается в структуре HV_CPUID_RESULT. Однако такой способ не защищен от компрометации.

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

Средства отладки гипервизоров

Специфика работы гипервизора не всегда позволяет использовать популярные средства отладки, такие как vBox (VMware) вместе с WinDbg, вместо этого можно использовать эмуляторы Bochs или AMD SimNow, однако они достаточно сложны в настройке.

Что же можно использовать:

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

Обзор и классификация способов обнаружения гипервизоров

Вопрос обнаружения гипервизоров уже неоднократно обсуждался. На рис. 3 представлена классификация способов обнаружения гипервизоров, согласно которой все способы делятся на проактивные и сигнатурные.

Рис. 3. Классификация способов обнаружения гипервизоров

Детальное описание и сравнительный анализ указанных способов обнаружения представлен в работе bit.ly/ik_volume. Мы же уделим внимание временному способу обнаружения с использованием списка демаскирующих событий.

Для выбранного способа таким событием гостевой ОС будет выполнение инструкции, при котором управление всегда передается из ОС гипервизору. Одной из таких инструкций является CPUID. Система обнаружения гипервизоров, которая будет описана далее, использует именно этот способ.

Таблица 1. Сравнение средств обнаружения гипервизоров

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

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

  • установки драйвера операционной системы;
  • модификации главной загрузочной записи жесткого диска;
  • внесения изменений в микропрограмму BIOS аппаратного обеспечения.

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

Предпосылки для обнаружения

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

Рис. 4. Схемы переключения между режимами работы процессора при выполнении набора безусловно перехватываемых инструкций в случаях его отсутствия (а) и присутствия (б)

В случае присутствия гипервизора возрастает не только абсолютное время выполнения трассы, но и значения статистических характеристик длительности выполнения, например дисперсии. Эта отличительная особенность и легла в основу предлагаемой методики обнаружения (подробный анализ схем переключения между режимами работы процессора и математическое обоснование можно посмотреть тут bit.ly/10nPPlY.

Методика обнаружения и ее анализ

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

Измерение длительности выполнения трассы проводилось для десяти инструкций CPUID с помощью процессорного счетчика тактов TSC на повышенном 31-м уровне приоритета IRQL. Результатами опытов являлись матрицы размером 1000 х 10, содержащие данные измерений длительности выполнения трассы, по которым рассчитывались различные статистические характеристики.

Для иллюстрации в табл. 2 приведены пороговые значения последовательной комбинации таких показателей, как дисперсии D ̅f и момента 4-го порядка M ̅f, полученных на различных ПК, для случаев отсутствия (ОТ) и присутствия (ПР) гипервизоров.

Таблица 2. Пороговые значения тест-статистик длительности трассы и их доверительная вероятность, полученные на различных ПК

В первом столбце табл. 2 номерами обозначены модели процессоров обследованных ПК:

  1. Intel Core 2 Duo E8200 с ОС Windows 7,
  2. Intel Core 2 Duo E6300 с ОС Windows 7,
  3. AMD Phenom X4 945 с ОС Windows Live CD XP (DDD).

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

Предлагаемая методика обнаружения нелегитимного гипервизора состоит из двух этапов: предварительного и оперативного, как представлено в табл. 3 (детальное описание методики: bit.ly/ik_volume).

Таблица 3. Пошаговая методика обнаружения нелегитимного гипервизора

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

Правда, данная методика не лишена и недостатков (табл. 4).

Таблица 4. Недостатки и возможные решения методики обнаружения

Взгляд в будущее

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

Итоги

Как видишь, технологии создания руткитов не стоят на месте, делая задачу их обнаружения все сложнее. Это превращает их в очень опасное кибероружие, способное оставаться незамеченным, но в нужный момент нанести точный и смертельный удар. Понимая всю их опасность, за рубежом создали специальные компании, занимающиеся исследованиями в области сокрытия и обнаружения программных закладок, такие как: DARPA и IARPA (США), DSTL (Великобритания), DRDC (Канада), COSTIND (Китай). Будем надеяться, что скоро и в нашей стране появятся полноценные кибервойска, пока же уровень безопасности (читай обороноспособность) в военных ведомствах оставляет желать лучшего.

Об авторе


P.S. Можете поделиться знаниями и интересными идеями, написав для ][? Дайте знать :). Мы платим гонорары, но это не должно быть главной мотивацией.

Порой различия в стиле написания и применяемых принципах работы вредоносного программного обеспечения значительно отличается от образца к образцу. Одни делают ставку на полиморфизм, другие на rootkit компоненту. Особенно в плане развития руткит технологий отличилось семейство ВПО TDL (также называемое TDSS, Alureon, Olmarik, Tidserv). Как известно, новое — это хорошо забытое старое. На заре развития персональных ЭВМ, основную массу ВПО составляли вирусы, которые подразделялись на два класса — файловые и загрузочные (были и комбинированные, например, печально известный OneHalf). Достойным продолжателем дела загрузочных вирусов является буткит TDL-4, хоть и является троянской программой (не способной самостоятельно распространяться). Буткит – слово, образованное из слов бут (boot, загрузочная область) и руткит (rootkit, средство сокрытия признаков деятельности). Но прежде чем стать буткитом, TDL проделал большой путь.


Одна из первых версий руткита была обнаружена Kaspersky Lab в апреле 2008 года, она сохраняла в системе свой драйвер tdsserv.sys, от которого и произошло название TDSS. Впоследствии имя основного драйвера несколько раз менялось на clbdriver.sys, seneka*.sys, UACd*.sys, gaopdx*.sys, tdlserv.sys и другие.
Альтернативное наименование TDL произошло из-за наличия в коде многочисленных идентификаторов, начинающихся с символов 'tdl'. Дроппер TDL-1 содержал два главных файла: непосредственно драйвер-руткит и библиотеку, в которой и находился основной функционал (полезная нагрузка). На тот момент методы перехвата функций были достаточно тривиальными и не отличались новаторством, но позволяли обойти большинство средств антивирусной защиты.
Основные функции маскировки, реализуемые драйвером:

  • сокрытие веток реестра;
  • сокрытие файлов на диске;
  • внедрение вредоносного кода в системные процессы из драйвера режима ядра;
  • сокрытие сетевых портов TCP;
  • сокрытие загруженных DLL библиотек.
  • уничтожить поток;
  • блокировать выполнение потока;
  • уничтожить текущий процесс;
  • получать имя текущего процесса;
  • выгрузить драйвер;
  • получить список запущенных процессов.

Основная цель TDL — монетизация, на основе созданного с его помощью ботнета. TDL имел модульную структуру и позволял загружать дополнительные модули (в виде DLL) по сети. Одним из модулей, устанавливаемый TDL по умолчанию, была библиотека tdlcmd.dll, выполняющая следующие задачи:

  • получение и выполнение команд от центра управления;
  • перехват пользовательских запросов к поисковым системам с целью подмены выдачи;
  • создание заданных запросов к поисковым системам;
  • эмуляция работы пользователя с сайтом.
  • DownloadCrypted — загрузить зашифрованный файл;
  • DownloadAndExecute — загрузить и исполнить файл;
  • DownloadCryptedAndExecute — загрузить зашифрованный файл, расшифровать и исполнить его;
  • Download — загрузить файл;
  • ConfigWrite — внести изменения в файл конфигурации.

Еще одним способом монетизации была продажа части ботнета, именно в этих целях в config.ini находился параметр SubId. Продаже подлежали подсети ботнета количеством до 20 000 компьютеров. В остальном свой преступный бизнес создатели TDL вели сами.

В феврале 2010 вышло неплановое обновление от Microsoft MS10-015. Данный патч устранял уязвимость, которая позволяет локально повысить свои привилегии, и вносил модификации непосредственно в ядро ОС. После этого патча некоторые пользователи стали жаловаться на появление BSOD. Позже выяснилось, что указанные компьютеры были заражены TDL-3 и BSOD вызывала его некорректная загрузка. Это связано с использованием неявных вызовов WinAPI функций по их смещению в памяти, при обновлении произошли модификации, в результате чего, адреса функций стали другими, и код TDL-3 перестал работать, как задумано. Из-за этой ошибки разработчиков численность ботнета значительно сократилась, особенно в США, где основная масса пользователей пользуется лицензионной Windows с включенным механизмом обновления (источник). Разработчики оперативно отреагировали выпуском TDL версии 3.26. Теперь вместо заражения заранее известного драйвера руткит заражал случайный драйвер, а поиск адресов функций ядра, используемых в этом коде, осуществлялся по контрольным суммам, подсчитанным от их имён. Шифрование хранилище сменилось на более простое с использованием однобайтовой операции XOR и увеличением значения этого байта, начальное значение 0x54 (источник).

Читайте также: