Коллектив авторов - Защита от хакеров корпоративных сетей
}
}Как читатель может понять, программа проверки, написанная Муром (H D Moore) для сканера Nessus, активно попытается воспользоваться известной ей уязвимостью. В случае обнаружения уязвимого хоста будет послано сообщение. С другой стороны, программа может проверить ту же самую уязвимость путем простой проверки соответствующего ключа реестра:
HKLM,SOFTWAREMicrosoftWindows NTCurrentVersionHotfix%HOTFIX_NUMBER%
Последний способ проще, и вероятно, его легче запрограммировать, но у него есть несколько недостатков. Во-первых, для проверки ключа реестра требуется доступ с правами администратора. Во-вторых, рассматриваемый способ может как подтвердить факт инсталляции заплаты системы безопасности Hotfix, так и не подтвердить его, если заплата была установлена правильно или если система на самом деле неуязвима. Часто инсталляция этой возможности в Windows NT вынуждает операционную систему затребовать чтение файлов с оригинального инсталляционного CD-диска, что в значительной степени ведет к возврату в небезопасное состояние системы после ее первой инсталляции. Причем после инсталляции ключ останется в реестре, хотя исправляемая заплатой ошибка не будет еще исправлена патчем.
Современные традиционные инструментальные средства, столкнувшись с такой ситуацией, прекратят свою работу и отошлют отчет с результатами сканирования обратно оператору. Некоторые из новейших, ныне разрабатываемых инструментальных средств способны продвинуться на шаг дальше. Далее на примере той же самой уязвимости CVE ID 2000–0884 информационного сервера Интернет IIS будут объяснены подходы к ее разрешению, которые используются в некоторых разрабатываемых инструментальных средствах тестирования на проникновение.
Алгоритм работы подобных инструментальных средств предусматривает следующую последовательность действий. Сначала они попытаются определить, уязвима система или нет, используя для этого почти такой же сценарий, как и плагин (подключаемая программа) к сканеру Nessus. Затем найденная уязвимость будет использована для дальнейшего сбора информации о сканируемом хосте и его сети. Собрав необходимую информацию и используя другие уязвимости совместно с командами, даже простыми, перспективные инструментальные средства тестирования на проникновение попытаются проникнуть в систему и ее сеть дальше.
Многие консультирующие структуры, которые занимаются тестированием на проникновение, уже обладают инструментарием для выполнения этих задач, хотя ни одно из них в настоящее время недоступно ни как коммерческий, ни как свободно распространяемый продукт.Анализ коммерческих инструментальных средств
Сегодня на рынке доступны многочисленные коммерческие инструментальные средства. Покупка любого из них является задачей, которая может привести в замешательство и отпугнуть потенциального покупателя своей сложностью. Как и в случае с большинством других продуктов, группа маркетинга каждого производителя будет убеждать покупателя, что их программа лучшая и что она выполняет больше всех проверок. Проблема при покупке рассматриваемого инструментария состоит в том, что не все производители оценивают их по единым критериям. Финансируемая федеральным правительством США организация проектно-конструкторских работ Mitre (www.mitre.org) частично обратила внимание на эту проблему, создав словарь распространенных уязвимостей и дефектов CVE (Common Vulnerabilities and Exposures). Этот словарь является стандартизированным соглашением по именованию уязвимостей и дефектов информационной безопасности. Создание словаря CVE преследовало цель облегчить для производителей инструментария безопасности и конечных пользователей установку соответствия между информацией об уязвимости и многочисленными инструментальными средствами. В настоящее время ряд коммерческих и свободно распространяемых инструментальных средств установили или находятся в процессе установления соответствия между своими базами данных и идентификаторов словаря CVE. Следует отметить, что такое соответствие очень важно для оценки использования рассматриваемых инструментальных средств. В таблице 17.1 приведены некоторые сканеры и число обнаруживаемых ими уязвимостей.
Таблица 17.1.
Сканеры и число обнаруживаемых ими уязвимостей
Читатель может заметить, что если учитывать лишь число обнаруживаемых уязвимостей, то разница между сканерами приобретает драматический характер. Если бы каждый производитель находил и подсчитывал бы уязвимости, основываясь на словаре CVE, то это было бы идеальным выходом из сложившейся путаной ситуации. Это не такая уж простая задачка, поскольку для большинства производителей переход на словарь CVE означает не только пересмотр правил подсчета проверок, но и переписывание самих проверок. Производители постоянно находят новые способы продемонстрировать значительное преимущество своих программ. При использовании словаря CVE игра в проверки перестанет существовать, и сделается возможным справедливое сравнение инструментальных средств с помощью таких их характеристик, как процент ложных срабатываний, удобство и простота использования, эффективность сканирования и возможности выдачи отчетов. Именно эти показатели станут ключевыми показателями при определении лучшей программы.
Ниже приводится краткий перечень некоторых из критериев, которыми следует руководствоваться при покупке коммерческого сканера:
• процент ложных срабатываний;
• производительность;
• возможности выдачи отчетов;
• интерфейс пользователя.
Следует понять, что большинство коммерческих сканеров рождается неравными. Каждый из них имеет собственные достоинства и недостатки. Обычное дело – встретить администраторов безопасности, использующих в своей работе более одного коммерческого инструментального средства, потому что ни одно из них не годится на все случаи жизни. Даже бесповоротно решив купить сканер уязвимости, не следует торопиться с покупкой до тех пор, пока не будет произведена основательная оценка удовлетворения каждой программой специфических потребностей покупателя и его среды. Почти все производители программных средств, пытаясь продать свою программу, бесплатно предложат ее демонстрационную копию. Воспользуйтесь эти предложением. В худшем случае покупателю придется позвонить продавцу и попросить его помочь разрешить возникшие проблемы применения его программы. Если продавец не может ответить на вопросы покупателя в полном объеме, то переговорите с одним из разработчиков программы. Опыт автора общения с продавцами свидетельствует о полезности общения в том случае, если продавцы рады помочь покупателю и готовы ответить на любой его вопрос. Но не поддавайтесь на различные маркетинговые уловки. В конечном счете следует принять собственное решение относительно соответствия программы предъявляемым к ней требованиям.
По всей видимости, процент ложных срабатываний является наиболее раздражающим результатом использования сканеров уязвимости. Ложное срабатывание – это такая ситуация, когда сканер сообщает о существовании проблемы, хотя на самом деле ее нет. Высокий процент ложных срабатываний приводит к тому, что пользователь сканера уязвимости перестает ему доверять и начинает проверять, обычно вручную, каждую уязвимость, найденную сканером. Очевидно, что это трудоемкое непроизводительное занятие заставит пользователя задаться, по крайней мере, одним вопросом: «Зачем был куплен такой дорогой сканер?» С другой стороны, упущения – это такая ситуация, когда сканер не обнаруживает фактически существующую проблему. Это более опасная вещь. К счастью, упущения встречаются не так часто, и разработчику их легче исправить, но тем не менее следует знать об их существовании. Сказанное уже является причиной использования более одного сканера и, конечно, постоянного мониторинга своей системы.
Если читатель обслуживает большую сеть, то для него, вероятно, очень важна производительность сканера. На производительность сканера оказывают влияние много факторов. Двумя наиболее очевидными факторами являются механизм сканирования и выбранные производителем алгоритмы проверки существования уязвимости. В настоящее время большинство программ являются многопоточными приложениями, которые предусматривают их настройку пользователем. В результате пользователь может многое сделать для настройки производительности и сравнить производительность сканеров во время сканирования различных машин. Некоторые производители обратили внимание на эту проблему, предложив распределенные решения сканирования. В них используются многочисленные механизмы сканирования различных машин с выводом сообщений о результатах сканирования на центральную консоль отчетов. Теоретически это звучит как вполне приемлемое решение, но на практике приводит к проблемам, например к уменьшению пропускной способности сети и, конечно, к потенциальным проблемам защиты, если трафик не обрабатывается безопасным способом.