Программное обеспечение для обнаружения внешних руткитов?

578
Doug Harris

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

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

  1. Настройте альтернативный компьютер (назовем его «компьютер мониторинга») для маршрутизации всего трафика для зараженного компьютера (через проводной или беспроводной)
  2. Настройте зараженный компьютер на использование компьютера мониторинга в качестве шлюза или точки беспроводного доступа.
  3. Программное обеспечение на компьютере мониторинга имеет определения вероятного трафика, который будет указывать на заражение (например, сигнатуры вирусов, шаблоны протокола IRC, шаблоны smtp для исходящего спама)
  4. Если компьютер мониторинга обнаруживает проблему, он сообщает о проблеме и отбрасывает подозрительный трафик.
  5. Весь невинный трафик направляется дальше.

Существует ли такое программное обеспечение для какой-либо платформы? Вероятно, зараженный компьютер будет работать под управлением Windows, но на компьютере мониторинга может работать любая ОС, поскольку он действует как маршрутизатор.

2

2 ответа на вопрос

1
Satanicpuppy

Существует около миллиарда способов мониторинга трафика: если вы поставите компьютер между ними, вы сможете проанализировать все это. Вы можете использовать Ethereal (теперь Wireshark) или Snort, или, черт возьми, даже IPTraf. Вы даже не должны иметь машину между ними, если у вас есть концентратор в случайном режиме.

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

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

То, что я делаю, является комбинацией двух. Я блокирую все порты и разрешаю только определенный трафик, и у меня маршрутизатор восходящего потока генерирует отчет о трафике ежедневно, который можно сравнить с предыдущими отчетами, чтобы показать возможное заражение (я использую Snort и Argus ... Мне больше нравится Ethereal / Wireshark для Активное тестирование, чем для долгосрочного мониторинга.)

0
sYnfo

Я не знаю, существует ли что-то подобное, но я думаю, что это не должно быть большой проблемой, чтобы сделать это самостоятельно. Первые два и два последних шага были бы довольно простыми ( и, возможно, вам даже не нужно использовать настоящий компьютер, некоторых виртуальных машин должно быть достаточно ), а для третьего я не знаю никаких сканеров трафика, хотя они конечно, существует, но ради простоты вы могли бы использовать IPTables (учитывая, что «маршрутный» компьютер использует Linux).
Но я не эксперт в этом, кто знает. :)

Похожие вопросы