Научная статья на тему 'Использование технологии WMI для сбора информации и отслеживания событий в ОС Windows'

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

CC BY
973
161
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ / ПОДСИСТЕМЫ ЗАЩИТЫ WINDOWS / ОТСЛЕЖИВАНИЕ СОБЫТИЙ WINDOWS / СБОР ИНФОРМАЦИИ О СИСТЕМЕ / СЕТЕВОЕ ВЗАИМОДЕЙСТВИЕ WMI / INFORMATION SECURITY / WINDOWS SECURITY SUBSYSTEM / WINDOWS EVENT TRACKING / COLLECTING SYSTEM INFORMATION / WMI NETWORKING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Маркин Денис Игоревич, Гортинский Алексей Владимирович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

USING WMI TECHNOLOGY TO COLLECT DATA AND TRACE EVENTS IN WINDOWS OPERATING SYSTEM

The paper discusses basic tools of the Windows Management Instrumentation (WMI), the authors use those tools to collect the most relevant information about the system, trace events occurring in the system in real time and logging. The research further involves networking with the WMI and major aspects of security solutions both at the network level and at the operating system level. Having studied those technologies the authors develop an applications for both local and remote monitoring of system components

Текст научной работы на тему «Использование технологии WMI для сбора информации и отслеживания событий в ОС Windows»

УДК 004.9

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

USING WMI TECHNOLOGY TO COLLECT DATA AND TRACE EVENTS IN WINDOWS OPERATING SYSTEM

J Щ z It

. M

Маркин Денис Игоревич

Markin Denis Igorevich

студент факультета КНИиТ, Саратовский национальный исследовательский государственный университет им Н.Г. Чернышевского, Саратов

student of the department of theory of computer security and cryptography, Saratov State University, Saratov

Гортинский Алексей Владимирович

Gortinsky Alexey Vladimirovich

кандидат юридических наук, доцент, доцент кафедры ТОКБиК, Саратовский национальный исследовательский государственный университет им. Н.Г. Чернышевского, Саратов

Cand. Sc. (Law), associate professor of the department of theory of computer security and cryptography, Saratov State University, Saratov

e-mail: alexgrt@yandex.ru

W

't

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

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

The paper discusses basic tools of the Windows Management Instrumentation (WMI), the authors use those tools to collect the most relevant information about the system, trace events occurring in the system in real time and logging. The research further involves networking with the WMI and major aspects of security solutions both at the network level and at the operating system level. Having studied those technologies the authors develop an applications for both local and remote monitoring of system components.

Keywords: information security, Windows security subsystem, Windows event tracking, collecting system information, WMI networking.

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

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

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

i. Общие сведения о 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), являющиеся блоками скрипта, реагирующими на наступление события. Подразделяются на временных и постоянных.

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

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

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

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

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

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

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

WMIWatcher способен работать в трех режимах: сбор информации (обрабатываются поля определенных объектов, полученных

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

При исследовании библиотеки классов WMI были изучены и использованы классы, обрабатывающие следующие события [1]:

• инициализация/завершение процессов в ОС (рис. 2);

• создание/изменение/удаление файлов с определенным расширением с определенной директории файловой системы (рис. 3);

• активация/приостановка служб ОС;

• удачные/неудачные попытки входа в систему;

• подключение/отключение физических запоминающих устройств (рис. 4).

Перечень собираемой информации выглядит следующим образом:

• список файлов с определенным расширением в определенной директории;

• список процессов, инициализированных в системе;

• список служб, определенных в системе (как активных, так и приостановленных);

Сбор информации Отслежиасние Журиалирооаме

Выберите лип данных

Файлы

Процессы

Службы

Сетевая конфигурация

Конфигурация компьютера Попытки авторизаши Запоминающие устройства

Путь к отслеживаемой пагке

Расширение

Twi служб

совести информаиио

Все

Диапазон (часы)

т

Компьютер localhsst Логин

Вывод

Компьютер: locahost Обнаружено сетевых штерфейсое 2 YktjalBox Host-Only Bhemet Adapter

MAC адрес: 08:00:27:00:F8:75

IPv4 адрес: 169.254.92.120

IPv6 адрес :fe80: :d1irf:2eda :29e 5c78

Сетевой адаптер Broadcom 802.11п MAC адрес: B4:74:9F:DE'9C:G5 IPv4aepec; 192.168 1.38 IPv6 адрес: feffl):Ы»8с:а006:653:5281

Запрос успешно завершен

Пароль

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

Сбор информации

Отслеживание

Журналирование |

Вывод

Событие

Логический диск

Изменение Файлов

Изменение процессзв

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Изменение служб Попытки входа в систему Изменение приводов

Путь к отслеживаемой папке

Тип события

Расширение

Создание

Начать слежение

Остановить слежение

Компьютер localhost Логин Пароль

Слежение начато

123.10.2016 12:34:05] Следующий

conhost.exe

[23.10.2016 12:34:05] Следующий cmd.exe

[23.10.2016 12:34:11] Следующий chnome.exe

[23.102016 12:34:13] Следующий chnome.exe

[23.102016 12:34:15] Следующий dllhost.exe

[23.10.2016 12:34:13] Следующий chrome.exe

[23.10.2016 12:34:13] Следующий chnome.exe

[23.10.2016 12:34:13] Следующий chrome.exe

[23.102016 12:34:13] Следующий chnome.exe

[23.10201612:34:13] Следующий chrome.exe

[23.10201612:34:11] Следящий chrome.exe

процесс был запущен:

процесс был запущен:

процесс был запущен:

процесс был запущен:

процесс был запущен;

процесс был запущен:

процесс был запущен:

процесс был запущен:

процесс был запущен:

процесс был запущен:

процесс был запущен:

Рис. 2. Огслеживаиие иашхжа процессов

. WMT Watcher

| Сбор информации"

Отслеживание

Журналирование|

Вывод

Событие

Логический диск

Изменение процессов Изменение служб Попытки входа в систему Изменение приводов

Путь к отслеживаемой палке

Тип события

Расширение

Создание

Начать слежение

Остановить слежение

Компьютер localhost Логин

Пароль

Слежение на чате-

[0Э.04.2012 1:06:10] Следующий Файл был создан: d:V \simple .exe

[08.10.2016 16:2-5:42] Следующий Файл был создан: d:V

\wriiwatcher.exe

Слежение окончено

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

A WMI Watcher

Сбор информации Отслеживание Журналирование] Логический диск D

Событие

Изменение Файлов Изменение процессов Изменение служб Попытки входа в систему

Изменение приводов

Путь к отслеживаемой папке

Тип события

Расширен

Создание

Начать слежение

Остановить слежение

Вывод

Слежение начато

[23.10.201 € 13:24:27] Обнаружено новое запоминающее устройство

Имя: Kingston DataTravelerG3 USB Device Интерфейс: USB Тип медиа: Removable Media Серийный номер: 001СС0ЕС34В2АС306632059С Слежение окончено

Компьютер localhost Погин

L Пароль =

Рис. 4. Изменение запоминающих устройств

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

• сетевая конфигурация (IP и МАС-адрес, сетевой адаптер) (рис. i);

• список устройств, определенных в системе с идентификаторами;

• удачные/неудачные попытки входа в систему;

• список запоминающих устройств в системе.

В результате работы получен программный

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

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

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

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

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

Использование WMI при корректных настройках безопасности позволяет реализовать правильный и безопасный от атак сбор информации и отслеживание событий.

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

1 WMI Classes (Windows) [электронный ресурс]. URL: http://msdii.microsoft.com/ru-ru/windows/desktop/ aa394554(v=vs.85) (дата обращения: 20.09.2016).

WMI Classes (Windows). URL: littp://nisdn.niicrosoft.coni/ru-ru/windows/desktop/aa394554(v=vs.85) (date of access: 20.09.2016).

2 Леонтьев К. Вы все еще не используете WMI? Часть I // Системный администратор. 2006. № 1 (38). С. 4-11.

Leont'yev К. (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?artld=42l9 (дата обращения: 12.09.2016).

COM/DCOM Model // Interfeys Ltd. URL: http://www.interface.ru/home.asp?artId=42l9 (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. Мастер-класс. M. : Русская Редакция, 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).

i Надоели баннеры? Вы всегда можете отключить рекламу.