BC/NW 2006, №2, (9) :13.3
НОВЫЙ СКАНЕР БЕЗОПАСНОСТИ СИСТЕМНОГО
УРОВНЯ ДЛЯ КОМПЬЮТЕРНЫХ СИСТЕМ НА ОСНОВЕ ЗАЩИЩЕННЫХ ВЕРСИЙ ОС WINDOWS
А.А.Долгин
(Москва, Московский энергетический институт
(Технический университет), Россия)
Среди средств защиты сетей
сканеры безопасности (системы анализа защищённости) занимают особое место.
Во-первых, потому что они могут быть как средством обеспечения безопасности,
так и средством нападения. Данные об обнаруженных уязвимостях, предоставляемые
сканером безопасности, могут быть одинаково полезны как администратору
безопасности, контролирующему состояние защищённости узлов сети, так и
нарушителю, осуществляющему поиск наименее защищённых мест сети. Во-вторых,
далеко не во всех случаях очевидна польза от применения сканеров безопасности.
Результат работы сканера безопасности – перечень уязвимостей, которые могут
быть использованы при проведении атак. Но в данном случае речь идёт лишь о
потенциальной возможности атаки, а не о свершившемся факте реализации угрозы.
И, в-третьих, сканеры безопасности могут оказывать нежелательное влияние на
объекты защиты. Например, сканер в процессе работы может порождать значительное
количество сетевого трафика, или чрезмерно загружать рабочие станции. К тому
же, некоторые проверки, выполняемые сетевым сканером, могут привести к
выведению из строя сканируемого узла или отдельной службы.
Данный доклад продолжает тему сканеров безопасности,
открытую в докладе прошлогодней конференции
МФИ-2005. В нем освещается дальнейший ход работы над системным сканером
для компьютерных систем, функционирующих под управлением защищенных версий
операционной системы Windows (Windows NT/2000/XP Professional,
Windows 2003 Server).
Достоинства сканирования на
уровне операционной системы (системного сканирования) кроются в прямом доступе
к низкоуровневым возможностям ОС хоста, конкретным сервисам и деталям
конфигурации. Сканер системного уровня может рассматривать систему со стороны
пользователя, уже имеющего доступ к анализируемой системе и имеющего в ней
учетную запись. Это является наиболее важным отличием, поскольку сетевой сканер
по определению не может предоставить эффективного анализа возможные рисков
деятельности пользователя.
Отличительные особенности
системного сканирования делятся на 3 категории:
· идентификация
рисков деятельности пользователя;
· идентификация
хакера и обнажение атаки (внутренние и внешние хакеры);
· возможность
осуществления проверок, которые являются невозможными или трудновыполнимыми
сетевым сканером или занимают крайне много времени при проведении сканирования
через сеть.
Перед созданием
представленного сканера безопасности был проведен анализ существующих
программных продуктов подобного рода и выявлен ряд основных критериев, по
которым они могут сравниваться. Результаты анализа учитывались на протяжении
всего процесса разработки, для того чтобы максимально приблизить создаваемый
сканер к идеальному.
Результатом
проделанной работы стал сканер безопасности DAScanner.
DAScanner – это сканер
безопасности системного уровня, имеющий при этом распределенную архитектуру
клиент-сервер:
· серверная часть (собственно сканер)
устанавливается на сканируемые узлы сети и отвечает за поиск уязвимостей. Она
представляет собой системную службу операционной системы Windows;
· клиентская часть, установленная на главный
компьютер сети (сервер или контроллер домена). Этот компонент отвечает за
инициализацию сканирования, сбор результатов, их анализ и т. д. Клиентская
часть представляет собой оконное приложение Windows.
Сканер DAScanner позволяет осуществлять 2 типа сканирований узлов:
· первый тип – сканирование на получение
интересующих параметров;
· второй тип – сканирование на сравнение
интересующих параметров с эталоном безопасности.
За получение параметров
отвечают библиотеки dll, расположенные на узлах
сети вместе с запускаемым файлом службы. Имена библиотек сканирования
определяются пользователем. Именно эти имена будут использоваться при
составлении эталона безопасности и при формировании отчета о сканировании.
Очевидно, что проверки
доступные для каждого узла определяются наличием тех или иных библиотек на нем.
Пользователь может копировать на узлы новые библиотеки, неограниченно расширяя
функциональность сканера.
Фактически сканер
представляет собой только оболочку для взаимодействия с узлами, а все основные
действия должны производиться библиотеками сканирования непосредственно на
узлах.
Администратору сети
предоставляется возможность создавать или заказывать у разработчиков новые
библиотеки с требуемыми проверками. Для осуществления проверок по этим
библиотекам потребуется лишь подложить их на узлы сети к серверной части
сканера.
Каждая библиотека может содержать в себе
неограниченное число проверок. При сканировании будут вызваны все проверки
находящиеся в библиотеке. Каждая проверка должна представлять собой функцию,
оформленную по определенным правилам. Заметим лишь, что язык программирования
при написании библиотек не принципиален.
Конечно
же, наиболее интересной стороной сканера является возможность проверки узлов
сети на предмет соответствия сформированным заранее эталонам безопасности. Все проверки в эталоне
разбиты по соответствующим библиотекам и характеризуются следующим параметрами:
· эталонное значение
сканируемого параметра;
· тип сравнения сканируемого
параметра с эталонным значением (“больше”, “меньше”, “равно”);
Эталоны безопасности
хранятся в файлах формата XML. Эти файлы
могут создаваться как вручную, так и при помощи встроенной в сканер утилиты
управления эталонами.
Отчет о сканировании также
представляет собой XML-файл. Зная
структуру этого файла, каждый может написать программу для преобразования
отчетов в удобный ему вид (напр. используя XSL-преобразование).
1.
Сначала в отчете
выводится время начала сканирования.
2.
Далее идет список
просканированных компьютеров сети.
3.
Для каждого
компьютера отображается код ошибки сканирования.
4.
После кода ошибки
идут следующие параметры, получаемые для всех узлов:
·
версия ОС Windows на узле;
·
язык ОС Windows на узле (русский/английский/неизвестный);
·
путь к главной
папке ОС Windows на узле;
·
имя пользователя,
зашедшего в систему.
·
NOT_FOUND. Проверка не
найдена в библиотеке.
·
NOT_VALID. Проверку
провести не удалось.
·
PASSED. Результат проверки соответствует эталону.
·
FAILED. Результат проверки не соответствует эталону.
6. Закрывает отчет время проведения сканирования в
секундах.
Созданный сканер
отвечает многим требованиям, которые предъявляются к коммерческим разработкам
подобного рода, и имеет большой потенциал в части совершенствования и
расширения функциональности. Как возможные пути развития сканера можно
отметить:
·
развитие системы отчетов;
·
автоматическое устранение уязвимостей (система
реагирования);
·
расширение функционала для возможности проверок на
соответствие какому-либо международному стандарту. Например, ISO 15408 (Общие критерии оценки безопасности информационных
технологий).
ЛИТЕРАТУРА
1. Долгин А.А., Хореев П.Б.,
Разработка сканера уязвимостей компьютерных систем на основе защищенных версий
ОС Windows, Труды международной научно-технической конференции «Информационные
средства и технологии», том
2. Хорев П.Б., Методы и
средства защиты информации в компьютерных системах, М., Издательский центр
«Академия», 2005, 256 с.
3. Бармен C.,
Разработка правил информационной безопасности, М., Вильямс, 2002, 208 с.
4. Ботт Э., Зихерт К.
Безопасность Windows: Windows 2000 и Windows XP, СПб., Питер, 2003, 682 с.
5. Рихтер Дж., Кларк Дж.., Программирование серверных
приложений для Microsoft Windows 2000, СПб., Питер, 2001, 592 с.