Любая стена может быть возведена добросовестно или же сляпана кое-как. Так как же проверить возведенную вами защиту? Есть ли средства найти дыры в защите вашей сети, где получить рекомендации, как эти дыры залатать? Такое средство есть. Сеть состоит из каналов связи, узлов, серверов, рабочих станций, прикладного и системного программного обеспечения, баз данных и т.д. Все эти компоненты нуждаются в оценке эффективности их защиты. Средства анализа защищенности исследуют сеть и ищут слабые места в ней, анализируют полученные результаты и на их основе создают различного рода отчеты. В некоторых системах вместо «ручного» вмешательства со стороны администратора найденная уязвимость будет устраняться автоматически (например, в системе System Scanner).
Перечислим некоторые из проблем, идентифицируемых системами анализа защищенности:
1. «Люки» в программах (back door) и программы типа «троянский конь»;
2. Слабые пароли;
3. Восприимчивость к проникновению из незащищенных систем;
4. Неправильная настройка межсетевых экранов, Web-серверов и баз данных.
Системы анализа защищенности предназначены для обнаружения только известных уязвимостей, описание которых есть у них в базе данных. В этом они подобны антивирусным системам, которым для эффективной работы необходимо постоянно обновлять базу данных сигнатур. Изученность и повсеместное использование таких протоколов, как IP, TCP, HTTP, FTP, SMTP и т.п., позволяют с высокой степенью эффективности проверять защищенность информационной системы, работающей в данном сетевом окружении.
Существует программный аппарат, который проверяет наличие уязвимости – с помощью сканирования (scan) и зондирования (probe).
Сканирование
Сканирование – механизм пассивного анализа, с помощью которого сканер пытается определить наличие уязвимости без фактического подтверждения ее наличия – по косвенным признакам. Этот метод является наиболее быстрым и простым для реализации. В терминах компании ISS данный метод получил название «логический вывод» (inference). Этот процесс идентифицирует открытые порты, найденные на каждом сетевом устройстве, и собирает связанные с портами заголовки (banner), найденные при сканировании каждого порта. Каждый полученный заголовок сравнивается с таблицей правил определения сетевых устройств, операционных систем и потенциальных уязвимостей. На основе проведенного сравнения делается вывод о наличии уязвимости.
Зондирование
Зондирование – механизм активного анализа, который позволяет убедиться, присутствует или нет на анализируемом узле уязвимость. Зондирование выполняется путем имитации атаки, использующей проверяемую уязвимость. Этот метод более медленный, чем сканирование, но почти всегда гораздо более точный. В терминах компании ISS данный метод получил название «подтверждение» (verification). Этот процесс использует информацию, полученную в процессе сканирования («логического вывода»), для детального анализа каждого сетевого устройства.
На практике указанные механизмы реализуются следующими несколькими методами.
Проверка заголовков
Проверка заголовков (banner check). Указанный механизм представляет собой ряд проверок типа сканирование и позволяет сделать вывод об уязвимости, опираясь на информацию в заголовке ответа на запрос сканера. Типичный пример такой проверки – анализ заголовков программы Sendmail или FTP-сервера, позволяющий узнать их версию и на основе этой информации сделать вывод о наличии в них уязвимости.
Наиболее быстрый и простой для реализации – метод проверки присутствия на сканируемом узле уязвимости.
Активные зондирующие проверки (active probing check). Также относятся к механизму сканирования. Однако они основаны не на проверках версий программного обеспечения в заголовках, а на сравнении «цифрового слепка» (fingerprint) фрагмента программного обеспечения со слепком известной уязвимости. Аналогичным образом поступают антивирусные системы, сравнивая фрагменты сканируемого программного обеспечения с сигнатурами вирусов, хранящимися в специализированной базе данных. Специализированная база данных (база данных по сетевой безопасности) содержит информацию об уязвимостях и способах их использовании (атаках). Эти данные дополняются сведениями о мерах их устранения, позволяющих снизить риск безопасности в случае их обнаружения. Зачастую эта база данных используется системой анализа защищенности и системой обнаружения атак. Этот метод также достаточно быстр, но реализуется труднее, чем «проверка заголовков».
Имитация атак
«Имитация атак» (exploit check). Некоторые уязвимости не обнаруживают себя, пока вы не «подтолкнете» их. Для этого против подозрительного сервиса или узла запускаются реальные атаки. Проверки заголовков осуществляют первичный осмотр сети, а метод «exploit check», отвергая информацию в заголовках, позволяет имитировать реальные атаки, тем самым с большей эффективностью (но меньшей скоростью) обнаруживая уязвимости на сканируемых узлах. Имитация атак является более надежным способом анализа защищенности, чем проверки заголовков, и обычно более надежны, чем активные зондирующие проверки.
Однако существуют случаи, когда имитация атак не всегда может быть реализована. Как известно, многие проблемы защиты не могут быть выявлены без блокирования или нарушения функционирования сервиса или компьютера в процессе сканирования. В некоторых случаях нежелательно использовать имитацию атак (например, для анализа защищенности важных серверов), так как это может привести к большим затратам (материальным и временным) на восстановление работоспособности выведенных из строя элементов корпоративной сети. В этих случаях желательно применить другие проверки, например, активное зондирование или в крайнем случае проверки заголовков.
Однако есть уязвимости (например, проверка подверженности атакам типа «Packet Storm»), которые просто не могут быть протестированы без возможного выведения из строя сервиса или компьютера. В этом случае разработчики поступают следующим образом: по умолчанию такие проверки выключены и пользователь может сам включить их, если желает. Таким образом, например, реализованы системы CyberCop Scanner и Интернет Scanner. В последней системе такого рода проверки выделены в отдельную категорию «Denial of service» (Отказ в обслуживании). При включении любой из проверок этой группы система Интернет Scanner выдает сообщение – WARNING: These checks may crash or reboot scanned hosts (Внимание: эти проверки могут вывести из строя или перезагрузить сканируемые узлы).
Назовем еще несколько полезных продуктов фирмы ISS, входящих в пакет SAFEsuite(Систему адаптивного управления безопасностью):
§ Интернет Scanner – Система анализа защищенности сетевых сервисов и протоколов;
§ System Scanner – Система анализа защищенности операционных систем;
§ RealSecure – Система обнаружения атак в реальном режиме времени;
§ DBScanner – Система анализа защищенности баз данных.
Межсетевой экран сам по себе не панацея от всех угроз для сети. В частности, он:
- не защищает узлы сети от проникновения через «люки» (англ. back doors) или уязвимости ПО;
- не обеспечивает защиту от многих внутренних угроз, в первую очередь — утечки данных;
- не защищает от загрузки пользователями вредоносных программ, в том числе вирусов;
Для решения последних двух проблем используются соответствующие дополнительные средства, в частности, антивирусы. Обычно они подключаются к firewall и пропускают через себя соответствующую часть сетевого трафика, работая как прозрачный для прочих сетевых узлов proxy, или же получают с firewall копию всех пересылаемых данных. Однако такой анализ требует значительных аппаратных ресурсов, поэтому обычно проводится на каждом узле сети самостоятельно.