Предотвращение атак: революция или эволюция?

Алексей Лукацкий

С чего все начиналось

Текущая ситуация

Обнаружили — а как блокировать?

Куда глаза глядят?

Заключение

 

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

С чего все начиналось

А начиналось все в самом конце далеких уже 70-х, когда специалист по компьютерной безопасности Джеймс Андерсон задумался о возможных способах обнаружения действий, нарушающих политику безопасности. И такой способ был найден — анализ журналов регистрации в поисках следов несанкционированной активности.

Собственно, уже тогда выявилось отличие систем обнаружения атак от средств защиты, построенных на применении моделей разграничения доступа. В этих моделях доступ к чему-либо разрешается после прохождения процедуры установления подлинности (аутентификации). Стоит вам предъявить пароль, неважно как и откуда полученный,  — и система разграничения доступа пропустит вас ко всем ресурсам (разумеется, в рамках прав того пользователя, чей пароль используется). А дальше вы можете творить все что угодно. Принцип работы систем обнаружения иной. Им абсолютно все равно, кто выполняет несанкционированные действия: рядовой пользователь или администратор. В этом их преимущество перед другими защитными технологиями  — авторизации, аутентификации, контроля доступа, межсетевого экранирования и т.п.

Однако вернемся к Андерсону. Предложенный им подход оказался не утопией, а мощным инструментом в борьбе со злоумышленниками. Требование наличия и использования журналов регистрации всех событий вошло во все существующие стандарты информационной безопасности — в «Оранжевую книгу» (1985), в руководящие документы почившей ныне в бозе Гостехкомиссии России (1992), в Общих критериях (1996) и ISO 17799 (1999). Первый прототип системы, использующей идеи Андерсона, появился в 1983-1985 годах, после чего такие системы посыпались как из рога изобилия. Особняком стоят системы обнаружения мошенничества (fraud detection), которые появились в то же время и активно используются до сих пор, — почти все системы обнаружения мошенничества в финансовых компаниях или у операторов связи построены на анализе уже зарегистрированных событий.

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

Со временем количество автономных компьютеров неуклонно сокращалось, активно развивались сетевые технологии, росло число вторжений в сети. Возникла насущная необходимость в обнаружении сетевых атак, которая и нашла свое воплощение в технологии мониторинга сетевого трафика с целью поиска следов несанкционированной активности, предложенной мировому сообществу в 1990 году. Но, как и в случае с анализом журналов регистрации, первые реально работающие системы появились гораздо позже. Только в 1996 году молодая компания Internet Security Systems, уже выпустившая к тому моменту первый в мире сетевой сканер безопасности (Internet Scanner), разработала и первую в мире коммерческую систему обнаружения атак RealSecure, позднее переименованную в RealSecure Network Sensor.

Первые сетевые системы обнаружения вторжений не баловали своих пользователей разнообразием методов идентификации атак. Как правило, каждый конкретный сетевой пакет сравнивался с базой сигнатур атак (аналогично антивирусам). При нахождении совпадения администратор безопасности получал уведомление. Однако за простотой реализации и высокой скоростью работы скрывался и ряд недостатков, самым главным из которых была нечувствительность к протоколу. Для систем этого типа не было никакой разницы между Web-страницей, передаваемой по протоколу HTTP, в тексте которой содержалась фраза «I LOVE YOU», и зараженным сообщением электронной почты с аналогичным заголовком. Поэтому у подобных систем был очень высок процент ложных срабатываний (false positive).

С целью устранения этого недостатка разработчики научили свои творения понимать различия между отдельными пакетами и сеансами (сессиями), равно как и между разными протоколами. С этого момента системы обнаружения атак могли отличать Web-трафик от электронной почты, но... Оставалась вторая проблема, которая присуща любой технологии, построенной на использовании сигнатур, — даже самое незначительное изменение кода атаки приводит к невозможности ее обнаружения, так как сигнатура уже не будет совпадать с новым образцом. Приведу пример с атакой на механизм аутентификации OpenSSH, которая была разработана хакером по имени Gobble, о чем он не преминул сообщить в коде самой атаки. Именно по этому имени и осуществляют поиск многие известные системы обнаружения. Так поступают Symantec ManHunt, NetScreen IDP, Snort, NAI Intrushield и другие (см. таблицу). Какой вывод из этого можно сделать? Изменение всего одного байта в коде атаки (например, имени Gobble на Wobble) приводит к невозможности ее обнаружения.

В начало В начало

Текущая ситуация

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

Вторым способом решения данной проблемы является применение статистических методов, которые позволяют обнаруживать различные аномалии в сетевом трафике, например лавинообразный рост объемов передаваемых данных или увеличение числа соединений за единицу времени. Можно заметить, что в основном статистика используется для обнаружения атак «отказ в обслуживании» (denial of service, DoS) и малоэффективна в других случаях.

Существует и третье решение, признанное сегодня лучшим. Оно также относится к разряду отслеживания аномалий в сетевом трафике, но построено на другом принципе. Закономерно считается, что нормальное взаимодействие в сети происходит по стандартизованным протоколам, описанным в различных RFC и в других документах. А отклонение от эталона является признаком аномальной активности, которая в большинстве случаев характеризует атаки. Например, нетипичная длина сетевого пакета, применение редко используемых флагов, запрещенная комбинация флагов, неполная процедура установления соединения — все эти критерии задействуются системами обнаружения атак. Очевидно, что эффективность такой системы зависит от числа «понимаемых» ею протоколов. Лучшие в своем классе средства распознают более 100 самых распространенных протоколов (HTTP, SMTP, FTP, Telnet, H.323, SIP, SQL*Net и т.д.). Еще одним отличием «аномального» подхода является создание обработчиков протоколов до появления сообщений об уязвимостях и атаках. Иными словами, этот метод позволяет обнаруживать атаки, еще неизвестные на момент разработки декодера протокола. Для протоколов, не имеющих своих обработчиков, используются уже описанные нами методы — сигнатурный и статистический.

 

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

В начало В начало

Обнаружили — а как блокировать?

Описанные выше системы обнаружения атак, несмотря на все их достоинства, обладают одним серьезным ограничением, на которое указывает само название этого класса средств. Они умеют только обнаруживать атаки, но не блокировать их и тем более не предотвращать. И то, что допустимо во внутренней сети, на периметре превращается в проблему. Дело в том, что пользователь хочет не только знать, что его атакуют, но и блокировать эти нападения. Полагаться на межсетевые экраны в этом случае нельзя, так как они обеспечивают только необходимый, но явно недостаточный уровень защиты корпоративных ресурсов. Утрируя, можно провести такую аналогию: межсетевой экран — это не более чем турникет на входе в здание. Он остановит бродягу или вооруженного бандита, но не отреагирует на замаскированного злоумышленника, проносящего бомбу в дипломате. Межсетевой экран принимает решение о пропуске сетевого пакета, основываясь только на анализе заголовка этого пакета. А ведь есть еще и данные пакета, где как раз и скрываются современные атаки и вредоносные программы. Об этом говорит и тот факт, что даже самые современные межсетевые экраны были не в состоянии обнаружить и блокировать такие атаки, как Nimda, Code Red, Slammer, MyDoom, и многие другие.

Поэтому сегодня на рынке наблюдается бум не средств обнаружения, а средств предотвращения атак (intrusion prevention), которые расширяют стандартные технологии обнаружения функцией блокирования несанкционированной деятельности. Реализованы эти системы могут быть двумя путями. Если речь идет о сетевой защите, то блокирование атак осуществляется за счет пропускания системой сетевого трафика через себя. Иными словами, системы предотвращения атак являются в этом случае развитием систем обнаружения. Учитывая, что системы предотвращения по своему принципу не отличаются от межсетевых экранов, некоторые производители (например, Check Point, Cisco и др.) интегрируют данный механизм в свои брандмауэры. Если же речь идет о защите серверов и рабочих станций, то предотвращение реализовано в них по схожему принципу — через соответствующий фильтр пропускаются системные вызовы от приложений к операционной системе. Интересный факт: если на Западе о системах предотвращения доступа на отдельных узлах впервые заговорили только в 1999 году (пионером здесь является компания Entercept, позднее купленная Network Associates), то в России сходные по принципу системы были известны гораздо раньше  — с начала 90-х годов, когда появились первые системы защиты от несанкционированного доступа (в терминологии Государственной технической комиссии России): СНЕГ, SecretNet и др.

В начало В начало

Куда глаза глядят?

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

Вторая тенденция заключается в постепенном переходе от программных решений к программно-аппаратным, которые могут быть выполнены либо как отдельные устройства (по такому пути пошла компания Internet Security Systems со своей линейкой Proventia), либо как платы, вставляемые в сетевое оборудование (этого пути придерживается только компания Cisco со своей платой IDSM для коммутаторов Catalyst). Несколько особняком стоят программные решения, интегрированные в операционную систему сетевого оборудования (приверженцем данного подхода также является Cisco Systems, выпустившая специальное ПО для своих маршрутизаторов — Cisco IDS Router Access Module). Переход от чисто программных решений к программно-аппаратным выгоден со всех точек зрения:

• нет необходимости приобретать отдельный компьютер, который может оказаться не оптимальным для задачи обнаружения атак, — вместо этого вы получаете устройство, готовое к работе немедленно после извлечения из коробки;

• нет необходимости приобретать лицензионную ОС и другое дополнительное ПО — эти вопросы уже решены поставщиком;

• нет необходимости заниматься настройкой ОС и ПО системы обнаружения атак — данные операции уже выполнены производителем;

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

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

Последним направлением развития систем обнаружения и предотвращения атак является их тесная интеграция с другими защитными технологиями. В частности, сетевые решения объединяются с межсетевыми экранами, средствами построения VPN, антивирусами, системами контроля утечки конфиденциальной информации и т.п. Объединение этих механизмов в одном устройстве (это называется security switch) позволяет значительно снизить расходы по сравнению с приобретением нескольких отдельных средств сетевой безопасности. Защита отдельного узла также имеет тенденцию концентрироваться в одном продукте, который объединяет в себе следующие функции:

  • персонального межсетевого экрана;
  • системы блокирования атак;
  • антивируса;
  • системы контроля целостности;
  • VPN-клиента;
  • системы мониторинга активности процессов и приложений;
  • сканера безопасности и т.п.
В начало В начало

Заключение

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

 

Алексей Викторович Лукацкий — руководитель отдела Интернет-решений компании «Информзащита» (Москва). Автор книг «Обнаружение атак», «Protect your information with intrusion detection» и ряда других. Автор курсов «Обнаружение атак» и «Выбор системы обнаружения атак». Связаться с ним можно по тел.: (095) 937-3385 или по e-mail: luka@infosec.ru.

КомпьютерПресс 4'2004


Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует