Использование сканера безопасности Nessus

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

Алгоритм работы сканера безопасности заключается в следующем: опе-

ратор задает некоторый набор IP-адресов или DNS-имен узлов, которые необ-

ходимо просканировать. После этого сканер производит проверку доступно- сти данного узла, затем идентифицирует открытые порты и определяет запу- щенные сетевые сервисы.

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

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

вающие результаты инструментальной проверки.

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

Сканер безопасности не пытается «взломать» обследуемый узел, тем не менее производимые тесты могут быть опасными в том плане, что способны

вызвать отказ в обслуживании. Кроме того, некоторые сканеры, такие как LANguard Network Security Scanner, позволяют выполнять атаку «удаленный подбор пароля» для  доступа к  общим файлам и  папкам (в  ОС  семейства

Windows NT это эквивалентно атаке на учетную запись пользователя).

В качестве иллюстрации рассмотрим широко известный и популярный сканер Nessus. Программная часть Nessus версии 3.0 является свободно рас-

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

применяться лишь для сканирования узлов в подсетях класса C.

Структурно Nessus состоит из серверной части, клиентской части и на-

бора подключаемых модулей (plug-ins). Серверная часть обеспечивает взаи-

модействие с сетевой средой, запуск выбранных тестов, а также получение и первичную обработку их результатов. Подключаемые модули — это сценарии тестов, написанные на специально разработанном для этого интерпретируе- мом языке NASL (Nessus Attack Scripting Language). Клиентская часть обеспе- чивает взаимодействие пользователя с сервером, выбор и настройку тестов, а также генерацию отчетов о сканировании. Обмен между клиентской и сервер- ной  частями  ведется  по  прикладному  протоколу  NTP  (Nessus  Transport Protocol) и может быть как открытым (без шифрования передаваемого трафи- ка), так и закрытым (с шифрованием по одному из протоколов SSL или TLS). По умолчанию сервер использует порт 1241.

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

Рассмотрим применение сканера безопасности Nessus на примере вер-

сии 3.0.3 для ОС семейства Microsoft Windows. Установка данного сканера производится стандартным образом. Обязательным условием его нормальной работы является наличие функционирующей службы Tenable Nessus (рис. 8.8), которая устанавливается вместе со сканером.

Чтобы  начать  сканирование,  необходимо  нажать  кнопку  «Start  Scan Task» в меню программы. Исходными данными для сканирования узла явля- ются его IP-адрес (рис. 8.9), а также совокупность тестов, которые необходи-

мо выполнить (рис. 8.10).

Рис. 8.8.  Служба Tenable Nessus в перечне служб

Чтобы выбрать все тесты, за исключением «опасных» (тех, что могут вывести узел из работоспособного состояния), и использовать при этом на- стройки «по умолчанию», необходимо выбрать пункт «Enable all but dangerous plugins with default settings». При наличии уверенности в том, что временный выход узла из строя не нанесет никакого ущерба, можно выбрать пункт «En- able all plugins with default settings». При необходимости определить конкрет- ный список проводимых тестов, а  также потребности изменить настройки программы нужно выбирать пункт «Define my policy». Следует заметить, что в этом случае сделанные настройки и выбранный список тестов будут действо- вать лишь в ходе одной операции сканирования. Поэтому более разумным яв- ляется предварительное создание собственной политики сканирования с ис- пользованием диалогового окна «Manage Policies» (рис. 8.11), которое откры- вается из меню программы. Под политикой понимается набор тестов и на- строек программы.

Чтобы создать новую политику, необходимо нажать кнопку «Add a new policy», а затем ввести ее имя. Для изменения настроек необходимо нажать

«Edit Settings», а для выбора списка тестов — «Edit Plugins». Диалоговое окно с настройками программы показано на рис. 8.12.

Рис. 8.9.  Указание IP-адреса сканируемого узла

Рис. 8.10.  Отключение опасных тестов

Рис. 8.11.  Создание политики сканирования

Рис. 8.12.  Изменение настроек политики сканирования

Все настройки снабжены пояснениями, поэтому детально рассматри- ваться  не  будут.  Чтобы  вызвать  соответствующее пояснение,  необходимо щелкнуть на названии настройки (курсор при этом примет форму стрелки с вопросительным знаком). Тем не менее следует отдельно остановиться на на- стройке «Safe Check». Включение данной опции отменяет использование тес- тов, которые могут вызвать отказ узла, подвергающегося сканированию. В не- зарегистрированной версии Nessus 3.0.3 для Windows эта опция не действует, и «опасные» тесты вообще не проводятся.

Диалоговое окно, в котором осуществляется выбор тестов безопасности

(подключаемых модулей), представлено на рис. 8.13. В левой части экрана отображаются группы, на которые поделены все тесты, а в правой, при выборе соответствующей группы, — собственно список тестов. Подключаемые моду- ли сгруппированы по типам уязвимостей и используемому на сканируемом узле программному обеспечению (тип операционной системы, наличие web- сервера, FTP-сервера и пр.).

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

«Use a predefined policy» и далее — требуемую политику.

Рис. 8.13.  Выбор подключаемых модулей

Диалоговое окно Nessus в процессе сканирования показано на рис. 8.14. Сценарий теста для каждой уязвимости в общем случае уникален. Иногда это лишь подключение к соответствующему порту и получение первичной ин- формации о программном обеспечении сервера, в других случаях дополни- тельно выполняется ряд запросов, чтобы установить, доступны ли функции, в реализациях которых существуют уязвимости. Существует отдельная катего- рия «опасных» тестов, которые представляют собой реализации атак на отказ в обслуживании (классическим примером является WinNuke). В версии Nessus для Windows сканирование портов и обнаружение узлов в сети — это тесты группы «Port scanners», которые можно включить или выключить.

Результаты работы сканера представляются пользователю в виде отчета,

который можно экспортировать в документы формата PDF, HTML или в тек-

стовые файлы. Пример окна Internet Explorer с фрагментом отчета о сканиро- вании показан на рис. 8.15. В качестве сканируемого узла использовалась ра- бочая станция с установленной операционной системой Windows 2000 Profes- sional Service Pack 4.

Рис. 8.14.  Диалоговое окно Nessus в процессе сканирования

Рассмотрим, как следует интерпретировать результаты сканирования. Для каждого узла в отчете присутствует запись с обобщенными результатами сканирования (рис. 8.16), в которой приведено количество открытых портов (8

Open Ports), примечаний с дополнительной информацией (27 Notes), преду-

преждений (2 Warnings) и серьезных уязвимостей (10 Holes).

Для каждой обнаруженной уязвимости и для каждого успешного теста в отчете   присутствует   запись   со   следующими   элементами   (рис.   8.17):

«Synopsis» — краткий обзор уязвимости, «Description» — ее описание, «Solu- tion» — ссылка на web-страницу с детальным описанием уязвимости и мер, которые необходимо предпринять для ее устранения, «Risk Factor» — инфор-

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

Фактор риска вычисляется в соответствии со стандартом CVSS (Com- mon Vulnerability Scoping System) и представляет собой числовую величину от

0 до 10, где 10 – максимальный уровень опасности, соответствующий крити- ческой уязвимости. CVSS – открытый стандарт для подсчета «базового уров- ня», который количественно представляет величину угрозы от уязвимости.

«Базовый уровень» не учитывает количество инцидентов и потерь, связанных с уязвимостью. Этот стандарт также предусматривает возможность подсчета таких уровней, как «временный уровень» (связан со степенью известности и

количеством использования уязвимости) и «уровень, зависящий от окруже- ния» (вычисляется на базе информации о системе, на которой находится уяз- вимость).

Рис. 8.15.  Фрагмент отчета о сканировании

Рис. 8.16.  Пример обобщенных результатов сканирования

Рис. 8.17.  Пример описания уязвимости

Расчет «базового уровня» выполняется по следующей формуле:

BS = 10 * AV* AC* Au * ((C1 * C2) + (I1 * I2) + (A1 * A2)), где результат округляется до ближайшего целого числа; BS (Base Score) – величина «базового уровня»;

AV (Access Vector – вектор доступа): 0,7 — в случае необходимости локально- го доступа для использования уязвимости; 1 — в случае возможности удален- ного использования уязвимости;

AC (Access Complexity — сложность доступа и реализации атаки): 0,8 — вы-

сокая, 1 — низкая;

Au (Authentication — аутентификация): 0,6 — требуется, 1 — не требуется;

С1 (Confidentiality Impact – влияние на конфиденциальность): 0 — отсутству-

ет, 0,7 — частично присутствует, 1 — полностью может нарушить конфиден-

циальность;

I1 (Integrity Impact — влияние на целостность): 0 — отсутствует, 0,7 — час-

тично присутствует, 1 — полностью может нарушить целостность;

A1 (Availability Impact — влияние на доступность): 0 — отсутствует, 0,7 —

частично присутствует, 1 — полностью может нарушить доступность;

C2, I2, A2 — коэффициенты воздействия угрозы (Impact Bias) на конфиденци-

альность, целостность и доступность. Коэффициенты могут принимать значе-

ния: (1/3;1/3;1/3) — уязвимость в равной степени распространяется на все свойства; (0,5; 0,25; 0,25) — уязвимость в большей степени затрагивает кон- фиденциальность; (0,25; 0,5; 0,25) – уязвимость в большей степени затрагива- ет целостность; (0,25; 0,25; 0,5) — уязвимость в большей степени затрагивает доступность.

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

Проведем расчет «базового уровня» на примере найденной уязвимости:

BS = 10*1*1*1*(1*1/3+1*1/3+1*1/3) = 10. Данный расчет соответствует стро-

ке в описании уязвимости: AV:R/AC:L/Au:NR/C:C/A:C/I:C/B:N.

Образец оформления перечня найденных уязвимостей

Таблица 8.3

IP-адрес: 192.168.10.1

Порт: 445/tcp

Степень опасности: критическая

Идентификация уязвимости:

CVE: CVE-2003-0715, CVE-2003-0528, CVE-2003-0605

BID: 8458, 8460

IAVA: 2003-A-0012

Краткий обзор:

Существует возможность удаленного выполнения произвольного программ-

ного кода на данном сетевом узле

Описание:

На узле установлена операционная система Windows, имеющая уязвимость в

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

Меры по устранению:

Требуется перенастройка операционной системы и/или установка обновле-

ний безопасности.

Подробная информация может быть получена с официального web-сайта Mi- crosoft: http://www.microsoft.com/technet/security/bulletin/MS03-039.msps.

Строка с заголовком CVE содержит номер уязвимости в базе данных CVE (Common Vulnerabilities and Exposures — общеизвестные уязвимости и воздействия). CVE представляет собой тезаурус известных уязвимостей, дос-

туп  к  которому может быть получен по  адресу «http://cve.mitre.org». CVE представляет собой не базу уязвимостей, а способ их именования. Например, для уязвимости с именем «CVE-2005-1206» элемент «CVE» указывает на то, что уязвимость уже получила имя «CVE», иначе использовался бы элемент

«CAN» — кандидат на имя, 2005 — год, в котором произошло утверждение.

Информацию об уязвимости можно найти, используя имя CVE. Уязвимости из     примера     будет     соответствовать     ссылка     «http://cve.mitre.org/cgi- bin/cvename.cgi?name=CVE-2005-1206».

BID (Bugtraq ID) — номер уязвимости в базе данных BugTraq (адрес в

сети Интернет: «http://www.securityfocus.com»). Раздел «Other references» со- держит ссылки на другие базы данных, в которых зарегистрирована данная уязвимость, например IAVA (Information Assurance Vulnerability Alert) — ме- тод  идентификации  уязвимостей,  используемый  Министерством  обороны США. В последней строке (Plugin ID) содержится уникальный номер подклю- чаемого модуля Nessus, который использовался при тестировании данной уяз- вимости.

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

этапе проведения аудита. Для получения представления о том, какая инфор- мация циркулирует в сети в процессе сканирования, используется анализатор сетевого трафика Ethereal. Факт сканирования предлагается обнаружить при

помощи системы обнаружения атак Snort. По результатам сканирования необ-

ходимо заполнить отчет по образцу, приведенному в табл. 8.3.

ВЫПОЛНИТЬ!

9.   Установить на локальном компьютере IP-адрес таким образом, чтобы  он оказался внутри исследуемой подсети (192.168.10.0/24). Можно  выбрать любой свободный IP-адрес.

10. Запустить серверную часть (службу) Nessus при помощи оснастки «Служ-

бы» (Пуск ? Настройка ? Администрирование ? Службы). Запустить

клиентскую часть Nessus.

11. Очистить    log-файлы    СОА    Snort    (удалить    содержимое    каталога

«\snort\log»). Запустить СОА Snort с полным набором правил (из команд-

ной строки каталога snort\bin):

snort -i <интерфейс> -c ../etc/snort.conf -l ../log, где <интерфейс> — номер интерфейса сетевой платы, полученный при помощи команды:

snort –W.

12. Записать в адресную книгу Nessus IP-адреса узлов сканируемой подсети,

которые были обнаружены на предыдущем этапе.

13. Запустить анализатор трафика Ethereal. Включить захват трафика на сете-

вом интерфейсе, находящемся в одном сегменте со сканируемым узлом.

14. Запустить сканирование узла обнаруженной ранее рабочей станции, ис-

пользуя все тесты за исключением «опасных». Для этого указать пункт

«Enable all but dangerous plugins with default settings» в диалоговом окне выбора тестов.

15. Дождаться завершения тестов, выключить захват трафика, прервать рабо-

ту СОА Snort (<Ctrl+C>).

16. Проанализировать результаты отчета, ответить на следующие вопросы:

a.  Какие порты открыты на рабочей станции?

b.  Какие критические уязвимости обнаружены? Что может стать резуль-

татом их использования?

c.  Какие конкретные действия следует предпринять для устранения об-

наруженных уязвимостей?

d.  Каким образом факт сканирования отражается в файле журнала СОА

Snort (\snort\log\alert.ids)?

e.  Сколько пакетов было передано по сети в ходе процедуры сканирова-

ния? Каков суммарный объем переданной информации?

17. Заполнить отчет о результатах сканирования (образец см. в табл. 8.3).

18. Запустить сканирование узла обнаруженного ранее сервера, используя все тесты за исключением «опасных».

19. Проанализировать результаты теста и заполнить табл. 8.3 по результатам сканирования сервера со стороны внутренней сети.

20. Установить на локальном компьютере IP-адрес таким образом, чтобы  он оказался во  внешней по  отношению к  исследуемому компьютеру  сети (192.168.200.0/24). Можно выбрать любой свободный IP-адрес.

21. Запустить  сканирование сервера,  используя все  тесты  за  исключением

«опасных».

22. Заполнить отчет о результатах сканирования сервера со стороны внешней сети (образец см. в табл. 8.3). Сравнить результаты с полученными ранее в

пункте 19.

23. Провести расчет величины «базового уровня» угрозы для любой критиче-

ской уязвимости.

Источник: Андрончик А. Н., Богданов В. В., Домуховский Н. А., Коллеров А. С., Синадский Н. И., Хорьков Д. А., Щербаков М. Ю., Защита информации в компьютерных сетях. Практический курс

Похожие посты:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий