Сайт о телевидении

Сайт о телевидении

» » Выявление уязвимостей компьютерных сетей. Методы тестирования уязвимостей

Выявление уязвимостей компьютерных сетей. Методы тестирования уязвимостей

В данном разделе описывается предлагаемый метод обнаружения уязвимостей веб-приложений на основе контроля поведения веб-приложения.

Применение метода

Как было отмечено во Введении, существующие средства обнаружения уязвимостей используют методы белого и чёрного ящика. В первом случае производится анализ исходных коды и / или файлов конфигурации веб-приложения. Выявляются участки кода, потенциально содержащие уязвимость или небезопасные параметры конфигурации . Во втором случае осуществляется поиск уязвимостей «извне» - веб-приложению отсылаются HTTP-запросы и анализируются ответы. При этом встают задачи выявления структуры веб-приложения, определения типа сервера и построения тестового набора HTTP-запросов и последующего анализа HTTP-ответов . Но данные средства не осуществляют контроль поведения веб-приложения в смысле, определённом в Разделе 3, в то время как необнаруженные уязвимости могут проявиться именно в обращении к объектам окружения. Предлагаемый метод обнаружения уязвимостей предполагает сравнение поступающего HTTP-трафика со внутренней работой веб-приложения. Метод предназначен для обнаружения уязвимостей, приводящих к недопустимым с точки зрения профиля нормального поведения операциям веб-приложения над объектами окружения и / или изменению значений допустимых операций.

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

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

Методы тестирования уязвимостей

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

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

Доказательство возможности нападения

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

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

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

Написание программ, демонстрирующих проблему

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

Написание программ, демонстрирующих проблему, может быть отнесено к доказательству возможности нападения, поскольку в результате на практике демонстрируется существование уязвимости и детали атаки на нее. Программа может быть написана на разных языках: например, C, Perl или ассемблер.

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

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

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

Автоматизированный инструментарий безопасности

Автоматизированный инструментарий безопасности – это пакеты программ, разработанные производителями для автоматизированного тестирования систем безопасности. Обычно это программы с хорошим пользовательским интерфейсом и средствами генерации отчетов. Генерация отчетов позволяет пользователям инструментальных средств распечатать детальный список проблем и наметить пути их решения.

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

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

Различные производители выпускают различные средства автоматизированного тестирования. Среди них можно выделить CyberCop Security Scanner, выпущенный Network Associates, NetRecon компании Symantec и Internet Scanner – производитель Internet Security Systems. Свободно распространяется Nessus от Nessus Project. Более подробно с ними можно познакомиться в главе 17 книги.

Контроль версий

Контроль версий (versioning) – отказоустойчивый метод тестирования систем на наличие уязвимостей. По сравнению с ранее упомянутыми методами его не так часто используют, но он приводит к надежным результатам.

Контроль версий заключается в определении версии или редакции используемого программного обеспечения. Это может оказаться сложным, поэтому большинство программного обеспечения различается версиями, как, например, Windows 2000 Professional или Solaris 8, а многие из пакетов, помимо своей версии, характеризуются еще и версиями включаемых программ, например wget версии 1.7. На практике это часто приводит к необходимости решения сложных проблем, как, например, кошмар с дистрибутивом Linux, который является сборищем различных версий разного программного обеспечения.

Контроль версий осуществляется во время анализа ассортимента предлагаемых программ. Идея очень проста – ищутся версии программ с известными уязвимостями. Поиск выполняется различными способами. Один из способов состоит в выдаче команды отображения версии проверяемой программы, например команды uname, как это показано на рис. 3.7.

Рис. 3.7. Определение редакции ядра Linux с помощью команды uname-a

Другой метод использует предоставляемые производителем средства определения на вашей машине последней редакции системы (см. рис. 3.8).

Рис. 3.8. Проверка редакции Sun Solaris System при помощи команды showrev-p

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

Стандартные методы исследования

Уже говорилось о том, что 97 % злоумышленников – это неопытные пользователи-недоумки. Действительно опасные – остальные 3 %. У этой группы есть чему поучиться, при условии что полученные знания не будут использованы для достижения зловредных целей. Ланс Спитзнер (Lance Spitzner), один из наиболее хорошо подготовленных специалистов по вопросам безопасности (и вообще всесторонне развитый человек), некоторое время назад написал несколько работ, в которых все расставил по своим местам. Заимствуя принцип Сан Цзу (Sun Tzu) из его книги «Искусство войны», работы Спицнера были озаглавлены «Узнай своего врага». Они доступны по адресу http:// project.honeynet.org.

В первую очередь следует обратить внимание на интеллектуальные нападения. Нападение – акт агрессии, а интеллектуальность предполагает твердые навыки познавательной деятельности. При подготовке интеллектуальной атаки осуществляется сбор информации либо с использованием утечки информации, либо при помощи доступных ресурсов Интернета. Рассмотрим некоторые методы, основанные на использовании базы данных Whois, службы имен доменов (DNS – Domain Name System), программы Nmap и индексирования Web.

База данных Whois Whois – это общедоступная база данных, содержащая информацию о владельцах сетевых ресурсов. База данных Whois подразделяется на базы данных Whois доменов. com, biz и базу данных Американского регистра Интернет-адресов (ARIN – American Registry of Internet Numbers), которые содержат сведения об именах служб и сетях.

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

elliptic@ellipse:~$ whois cipherpunks.com

Whois Server Version 1.3

Domain names in the .com, .net, and .org domains can now be

with many different competing registrars. Go to http://

www.internic.net

for detailed information.

Domain Name: CIPHERPUNKS.COM

Registrar: ENOM, INC.

Whois Server: whois.enom.com

Referral URL: http://www.enom.com

Name Server: DNS1.ENOM.COM

Name Server: DNS2.ENOM.COM

Name Server: DNS3.ENOM.COM

Name Server: DNS4.ENOM.COM

The Registry database contains ONLY .COM, .NET, .ORG, .EDU

domains and Registrars.

Found InterNIC referral to whois.enom.com.

Access to eNom’s Whois information is for informational

purposes only. eNom makes this information available “ as is,”

and does not guarantee its accuracy. The compilation,

repackaging, dissemination or other use of eNom’s Whois

information in its entirety, or a substantial portion

thereof, is expressly prohibited without the prior written

consent of eNom, Inc. By accessing and using our Whois

information, you agree to these terms.

Domain name: cipherpunks.com

FAX: 770-393-1078

Montgomery, AL 36121

Elliptic Cipher ([email protected])

FAX: 770-393-1078

Montgomery, AL 36121

Elliptic Cipher ([email protected])

FAX: 770-393-1078

Montgomery, AL 36121

Elliptic Cipher ([email protected])

FAX: 770-393-1078

Montgomery, AL 36121

DOMAIN CREATED: 2000-11-12 23:57:56

DOMAIN EXPIRES: 2002-11-12 23:57:56

DNS4.ENOM.COM

Из примера видно, как можно узнать регистрационные сведения владельца домена Cipherpunks.com: его имя, адрес, контактные номера телефонов и факса.

С точки зрения безопасности, база данных Whois – находка для злоумышленника, потому что она содержит информацию, которая может быть использована для атаки на сервер и установления контроля над доменами. Например, названия серверов доменных имен.

В последнее время регулярно наблюдаются попытки злоумышленников использовать почтовые адреса лиц, зарегистрировавших домен. Для этого, в случае одновременного администрирования одного домена несколькими людьми, могут быть применены методы социотехники. Наиболее часто добытые таким способом сведения используются для распространения спама. Такие компании, как Network Solutions, даже продают подобную информацию фирмам «направленного маркетинга» (метод маркетинга, при котором компании рассылают образцы своей продукции потенциальным заказчикам), прославившимся распространением спама. Эти фирмы в буквальном смысле слова захламляют почтовый ящик жертвы различным мусором. То, как это происходит, описано в статье Newsbytes «ICANN To Gauge Privacy Concerns Over "Whois" Database», доступной в Интернете по адресу www.newsbytes.com/news/01/166711.html.

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

elliptic@ellipse:~$ whois -h whois.arin.net 66.38.151.10

GT Group Telecom Services Corp. (NETBLK-GROUPTELECOM-BLK-

3) GROUPTELECOM-BLK-3

66.38.128.0 – 66.38.255.255

Security Focus (NETBLK-GT-66-38-151-0) GT-66-38-151-0

66.38.151.0 – 66.38.151.63

To single out one record, look it up with “!xxx”, where xxx

is the handle, shown in parenthesis following the name,

which comes first.

The ARIN Registration Services Host contains ONLY Internet

Network Information: Networks, ASN’s, and related POC’s.

Please use the whois server at rs.internic.net for DOMAIN

related Information and whois.nic.mil for NIPRNET

Information.

Как можно заметить, адреса Интернет от 66.38.151.0 до 66.38.151.63 закреплены за SecurityFocus. Кроме того, эти адреса принадлежат GT Group Telecom.

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

Служба имен доменов

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

Источник уязвимостей был обнаружен в широко распространенной программе разрешения имен в Интернете BIND. Служба доменных имен в сети Интернет или BIND (Berkley Internet Name Domain – программа для поддержки сервера имен доменов, первоначально написанная для UNIX, в настоящее время является наиболее популярной реализацией DNS и перенесена практически на все платформы. BIND задает структуру баз данных, функции DNS и конфигурационные файлы, требующиеся для установки и функционирования сервера имен) ранее имела ряд уязвимостей, которые позволяли злоумышленнику получать удаленный административный доступ. Также известна уязвимость в старших версиях программы, при помощи которой можно подменять содержимое кэш DNS, дурача клиентов. Подмена состояла в изменении занесенного в кэш соответствия между доменом и его адресом. В результате пользователь вместо желаемого сайта мог попасть куда угодно. Далее рассмотрим методы определения уязвимостей, возникающие при работе DNS.

Утилита dig

dig – легкодоступный инструментарий, тесно связанный с программой BIND. В утилите предусмотрен как интерактивный режима запуска, так и удобный режим командной строки, позволяющий собирать сведения о DNS-сервере. Утилита dig выполняется под управлением многих свободно распространяемых операционных систем и может поставляться консорциумом программного обеспечения Интернет (Internet Software Consortium) совместно с BIND.

Утилита dig может быть использована для определения IP-адресов по их именам (прямое преобразование) и, наоборот, определения доменного имени хоста по его адресу (обратное преобразование). Это может оказаться очень полезным из-за того, что много приложений не смогут определить IP-адрес по имени, а для нормального функционирования им нужно указать явный адрес хоста.

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

Проанализируйте следующий пример использования утилиты dig:

elliptic@ellipse:~$ dig @pi.cipherpunks.com TXT CHAOS

; <<>> DiG 8.2 <<>> @pi.cipherpunks.com TXT CHAOS

; (1 server found)

;; res options: init recurs defnam dnsrch

;; ->>HEADER<<– opcode: QUERY, status: NOERROR, id: 6

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0,

;; QUERY SECTION:

;; version.bind, type = TXT, class = CHAOS

;; ANSWER SECTION:

VERSION.BIND. 0S CHAOS TXT “8.2.1”

;; Total query time: 172 msec

;; FROM: ellipse to SERVER: pi.cipherpunks.com 192.168.1.252

;; WHEN: Mon Dec 10 07:53:27 2001

;; MSG SIZE sent: 30 rcvd: 60

Из отчета можно определить версию BIND, установленную на pi в домене cipherpunks.com. А также то, что на pi запущена версия BIND, уязвимая для многих атак, одна из которых – переполнение NXT-буфера, известная с 1999 года и позволяющая злоумышленнику получить удаленный доступ к системе с правами программы BIND (обычно выполняющейся с правами привилегированного пользователя root). Сервисы преобразования имен зачастую могут сообщать больше информации, чем ожидается. Утилиты типа dig могут выполнять и иные DNS-сервисы, например передачу зоны. DNS использует передачу зоны для распределения записей преобразования имен между остальными хостами. Инициировав вручную передачу зоны, злоумышленник может получить ценную информацию о системах и преобразовании адресов серверами DNS.

Из книги Модель зрелости процессов разработки программного обеспечения автора Паулк Марк

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

Из книги Разгони свой сайт автора Мациевский Николай

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

Из книги Пакеты программ. Требования к качеству и тестирование автора Автор неизвестен

4.3 Протоколы тестирования Протоколы по каждому тесту должны содержать информацию, достаточную для повторения теста (Руководство ИСО/МЭК 25 ). Данная информация должна включать:- план тестирования или технические требования (спецификацию) к тестированию, содержащие

Из книги ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВСТРОЕННЫХ СИСТЕМ. Общие требования к разработке и документированию автора Госстандарт России

Из книги Защити свой компьютер на 100% от вирусов и хакеров автора Бойцев Олег Михайлович

Из книги Добавьте в корзину. Ключевые принципы повышения конверсии веб-сайтов автора Айзенберг Джеффри

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

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

Из книги Как тестируют в Google автора Уиттакер Джеймс

Основы тестирования С чего лучше начать? Как измерить эффективность после внесения нескольких изменений в настройки или оформление? Для оптимизации коэффициента конверсии недостаточно будет просто что-то где-то изменить. Необходимо:– внести правильные

Из книги Идеальный программист. Как стать профессионалом разработки ПО автора Мартин Роберт С.

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

Из книги автора

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

Из книги автора

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

Из книги автора

Будущее инфраструктуры тестирования Инфраструктура тестирования в Google все еще клиентская. Множество тестов Selenium и WebDriver, написанных на Java или Python, хранится в репозитории, собирается и разворачивается на выделенных виртуальных машинах с помощью shell-скриптов.

Из книги автора

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

Из книги автора

Рекомендуемые области для тестирования В тур студента для Chrome входят:- «Копировать» и «Вставить»: возможна ли передача разных типов данных через буфер обмена?- Перемещение офлайнового контента в облако: веб-страницы, изображения, текст и прочее.- Производительность:

Из книги автора

Рекомендуемые области для тестирования В тур международных звонков для Chrome входят:- Операционные системы: Windows, Mac и Linux.- Уровни доступа: высокие и низкие уровни привилегий.- Языки: сложные языки, системы письменности справа налево.- Сетевые настройки: прокси-сервер,

Из книги автора

8 Стратегии тестирования Профессиональные разработчики тестируют свой код. Однако тестирование не сводится к написанию нескольких модульных или приемочных тестов. Написание этих тестов – дело полезное, но отнюдь не достаточное. Любой группе профессиональных

уязвимости нарушитель может получить несанкционированный доступ к ИС путём взлома пароля при помощи метода полного перебора или подбора по словарю;
  • наличие в системе незаблокированных встроенных учётных записей пользователей, при помощи которых потенциальный нарушитель может собрать дополнительную информацию, необходимую для проведения атаки . Примерами таких учётных записей являются запись " Guest " в операционных системах или запись " Anonymous " в FTP -серверах;
  • неправильным образом установленные права доступа пользователей к информационным ресурсам ИС. В случае если в результате ошибки администратора пользователи, работающие с системой, имеют больше прав доступа, чем это необходимо для выполнения их функциональных обязанностей, то это может привести к несанкционированному использованию дополнительных полномочий для проведения атак. Например, если пользователи будут иметь права доступа на чтение содержимого исходных текстов серверных сценариев, выполняемых на стороне Web -сервера, то этим может воспользоваться потенциальный нарушитель для изучения алгоритмов работы механизмов защиты Web -приложений и поиска в них уязвимых мест;
  • наличие в ИС неиспользуемых, но потенциально опасных сетевых служб и программных компонентов . Так, например, большая часть сетевых серверных служб, таких как Web -серверы и серверы СУБД поставляются вместе с примерами программ, которые демонстрируют функциональные возможности этих продуктов. В некоторых случаях эти программы имеют высокий уровень привилегий в системе или содержат уязвимости , использование которых злоумышленником может привести к системы. Примерами таких программ являются образцы CGI -модулей, которые поставляются вместе с Web -приложениями, а также примеры хранимых процедур в серверах СУБД.
  • Методы выявления и устранения уязвимостей

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

    Выявление уязвимостей типа " buffer overflow ", " SQL Injection " и " format string " возможно либо путём анализа исходных текстов потенциально уязвимой программы, либо при помощи поведения анализа безопасности уже работающей программы. Первый способ предполагает экспертный анализ исходных текстов программы с целью поиска и исправления ошибок, которые были допущены на этапе её разработки. В большинстве случае для устранения выявленных уязвимостей необходимо добавление новых функций, обеспечивающих проверку корректности входных данных , поступающих в программу. Так, например, для исправления уязвимостей типа " buffer overflow " необходимо добавить процедуру проверки, которая должна следить за тем, чтобы объём входных данных не превышал максимальный размер переменной, для которой они предназначаются. Исправление уязвимости " SQL Injection " возможно путём защиты от вставки символа """, который в большинстве случаев и позволяет модифицировать исходный SQL - запрос . Для устранения уязвимостей типа " format string " необходимо использовать такой формат вызова функций, в котором форматирующая строка задаётся в явном виде разработчиком программы. Как правило, метод анализа исходных текстов отличается высокой трудоёмкостью и используется только в компаниях, которые занимаются разработкой ПО .

    Второй метод выявления уязвимостей используется для анализа защищённости ПО , которое уже установлено и функционирует в ИС. Метод предполагает использование специализированных программных средств - так называемых сканеров безопасности или систем анализа защищённости. Эти средства позволяют обнаруживать уязвимости на основе активного и пассивного методов. При помощи пассивного метода осуществляется сбор информации о настройках ПО , присутствующего в ИС и на основе этих данных делается вывод о наличии или отсутствии в системе уязвимостей . Так, например, если будет выявлено наличие ОС без установленного модуля Service Pack , то это означает, что она подвержена ряду уязвимостей . Активные методы анализа защищённости приложений имитируют информационные атаки и затем на основе анализа результатов делается вывод о наличии уязвимостей в системе. Совместное использование пассивных и активных методов анализа защищённости приложений ИС позволяет выявить не только уязвимости " buffer overflow ", " SQL Injection " и " format string ", но и эксплуатационные уязвимости конфигурации ПО . Устранение уязвимост ей в этом случае возможно путём установки соответствующих модулей обновления ( service packs , hotfixes , patches и др.) или изменения настроек используемого ПО . Рассмотренные активные и пассивные методы наиболее часто используются для анализа защищённости ПО , на основе которых функционируют ИС организаций.

    Что такое информационная атака?

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

    1. стадия рекогносцировки. На этой стадии нарушитель старается получить как можно больше информации об объекте атаки , на основе которой планируется дальнейшие этапы атаки . Примерами таких данных являются: тип и версия операционной системы, установленной на хостах ИС, список пользователей, зарегистрированных в системе, сведения об используемом прикладном программном обеспечении и др.;
    2. стадия вторжения в ИС. На этом этапе нарушитель получает несанкционированный доступ к ресурсам тех хостов, на которые совершается атака ;
    3. стадия атакующего воздействия на ИС. Данная стадия атаки направлена на достижение нарушителем тех целей, для которых и предпринималась атака . Примерами таких действий могут являться нарушение работоспособности ИС, кража конфиденциальной информации , хранимой в системе, удаление или модификация данных системы и др. При этом атакующий может также осуществлять действия, которые могут быть направлены на удаление следов его присутствия в ИС;
    4. стадия дальнейшего развития атаки . На этом этапе выполняются действия, которые необходимы для продолжения атаки на другие объекты ИС.


    Рис. 23.5.

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

    • информация о структуре и топологии ИС. Для получения информации этого типа нарушитель может воспользоваться стандартными утилитами типа " traceroute ", входящими в состав практически любой операционной системы (ОС). Эти утилиты позволяют сформировать список IP-адресов маршрутизаторов , через которые проходят пакеты от компьютера нарушителя до хоста, который выступает в роли объекта нападения. Злоумышленник также может получить необходимую ему информацию о структуре ИС путём обращения к DNS -серверу, на котором могут храниться данные о хостах ИС;
    • информация о типе ОС, установленной в ИС. Один из наиболее распространённых методов определения типа ОС основан на том факте, что разные системы по-разному реализуют требования стандартов RFC , в которых определены правила взаимодействия на основе различных сетевых протоколов . Таким образом, при формировании одних и тех же сетевых запросов разные ОС в ответ отправляют отличные друг от друга данные, на основе которых можно с большой долей вероятности определить характеристики используемой ОС. Данный метод также позволяет определить тип аппаратной платформы, на основе которой функционирует та или иная ОС;
    • информация о типе прикладных сервисов, присутствующих в ИС. Нарушитель может определить какие

    Технология анализа защищенности

    Технология анализа защищённости представляет собой совокупность методов обнаружения технологических и эксплуатационных уязвимостей ПО АС. Данная технология реализуется при помощи систем анализа защищённости (security assessment systems) или сканеров безопасности (security scanners) , представляющих собой специализированное ПО. Рассмотрим более подробно методы выявления технологических и эксплуатационных уязвимостей и проанализируем возможность использования существующих средств, реализующих эти методы, для выявления уязвимостей ПО узлов ГСПД и ЦУС. Выявление и своевременное устранение обнаруженных технологических и эксплуатационных уязвимостей в ПО узлов ГСПД и ЦУС позволит предотвратить следующие типы ВН:

    ВН, направленные на получение НСД к информационным ресурсам и инфраструктурам ЦУС и узлов ГСПД;

    ВН, направленные на нарушение работоспособности ЦУС и узлов ГСПД;

    ВН, направленные на активизацию «закладок», внедрённых в По узлов ГСПД и ЦУС.

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

    Путём анализа исходных текстов ПО АС;

    При помощи исполняемого кода ПО АС;

    Посредством имитации ВН на ПО АС.

    Обнаружение технологических уязвимостей ПО АС путём анализа исходных текстов ПО, как правило, осуществляется при помощи составления алгоритма работы программы и последующей проверки его правильности. Алгоритм работы программы АС может быть составлен в виде блок-схем или формализован при помощи различных математических аппаратов. Так, например, системы обнаружения уязвимостей АСТМА (Ассемблер - Тензорно-Множественный Аппарат) и СОТМА (Словесное Описание - Тензорно-Множественный Аппарат) , разработанные в пензенском филиале НТЦ «Атлас», в процессе анализа исходных текстов программы используют тензорно-множественный математический аппарат. Другим примером системы анализа защищённости такого типа является анализатор исходный текстов Си и Си++ программ (АИСТ-С) , разработанный в ЗАО «ЦБИ-Сервис». Главным недостатком данного метода обнаружения уязвимостей является высокая сложность его практической реализации, а также отсутствие чётко определённой методики анализа исходных текстов, позволявшей бы гарантировать отсутствие уязвимостей в анализируемом коде ПО АС.

    Существующие средства анализа защищённости, реализующие метод анализа исходных текстов ПО, не могут быть использованы для обнаружения технологических уязвимостей ПО узлов ГСПД и ЦУС, поскольку основная часть исходных текстов ПО узлов ГСПД и ЦУС является «закрытой», т. е. интеллектуальной собственностью производителей ПО, и не подлежит распространению вне рамок компании-разработчика. Процедура же дизассемблирования, которая может быть применена для получения исходного кода ПО узлов ГСПД и ЦУС из исполняемых модулей программ, не может однозначно гарантировать, что полученный в результате этой процедуры исходный код соответствует дизассемблированной программе. Это связано с тем, что в процессе дизассемблирования не всегда имеется возможность определить разницу между исполняемыми командами и данными программы.



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

    Существующие средства обнаружения технологических уязвимостей при помощи анализа исполняемого кода могут быть использованы только для анализа защищённости ПО ЦУС, поскольку оно базируется на стандартных ОС, таких как Windows и UNIX. В настоящее время на отечественном рынке ИБ отсутствуют средства анализа защищённости ПО узлов ГСПД, которые используют специализированные ОС (например, ОС Cisco IOS маршрутизаторов и коммутаторов компании Cisco).

    Последний способ обнаружения технологических уязвимостей заключается в имитации ВН на АС и анализе результатов моделирования этих ВН. В случае, если процесс моделирования ВН завершается успехом, то система делает вывод о наличии уязвимости в ПО тестируемой АС. Примерами систем анализа защищённости этого класса являются: анализатор уязвимостей «НКВД» (ООО «Кировский региональный центр деловой информации»), система анализа защищённости Cisco Secure Scanner (компания «Cisco Systems»), программный комплекс анализа защищённости Internet Scanner (компания «Internet Security Systems»), сканер безопасности Nessus (проект «Nessus Project») и др. К преимуществам этого метода обнаружения уязвимостей можно отнести простоту его реализации, а к недостаткам - невозможность обнаружения уязвимостей АС, которые отсутствуют в базе данных системы анализа защищённости.

    Рассмотренные выше средства анализа защищённости, функционирующие посредством имитации ВН, могут быть использованы для выявления уязвимостей ПО как узлов ГСПД, так и ЦУС. Тем не менее необходимо отметить, что в настоящее время системы этого класса, представленные на отечественном рынке ИБ, могут применяться только в ГСПД функционирующих на основе стека протоколов TCP/IP.

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

    уязвимость
    — обозначает подверженность системы компрометации, например несанкционированному доступу, раскрытию конфиденциальной информации и т. п.;

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

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

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

    Компьютерные системы являются несовершенными, они уязвимы для многих угроз, а ущерб от атак может оказаться значительным. Атаки бывают разнообразными: одни нарушают конфиденциальность или целостность данных, другие способны сделать систему недоступной для пользователей. Несмотря на снижение по сравнению с прошлым годом убытков от атак, величина их все еще остается значительной. Согласно данным Computer Security Institute, убытки от вирусов стоят на третьем месте с долей 13%, после кражи информации и атак, вызывающих отказ в обслуживании (DoS). Однако дать их точную оценку в сфере компьютерной безопасности невозможно, поскольку многие потери никогда не будут обнаружены, данные о других просто прячутся в дальний ящик стола и забываются или скрываются от руководства во избежание неприятностей.

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

    Следующая задача, с которой сталкивается каждый сетевой администратор после обнаружения уязвимости, — это очередность установки заплаток, и она является сложнее предыдущей. Каждый раз существует риск несовместимости внесенного изменения с функционирующим ПО. Многообразие архитектур и рост корпоративных сетей повышают сложность этой задачи, требуя от компаний значительных средств и времени. Управление заплатками — часть большой главы "Управление конфигурациями" из библиотеки ITIL (IT Infrastructure Library) и, согласно исследованиям META Group, стоит на третьем месте в списке приоритетов ИТ-менеджеров (после мониторинга сети и распространения ПО на рабочие станции). Поиск уязвимостей — одна из задач аудита безопасности, куда также может входить тест на вторжение в систему. В свою очередь, и обнаруженные в результаты аудита уязвимости являются входными данными для оценки имеющихся рисков.

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

    Часть отчета Nessus о найденных уязвимостях в Unix-системе

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

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

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

    1. Ложные срабатывания. Наиболее подходящее средство борьбы здесь — ручная проверка каждой найденной критической уязвимости путем инспекции индивидуальных систем, но она занимает длительное время. Использование нескольких анализаторов также уменьшит этот показатель. Вы получите разные результаты, если, например, попробуете сканировать сеть Windows с правами администратора или обычного пользователя.
    2. Пропуск уязвимостей. Лучший способ решить эту проблему — использовать последние версии программ с обновленными подключаемыми модулями и запустить два-три сканера. Ведь каждый из них может найти лишь то, что знает.
    3. Недостаточная интеллектуальность. Лучше всего полагаться на мнение аналитика безопасности для принятия окончательных решений, чем на кусок программного кода, который не может видеть и оценить глобально состояние защищенности вашей организации.

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

    Активные сканеры

    До нажатия кнопки Старт вам придется сделать несколько подготовительных шагов. В первую очередь необходимо ограничить число проверок самыми важными и имеющими отношение к вашей корпоративной сети. После нескольких итераций количество проверок уменьшится с тысяч до нескольких сотен. Опыт также вскоре научит вас, что некоторые проверки чаще дают ложное срабатывание в определенных ситуациях, чем другие. Здесь следует отметить один существенный момент — не стоит полагаться на результаты только автоматизированного сканирования как основы для отчета о результатах аудита. Обнаруженные уязвимости являются лишь исходными данными для проведения дальнейшего расследования путем дополнительного тестирования или непосредственного инспектирования индивидуальных систем. Здесь можно порекомендовать использование нескольких сканеров безопасности или других средств проверки, например бесплатной утилиты nmap для анализа открытых портов или MBSA и HFNETCHECK от Microsoft для среды Windows.

    Мы начнем свой краткий обзор активных сканеров с самого популярного некоммерческого продукта — Nessus для ОС Unix— и NeWT (Nessus on Windows Technology) — его аналога для платформы Windows. Оба бесплатны, однако если требуется сканировать сеть размером больше, чем класс C, и при этом пользоваться технической поддержкой производителя, то лицензию NeWT придется оплатить. Nessus является воистину коллективным проектом — более 50 тыс. пользователей внесли в него те или иные модификации за всю историю его существования.

    Nessus/NeWT имеют в своем арсенале такое количество опций для сканирования и конфигурации, что отпугивают многих. Оба продукта осуществляют почти 3 тыс. уникальных тестов, которые позволяют аналитику безопасности проверить самые разнообразные уязвимости, в частности backdoors, CGI-злоупотребления, DoS, RPC, SNMP, SMTP, получение доступа к удаленному компьютеру, в том числе и привилегированного, дыр в secure shell и Web-серверах. У обоих продуктов присутствует опция запрета выполнения опасных проверок, которые могут привести к сбоям тестируемых сервисов, зависанию и даже краху системы.

    Несмотря на аналогичные технологии сканирования, продукты все же несколько разнятся. Nessus основана на клиент-серверной архитектуре, и пользователям доступна административная консоль, которая позволяет запускать на выполнение задачи сканирования, сохраняя при этом базы данных на других машинах, а не на сервере. Графическая консоль пользователя может базироваться на Java, Win32 или X11. NeWT хранит результаты проверок на той машине, где была установлена. Для получения более точной и детальной информации о системах в Windows-домене мы рекомендуем создать доменную группу и пользователя с привилегированными правами доступа к удаленному реестру, что позволит определить версию пакета обновлений (Service Pack) на удаленных системах и уязвимости Internet Explorer.

    Результаты сканирования могут быть представлены в различных форматах (в виде HTML-файла для NeWT) и классифицируются по степеням опасности обнаруженных уязвимостей: высокая, средняя, низкая и информационное сообщение. Каждая уязвимость сопровождается текстом, объясняющим суть проблемы и описывающим способ ее устранения. Это дополняется ссылками на список Common Vulnerabilities and Exposures (CVE), и Microsoft TechNet , предлагая администраторам доступ к дополнительной информации и заплаткам.

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

    Одним из главных конкурентов рассмотренных продуктов является Retina Network Security Scanner разработки компании eEye Digital Security. Это полнофункциональный сканер безопасности с набором разнообразных тестов для платформ Unix и Windows, он также включает возможности автоматической коррекции многих обнаруженных проблем и создания собственных задач аудита.

    С помощью функции автоматической коррекции администраторы с соответствующими правами могут легко исправлять реестр и решать проблемы доступа на удаленных узлах в сети. Также впечатляет функция аудита, позволяющая разработать свои запросы об обнаруженных ранее уязвимостях, которые вы вынуждены временно оставить в вашей сети. Как и при работе с Nessus, есть возможность выбрать один из имеющихся в наборе аудитов или создавать свои для осуществления специфических проверок. Сканирование проходит очень быстро и достаточно аккуратно, однако результаты иногда противоречат друг другу. Например, порты, фигурирующие как открытые в одном сеансе сканирования, в другом могут быть определены как закрытые (при отсутствии каких-либо изменений), бывает, что устраненные проблемы возвращаются в отчетах как существующие. Справедливости ради следует отметить, что при этом ведется детальный журнал, помогающий определить, были ли установлены те или иные заплатки. Некоторые уязвимости могут быть проверены только в том случае, если попробовать реализовать угрозу посредством специальных программ (exploits), что несет в себе большой риск. Поэтому лучше использовать дополнительные средства для проверок, например утилиту nmap, которую Retina применяет для сканирования портов в своем движке. Замечено, что сканер выдает ряд ложных срабатываний, если пользователь имеет права доступа к определенной системе или является администратором домена в сетях Windows. Однако без аутентификации продукт предоставляет надежные результаты, что, возможно, связано с проверкой наличия определенных файлов в системе, а не проверкой работы соответствующих сервисов.

    Retina представляет результаты сканирования в удобной для восприятия форме, по которой легко передвигаться, и предлагает ссылки на BugTrack, CVE и Microsoft Security bulletin для каждой из уязвимостей. Отчет также можно перекроить на свой лад — довольно редкая черта среди сканеров. Retina устанавливается только на платформе Windows.

    C помощью GFI LANguard Network Security Scanner пользователи в состоянии решить задачу сканирования начального уровня. Этому продукту недостает ряда расширенных возможностей, как у Retina, и у него нет такого количества тестов и такой глубины проверки некоторых критичных мест и сервисов, как у Nessus/NeWT. Ложным срабатыванием болеют все сканеры, и GFI не исключение (например, по его мнению, проблема SNMP public community присуща любому сетевому устройству).

    Подобно Retina, GFI группирует результаты по категориям и уязвимостям с рекомендацией по их устранению и ссылками на BugTrack, CVE и Microsoft Security bulletin. Генератор отчетов также позволяет создать и сформировать персональные отчеты и сравнить отчеты за два периода для определения изменений в найденных уязвимостях.

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

    Такие сканеры, как SARA, SAINT, Netrecon, NetIQ Security Analyzer, xSpider, также заслуживают внимания, однако остались за пределами нашего обзора. Автору представляется наиболее перспективным применение комбинации Nessus/NeWT и Retina, что является выбором многих пользователей при необходимости сочетать эффективность с производительностью.

    Пассивные сканеры

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

    Пассивный сканер уязвимостей NeVO в действии
    Взаимодействие IDS-сенсоров и пассивных сканеров

    Пассивные сканеры устанавливаются точно так же, как системы IDS или анализаторы пакетов (sniffers), и постоянно осуществляют мониторинг трафика. Большие предприятия не в состоянии сканировать так часто, как им это нужно, и пассивные сканеры дополняют активные в решении данной задачи.

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

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

    Другая важная задача, стоящая перед пассивными сканерами, — корреляция событий от IDS. Последние известны своими проблемами не меньше, чем своими успехами, а именно — ложными срабатываниями, которые в состоянии свести многих аналитиков безопасности с ума и вызывают желание отключить IDS вообще. Реакция производителей не заставила себя ждать. Новая технология сопоставляет приходящую информацию об атаках со знаниями о сетевой технологии, операционных системах и приложениях. Три компании —Internet Security Systems, Cisco и Tenable Network Security — вышли на рынок с продуктами, спроектированными для превращения IDS в более надежную и интеллектуальную технологию, минимизирующую число сигнатур и тревожных сообщений. Например, нет смысла генерировать тревожное сообщение об атаке на систему вируса/червя, против которого она защищена соответствующей заплаткой. Таким образом, фильтрация ненужных сообщений уменьшает время, необходимое на их проверку, с часов до минут ежедневно. Однако, как и всякая фильтрующая система, данная технология имеет свои собственные ложные срабатывания, иногда пропуская важную информацию. Вкратце опишем каждое из решений.

    Tenable Lightning Console позволяет осуществлять корреляцию уязвимостей, обнаруженных активными (NeWT/Nessus) и пассивными (NeVO) сканерами, с событиями, которые генерируют системы IDS (Snort, Dragon, ISS, Intrushield и др.). Lightning Console классифицирует каждое событие как опасное или неопасное, что может привести к пропуску критической проблемы в том случае, если сканер безопасности отстает от IDS в сборе актуальной информации. Эта проблема значительно уменьшается при комбинировании активного и пассивного сканирований.

    ISS Fusion — продукт, подавляющий или пропускающий тревожные сообщения от сенсоров IDS Proventia Appliance или RealSecure, основываясь на информации, собранной ISS Internet Scanner. Такое решение объединяет управление посредством консоли ISS Site Protector, которая контролирует сенсоры NIDS и HIDS и Internet Scanner. ISS Fusion, пользуясь информацией, полученной от Internet Scanner, пытается оценить возможность успешной атаки с высокой степенью вероятности. Программа классифицирует тревожные сообщения по четырем уровням — "Вероятность успеха", "Ве-роятность неудачи", "Атака провалилась" и "Не знаю". SiteProtector, располагая большим числом мощных фильтров, предлагает аналитику почти неограниченное число опций для работы с событиями.

    Cisco Threat Response — самостоятельный продукт в линейке компании. Он может быть интегрирован с управляющей консолью IDS-сенсора и с другими продуктами класса VPN и Security Management Solution. Кроме сенсоров Cisco, также поддерживается ISS Real Secure. Главный недостаток CTR — совмещение поиска уязвимостей и управления в одной компьютерной системе, осложняющее сбор информации и сканирование в больших сетях, особенно разделенных на подсети с помощью брандмауэров и маршрутизаторов.

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

    Все три продукта обеспечивают различные подходы к зарождающейся технологии target-based IDS. Fusion всецело зависит от периодического активного сканирования с использованием Internet Scanner, в отличие от CTR, сканирующего жертву после получения тревожного сообщения об атаке, и от Lightning Console, которая использует как пассивное, так и активное сканирование, работая близко к режиму реального времени и достигая наиболее оптимального соотношения скорость реакции/точность.

    Скорее всего, в будущем нас ждут продукты, объединяющие технологии пассивного сканирования с технологией IDS/IPS в одной коробке и обеспечивающие более дешевое решение.

    Выбор должен быть взвешенным

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

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

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

    Небольшим компаниям может быть полезна автоматическая инсталляция заплаток, встроенная в сканеры, однако крупные фирмы предпочтут специализированные системы управления, такие как IBM Tivoli, Criston Precision, CA Unicenter.

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

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

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