Призраки ядра или модули-невидимки




Введение


Лучший способ замаскировать модуль (в терминологии NT – драйвер) — не иметь модуля (драйвера) вообще! И это не шутка! Модули представляют собой унифицированный механизм, обеспечивающий легальную загрузку/выгрузку компонентов ядра, однако, существуют и другие механизмы проникновения на уровень ядра, некоторые из которых описаны в моей статье: "захватываем ring 0 в Linux", однако, все они не универсальны и ненадежны. С другой стороны, _любая_ попытка явного стелстирования (см. статью "прятки в LINUX") — это 100% палево, выдающее факт вторжения с головой. Антивирусу достаточно вручную пройтись по всем структурам ядра, а затем сравнить полученный результат с данными, возвращенными, легальными средствами (например, командой "lsmod").

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




Содержание  Назад  Вперед