Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
35
Добавлен:
16.04.2015
Размер:
1.21 Mб
Скачать

Многие уязвимости наиболее эффективно обнаруживаются через сеть. К таким уязвимостям можно отнести уязвимые демоны и сервисы операционной системы (ОС), DNS-сервера, возможность реализации атаки типа "отказ в обслуживании" (например, “teardrop” и “land”), и уязвимые протоколы нижнего уровня. Однако остаются уязвимости, с трудом обнаруживаемые или совсем не обнаруживаемые через сеть. Например, проверка "слабости" паролей, используемых пользователями и другими учетными записями. В случае использования сетевого сканера вам потребуется затратить очень много времени на удаленную проверку каждой учетной записи. В то же время, аналогичная проверка, осуществляемая на локальном узле, проводится на несколько порядков быстрее.

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

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

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

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

151

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

Сканеры сетевого уровня тестируют уязвимости наиболее критичных сетевых устройств, которые не поддерживаются системами анализа защищенности на уровне хоста, включая маршрутизаторы, коммутаторы, принтеры, серверы удаленного доступа и брандмацэры. Сетевые сканеры могут включать такие уникальные возможности, как скрытое сканирование (stealth scan), проверку уязвимостей, характерных для маршрутизаторов и проверки типа "подбор пароля" (“brute force”) для тестирования учетных записей, установленных в системе по умолчанию и "люков" (back door), встроенных изготовителями сетевых устройств.

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

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

152

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

Достоинства сканера системного уровня можно разделить на три основные категории:

1.Идентификация рисков деятельности пользователя:

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

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

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

Сканеры системного уровня обнаруживают присутствие таких приложений для удаленного доступа, как Carbon Copy или pcANYWHERE, которые могут быть использованы сотрудниками, звонящими из дома, для доступа к ресурсам в нерабочее

153

время или через неизвестные места сетевого периметра, такие как сервер несанкционированного удаленного доступа.

2.Идентификация хакера и обнажение атаки (внутренние и внешние хакеры) : Сканеры системного уровня обнаруживают признаки того, что хакер уже проник в

систему. Эти признаки включают: подозрительные имена файлов, неожиданные новые файлы, файлы устройств, находимые в неожиданных местах и неожиданные SUID/SGID привилегированных программ, которые в перспективе помогут получить “root”- привилегию.

Сканеры системного уровня могут запоминать контрольные суммы наиболее критичных файлов, позволяя администраторам сравнивать текущие контрольные суммы файлов в системе с ранее вычисленными значениями. Этот процесс позволяет обнаруживать любые несанкционированные изменения в этих файлах, таких как замещение программы “login” программой типа "троянский конь". Кроме того, данные сканеры на Windows NT-системах могут использовать подсчет контрольных сумм для уведомления администраторов о несанкционированных изменениях в записях реестра, которые содержат наиболее важные настройки системы защиты.

Сканеры системного уровня обнаруживают признаки того, что хакер по-прежнему активно действует в системе в данный момент, включая расположение “sniffer”- программ, активно ищущих пароли и другую важную информацию, или несанкционированные сервисы, популярные у хакеров, запускаемые в данный момент на системе, такие как IRC chat и FSP-сервера передачи данных.

Сканеры системного уровня обнаруживают хорошо известные хакерские программы типа "троянский конь", например, такие как “Back Orifice”, разработанной группой "Культ мертвой коровы" (Cult of the Dead Cow). Они также обнаруживают локальные системные сервисы, уязвимые к атакам типа “переполнение буфера”. Без проведения сканирования на системном уровне эти программы могут быть легко загружены с популярных хакерских Web-серверов типа www.rootshell.com, и затем запущены пользователем для получения немедленного доступа ко всем администраторским привилегиям.

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

154

К примерам проверок, которые могут быть проведены значительно быстрее или более надежно, используя сканирование на системном уровне, можно отнести проверки "слабых" паролей или поиск файлов хешированных паролей (.PWL) для Windows 95/98.

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

Сканеры системного уровня могут проверять сетевые сервисы для того, чтобы убедиться в том, что они корректно сконфигурированы и реализованы, включая сервисы NFS, HTTPD и FTP. Например, некорректно сконфигурированный сервис NFS может позволить хакеру, который уже проник в одну систему, "открыть дверь" ко всем другим NFS-системам во всей сети.

Сканеры системного уровня часто предоставляют более детальную информацию о хостах, работающих под управлением ОС Windows 95/98, чем она может быть получена при сканировании через сеть. Эти исследования являются важными вследствие большого количества “троянских коней” и “sniffer”-программ, доступных для атаки на эти операционные системы.

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

Сканеры системного уровня также являются великолепными инструментами в "блокировании" потенциальных атак на наиболее важные системы, такие как файловые, прикладные и web-сервера, сервера баз данных и МСЭ. В дополнение к тестированию стандартных характеристик защиты они также могут обнаруживать ошибки конфигурации, которые оставляют устройства открытыми для вторжения.

Средства анализа защищенности приложений пока существуют только для широко распространенных прикладных систем, типа Web-броузеры (Netscape Navigator, Microsoft Internet Explorer), СУБД (Microsoft SQL Server, Sybase Adaptive Server) и т.п.

155

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

Поскольку наибольшее распространение получили средства, функционирующие на уровне сети (системы SATAN, Internet Scanner, CyberCop Scanner, NetSonar и т.д.), то основное внимание будет уделено именно им.

Существует два основных механизма, при помощи которых сканер проверяет наличие уязвимости – сканирование (scan) и зондирование (probe).

Сканирование ("логический вывод", inference)– механизм пассивного анализа, с помощью которого сканер пытается определить наличие уязвимости без фактического подтверждения ее наличия – по косвенным признакам. Этот метод является наиболее быстрым и простым для реализации. Согласно компании Cisco этот процесс идентифицирует открытые порты, найденные на каждом сетевом устройстве, и собирает связанные с портами заголовки (banner), найденные при сканировании каждого порта. Каждый полученный заголовок сравнивается с таблицей правил определения сетевых устройств, операционных систем и потенциальных уязвимостей. На основе проведенного сравнения делается вывод о наличии или отсутствии уязвимости.

Зондирование ("подтверждение", verification) – механизм активного анализа, который позволяет убедиться, присутствует или нет на анализируемом узле уязвимость. Зондирование выполняется путем имитации атаки, использующей проверяемую уязвимость. Этот метод более медленный, чем "сканирование", но почти всегда гораздо более точный, чем он. Согласно компании Cisco этот процесс использует информацию, полученную в процессе сканирования для детального анализа каждого сетевого устройства. Этот процесс также использует известные методы реализации атак для того, чтобы полностью подтвердить предполагаемые уязвимости и обнаружить другие уязвимости, которые не могут быть обнаружены пассивными методами, например подверженность атакам типа "отказ в обслуживании" ("denial of service").

На практике указанные механизмы реализуются следующими несколькими методами.

156

1. "Проверка заголовков" (banner check)

Указанный механизм представляет собой ряд проверок типа "сканирование" и позволяет делать вывод об уязвимости, опираясь на информацию в заголовке ответа на запрос сканера. Типичный пример такой проверки – анализ заголовков программы Sendmail или FTP-сервера, позволяющий узнать их версию и на основе этой информации сделать вывод о наличии в них уязвимости.

Наиболее быстрый и простой для реализации метод проверки присутствия на сканируемом узле уязвимости. Однако за этой простотой скрывается немало проблем.

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

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

2. "Активные зондирующие проверки" (active probing check)

Также относятся к механизму "сканирования". Однако они основаны не на проверках версий программного обеспечения в заголовках, а на сравнении "цифрового слепка" (fingerprint) фрагмента программного обеспечения со слепком известной уязвимости. Аналогичным образом поступают антивирусные системы, сравнивая фрагменты сканируемого программного обеспечения с сигнатурами вирусов, хранящимися в специализированной базе данных. Разновидностью этого метода являются проверки контрольных сумм или даты сканируемого программного обеспечения, которые реализуются в сканерах, работающих на уровне операционной системы.

157

Специализированная база данных (в терминах компании Cisco - база данных по сетевой безопасности) содержит информацию об уязвимостях и способах их использовании (атаках). Эти данные дополняются сведениями о мерах их устранения, позволяющих снизить риск безопасности в случае их обнаружения. Зачастую эта база данных используется и системой анализа защищенности и системой обнаружения атак. По крайней мере, так поступают компании Cisco и ISS.

Этот метод также достаточно быстр, но реализуется труднее, чем "проверка заголовков".

3. "Имитация атак" (exploit check)

Данные проверки относятся к механизму "зондирования" и основаны на эксплуатации различных дефектов в программном обеспечении.

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

Однако существуют случаи, когда имитация атак не всегда может быть реализована. Такие случаи можно разделить на две категории: ситуации, в которых тест приводит к "отказу в обслуживании" анализируемого узла или сети, и ситуации, при которых уязвимость в принципе не годна для реализации атаки на сеть.

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

Однако, есть некоторые уязвимости (например, проверка подверженности атакам типа "Packet Storm"), которые просто не могут быть протестированы без возможного

158

выведения из строя сервиса или компьютера. В этом случае разработчики поступают следующим образом, – по умолчанию такие проверки выключены и пользователь может сам включить их, если желает. Таким образом, например, реализованы системы CyberCop Scanner и Internet Scanner. В последней системе такого рода проверки выделены в отдельную категорию "Denial of service" ("Отказ в обслуживании"). При включении любой из проверок этой группы система Internet Scanner выдает сообщение

"WARNING: These checks may crash or reboot scanned hosts" ("Внимание: эти проверки могут вывести из строя иди перезагрузить сканируемые узлы").

2.3.4.2.Средства обнаружения атак на систему (Intrusion Detection System, IDS)

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

1. Обнаружение атак на сетевом уровне

Системы обнаружения атак сетевого уровня используют в качестве источника данных для анализа необработанные (raw) сетевые пакеты. Как правило, IDS сетевого уровня используют сетевой адаптер, функционирующий в режиме "прослушивания " (promiscuous), и анализируют трафик в реальном масштабе времени по мере его прохождения через сегмент сети. Модуль распознавания атак использует четыре широко известных метода для распознавания сигнатуры атаки:

Соответствие трафика шаблону (сигнатуре), выражению или байткоду, характеризующих об атаке или подозрительном действии;

Контроль частоты событий или превышение пороговой величины;

Корреляция нескольких событий с низким приоритетом;

Обнаружение статистических аномалий.

Как только атака обнаружена, модуль реагирования предоставляет широкий набор вариантов уведомления, выдачи сигнала тревоги и реализации контрмер в ответ на атаку. Эти варианты изменяются от системы к системе, но, как правило, включают в себя: уведомление администратора через консоль или по электронной почте, завершение

159

соединения с атакующим узлом и/или запись сессии для последующего анализа и сбора доказательств.

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

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

2.Обнаружение атак, которые пропускаются на системном уровне. IDS сетевого уровня изучают заголовки сетевых пакетов на наличие подозрительной или враждебной деятельности. IDS системного уровня не работают с заголовками пакетов, следовательно, они не могут определять эти типы атак. Например, многие сетевые атаки типа "отказ в обслуживании" ("denial-of-service") и "фрагментированный пакет" (TearDrop) могут быть идентифицированы только путем анализа заголовков пакетов, по мере того, как они проходят через сеть. Этот тип атак может быть быстро идентифицирован с помощью IDS сетевого уровня, которая просматривает трафик в реальном масштабе времени. IDS сетевого уровня могут исследовать содержание тела данных пакета, отыскивая команды или определенный синтаксис, используемые в конкретных атаках. Например, когда хакер пытается использовать программу Back Orifice на системах, которые пока еще не поражены ею, то этот факт может быть обнаружен путем исследования именно содержания тела данных пакета. Как говорилось выше, системы системного уровня не работают на сетевом уровне, и поэтому не способны распознавать такие атаки.

3.Для хакера более трудно удалить следы своего присутствия. IDS сетевого уровня используют "живой" трафик при обнаружении атак в реальном масштабе времени.

160

Соседние файлы в папке Тестирование