IT-Sicherheit-DE
Published in

IT-Sicherheit-DE

Malware innerhalb von JavaScript Bibliothek ua-parser-js entdeckt

Dieses Jahr ist irgendwie ganz besonders. Das Jahr nach dem Lockdown hat nicht nur eine Knappheit an Ressourcen hervorgebracht, sondern auch eine ungewohnt gefährliche Zeit im Internet. Warum? Nach Solarwinds und Kaseya (Lieferketten/Supplychain Attacks) haben wir nun auch infizierte JavaScript Libraries, die an ihrer Quelle bereits angegriffen werden.

Gab es früher zwar auch schon, aber ich möchte hier auf einen Schutzmechanismus hinweisen, der effektiv ist.

Penetrationstests helfen

Aber nicht wie man das vermutet. Meine Pentests, vor allem die Web Application Pentests, zielen häufig auf externe JavaScript Bibliotheken ab, die die Auftraggeber nutzen.

UA-Parser.js besorgt einem Websitebetreiber viele nützliche Informationen über den Besucher, vor allem über den im Browser verwendeten User Agent. Soweit so gut.

Damit das klappt muss das Skript mit in den HTML Code eingebaut werden:

<script src=”https://…../ua-parser.js”></script>

Wer das so einbaut und nicht lokal vom Webserver lädt wird glücklich mit einer nicht infizierten Datei. Wer hingegen regelmäßig auf Updates setzt und aus einem CDN (Content Delivery Network) die neueste Version lädt, wird schnell die infizierte Variante bekommen.

Genau das sehe ich häufig bei Penetrationstests. Unverifizierte JavaScript Einbindungen.

Was soll ich dann tun?

Subresource Integrity Checks! Das heißt im Klartext: Jede eingebundene JavaScript Datei, der ich vertraue sollte gegen einen Hashwert geprüft werden. Das hat den Nachteil, dass ich nicht jede neue Version bekomme, aber jede neue Version mit Malware wird automatisch abgelehnt.

<script src=”https://…../ua-parser.js” integrity=”sha512-sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7H….”>

Gibt es nun ein Update, wird die Datei einfach nicht an den Browser geschickt, da sich in dem Fall der Hashwert ändert. Ein Entwickler müsste das manuell machen. Aber eine infizierte JavaScript Datei würde so nicht ausgeführt werden.

Hinweis: Funktioniert nur mit coolen Browsern. Eine Liste findet ihr hier: https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity

--

--

--

IT Sicherheit ist meist so komplex, dass im Business Alltag keine Zeit bleibt, sich damit im Detail zu befassen. Diese Publication ist für die gedacht, die sich darauf verlassen, dass sie einen kurzen Abriss zu aktuellen Bedrohungen erhalten, den sie auch verstehen.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Andre Fritsche

Andre Fritsche

More from Medium

Reverse Tab-nabbing — Links and Its Security loops

Safely Store Your Passwords with a Client-Side Web Application

Javascript 101 — Arithmetic Operators, Code Editors, Functions, Objects, and Arrays — 02