CIM-вирусы в Windows: методика и инструмент обнаружения А.В. Попов, Е.А. Шикин

advertisement
CIM-вирусы в Windows:
методика и инструмент
обнаружения
А.В. Попов, Е.А. Шикин
Мордовский госуниверситет,
кафедра технологий программирования,
Саранск, 2005
E-mail: wmi_popov@mail.ru
«Технологии Microsoft в теории и практике программирования», Москва, 17-18 февраля 2005
План доклада
Стандартный механизм действия вирусов
Репозиторий CIM как универсальная
объектно-ориентированная БД
Механизм действия CIM-вирусов
Пример CIM-вируса
Опасность CIM-вирусов
Утилита ScanCIM.hta
Заключение
Стандартный механизм
действия вирусов
Запуск исполняемого кода (самим пользователем или
через лазейку в ОС)
Сохранение вредоносного кода на диске:


отдельные файлы (исполняемые файлы,
библиотеки, сценарии WSH)
Внедрение в офисные документы (макровирусы)
ресурсы
или
Модификация системного реестра:




ассоциации файлов (HKCR)
разделы автоматической загрузки (HKLM\…\Run и RunOnce,
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon)
список запускаемых служб (HKLM\System\CurrentControlSet)
…
Вирус запускается при каждой загрузке системы или открытии
документа
Общая схема WMI
Системный реестр
(Registry)
Журнал событий
(Event Log)
Registry API
Event Log API
Провайдер реестра
(Registry provider)
Провайдер журнала
событий
(Event Log provider)
WMI API
WMI API
...
Подсистема Win32
УПРАВЛЯЕМЫЕ
РЕСУРСЫ
Win32 API
...
Провайдер
подсистемы Win32
(Win32 provider)
ЯДРО WMI
WMI API
Репозиторий
CIM
(CIM repository)
CIMOM (служба WMI)
Библиотека поддержки
сценариев WMI
(WMI Scripting Library)
WMI COM API
WMI ODBC Adapter
Сценарии WMI
Приложения Win32
Приложения БД
УПРАВЛЯЮЩИЕ
ПРОГРАММЫ
Репозиторий CIM как универсальная объектноориентированная БД
CIM–универсальное
иерархическое
хранилище классов и
объектов модели
компьютерной системы
постоянные фильтры и
потребители событий
Обработка событий с помощью WMI
Применение фильтра событий
(WQL-запрос)
Нет
Событие
произошло?
Да
Запуск потребителя событий
LogFileEventConsumer
Запись в текстовый файл
…
ActiveScriptEventConsumer
Запуск cценария WSH
Механизм действия CIM-вирусов
Запускается исполняемый код (самим
пользователем или через лазейку в ОС)
Настраиваются постоянные фильтры и
потребители событий WMI (WMI API, WMI
Scripting Library или компиляция MOF-файла)
Вредоносный код помещается в репозиторий
CIM
Вирус запускается при наступлении
определенного системного события
Пример CIM-«вируса»
Инициирующее событие
(Фильтр 1)
Появление файла c:\klop.js
(Фильтр 2)
Создание файла c:\klop.js
с вредоносным кодом
(LogFileEventConsumer)
Запуск сценария c:\klop.js
(ActiveScriptEventConsumer)
Удаление файла c:\klop.js
(ActiveScriptEventConsumer)
Опасность CIM-вирусов
Исполняемый код сценария хранится внутри
репозитория CIM (антивирусным программам
тяжело опознать деструктивный код)
Реестр и системные файлы не изменяются (нет
признаков инфицированности)
В Windows отсутствует удобные стандартные
средства для работы с репозиторием CIM
Утилита ScanCIM.hta
Заключение
Репозиторий CIM является потенциальной
целью вирусов
CIM-вирусы тяжело обнаружить с
помощью стандартных средств
Необходимы проверять, какие постоянные
фильтры и потребители событий
зарегистрированы на компьютерах
Желательно иметь в составе Windows
удобную утилиту для работы с
репозиторием CIM
Download