Human Interface Device (HID)

Aus IT-Forensik Wiki

Human Interface Device (HID)

Definition

Human Interface Device (HID) (deutsch etwa Menschliches Schnittstellengerät) beschreibt Geräte, mit deren Hilfe Benutzerinnen und Benutzer mit Computern interagieren können. Interaktionen können Benutzereingaben und Ausgaben sein. Die Spezifikation wurde primär dazu entwickelt, um die Kommunikation zwischen Rechnern und angeschlossenen Geräten über USB, Bluetooth und weiteren Schnittstellen wie z.B. Zigbee zu vereinfachen. Vorher war es notwendig, für jedes angeschlossene Gerät (z.B. Maus oder Tastatur) eigene Treiber zu installieren. Über eine gemeinsame Spezifikation können nun neue Geräte unproblematisch angeschlossen und sofort verwendet werden, auch unabhängig vom verwendeten Betriebssystem des Rechners. Die USB-Spezifikation präzisiert HID, indem sie einen Standard für solche Geräte definiert. Diese sogenannte Device Class Definition for Human Interface Devices (HID) (deutsch etwa Geräteklassendefinition für Menschliches Schnittstellengeräte) beschreibt grundlegende Funk- tionen von HID mithilfe zweier Konzepte:

  • Berichtsdeskriptor: Dieser beschreibt das Format und die Bedeutung der Daten, die das Gerät unterstützt.
  • Berichte: Berichte sind die tatsächlichen Daten, die zwischen einem Gerät und einer Anwen- dung ausgetauscht werden. Es gibt drei Berichtstypen:
    • Eingabebericht: Daten, die vom HID an eine Anwendung gesendet werden, z. B. wenn sich der Zustand eines Steuerelements ändert.
    • Ausgabebericht: Daten, die von der Anwendung an das HID gesendet werden, z. B. an die LEDs auf einer Tastatur.
    • Featurebericht: Daten, die manuell gelesen und geschrieben werden können und sich in der Regel auf Konfigurationsinformationen beziehen.

Forensische Aspekte

Aus Sicht der Forensik sind HID interessant, weil sie mit einem Endgerät interagieren und teilweise ohne manuelles Eingreifen von menschlichen Nutzern Aktionen durchführen können. Ein aus Sicht der Forensik positives Beispiel sind die zur Sicherung genutzten sogenannten Mouse-Jiggler, kleine USB-Sticks, die Maus-Bewegungen emulieren und dadurch die Sperrung eines Rechners verhindern. Ein anderes Beispiel aus dem Bereich Penetrationstest sind sogenannte Bad-USB-Devices[[1]]. Hierbei handelt es sich oft um USB-Sticks oder in USB-Kabel inte- grierte Funktionen, die Keyboards oder Maus emulieren und dann z.B. im Namen des gerade angemeldeten Benutzers Befehle ausführen, z.B. in der Windows-Powershell. Ein interessanter Artikel dazu ist in der ct 23/27.

HID sind in den Betriebssystemen wie folgt auffindbar:

  • Windows 11: Systemsteuerung\Geräte-Manager\HID-Devices\Eigenschaften\Ereignisse
  • Linux: Hängt vom System und Einstellungen des Loggings ab, Logs finden sich in der Regel unter /var/log/ und syslog. Alternativ können Informationen über den Befehl systemctl, z.B. Live-Logs mit systemctl -f abgerufen werden.
  • MacOS: Folgender Befehl im Terminal listet aktuell angeschlossene HID: hidutil list. Weitere Informationen und Überblicke über das System und seine Protokolle sind in der Systemsteue- rung\Allgemein\Info\Systembericht (Button ganz unten) zu finden. Es gibt hier aber keinen Punkt HID oder Ähnliches. Das Log /usr/sbin/ioreg%20-lxw550 (unter Protokollen im Systembericht als IORegistry-Inhalt bezeichnet), ist das einzige Log, das hier Informationen aufzeichnet.

Weiterführende Informationen

HID-Spezifikation: https://www.usb.org/document-library/device-class-definition-hid-111

HID-Dokumentation: https://usb.org/hid

c’t 23/27 Böses USB: https://www.heise.de/select/ct/2023/27/2327713240730976058

Weitere Informationen aus der c’t 23/27: https://www.heise.de/select/ct/2023/27/softlinks/yhhf

Paper zu Bad-USB-Sticks: https://link.springer.com/chapter/10.1007/978-3-319-95729-6_18