Malware verwendet spezielle Treiber um lokal angeschlossene USB-Geräte über TCP/IP extern anzusprechen und auszulesen.

Ein Team von Wissenschaftlern hat, im Rahmen einer konzeptionellen Gefahrenstudie, eine Malware entwickelt, die Angreifern einen Zugriff auf externe USB Smart-Card-Lesegeräte ermöglicht. Unter Verwendung eines Keyloggers lassen sich zudem sensible Informationen wie PIN- und Passwortabfragen, wie sie z.B. zur Online-Authentifizierung bei Banken eingesetzt werden, aufzeichnen.

Die Malware installiert hierzu einen speziellen Gerätetreiber auf dem infizierten Windows PC der einen Internetzugriff auf die angeschlossenen USB-Geräte erlaubt.

"Im Falle von USB-Card Readern, verwendet der Angreifer die im Lieferumfang des Card-Readers enthaltene Software um Angriffe auf die Smart-Card-Daten des Opfers durchzuführen" sagt Paul Rascagneres, ein IT-Sicherheits-Experte der Firma Itrust Consulting, die auch für die Proof-of-Concept Entwicklung zu Studienzwecken der USB-Sharing Malware verantwortlich ist.

So gibt es bereits dokumentierte Fälle, bei denen Malware durch Angriffe auf Kartenlesegeräte die an lokalen PCs angeschlossen waren durchgeführt wurden. Die Angriffe erfolgten hierbei über die API der im Lieferumfang des Lesegerätes enthaltenen Software.


Sharing von USB Daten durch Malware via TCP/IP

Die von Itrust Consulting entwickelte Demo-Malware führt die Attacken jedoch noch weiter indem es angeschlossene USB-Geräte über TCP/IP im "Rawmodus" ausliest. Ein weiterer Treiber, der auf dem PC des Angreifers installiert ist, lässt das über TCP/IP angesprochene Gerät so erscheinen als wenn es physikalisch lokal angeschlossen wäre.

Wie die Attacke im Detail funktioniert wird Rascagneres auf der MalCon Sicherheitskonferenz in Neu Dehli/Indien am 24. November 2012 präsentieren.

Sogenannte Smart Cards werden für eine Vielzahl von unterschiedlichen Anwendungszwecken eingesetzt, für gewöhnlich dienen sie zu Authentifizierungszwecken und zur digitalen Signatur von Dokumenten. Einige Banken statten ihre Kunden mit Smart Cards und entsprechenden Lesegeräten aus um eine sichere Authentifizierung bezüglich des Online Bankings zu garantieren. Auch innerhalb von Firmen, Institutionen und Unternehmen existieren Authentifizierungsprozesse die auf Smart Card Lesegeräten beruhen, so zum Beispiel zur Authentifizierung mobiler Anwender oder externer Mitarbeiter im Unternehmensnetzwerk. In einigen Ländern wurden zudem elektronische Identifizierungskarten eingeführt, die es Bürgern vereinfachen sollen online Behördengänge durchzuführen.

Rascagneres und sein Team testeten ihre Malware anhand eines Prototyps einer eID Authentifizierungskarte die vorrangig in Belgien eingesetzt wird sowie an Smart Cards die bei belgischen Banken im Praxiseinsatz sind. Die belgische eID erlaubt es den Bürgern ihre Steuererklärung online abzugeben, Dokumente digital zu signieren oder online Anzeigen bei der Polizei aufzunehmen.

Malware beinhaltet Key-logging Technologien zur PIN-Abfrage

Oftmals werden Smart Cards in Kombination mit PIN oder Passwordabfragen verwendet. Bei der Demonstration des Wissenschaftsteams wurde in die Malware ein Keylogger integriert, der sämtliche Tastatureingaben aufzeichnet, sobald der Gerätetreiber aktiviert wird. Dies funktioniert jedoch nur in Fällen bei denen die PIN oder Passwortabfrage über die Tastatureingabe erfolgt, bei Smart Card Geräten, die bereits eine Tastatur integriert haben und bei der die PIN-Eingabe direkt am Gerät erfolgt ist besteht für die Malware keine Möglichkeit die Eingabedaten aufzuzeichnen.

 

Die Treiber, die durch die Wissenschaftler exemplarisch entwickelt worden sind, verfügen über keine digitale Signatur und können somit nicht auf Windows-Systemen installiert werden die einen signierten Treiber erfordern, wie z.B. die 64-Bit Versionen von Windows-7. Die Signatur eines nicht signierten Treibers läßt sich jedoch über ein gestohlenes Zertifikat emulieren. Ein Vertreter dieser Art von Malware ist die TDL4, die in der Lage ist die Treibersignaturen von Windows-7, durch den Einsatz eines Rootkits, zu deaktivieren bevor das System gestartet wird.