В данной версии реализованы следующие методы поиска kernel-mode руткитов:
- поиск перехватов SYSENTER;
- поиск перехватов методом замены адресов в таблице SSDT;
- поиск перехватов методом замены адресов в таблице Shadow SSDT;
- поиск перехватов путем замены адресов в таблице IDT;
- поиск модификаций таблиц экспорта основных модулей ядра ядра (ndis.sys, hal.dll, ntoskrnl.exe);
- поиск перехватов путем модификации машинного кода функций (сплайсинг);
- поиск перехватов путем замены адресов функий-обработчиков IRP пакетов;
- поиск перехватов путем замены адресов функций-обработчиков FastIO запросов;
- поиск скрытых в памяти модулей ядра. Если объект обнаружен как скрытый, ему присваивается статус Hidden in memory;
- поиск скрытых в памяти процессов. Если объект обнаружен как скрытый, ему присваивается статус Hidden in memory;
- поиск модулей ядра, образ которых на диске не соответствует образу в памяти. Такому объекту присваивается статус Modified image;
- Поиск установленных нотификаторов режима ядра.
В качестве вспомогательных методов реализованы:
- проверка автозагрузки;
- проверка драйверов и сервисов, прописанных в реестре;
- проверка антивирусным ядром всех обнаруженных объектов (файлов процессов, элементов автозагрузки, загружаемых драйверов/сервисов и модулей ядра);
- проверка электронно-цифровой подписи у всех обнаруженных объектов (файлов процессов, элементов автозагрузки, загружаемых драйверов/сервисов и модулей ядра);
- вывод дополнительной информации из ресурсов файлов.
Для нейтрализации руткитов в системе разработаны следующие функции:
- восстановление перехватов в таблице SSDT;
- восстановление перехватов в таблице Shadow SSDT;
- восстановление перехватов в таблице IDT;
- восстановление перехватов в таблицах экспорта основных модулей ядра ядра (ndis.sys, hal.dll, ntoskrnl.exe);
- восстановление перехватов путем модификации машинного кода функций;
- восстановление перехватов SYSENTER;
- исключение указанных объектов из списка автозагрузки;
- активация/деактивация указанных драйверов/сервисов из реестра;
- копирование указанных файлов в карантин на ранних этапах загрузки системы;
- удаление указанных файлов на ранних этапах загрузки системы;
- проверка и удаление файлов autorun.inf;
- удаление установленных нотификаторов режима ядра.
Для обеспечения обратной связи с пользователем реализована функция сбора информации о состоянии системы.
Примечание: Поиск user-mode руткитов не осуществляется.
|