Skip to content

Glossar

WQL (WMI Query Language)

Die SQL-ähnliche Sprache, die WMI für Daten- und Ereignisabfragen nutzt; Event-Filter beschreiben damit das Ereignis, das eine Subscription auslöst.

WQL ist die Abfragesprache von WMI, eine rein lesende Teilmenge von SQL. Sie tritt in zwei Hauptformen auf. Datenabfragen lesen Instanzen, zum Beispiel SELECT * FROM Win32_Process. Ereignisabfragen beschreiben Änderungen; sie sind das, was ein Event-Filter in seiner Eigenschaft Query speichert, wobei QueryLanguage auf WQL gesetzt ist.

Ereignisabfragen verwenden zwei Arten von Ereignissen. Intrinsische Ereignisse (__InstanceCreationEvent, __InstanceModificationEvent, __InstanceDeletionEvent) melden Änderungen an Instanzen beliebiger Klassen; TargetInstance ist die betroffene Instanz, und ISA beschränkt sie auf eine Klasse. Wenn kein Provider solche Änderungen direkt meldet, lässt WITHIN n WMI alle n Sekunden abfragen. Extrinsische Ereignisse wie Win32_ProcessStartTrace werden von den Providern selbst ausgelöst. Timer-Ereignisse (__TimerEvent) lösen über einen WMI-Timer aus.

Warum das für Untersuchungen wichtig ist

Die Abfrage zu lesen verrät Ihnen, wann eine Subscription auslöst, und das brauchen Sie, um Ausführungsnachweise mit ihr abzugleichen. Eine Bedingung auf die Systemlaufzeit löst kurz nach jedem Systemstart aus, eine Abfrage auf Anmeldesitzungen bei jeder Anmeldung, eine Prozessabfrage, wenn ein bestimmtes Programm startet. Abfragen zeigen auch die Absicht: Ein Filter, der auf den Start eines Sicherheitswerkzeugs oder auf ein Wechsellaufwerk wartet, sagt viel über seinen Urheber aus.

Beispiel

Ein Filter, der auslöst, wenn eine neue Anmeldesitzung erscheint, mit einer Abfrage alle 15 Sekunden:

SELECT * FROM __InstanceCreationEvent WITHIN 15
WHERE TargetInstance ISA 'Win32_LogonSession'

Eine extrinsische Alternative, die ohne Polling auslöst, wenn ein bestimmter Prozess startet:

SELECT * FROM Win32_ProcessStartTrace WHERE ProcessName = 'notepad.exe'

Finden Sie eine dieser Abfragen in einem Repository, korrelieren Sie sie mit den passenden Anmeldungen oder Prozessstarts und prüfen Sie, an welchen Event Consumer der Filter gebunden ist.

Verwandte Begriffe

WMI Parser zeigt die WQL-Abfrage jedes Filters neben dem Consumer, den er auslöst. Den klassischen Auslöser über die Systemlaufzeit erklärt WMI-Persistenz über Event Subscriptions erklärt.