Контрмеры защита от средств модификации ядра
Контрмеры: защита от средств модификации ядра
Как следует из приведенных сведений, "наборы отмычек" для модификации ядра могут оказаться чрезвычайно разрушительными и трудными для выявления. При этом в процессе обнаружения таких средств нельзя доверять ни одной программе и даже самому ядру. В случае взлома ядра окажутся бесполезными и утилиты подсчета контрольных сумм, такие как Tripwire. Одним из возможных способов обнаружения пакета knark заключается в использовании самого пакета. Поскольку с его помощью взломщик может скрыть любой процесс, воспользовавшись командой kill -31 и указав его идентификатор PID, ничто не мешает сделать любой процесс снова видимым. Для этого можно воспользоваться командой kill -32. Вот простой сценарий оболочки, который передает этот сигнал каждому процессу.
# ! /bin/sh rm pid S=l
while [ $S -It 10000 j do
if kill -32 $S; then echo "$S" » pid
fi S=expr $3+1'
Done
В качестве самой лучшей контрмеры мы всегда рекомендуем предупреждение подобных нападений. Использование такой программы, как LIDS (Linux Intrusion Detection System — система выявления вторжений Linux), является наилучшей превентивной мерой в системе Linux. Ее можно получить по адресу www.lids.org. Программа LIDS предоставляет следующие возможности.
- Предотвращение модификации ядра.
- Предотвращение загрузки и выгрузки модулей ядра из оперативной памяти.
- Возможность использования расширенных атрибутов файлов immutable (постоянный) и append-only ("только для добавления").
- Блокирование совместно используемых сегментов памяти.
- Защита от манипулирования идентификаторами процессов (PID).
- Защита важных файлов в каталоге /dev/.
- Обнаружение попыток сканирования портов.
[shadow]# insmod knark.о
Command terminated on signal 1.
Jul 9 13:32:02 shadow kernel: LIDS:
insmod (3 1 inode 58956) pid 700
user (0/0)
on ptsO: CAP_SYSjyiODULE violation:
try to create module knark