CISA Warnung: Schadcode in JavaScript-Bibliothek UAParser.js eingeschleust!

von

Lesezeit: Minuten ( Wörter)

Die US-Behörde CISA hat eine Sicherheitswarnung herausgegeben und warnt vor Angriffen mit Schadcode über die weit verbreiteten npm-Bibliotheken. Wo und wie fand die Infizierung statt?

Die betroffene JavaScript-Bibliothek UAParser.js ist auf GitHub gehostet. GitHub ist eine Plattform, die von Softwareentwicklern genutzt wird, um auf Repositories zurückzugreifen, die eben solche Programm-Bibliotheken enthalten. Diese Bibliotheken auf GitHub sind quelloffen, also Open Source. Die Entwickler binden dann die benötigten Bibliotheken in ihre eigenen Produkte ein. Sinn und Zweck von GitHub ist es, eine zentrale Anlaufstelle für Bibliotheken zu haben, so dass die Aktualisierung von Programmen vereinfacht ist. Ein Paketmanager übernimmt die Aktualisierung einzelnen Bibliotheken in der Repository, die Teil eines fertigen Softwareprodukts sind. Die Plattform gehört seit 2018 zum Microsoft-Konzern.

Auf GitHub sind unabhängige Entwickler aktiv, die ihre eigenen Programmbibliotheken veröffentlichen. So auch im Falle der nun infizierten JavaScript-Bibliothek UAParser.js. Der Softwareentwickler hinter dieser Bibliothek agiert unter dem Nicknamen faisalman und stammt aus Indonesien. Er äußerte sich kurz nach der CISA Sicherheitswarnung auf GitHub. Dort gab er an, dass entweder sein E-Mail-Account oder sein npm-Account gehackt wurde. Über diesen Weg hatten die Angreifer Zugriff auf seinen Account bei GitHub. Dann infizierten sie die quelloffene JavaScript-Bibliothek UAParser.js mit dem eigenen Schadcode und veröffentlichten diese als Versionsupdate auf GitHub.

In welcher npm-Bibliothek ist der Schadcode vorhanden?

Betroffen sind drei Versionen der JavaScript-Bibliothek UAParser.js. Bei diesen handelt es sich um 0.7.29, 0.8.0 und 1.0.0. Der Eigentümer der Bibliothek brachte nur kurze Zeit nach dem Hack korrigierte und sichere Versionsupdates heraus. Diese sind unter den Versionsnummern 0.7.30, 0.8.1 sowie 1.0.1 zum Download verfügbar.

Jetzt keinen Blogbeitrag mehr verpassen!

  • 12x im Jahr aktuelle News aus der IT Security Welt
  • 4x im Jahr exklusive Einladungen zu kostenlosen IT Security Webinaren
  • 1 kostenloses Whitepaper zu unserem Threat Hunting Service Active Cyber Defense

Wer ist betroffen und wie gelangt die infizierte npm-Bibliothek auf Zielrechner?

In erster Linie sind potenziell alle Softwareprodukte betroffen, die die JavaScript-Bibliothek UAParser.js verwenden. Diese Bibliothek stellt eine recht allgemeine Funktion bereit, denn sie erkennt das Betriebssystem, den Prozessor, den Browser sowie einige weitere Eckdaten des Rechners. Für den Endnutzer ist es kaum nachvollziehbar, auf welche Repositories eine Software aufbaut, die er verwendet. Da diese Bibliothek in Open-Source-Software zum Einsatz kommt, sind Programme aus diesem Bereich betroffen. Bekannt ist, dass die Bibliothek in vielen Programmen selbst großer IT-Unternehmen zum Einsatz kommt. So nutzen Google, Amazon, Facebook, IBM und auch Microsoft dieses npm-Paket.

Enduser sind außerdem nur gefährdet, wenn die Softwareentwickler die infizierte Bibliothek in ihr Produkt aufgenommen und als Update veröffentlicht haben. Dies geschieht über sogenannte Dependencies, also Abhängigkeiten. Teilweise sind solche Prozesse automatisiert. Das heißt, sobald eine Bibliothek auf GitHub aktualisiert wird, erfolgt auch in der Software, die diese einsetzt, ein Update über die Dependencies. Die Verteilung der Updates erfolgt dann direkt über GitHub. Dementsprechend häufig sind Downloads von Programmbibliotheken auf GitHub. Aus der Download-History für die betroffene Bibliothek JavaScript-Bibliothek UAParser.js geht so hervor, dass alleine in der Vorwoche knapp acht Millionen Downloads erfolgten. Schätzungen zufolge, die auf den wöchentlichen Download-Zahlen der Bibliothek beruhen, haben etwa 188.000 Nutzer die infizierte Version erhalten.

Aus Berichten von Nutzern geht hervor, dass eine betroffene Anwendung die Publishing-Software docusaurus ist. Hier kam es zu einem Update im Laufe des Freitags. Wer diese Software also nutzte und das offizielle Update von docusaurus aufspielte, installierte gleichzeitig und ungewollt auch den Schadcode, den die Hacker in der JavaScript-Bibliothek UAParser.js platziert hatten. Dementsprechend sind diese Rechner mit hoher Wahrscheinlichkeit kompromittiert.

Welche Funktion hat der Schadcode, der von den Angreifern in der npm-Bibliothek platziert ist?

Aus Analysen des quelloffenen Codes lässt sich erkennen, welche Funktion der Code hat, den die Hacker in der Bibliothek platziert haben. Dabei zeigte sich im Verlaufe des Samstags, also einen Tag nach der CISA Sicherheitswarnung, dass es sich um zwei Komponenten handelt. Beide sind Skripts, die einen Download von ausführbaren Dateien anschieben und diese auf dem Zielsystem ausführen.

Die erste Komponente lädt ein sogenanntes Mining Tool für Kryptowährungen auf den Rechner und startet dieses. Mining Tools erarbeiten durch die Bereitstellung von Rechenleistung Einheiten in den Kryptowährungen wie Bitcoin. Somit tauschen diese Programme Rechenzeit gegen geldwerte Vorteile. Das Mining Tool lastet den Computer vollständig aus, was zu unangenehmen Nebenwirkungen führt. So reagieren Programme langsamer, der Arbeitsspeicher ist gefüllt und der Stromverbrauch steigt teilweise enorm an. Somit entstehen auch reale Kosten für die Besitzer solcher Computer, die mit einem Mining Tool infiziert sind. Die Angreifer fügen die kompromittierten Rechner wahrscheinlich zu einem Bot-Netz zusammen und konzentrieren so die Rechenleistung. Auf diese Weise maximieren die Hacker die Rechenleistung sowie die finanziellen Vorteile aus dem Angriff. Ende Oktober 2021 liegt der Wert eines Bitcoins bei über 50.000 Euro, so dass solche großangelegten Attacken mit Mining Tools durchaus lohnenswert sind.

Bei der zweiten Komponente handelt es sich um einen Trojaner. Dieser scheint nur unter Windows-Betriebssystemen lauffähig zu sein. Der Trojaner stiehlt Zugangsdaten aus dem Browser des Nutzers und sendet diese an die Angreifer. Bei Beobachtungen von infizierten Rechnern wurde festgestellt, dass die Schadsoftware die Datenbank des Browsers Chrome exportiert, die Informationen über die lokalen Cookies enthält.

Diese zweite Funktion des Schadcodes ist somit deutlich gefährlicher für die betroffenen Computerbesitzer. Während das Mining Tool zwar die Nutzung des PCs beeinträchtigt, hat der Trojaner das Potenzial, Zugangsdaten für das Onlinebanking, E-Mail-Konten oder Firmenpasswörter zu entwenden.

Welche Maßnahmen sind notwendig?

Zunächst einmal ist ein Update der betroffenen Programme, die die infizierte JavaScript-Bibliothek UAParser.js verwenden, notwendig. Dies reicht jedoch nicht aus, um den Befall und die Gefahr einzudämmen. Da der Code eigenständige Dateien nachlädt, bleiben diese auf dem Rechner aktiv, auch wenn die Bibliothek aktualisiert oder gar entfernt wurde. Mit Tools zur Entfernung von Malware lassen sich der Keylogger sowie das Mining Tool ggf. entfernen. Gleichzeitig ist selbst dies keine Garantie, dass keine Schäden entstanden sind oder weitere entstehen, da die Hacker bereits eventuell im Besitz von Passwörtern und Zugangsdaten sind. Deshalb sind befallene Rechner als vollständig kompromittiert zu betrachten.

In einem solchen Fall ist es das sicherste, den Computer sofort vollständig zu isolieren. Alle Passwörter, sowohl lokal als auch bei Webdiensten, sind zu ändern, denn die Hacker haben möglicherweise Kontrolle über die Konten. Es ist wichtig, dies mit einem Computer durchzuführen, der nicht infiziert ist. Um den infizierten Rechner mit Sicherheit zu säubern, ist es notwendig, das Betriebssystem neu zu installieren. Nur so ist gewährleistet, dass die Schadsoftware nicht mehr im Betriebssystem verankert ist.

Fazit

Gerade Open-Source-Software gilt als sicher, da der gesamte Quellcode aller Programmteile, also auch der eingesetzten Bibliotheken, öffentlich zugänglich ist. Gleichzeitig haben IT-Sicherheitsexperten schon oft auf die Anfälligkeit von Repositories wie npm hingewiesen. Am aktuellen Beispiel und der CISA Sicherheitswarnung zeigt sich, dass Hacker durchaus Erfolg mit Angriffen auf Repositories haben.

Dabei ist die eigentliche Infizierung vergleichsweise einfach. Es reicht aus, sich die Kontrolle über den GitHub-Account eines Softwareentwicklers, der eine Bibliothek verwaltet, zu verschaffen. Hierfür gibt es zahlreiche bekannte Möglichkeiten wie Phishing oder Social Engineering. Das Einschleusen des Schadcodes und der Upload auf GitHub sind dann eine Sache von Minuten. Bis der zuständige Softwareentwickler selbst reagiert oder einem Dritten der Hack auffällt, vergeht viel Zeit. In dieser ist es wahrscheinlich, dass der Schadcode bereits seinen Weg auf die Computer von nichtsahnenden Nutzern gefunden hat. Der Weak Link ist somit eine einzelne Privatperson, wobei die Auswirkungen, wie in diesem Fall, sogar die größten IT-Unternehmen der Branche, von Amazon über IBM bis Microsoft, betreffen.

Ist Ihr Unternehmen von diesem Sicherheitsvorfall betroffen? Kontaktieren Sie uns!

Durch Klicken auf die Schaltfläche "Absenden" bestätigen Sie, unsere Richtlinien zum Datenschutz gelesen zu haben. Sie geben Ihr Einverständnis zur Verwendung Ihrer personenbezogenen Daten zu dem von Ihnen angegebenen Zweck der Kontaktaufnahme durch die secion GmbH.

Zurück