Palo Alto Networks entdeckt neue POS-Malware-Familie „FindPOS“

Palo Alto Networks

Unit 42, die Forschungsabteilung von Palo Alto Networks, hat eine neue Point-of-Sale (POS)-Malware-Familie entdeckt, von der seit November 2014 bereits mehrere Varianten erstellt wurden. In den letzten Wochen hat Unit 42 diese Malware-Familie analysiert und „FindPOS“ genannt, da in jeder Variante stringente Muster gefunden wurden. Während diese Malware nicht durch besondere Raffinesse hervorsticht, zeigt die große Anzahl von Varianten Ähnlichkeit zu Malware-Familien wie Alina und Backoff. FindPOS führt Memory Scraping durch, um Daten aufzuspüren, über HTTP POST-Anfragen zu exfiltrieren und in einigen Fällen auch Tastatureingaben aufzuzeichnen. Die FindPOS-Familie nutzt viele gängige Techniken wie in früheren Malware-Familien, zielt aber speziell auf Windows-basierte POS-Terminals ab.

Neun Varianten von FindPOS entdeckt

Im Verlauf der Analyse wurden insgesamt neun Varianten von FindPOS entdeckt. Im Laufe der Zeit hat der Autor minimale Änderungen durchgeführt, wahrscheinlich aus Gründen der Performance oder wegen Bugfixes. FindPOS generiert eine ausführbare Datei mit acht Buchstaben (Beispiel: abodeign.exe). Dieser Name wird mit den folgenden Systeminformationen erzeugt: C:\-Volume-Seriennummer, SystemBiosDate, VideoBiosdate, CPU Identifier Microsoft Windows ProductId. Nachdem die Installation von FindPOS erfolgreich war, wird die Malware einen globalen Mutex (WIN_ [hex]) erstellen, um sicherzustellen, dass nur eine Instanz von FindPOS läuft. Daraufhin fährt FindPOS mit dem Memory Scraping und eventuell auch der Aufzeichnung von Tastenanschlägen fort.

Memory Scraping

Memory Scraping ist eine Technik, die bei der Mehrzahl der POS-Malware-Familien in den vergangenen Jahren entdeckt wurde. Das Konzept ist einfach: Der Speicher der laufenden Prozesse auf einem POS-Terminal wird ausgelesen, um Daten aufzuspüren. Wenn eine Karte auf einem POS-Terminal durchgezogen wird und die Transaktion verarbeitet wird, bleiben die Kartendaten oft im Speicher unverschlüsselt für einen kurzen Zeitraum. Angreifer nutzen diese Schwäche, um Daten auszulesen. Eine übliche Technik zur Erhöhung der Leistung der Memory Scraper ist das Blacklisting einer Liste der häufigsten Prozessnamen wie explorer.exe, lsass.exe, csrss.exe usw. Alternativ nutzen einige Malware-Familien einen Whitelist-Ansatz, bei dem nur bestimmte Prozessnamen ins Visier genommen werden. „FindPOS nutzt jedoch eine völlig neue Vorgehensweise. Diese Familie bestimmt die Besitzer jedes Prozesses auf dem System, über Anrufe an EnumProcesses, OpenProcess, GetTokenInformation und LookupAccountSid. Der Besitzer des Prozesses wird dann mit dem NT AUTHORITY String verglichen“, erklärt Thorsten Henning,  Senior Systems Engineering Manager Central & Eastern Europe bei Palo Alto Networks. „Alle Prozesse, die nicht als System oder Dienst ausgeführt werden, werden herausgefiltert. Für den Fall, dass ein Prozess nicht gefiltert wird, erfolgt das Memory Scraping  über Anrufe an VirtualQueryEx und ReadProcessMemory.“

Keylogging

Ab Version 5.90 begann der Autor von FindPOS damit, Keylogger zu dieser Familie hinzuzufügen. Viele Magnetkartenleser emulieren oft eine Tastaturvorrichtung. POS-Malware-Autoren integrieren diese Funktionalität daher in ihre Familien. Neben dem Sammeln von Track-Daten hat Keylogger auch die Fähigkeit, Benutzernamen, Passwörter oder andere sensible Daten auf dem infizierten Computer zu sammeln. Um dies zu erreichen, setzt der Autor einen neuen Thread auf, der für das Keylogging verantwortlich ist.

Exfiltration

Die Exfiltration bei FindPOS erfolgt über HTTP-POST-Anfragen. Eine Anzahl von fest kodierten Domänen werden für jede Probe ausgebildet, oft variierend zwischen FindPOS-Varianten. HTTP-POST-Anforderungen werden alle zwei Minuten durchgeführt. Zusätzlich zur Datenexfiltration hat FindPOS die Fähigkeit zum Download/Ausführen weiterer Malware. Die Datei wird in einen temporären Ordner heruntergeladen und über einen CreateProcessA-Aufruf ausgeführt. In dem Fall, dass die Datei nicht korrekt geladen oder ausgeführt werden kann, wird sie von der Platte gelöscht.

Domain-/IP-Adressinformationen

Insgesamt wurden während der Analyse der FindPOS Malware-Familie 37 Domains entdeckt. Von diesen Domänen wurden 13 eindeutige IP-Adressen identifiziert.

Schlussfolgerung und Schutzmaßnahmen

Insgesamt ist FindPOS nicht sehr ausgefeilt. Es fehlt eine Reihe von Funktionen, die in früheren Malware-Familien beobachtet wurde, wie etwa eine anspruchsvollere Anordnungs- und Kontrollstruktur, eine stärkere Verschlüsselung und Durchführung von Luhn-Kontrollen auf allen aufgespürten Daten. Die Entwicklung dieser Produktfamilie bietet interessante Hinweise darauf, dass die Malware von Grund auf neu geschrieben wurde. Während FindPOS minimale Ähnlichkeiten mit bisherigen Malware-Familien aufweist, sind die Forscher von Palo Alto Networks davon überzeugt, dass diese Malware eine brandneue Familie ist.

Klar ist, dass FindPOS als eine erhebliche Bedrohung für Microsoft-Windows-POS-Geräte einzustufen ist und Maßnahmen ergriffen werden müssen, um den Schutz zu gewährleisten. Solche Maßnahmen umfassen unter anderem das Konfigurieren der Zwei-Faktor-Authentifizierung für alle RAS-Dienste (LogMeIn, VNC, RDP etc.), was gewährleistet, dass Anti-Virus installiert ist und aktualisiert wird und dass POS-Geräte nicht für untersagte Funktionen, wie das Surfen im Web oder E-Mails checken, verwendet werden. Kunden von Palo Alto Networks werden geschützt durch Wildfire, das automatisch FindPOS-Samples als Malware klassifiziert. Darüber hinaus hat Palo Alto Networks die Indikatoren, die mit diesen Angriffen zu tun haben, in PANDB und die Anti-Malware-Schutzsysteme aufgenommen.