Jellyfish ist ein Rootkit, das sich in der GPU eines Rechners versteckt und von dort aus zum Beispiel Tastatureingaben heimlich mitlesen kann.
Jellyfish (englisch für Quelle) ist ein Proof of Concept (Machbarkeitsstudie) für ein Rootkit. Aber nicht irgendein Rootkit, sondern eine Malware, die sich in der GPU, also im Grafikprozessor einer Rechners, einnistet. Derzeit kann sich Jellyfish in den GPUs von AMD- und Nvidia-Grafikkarten versteckt einnisten.
Fiese Qualle liest Speicher aus
Eine Malware, die in der GPU steckt, hat einige Vorteile, beteueren die Programmierer. So gibt es derzeit keinen Virenscanner für GPUs, Jellyfish kann also nicht so ohne weiteres aufgespürt werden. Ein GPU-Rootkit kann aber problemlos via Direct Memory Acces DMA den Arbeitsspeicher der CPU auslesen. Die Malware kann zudem die enorme Rechenleistung der GPU für sich ausnutzen. Der Schadcode übersteht in der GPU auch Warmstarts. Ein Kaltstart macht dem Rootkit derzeit jedoch noch den Garaus.
Der hier veröffentlichte Quellcode dient ausschließlich zu Forschungszwecken. Eine wissenschaftliche Untersuchung zu einem solchen GPU-basierten Keylogger erklärt die genauen technischen Hintergründe. Dieser in der GPU versteckte Keylogger würde die Tastatur-Eingaben des Benutzers via DMA aus dem Arbeitsspeicher des Rechners mitschreiben.
Voraussetzungen
Jellyfish erfordert OpenCL-Treiber. Und natürlich Nvidia- oder AMD-Grafikkarten, wobei auch die Grafikchips von Intel das SDK von AMD (AMDAPPSDK) unterstützen und dementsprechend auch anfällig sein sollten. Derzeit läuft Jellyfish zudem nur auf Linux-Systemen. Und es handelt sich wie gesagt nur um eine Machbarkeitsstudie.