Чтение онлайн

на главную

Жанры

Защита от хакеров корпоративных сетей

авторов Коллектив

Шрифт:

Программа congestant является другим заслуживающим упоминания инструментальным средством, в котором реализовано ряд способов модификации пакетов, затрудняющих работу системы обнаружения вторжения. Ее автор называет себя «horizon». Впервые программа описана в его работе «Победа над сетевыми анализаторами сети и системами обнаружения вторжения» (Defeating Sniffers and Intrusion Detection Systems), которая была опубликована в декабре 1998 года (www.phrack.org/show.php?p=54&a=10). В отличие от предыдущей программы, программа congestant реализована в виде разделяемой библиотеки или патча к ядру операционной системы OpenBSD. Читатель может использовать программы fragrouter и congestant совместно, исследуя слабые стороны используемой им системы обнаружения вторжения.

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

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

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

storm:~/dl/fragrouter-1.6# ./fragrouter -F5

fragrouter: frag-5: out of order 8-byte fragments, one duplicate

truncated-tcp 8 (frag 21150:8@0+)

10.10.42.9 > 10.10.42.3: (frag 21150:8@16+)

10.10.42.9 > 10.10.42.3: (frag 21150:8@8+)

10.10.42.9 > 10.10.42.3: (frag 21150:8@16+)

10.10.42.9 > 10.10.42.3: (frag 21150:4@24)

truncated-tcp 8 (frag 57499:8@0+)

10.10.42.9 > 10.10.42.3: (frag 57499:8@8+)

10.10.42.9 > 10.10.42.3: (frag 57499:8@8+)

10.10.42.9 > 10.10.42.3: (frag 57499:4@16)

truncated-tcp 8 (frag 57500:8@0+)

10.10.42.9 > 10.10.42.3: (frag 57500:8@8+)

10.10.42.9 > 10.10.42.3: (frag 57500:8@8+)

10.10.42.9 > 10.10.42.3: (frag 57500:4@16)

truncated-tcp 8 (frag 58289:8@0+)

10.10.42.9 > 10.10.42.3: (frag 58289:8@8+)

10.10.42.9 > 10.10.42.3: (frag 58289:8@8+)

10.10.42.9 > 10.10.42.3: (frag 58289:4@16)

Ниже приведен вывод утилиты tcpdump, иллюстрирующий разницу между обычным сетевым трафиком и трафиком в сети при запуске программы fragrouter в режиме F5 «fragrouter: frag-5: беспорядочные восьмибайтовые фрагменты c одним дубликатом («fragrouter: frag-5: out of order 8-byte fragments, one duplicate»)». Обратите внимание на флаги DF (Don\'t Fragment – не фрагментировать) каждого пакета обычного соединения и наличие в потоке программы fragrouter нескольких фрагментированных пакетов.

Before (no fragrouter):

19:36:52.469751 10.10.42.9.32920 > 10.10.42.3.7: S

1180574360: 1180574360(0) win 24820 <nop,nop,sackOK,mss

1460> (DF)

19:36:52.469815 10.10.42.9.32920 > 10.10.42.3.7: S

1180574360: 1180574360(0) win 24820 <nop,nop,sackOK,mss

1460> (DF)

19:36:52.470822 10.10.42.9.32920 > 10.10.42.3.7: . ack

4206722337 win 24820 (DF)

19:36:52.470841 10.10.42.9.32920 > 10.10.42.3.7: . ack 1 win

24820 (DF)

19:36:53.165813 10.10.42.9.32920 > 10.10.42.3.7: F 0:0(0)

ack 1 win 24820 (DF)

19:36:53.165884 10.10.42.9.32920 > 10.10.42.3.7: F 0:0(0)

ack 1 win 24820 (DF)

19:36:53.171968 10.10.42.9.32920 > 10.10.42.3.7: . ack 2 win

24820 (DF)

19:36:53.171984 10.10.42.9.32920 > 10.10.42.3.7: . ack 2 win

24820 (DF)

After (with fragrouter):

19:37:29.528452 10.10.42.9.32921 > 10.10.42.3.7: S

1189855959: 1189855959(0) win 24820 <nop,nop,sackOK,mss

1460> (DF)

19:37:29.528527 10.10.42.9.32921 > 10.10.42.3.7: S

1189855959: 1189855959(0) win 24820 <nop,nop,sackOK,mss

1460> (DF)

19:37:29.529167 10.10.42.9.32921 > 10.10.42.3.7: [|tcp]

(frag 21150:8@0+)

19:37:29.529532 10.10.42.9.32921 > 10.10.42.3.7: . ack

4211652507 win 24820 (DF)

19:37:29.529564 10.10.42.9.32921 > 10.10.42.3.7: . ack 1 win

24820 (DF)

19:37:29.530293 10.10.42.9.32921 > 10.10.42.3.7: [|tcp]

(frag 57499:8@0+)

19:37:30.309450 10.10.42.9.32921 > 10.10.42.3.7: F 0:0(0)

ack 1 win 24820 (DF)

19:37:30.309530 10.10.42.9.32921 > 10.10.42.3.7: F 0:0(0)

ack 1 win 24820 (DF)

19:37:30.310082 10.10.42.9.32921 > 10.10.42.3.7: [|tcp]

(frag 57500:8@0+)

19:37:30.316337 10.10.42.9.32921 > 10.10.42.3.7: . ack 2 win

24820 (DF)

19:37:30.316357 10.10.42.9.32921 > 10.10.42.3.7: . ack 2 win

24820 (DF)

19:37:30.316695 10.10.42.9.32921 > 10.10.42.3.7: [|tcp]

(frag 58289:8@0+)

Контрмеры

К счастью, идя навстречу пожеланиям реализовать сетевые системы обнаружения вторжения повсюду в сетевой инфраструктуре, появились технологии, которые помогут исключить большое число уязвимостей протокола более низкого уровня. Нормализация протокола, обсужденная Марком Хандлейом (Mark Handley) и Верном Пакссоном (Vern Paxson) в мае 2001 года в работе «Обнаружение вторжения в сеть: уклонение, нормализация трафика и семантики сквозного протокола» (Network Intrusion Detection: Evasion, Traffic Normalization, and End-to-End Protocol Semantics), www.aciri.org/vern/papers/norm-usenix-sec-01-html/index.html, является попыткой вычистить или перезаписать сетевой трафик по мере его получения адресуемой сетью. Описанный в работе процесс чистки должен устранить большое число трудностей восстановления последовательного представления сетевого трафика. Если бы и система обнаружения вторжения, и хост-адресат находились бы за программой чистки протокола, то они оба получали бы идентичное представление сетевого
трафика.

...

Инструментарий и ловушки

Наживка на приманку

Недавно был отмечен рост числа использования программ-приманок ( honeynets) в интересах защиты сетей. Программа-приманка является программной системой, которая размещается для того, чтобы привлечь внимание злоумышленника, который попытался бы ее скомпрометировать. Это чрезвычайно защищенные инструментальные средства, которые могут быть размещены и приведены в действие в любом месте внутри сети. В настоящее время принято считать, что наилучшим вариантом использования программ-приманок является размещение в сети двух систем, одна из которых является приманкой, а другая предназначена для регистрации трафика.

Регистрирующий хост должен быть сконфигурирован как мост (невидимый для любого удаленного атакующего) с достаточным дисковым пространством для записи всего сетевого трафика, для того чтобы его впоследствии можно было проанализировать. Система, расположенная за регистрирующим хостом, может быть сконфигурирована любым способом. Большинство из них являются приманками. Это означает, что размещенные за регистрирующим хостом системы предназначены стать мишенью для атак злоумышленников. Расчет основан на том, что злоумышленники увидят хост-приманку и начнут его атаковать. Было отмечены причины конфигурирования систем-приманок аналогично другим работающим системам в атакуемой сети (будем надеяться, что они достаточно надежны). В результате если атака будет обнаружена программой-приманкой (а она такова, что никто не сможет передать ей никаких данных, оставаясь при этом необнаруженным), то обороняющийся может удостовериться в существовании уязвимостей в конфигурации работающих систем. Учитывая дополнительные преимущества детальной регистрации трафика, некоторые работающие на низком уровне «прокурорские» программы (forensics) выявляют информацию об уязвимости сети наряду с ее любыми потайными лазейками, с помощью которых злоумышленник может вломиться в сеть и натворить в ней дел.

Имейте в виду, нет систем с защитой «от дурака». У атакующих есть возможность понять, что они находятся позади моста. В этом им поможет отсутствие трафика на уровне канала передачи данных и несоответствия в адресах протокола управления доступом к передающей среде (подуровень канального уровня, задающий методы доступа к среде, формат кадров, способ адресации), записанных в ARP кэше системы приманки.

Для более подробного ознакомления с системами-приманками читателю рекомендуется обратиться по адресу http://project.honeynet.org.

Уклонение на уровне приложений

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

Защита вдогонку

Деятельность разработчиков приложений определяется открывающимися перед ними перспективами и возможностью заработать. Всем известно, что в итоге успех или неудачу программного обеспечения определяет конечный пользователь. Прилагая все усилия для обеспечения наиболее удобной работы пользователя, максимальной совместимости программы и исключения ошибочных ситуаций, разработчики жертвуют строгим соответствием спецификациям протокола, отдавая предпочтение вопросам исправления ошибок. Нечасто можно встретить приложение, которое немедленно бы завершало запрос при первых признаках отклонения от определенного протокола. Напротив, предпринимаются все возможные и невозможные усилия для восстановления любых ошибок в попытке обслужить любой запрос (и таким образом увеличивается совместимость приложения и, вероятно, способность к взаимодействию). Исследователь вопросов безопасности, известный под псевдонимом Форест Паппи (Forest Puppy), или, что используется гораздо чаще, RFP, на конференции CanSecWest Security 2001 года (CanSecWest Security Conference 2001) утверждал: «Можно только удивляться тому, что передается через законный трафик по протоколу HTTP…» Подобная практика ведет к снижению безопасности приложений, поскольку она помогает атакующему, расширяя его злоумышленные возможности.

Уклонение от проверки характерных признаков сетевой деятельности на соответствие сигнатуре

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

Если еще раз посмотреть на описание сигнатур в системе обнаружения вторжения snort, то ясно можно увидеть полное имя пути файла команды chgrp, заданное в некоторых из правил. Предполагается, что подобные правила задают сигнатуру, которая предупредит о прохождении через Web-сервер выполняемых команд. Любой из злоумышленников, который сведущ в правилах написания этих правил, с помощью различных трюков может легко модифицировать свои атаки в надежде уклониться от соответствия характерных признаков своей атаки сигнатуре из базы данных сигнатур системы обнаружения вторжения.

Поделиться:
Популярные книги

Кровь Василиска

Тайниковский
1. Кровь Василиска
Фантастика:
фэнтези
попаданцы
аниме
4.25
рейтинг книги
Кровь Василиска

Венецианский купец

Распопов Дмитрий Викторович
1. Венецианский купец
Фантастика:
фэнтези
героическая фантастика
альтернативная история
7.31
рейтинг книги
Венецианский купец

Сопряжение 9

Астахов Евгений Евгеньевич
9. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
технофэнтези
рпг
5.00
рейтинг книги
Сопряжение 9

На три фронта

Бредвик Алекс
3. Иной
Фантастика:
фэнтези
рпг
5.00
рейтинг книги
На три фронта

Авиатор: назад в СССР 11

Дорин Михаил
11. Покоряя небо
Фантастика:
альтернативная история
5.00
рейтинг книги
Авиатор: назад в СССР 11

Санек

Седой Василий
1. Санек
Фантастика:
попаданцы
альтернативная история
4.00
рейтинг книги
Санек

Лорд Системы 8

Токсик Саша
8. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Лорд Системы 8

Мерзавец

Шагаева Наталья
3. Братья Майоровы
Любовные романы:
современные любовные романы
эро литература
короткие любовные романы
5.00
рейтинг книги
Мерзавец

Игра топа. Между двух огней

Вяч Павел
2. Игра топа
Фантастика:
фэнтези
7.57
рейтинг книги
Игра топа. Между двух огней

Провинциал. Книга 2

Лопарев Игорь Викторович
2. Провинциал
Фантастика:
космическая фантастика
рпг
аниме
5.00
рейтинг книги
Провинциал. Книга 2

Идущий в тени 6

Амврелий Марк
6. Идущий в тени
Фантастика:
фэнтези
рпг
5.57
рейтинг книги
Идущий в тени 6

На границе империй. Том 9. Часть 4

INDIGO
17. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 4

Крестоносец

Ланцов Михаил Алексеевич
7. Помещик
Фантастика:
героическая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Крестоносец

Идеальный мир для Лекаря 10

Сапфир Олег
10. Лекарь
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 10