Коллектив авторов - Защита от хакеров корпоративных сетей
В течение нескольких последних лет наблюдались случаи уклонения от обнаружения на уровне пакета. Разработчики систем обнаружения вторжения хорошо знакомы со многими проблемами, сопутствующими захвату пакета и его анализу. Большинство сетей в любом случае начинают фильтровать подозрительные пакеты. Подозрительными считаются пакеты с некоторыми типами установленных флажков и чрезмерной фрагментацией. Возможно, что в ближайшее время нормализация сетевых уровней станет обычным явлением. Тогда многие возможности для уклонения от обнаружения прекратят свое существование.
Трудности анализа протоколов на уровне приложений продолжают оставаться головной болью для лиц, участвующих в обеспечении безопасности сетей. Получили распространение некоторые прокси-решения, но их использование породило множество узких мест. Кроме того, прокси-решения также страдают от присущих системам обнаружения вторжения проблем: они не способны обнаружить первоначально непредусмотренные типы атак.
Вполне допустимо аннулировать искаженные TCP/IP-пакеты в случае ошибки. В конце концов, законная система передаст их повторно. Но на более высоком уровне так делать уже нельзя. Сетевая система обнаружения вторжения может быть чрезвычайно мало осведомлена о протоколах приложения и передаваемой ими информации. Полиморфные атаки являются серьезной проблемой, которую нельзя легко разрешить в рамках систем обнаружения вторжения, основанных чисто на сравнении сигнатур. Число форм представления полиморфных атак практически бесконечно.
Уклонение от систем обнаружения вторжения продолжает оставаться образом жизни в Интернет. Можно наблюдать постоянно обновляемый поток инструментальных средств и способов, которые специально были разработаны и усовершенствованы для усложнения обнаружения вторжения (главным образом в результате усовершенствования обычных поделок хакера-новичка или любителя (script kiddie)). Следует постоянно контролировать и исследовать характеристики работы сети, для того чтобы получить представление о том, что следует ожидать во время повседневной деятельности.
Конспект
Принципы работы, основанной на анализе сигнатур системы обнаружения вторжений
· Возможности сетевых систем обнаружения вторжения определяются их базами сигнатур. Именно из этого следует необходимость повторных обновлений баз данных сигнатур сетевых систем обнаружения вторжения по мере появления новых уязвимостей. Только так можно защититься от использующих их атак.
· Большинство сетевых систем обнаружения вторжения не оповещают об атаке даже в случае незначительного изменения заранее определенных сигнатур. Если используется сравнение сигнатур, то это позволяет злоумышленнику избежать обнаружения его атаки.
· Атакующие будут продолжать совершенствовать свои способы уклонения от систем обнаружения вторжения, поэтому следует значительно наращивать возможности систем обнаружения вторжения, необходимые для контроля сетевого трафика и обнаружения атак. Это внесло бы достойный вклад в отражение атак типа отказ в обслуживании (DoS) и противодействие различным возможностям уклонения.
Уклонение на уровне пакетов
· Большинство разработчиков реализует протоколы TCP/IP с небольшими отклонениями от стандарта. Из-за этого сетевые системы обнаружения вторжения испытывают затруднения при построении представления сетевых соединений между другими системами. Получающееся при этом противоречивое представление позволяет злоумышленнику избежать обнаружения.
· Хосты могут не строго придерживаться спецификаций, допуская обработку некоторых типов пакетов, которые не могут обработать сетевые системы обнаружения вторжения.
· Сетевые системы обнаружения вторжения не получают достаточно информации из передаваемых по каналам связи данных для восстановления соединений TCP/IP. Благодаря предусмотренным в стеке TCP/IP опциям и состояниям возможны некоторые двусмысленности относительно интерпретации хостом принимаемой информации. Переданной во время сеанса информации недостаточно для ее правильной интерпретации.
· Программы fragrouter и congestant являются эффективными инструментальными средствами уклонения от обнаружения. В них реализован ряд зарегистрированных способов уклонения от сетевой системы обнаружения вторжения.
Уклонение на уровне приложений
· Протоколы приложений подробны и предоставляют многочисленные разнообразные функции. Есть много тонких, скрытых и устаревших нюансов приложений, которые затрудняют эффективную расшифровку протоколов приложений. Злоумышленник может воспользоваться даже небольшой оплошностью разработчиков приложений.
· Приложения имеют тенденцию учитывать небольшие изменения в протоколе работы. Разработчики преднамеренно встраивают в свои приложения возможности исправления ошибок, пытаясь придать смысл любому запросу вне зависимости от его состояния. В условиях отсутствия строгого соответствия сетевых приложений ранее определенным спецификациям сетевой системы обнаружения вторжения трудно предугадать их поведение.
· Для представления данных существуют многочисленные режимы кодирования. Опции кодирования Unicode, Unix – Unix (UUENCODE (Unix to Unix Encoding) – кодирование Unix – Unix. Метод преобразования файлов из двоичного формата в текстовый и обратно для обеспечения пересылки по сети Интернет сообщений при помощи электронной почты) или шестнадцатеричного кодирования описаны во многих прикладных протоколах. Подобное альтернативное представление данных усложняет развитие средств обнаружения вторжения.
Уклонение при помощи морфизма кода
· Обычно всегда существует более одного способа что-либо сделать. Когда обнаружение зависит от идентификации прикладного кода, то есть много способов генерации кода атаки.
· Большинство атак изменяют свой код от хоста к хосту. Код может изменяться даже при наложении ограничений на длину или тип возможных кодов.
Часто задаваемые вопросы
Вопрос: Сколько нужно систем обнаружения вторжения для повышения эффективности их работы?
Ответ: Все сети различны, и поэтому необходимые для них уровни контроля различаются. Специфическая толерантность читателя к риску должна помочь ему определить уровень контроля своей сети. В случае желания обеспечить высокий уровень защиты путем обнаружения многих событий вторжения следует установить по крайней мере один датчик системы обнаружения вторжения в каждом сетевом сегменте (уровень канала передачи данных). При обеспечении повышенных требований к безопасности сети желательно установить в ней системы обнаружения вторжения разных производителей с различными вариантами реализации, чтобы достоинства системы обнаружения вторжения одного производителя дополняли возможности системы обнаружения вторжения другого производителя.
Вопрос: Разве описанные способы уклонения об обнаружения не слишком совершенны для большинства атакующих? Ответ: Точно так же, как и большинство других технологий, методы и способы нападения в конечном счете реализованы в виде шаблонов приложений, которыми может воспользоваться любой. Обстановка на виртуальном поле битвы меняется мгновенно. Очередной опасный саморазмножающийся вирус может воспользоваться этими методами, тем самым резко изменив расстановку сил на рынке систем обнаружения вторжения.
Вопрос: Откуда можно почерпнуть сведения о новых способах уклонения от обнаружения?
Ответ: Компьютерное подполье является типичным катализатором развития технологий защиты. Нередкие публикации актуального материала в сети по этой теме помогут найти источники полезной информации. Нет единого источника распространения всех новых материалов по этой теме.
Для начала просмотрите следующие сайты:
• antisec (http://anti.security.is);
• Phrack (www.phrack.org);
• PacketStorm (http://packetstormsecurity.org);
• Technotronic (www.technotronic.com).Вопрос: Что следует предпринять, если меня наводнили предупреждения системы обнаружения вторжения? Ответ: Чтобы сдержать злоумышленника, системы безопасности полагаются на обособление программ и информационных файлов для защиты от несанкционированного доступа и дробление защищенных данных на мелкие изолированные блоки с целью минимизации риска несанкционированного доступа. Если видно, что атаки следуют одна за другой в отличающемся от нормы темпе, то следует изолировать и отделить друг от друга подозрительные системы, а затем попробовать определить существование некоторых хостов с известными уязвимостями или дефектами. Свяжите зарегистрированную в журналах информацию с отмеченными системами обнаружения вторжения событиями. Это поможет получить более ясную картину происходящего в сети. Не полагайтесь на авторитеты и сетевых администраторов атакующих вас систем. Обычно у них хватает своей работы или они не заинтересованы в предоставлении вам достаточной помощи.