Вторник, 19.09.2017, 14:33
Высшее образование
Приветствую Вас Гость | RSS
Поиск по сайту



Главная » Статьи » Техника. Технические науки

ИСПОЛЬЗОВАНИЕ ТЕХНОЛОГИИ WMI ДЛЯ СБОРА ИНФОРМАЦИИ и ОТСЛЕЖИВАНИЯ СОБЫТИЙ В ОС WINDOWS

Д.И.Маркин, А.В.Гортинский

ИСПОЛЬЗОВАНИЕ ТЕХНОЛОГИИ WMI ДЛЯ СБОРА ИНФОРМАЦИИ и ОТСЛЕЖИВАНИЯ СОБЫТИЙ В ОС WINDOWS

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

Ключевые слова: информационная безопасность, подсистемы защиты Windows, отслеживание событий Windows, сбор информации о системе, сетевое взаимодействие WMI.

 

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

Решение же, рассмотренное в рамках данной статьи, основано на стандартных механизмах Microsoft Windows, и за счет этого весьма удобно в настройке и использовании.

Суть данного решения - взаимодействие с инструментарием управления Windows (WMI). С этой целью создан программный продукт - исполняемый файл Windows, исходный код которого написан на языке C# с применением пространства имен System.Management.

1. Общие сведения о WMI

Windows Management Instrumentation (WMI) или инструментарий управления Windows - одна из базовых технологий

Windows, которая позволяет управлять и следить за работой различных частей компьютерной инфраструктуры под управлением платформы Windows. Технология WMI - это расширенная и адаптированная под Windows реализация стандарта WBEM.

WBEM (Web-based Enterprise Management) - это набор технологий систем управления, созданный для стандартизации управления распределёнными компьютерными средами.

В основе WBEM лежит реализация Общей информационной модели (Common Information Model, CIM) - объектно-ориентированной схемы объектов управления. Объекты управления - это представления системных (сетевых) ресурсов, а схема - единый механизм описания данных всех имеющихся типов [6].

WMI, основанный на CIM, является открытой унифицированной системой интерфейсов доступа к любым параметрам операционной системы, устройствам и приложениям, которые функционируют в ней.

1.1. Структура WMI

WMI построен по объектно-ориентированному принципу, унаследованному от CIM, то есть все данные операционной системы представлены в виде объектов со своими свойствами и методами.

Все классы группируются в пространства имен, которые иерархически упорядочены и логически связаны. Доступ к пространствам имен определяется следующими параметрами:
1) дескриптор безопасности (SD);
2) список доступа (ACL), содержащий идентификаторы пользователей и их привилегии.

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

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

По умолчанию администратор компьютера имеет полные права на использование WMI, а остальные пользователи могут лишь вызывать методы, считывать данные и записывать в репозиторий экземпляры классов провайдеров WMI [5].

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

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

Для удаленного управления WMI используется протокол DCOM (Distributed Component Object Model) - расширение протокола COM для поддержки связи между объектами на различных удаленных компьютерах.

При доступе к удаленной машине можно настроить поведение маркера доступа пользователя через уровни олицетворения: предъявлять (уровень Identify/Impersonate), скрывать и осуществлять анонимный вызов процедур (уровень Anonymous), передавать маркер доступа для вызова подпроцедур (уровень Delegate).

Также возможно использование механизмов аутентификации, контроля целостности и шифрования пакетов через соответствующие уровни аутентификации [3].

1.2. События. Подписчики

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

Все события в WMI - объекты класса _Event, подразделяющиеся на три типа:
1) встроенные события (intrinsic events). Содержатся в модели CIM. Обращение к ним осуществляется напрямую, но система данных событий предопределена и не может быть изменена;
2) внешние события (extrinsic events). Подгружаются с помощью специальных драйверов (extrinsic event provider) в репозиторий WMI;
3) события таймера (timer events). Используются как временные условия (для срабатывания в определенное время).

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

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

Постоянные получатели реагируют вне зависимости от состояния, информация о них записывается в репозиторий.

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

Временные получатели реагируют на событие только в активном состоянии, информация о них не хранится в данном репозитории. Они регистрируют свои события через метод ExecNotificationQuery [2].

2. Реализация

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

Написание скриптов и MOF-файлов подразумевает под собой уверенное знание синтаксиса соответствующих языков и реализации WMI в данных языках, что зачастую выходит за пределы компетенции системных администраторов [4].

Программный продукт, созданный в рамках исследования WMI - это проект WMIWatcher, созданный на языке C# и представляющий собой исполняемый файл с графическим интерфейсом. Данный проект позволяет вести работу с WMI без знаний Visual Basic/MOF и значительно упрощает и автоматизирует работу с WMI.

WMIWatcher способен работать в трех режимах: сбор информации (обрабатываются поля определенных объектов, полученных через WQL-скрипт), отслеживание событий в реальном времени (с использованием временного получателя, который прекращает отслеживание при нажатии определенной клавиши) и журналирование событий на целевом компьютере с возможностью последующей обработки журналов (в данном случае было реализовано взаимодействие с постоянными получателями). Наиболее наглядно первые два режима проиллюстрированы на рис. 1 и 2. Логин и пароль для пространства имен задается с помощью форм приложения, уровень аутентификации и олицетворения выбран, соответственно, «целостность пакетов» и «идентификация». Данные уровни обеспечивают стабильную работу и достаточную защиту приложения.

При исследовании библиотеки классов WMI были изучены и использованы классы, обрабатывающие следующие события [1]:
• инициализация/завершение процессов в ОС (рис. 2);
• создание/изменение/удаление файлов с определенным расширением с определенной директории файловой системы (рис. 3);
• активация/приостановка служб ОС;
• удачные/неудачные попытки входа в систему;
• подключение/отключение физических запоминающих устройств (рис. 4).

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

 
Рис. 1. Вывод списка сетевых адаптеров
 

Рис. 2. Отслеживание запуска процессов
 

Рис. 3. Изменение файлов

 

Рис. 4. Изменение запоминающих устройств
 
• сетевая конфигурация (IP и MAC-адрес, сетевой адаптер) (рис. 1);
• список устройств, определенных в системе с идентификаторами;
• удачные/неудачные попытки входа в систему;
• список запоминающих устройств в системе.

В результате работы получен программный
продукт, автоматизирующий использование WMI. То есть вместо написания скриптов вручную и хранения во многом повторяющих себя VBA-скpиптов/MOF-файлов достаточно запустить один исполняемый файл и выбрать информацию, необходимую для вывода.

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

Итогом исследования инструментария Windows стал программный продукт WMIWatcher, упрощающий работу со стандартными классами и событиями WMI. Одной из важных особенностей продукта является автоматизация наиболее востребованных операций, связанных с отслеживанием событий и сбором информации. В дальнейшем продукт будет дорабатываться, а его функционал расширяться, так как Microsoft Windows в операционных системах Windows 8 и 10, несмотря на значительный возраст технологии, осуществляет использование и поддержку инструментария.

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

 

Библиографический список (References)

1 WMI Classes (Windows) [электронный ресурс]. URL: http://msdn.microsoft.com/ru-ru/windows/desktop/ aa394554(v=vs.85) (дата обращения: 20.09.2016).
WMI Classes (Windows). URL: http://msdn.microsoft.com/ru-ru/windows/desktop/aa394554(v=vs.85) (date of access: 20.09.2016).
2 Леонтьев К. Вы все еще не используете WMI? Часть I // Системный администратор. 2006. № 1 (38). С. 4-11.
Leont'yev K. (2006) Vy vse yeshche ne ispol'zuyete WMI? Chast' I [You still do not use WMI? Part I] // Sistemnyy administrator. № 1 (38). P. 4-11.
3 Модель COM/DCOM [электронный ресурс] // Интерфейс Ltd. URL: http://www.interface.ru/home. asp?artId=4219 (дата обращения: 12.09.2016).
COM/DCOM Model // Interfeys Ltd. URL: http://www.interface.ru/home.asp?artId=4219 (date of access: 12.09.2016).
4 Попов А. Администрирование Windows с помощью WMI и WMIC. СПб. : БХВ-Петербург, 2004. Popov A. (2004) Administrirovaniye Windows s pomoshch'yu WMI i WMIC [Windows Administering Using
WMI and WMIC]. Saint Petersburg : BKHV-Peterburg.
5 Соломон М.Д. Внутреннее устройство Microsoft Windows: Windows Server 2003, Windows XP и Windows 2000. Мастер-класс. М. : Русская Редакция, 2005. 856 с.
Solomon M.D. (2005) Vnutrenneye ustroystvo Microsoft Windows: Windows Server 2003, Windows XP i Windows 2000. Master-klass [Microsoft Windows Internals: Windows Server 2003, Windows XP and Windows 2000]. Moscow : Russkaya Redaktsiya. 856 p.
6 Спецификация WBEM [электронный ресурс]. URL: http://www.oszone.net/672/ (дата обращения: 15.09.2016).
Spetsifikatsiya WBEM [WBEM Specifications]. URL: http://www.oszone.net/672/ (date of access: 15.09.2016).

"Информационная безопасность регионов" № 4(25) 2016

Категория: Техника. Технические науки | Добавил: x5443 (05.06.2017)
Просмотров: 64 | Теги: информационная безопасность | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
...




Copyright MyCorp © 2017 Обратная связь