Модуль ядра

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Модуль ядра, загружаемый модуль ядра (англ. loadable kernel module, LKM) — объект, содержащий код, который расширяет функциональность запущенного или т. н. базового ядра ОС. Большинство текущих систем, основанных на Unix и Windows, поддерживают загружаемые модули ядра, хотя они могут называться по-разному (например, kernel loadable module в FreeBSD и kernel extension в Mac OS X).

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

Загружаемые модули ядра Linux загружаются с помощью команды modprobe. Обычно они находятся в каталоге /lib/modules и имеют расширение «.ko» («kernel object») для ядер с версии 2.6, и «.o» для ядер младших версий.

Mac OS X[править | править код]

Некоторые загружаемые модули ядра в Mac OS X могут быть загружены автоматически; они могут быть также загружены с помощью команды kextload. Модули, поставляемые с операционной системой, находятся в /System/Library/Extensions.

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

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

Безопасность[править | править код]

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

См. также[править | править код]

Ссылки[править | править код]