No Image

Что такое рутики в компьютере

СОДЕРЖАНИЕ
1 просмотров
22 января 2020

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

Знай противника в лицо

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

Первое подобное ПО появилось более 20 лет назад на базе семейства операционных систем UNIX. Оттуда и пошло название: «root» в дословном переводе с английского означает «корень», но в этом контексте подразумевает суперпользователя с неограниченным доступом, а «kit» — это комплект. Получается, что rootkit — набор для получения прав суперпользователя.

Его основные функции:

  • Маскировка файлов, программ и вредительских действий в системе;
  • Управление процессами, происходящими на компе, в основном, втайне от его хозяина;
  • Сбор информации.

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

Чем грозит руткит?

Такие утилиты пока имеют не слишком широкое распространение. В основном, они поражают ОС на ПК, но также понемногу внедряются и в мобильные версии Android. Однако не стоит их недооценивать.

Сегодня любой, даже начинающий хакер, может за несколько сотен евро купить специальный конструктор, сделать руткит, отвечающий нужным ему задачам, и проникать в любые компьютеры. Наиболее популярным набором инструментов для создания вируса такого рода является Pinch Builder Trojan.

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

Какую опасность несут руткиты?

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

Как rootkit проникает в систему?

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

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

Принцип действия

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

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

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

Как выявить и обезвредить врага?

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

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

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

Правда, не всегда простым антивирусам удается обнаружить и устранить руткит. Если вам придется столкнуться с такой проблемой, воспользуйтесь специальными программами. Хорошо справляются с обезвреживанием данных вирусов Gmer, AVG Anti-Rootkit и Rootkit Unhooker. Они обладают простым интерфейсом, поэтому вы разберетесь без инструкций.

Сам лично пользуюсь антивирусом Ксперского и ни разу не замечал наличие этих вредных штук после установки. Если кому интересно, вот сайт где можно скачать этот антивирус.

На этом, что касается того, что такое руткиты в компьютере у меня всё.

Руткит (англ. rootkit , то есть «набор root-а») — набор программных средств (например, исполняемых файлов, скриптов, конфигурационных файлов), обеспечивающих:

  • маскировку объектов (процессов, файлов, каталогов, драйверов);
  • управление (событиями, происходящими в системе);
  • сбор данных (параметров системы).

Термин Rootkit исторически пришёл из мира UNIX, и под этим термином понимается набор утилит или специальный модуль ядра, которые злоумышленник устанавливает на взломанной им компьютерной системе сразу после получения прав суперпользователя. Этот набор, как правило, включает в себя разнообразные утилиты для «заметания следов» вторжения в систему, делает незаметными снифферы, сканеры, кейлоггеры, троянские программы, замещающие основные утилиты UNIX (в случае не ядерного руткита). Rootkit позволяет взломщику закрепиться во взломанной системе и скрыть следы своей деятельности путём скрытия файлов, процессов, а также самого присутствия руткита в системе.

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

Читайте также:  Телефоны с длительной зарядкой

Содержание

Классификация руткитов [ править | править код ]

  • По уровню привилегий
  • Уровень пользователя (user-mode)
  • Уровень ядра (kernel-mode)
  • По принципу действия
    • изменяющие алгоритмы выполнения системных функций (Modify execution path)
    • изменяющие системные структуры данных (Direct kernel object manipulation) [1]
    • Основные методы реализации [ править | править код ]

      В Microsoft Windows [ править | править код ]

      Существуют разнообразные технологии руткитов, наиболее распространенные: захват таблиц вызовов (IAT, IDT, SSDT, GDT), перехват функций (например, модификацией начальных байт), непосредственное изменение системных объектов (DKOM), методы использования драйверов.

      Захват таблиц вызовов [ править | править код ]

      Таблица вызовов представляет собой массив, в котором каждый элемент хранит адрес соответствующей процедуры. Такие таблицы существуют и в режиме ядра (IDT, CPU MSRs, GDT, SSDT, IRP dispatch table), и в режиме пользователя (IAT).

      Import Address Table (IAT) — основная таблица вызовов модулей пользовательского режима. Большинство исполняемых файлов имеет одну или несколько встроенных IAT, содержащих адреса библиотечных процедур, импортируемых из DLL. [2]

      На многопроцессорной машине существуют несколько экземпляров таблиц вызовов (например, >[3]

      При изменении записи в таблице вызовов контролируется исполнение программ и, при необходимости, перенаправляется на требуемые функции. Перехваченная процедура может [4] :

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

      Общая идея захвата состоит в следующем:

      • Идентифицировать таблицу вызовов, получить её адрес
      • Сохранить существующую в таблице запись
      • Подменить запись новым адресом
      • Восстановить исходную запись

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

      IAT — таблица вызовов, размещаемая в файловой структуре приложения. IAT сохраняет адрес процедур, экспортируемых определенной DLL. Каждая DLL, с которой сцепляется приложение во время загрузки, имеет собственную IAT. Для захвата IAT необходимо выполнить следующие действия:

      • Получить доступ к адресному пространству процессора
      • Локализировать IAT в образе памяти процессора
      • Модифицировать требуемую IAT

      Для манипуляции IAT, требуется доступ к адресному пространству приложения, которому таблица принадлежит. Одним из способов является внедрение DLL. Среди методов внедрения DLL в адресное пространство процесса можно указать [5]

      • Модификация значения реестра AppInit_DLL
      • API-вызов SetWindowsHookEx()
      • Использование удаленных потоков

      Перехват модификацией кода функции [ править | править код ]

      Принцип работы основан на том, что первые байты перехватываемых функций замещаются на код перехватчика. Необходимо подчеркнуть, что при установке перехватчика не производится анализ кода перехватываемой функции: изменяется N первых байт, а не первые N машинных команд. Следствием этого факта является [6] :

      1. код перехватчика может быть установлен только в начале функции;
      2. для каждого вызова перехваченной функции перехватчику необходимо восстановить её машинный код до вызова и повторно перехватить после завершения вызова.

      Алгоритм работы руткита:

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

      Алгоритм работы перехватчика:

      1. Последовательность действий, определенных злоумышленником.
      2. Восстановление первых N байт перехваченной функции.
      3. Вызов перехваченной функции.
      4. Повторная модификация машинного кода перехваченной функции: перезапись кода, передающего управление перехватчику, в первые байты.
      5. Анализ и, при необходимости, модификация результатов выполнения исходной функции.
      6. Выполнение операции ret, возвращение управления вызвавшей функцию программе.

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

      Следует отметить, что простейшие системы защиты от атак такого типа проверяют первый байт вызываемых функций на предмет наличия в них машинного кода операции jmp. В качестве меры противодействия разработчики руткитов применяют методики «маскировки» кода, записываемого в начало функции перехватчика(применения команд вида PUSH/RET, размещения нескольких операторов NOP или мусорного кода типа PUSH AX/POP АХ, а также элементы полиморфизма).

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

      DKOM (Direct Kernel Object Manipulation, прямая манипуляция объектами ядра) [ править | править код ]

      Операционные системы семейства Windows NT используют стандартные модели объектов. Различные компоненты исполняющей системы определяют один или несколько типов объектов. Каждый компонент экспортирует в режиме ядра набор поддерживаемых функции и свойств, называемый COM-интерфейсом, для манипуляции этим типом объектов. Ни один компонент не может напрямую получить доступ к другому объекту компонента. Типичными объектами режима ядра являются [7] :

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

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

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

      Читайте также:  Сони иксперия z3 mini

      EPROCESS — это структура, служащая для внутреннего представления процесса (объект процесса). Windows использует круговой двусвязный список структур EPROCESS для отслеживания процесса исполнения. Ссылки, связывающие объекты EPROCESS, содержатся в поле ActiveProcessLink, структура которого LIST_ENTRY [4] :

      Простейший алгоритм скрытия процесса:

      1. Получение указателя на процесс, к которому принадлежит текущий поток, с помощью вызова PsGetCurrentProcess()
      2. Получение PID процесса
      3. При несовпадении PID с искомым осуществляется переход по двусвязному списку (поле ActiveProcessLinks, тип LIST_ENTRY)
      4. Изменение полей ActiveProcessLinks. В частности, ссылка на следующий блок EPROCESS блока А устанавливается на блок С, аналогично ссылка на предыдущий блок в блоке С. Ссылки блока B замыкаются на своей записи. Таким образом, создаются два списка, один из которых состоит из одного элемента

      Исключение процесса из списка процессов не влияет на его исполнение. В Windows планирование кода на исполнение производится на уровне потоков, процессы определяют контекст, в котором запускаются потоки. Скрытие процесса производится на внешнем уровне в инструментах, опирающихся на объекты процессов EPROCESS, таких как Диспетчер задач. Диспетчер ядра использует другую схему учета ресурсов, полагающуюся на другие структуры данных (главным образом объекта ETHREAD). Данный метод позволяет скрывать процессы без потери функциональности. [4]

      Драйверы [ править | править код ]

      Модель драйверов Microsoft поддерживает многоуровневую архитектуру, поэтому запрос ввода/вывода (I/O request, обмен данными между приложениями и драйверами) может обслуживаться серией подключенных драйверов, каждый из которых выполняет свою задачу. Цепь драйверов, обслуживающих физическое устройство, называется стеком. Такой модульный подход позволяет новым драйверам быть включенными в стек для увеличения функциональности. При этом изменяется или добавляется только отдельный участок цепи. Также некоторые периферийные устройства используют одинаковые контроллеры (и, соответственно, шины ввода/вывода). Модульность позволяет оптимизировать использование одинаковых блоков кода, вместо написания отдельного драйвера для каждого устройства.

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

      IRP пакет (I/O request packet) — структура данных ядра Windows, обеспечивающая обмен данными между приложениями и драйвером, а также между драйвером и драйвером. При поступлении запроса от приложения менеджер ввода/вывода формирует соответствующий IRP, который локализует и пересылается верхнему объекту в стеке драйверов. Если верхний драйвер смог самостоятельно обработать поступивший IRP, он завершает запрос и возвращает IRP менеджеру ввода/вывода. В противном случае, драйвер выполняет частичную обработку, локализует нижележащий объект в стеке и запрашивает менеджер ввода/вывода на передачу IRP следующему драйверу

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

      Размер памяти соответствует количеству драйверов в стеке. Массив нумеруется с 1, соответствующую нижнему драйверу стека. Структура содержит информацию о вызываемой менеджером ввода/вывода функции управления драйвера (поля MajorFunction и MinorFunction), передаваемые функции параметры (поле Parameters, содержимое варьируется в зависимости от функции), указатель на объект драйвера (DeviceObject), указатель на функцию завершения (поле CompletionRoutine, данная функция находится в драйвере верхнего уровня).

      Функция управления драйвера при первом получении IRP восстанавливает из соответствующей позиции стека ввода/вывода параметры, производя вызов IoGetCurrentIrpStackLocation(). Далее выполняются предписанные действия, после чего, в случае пересылки IRP нижнему драйверу стека, происходит:

      • установка позиции стека ввода/вывода в IRP
      • регистрация функции завершения (опционально)
      • отправка IRP нижнему драйверу
      • возврат кода статуса (NTSTATUS)

      Существуют два стандартных способа установить позицию стека для следующего драйвера [8] :

      • Текущая позиция пересылается без изменений, функция:

      Функция уменьшает на единицу указатель на массив IO_STACK_LOCATION. Таким образом, при пересылке IRP произойдет восстановление указателя (автоматически увеличится на единицу), в итоге, будет использован тот же участок стека. При использовании данного способа, возникнет неиспользуемый участок в конце стека.

      • Если необходимо передать содержимое текущей позиции стека, за исключением указателя на функцию завершения (поле CompletionRoutine), используется:

      Пересылка IRP следующему драйверу производится с помощью функции:

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

      Каждый запрос должен быть завершен либо последним драйвером в стеке (дальнейшая пересылка IRP невозможна), либо одним из вышестоящих.

      Менеджер ввода/вывода инициализирует процесс завершения для данного IRP, когда любой из драйверов, обрабатывающих IRP, вызывает функцию завершения IoCompleteRoutine(). При её вызове менеджер ввода/вывода заполняет участок стека ввода/вывода текущего драйвера нулями, после чего вызывает драйвер более высокого уровня с установленной функцией завершения к данному IRP. Для определения способа обработки запроса драйвером нижнего уровня функции завершения драйвера более высокого уровня доступен только блок статуса ввода вывода в IRP.

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

      Еще одним методом реализации руткитов является модификация MBR и загрузка до ядра операционной системы — буткиты (например, BackDoor.MaosBoot).

      Данный вид вредоносных кодов в среде Windows известен с начала 1990-х годов под названием стелс-вирусов.

      Читайте также:  Управление реле через компьютер

      В UNIX и Linux [ править | править код ]

      • реализуемые подменой основных системных утилит (очень легко обнаруживаются средствами контроля целостности, кроме того, легко блокируются средствами мандатного управления доступом типа SELinux или AppArmor);
      • реализованные в виде модуля ядра и основанные на патчинге VFS или перехвате таблицы системных вызовов (sys_call_table);
      • основанные на модификации физической памяти ядра.

      Дополнительные возможности [ править | править код ]

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

      Руткиты для и против DRM [ править | править код ]

      Руткитами по сути является большинство программных средств защиты от копирования (и средств обхода этих защит — например, эмуляторы CD- и DVD-приводов) [ источник не указан 812 дней ] .

      В 2005 году корпорация Sony BMG встраивала в свои аудиодиски защиту на основе руткита, который устанавливался без ведома пользователя.

      Антируткиты [ править | править код ]

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

      Методы детектирования руткитов

      Известен алгоритм отлова MEP-руткитов. Его суть заключается в том, что одна и та же информация регистрируется несколькими способами – с использованием API и «напрямую», после чего полученные данные сравниваются в поисках расхождeний. Наиболее часто сканируются таблицы импорта и таблицы вызовов Native API, а также структурно вся файловaя система.

      Базовый арсенал средств отлова руткитов основывается на следующих мeтодах.

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

      Зачему Касперский ищет руткиты?

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

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

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

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

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

      Действия руткитов можно разделить на следующие пункты:

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

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

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

      Стоит ли выключать и если да, то как?

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

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

      Итак, если вы решились все-таки удалить функцию поиска руткитов, то следуйте следующей инструкции:

      1. Заходим в клиент Касперского и выбираем главный экран.
      2. Далее необходимо попасть в Настройки – нажимаем на знакомую всем шестеренку внизу экрана.
      3. Выбираем пункт «Производительность» в правом разделе.
      4. Ищем нужный раздел «Поиск программ, предназначенных для скрытия следов вредоносной программы в системе».
      5. Снимаем галочку с него и перезагружаем систему.

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

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

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

      Комментировать
      1 просмотров
      Комментариев нет, будьте первым кто его оставит

      Это интересно
      Adblock detector