Модули ядра
Модули ядра – часть кода, который может быть загружен в память и выгружен из памяти ядром операционной системы. Модуль ядра предоставляет ядру дополнительные функциональные возможности по мере необходимости. Ядро выгружает ненужный в данный момент модуль из памяти, чтобы освободить память для других программ. Модули ядра могут быть загружены для того, чтобы обеспечить поддержку, например, файловой системы другой операционной системой, управления устройством или чего-то еще.
Злонамеренные модули ядра преследуют те же цели, что и программы типа rootkit. Они предназначены для дезинформации администраторов системы, заставляя их поверить в нормальную работу хоста. Тем самым они защищают злоумышленника от обнаружения, позволяя ему выполнить задуманное.
Принципы работы модуля ядра и программы типа rootkit отличаются принципиально. Программы rootkit работают как фильтр, защищающий нужные данные от вездесущих администраторов. А модуль ядра работает на более низком уровне, перехватывая информационные запросы на уровне системных вызовов и не доводя до администратора любые данные, которые могут выдать присутствие несанкционированных гостей. Тем временем защищенный злонамеренным модулем ядра гость может найти скрытую лазейку в системе защиты системы и скомпрометировать систему, не подвергая себя опасности быть обнаруженным вследствие модификации системных утилит.
Модули ядра становятся стандартом скрытия вторжения. После проникновения в систему злоумышленник должен просто загрузить модуль и удостовериться в том, что модуль загружен и в дальнейшем будет подгружаться системой. С этого момента и до перевода дисковода в автономный режим и монтировки другой копии операционной системы нельзя обнаружить ни злонамеренного модуля ядра, ни маскирующего с его помощью злоумышленника.
Доступ к специальным файлам / базам данных
Ниже излагаются два метода проникновения в систему, которые основаны на получении доступа к специальным файлам и базам данных. Специальные файлы хотя и различаются форматом и функциями, но присутствуют во всех системах на всех платформах от систем NT до Sun Enterprise 15000 на Unisys Mainframe.
Проблема нападений на специальные файлы становится очевидной, если пользователь использует сервис RunAs операционной системы Windows 2000. Когда пользователь выполняет обращающуюся к RunAs программу, Windows 2000 создает поименованный канал (канал – механизм связи между процессами, который позволяет одному процессу передавать данные другому процессу), запоминая мандат аутентификации в незашифрованном виде. Если сервис RunAs остановлен, то злоумышленник может создать именованный канал под тем же самым именем. Когда сервис RunAs стартует еще раз, соответствующий процессу мандат будет передан злоумышленнику, что позволит злоумышленнику зарегистрироваться в системе