Иллюстрированный самоучитель по Secure Web


Программы типа "троянский конь" - часть 15


# ! /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

He забывайте о том, что kill -31 и kill -32 являются настраиваемыми командами пакета knark. Так что опытный взломщик может изменить эти параметры, чтобы избежать обнаружения своей деятельности. Однако вместе с тем вполне возможно, что другие злоумышленники воспользуются параметрами, заданными по умолчанию.

В качестве самой лучшей контрмеры мы всегда рекомендуем предупреждение подобных нападений. Использование такой программы, как LIDS (Linux Intrusion Detection System — система выявления вторжений Linux), является наилучшей превентивной мерой в системе Linux. Ее можно получить по адресу www.lids.org. Программа LIDS предоставляет следующие возможности.

  •  Предотвращение модификации ядра.
  •  Предотвращение загрузки и выгрузки модулей ядра из оперативной памяти.
  •  Возможность использования расширенных атрибутов файлов immutable (постоянный) и append-only ("только для добавления").
  •  Блокирование совместно используемых сегментов памяти.
  •  Защита от манипулирования идентификаторами процессов (PID).
  •  Защита важных файлов в каталоге /dev/.
  •  Обнаружение попыток сканирования портов.

Программа LIDS представляет собой модуль обновления ядра. Ее необходимо применять к существующему исходному коду ядра, который затем должен быть перестроен. После установки LIDS воспользуйтесь командой lidsadm, чтобы защитить ядро от возможных манипуляций с загружаемыми модулями. Вот что произойдет после установки программы LIDS, если попытаться запустить утилиту knark.

[shadow]# insmod knark.о

Command terminated on signal 1.

После анализа файла журнала /var/log/messages становится очевидным, что программа LIDS позволяет не только выявить попытку загрузки модуля, но и практически их предотвращает.

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

При использовании систем, отличных от Linux, нужно рассмотреть возможность отключения поддержки модулей LKM, что позволит обеспечить более высокий уровень безопасности. Конечно, подобный подход является не очень элегантным, однако он все же позволит предотвратить попытки применения описанных выше средств.





Начало  Назад  Вперед