FV8: Ein neues Tool zur Erkennung von bösartigem JavaScript
FV8 verbessert die Erkennung von umgehenden Techniken in JavaScript durch dynamische Analyse.
― 6 min Lesedauer
Inhaltsverzeichnis
- Das Problem mit Umgehungstechniken
- FV8: Eine neue Lösung
- Wie FV8 funktioniert
- Die Ergebnisse: Was FV8 gefunden hat
- Die Bedeutung der dynamischen Analyse
- Die Rolle der Obfuskation
- Manuelle Überprüfung der Erkenntnisse
- Einblicke in böswillige Erweiterungen
- Das NPM-Ökosystem
- Clustering von Umgehungstechniken
- Fazit
- Originalquelle
- Referenz Links
Böswilliger Code kann direkt sichtbar sein, was es Sicherheitswerkzeugen schwer macht, ihn zu finden und zu stoppen. Das gilt besonders für JavaScript, eine Programmiersprache, die häufig auf Websites verwendet wird. Angreifer nutzen oft Tricks, um der Entdeckung zu entkommen, was es schädlichem Code ermöglicht, ohne bemerkt zu werden. Diese Umgehungstechniken erschweren es sowohl statischen als auch dynamischen Analysetools, böswillige Aktionen zu erkennen.
Das Problem mit Umgehungstechniken
Umgehungstechniken sind Methoden, die es schädlichem Code ermöglichen, unbemerkt zu bleiben. Sie können den Anschein erwecken, als ob nichts Falsches passiert, was besonders effektiv in JavaScript ist. Diese Sprache erlaubt oft dynamische Code-Injektion, was bedeutet, dass Code zur Laufzeit eingefügt werden kann. Diese dynamische Natur erleichtert es Angreifern, ihre versteckten Pläne auszuführen.
Werkzeuge, die auf statische und Dynamische Analyse angewiesen sind, übersehen oft diese Art von Umgehung. Statische Analyse betrachtet den Code, ohne ihn auszuführen, während dynamische Analyse den Code während des Ausführens bewertet. Beide Methoden können bei umgehendem Code scheitern, was ein wachsendes Problem in der Cybersicherheit darstellt.
FV8: Eine neue Lösung
Um dieses Problem zu bekämpfen, wurde eine modifizierte Version der V8-JavaScript-Engine namens FV8 entwickelt. Diese Engine wurde so konzipiert, dass sie aktiv nach Umgehungstechniken innerhalb von JavaScript-Code sucht. Indem sie die Ausführung bestimmter Codepfade erzwingt, kann FV8 umgehende Aktionen aufdecken, die normalerweise von anderen Tools unentdeckt bleiben würden.
FV8 funktioniert, indem es die Codeausführung in wichtigen Teilen der JavaScript-Umgebung überwacht, insbesondere mit dem Ziel von APIs, die Code dynamisch injizieren können. Dadurch erhöhen sich die Chancen, böswilligen Code, der in JavaScript-Dateien versteckt ist, zu erkennen. Das Tool wurde sowohl in die Node.js-Umgebung als auch in den Chromium-Browser integriert, was seine Nutzbarkeit und Effektivität erweitert.
Wie FV8 funktioniert
FV8 arbeitet, indem es die Codeausführung auf selektive Weise kontrolliert. Es konzentriert sich auf spezifische Bedingungen, die auf Umgehungstechniken hindeuten könnten, und führt die relevanten Codepfade aus, um die Sichtbarkeit zu erhöhen. Diese Methode verbessert die Codeabdeckung, sodass mehr Teile des Codes analysiert werden können.
Die Integration von FV8 in die Node.js-Umgebung ermöglicht es, npm-Pakete zu untersuchen, während seine Präsenz im Chromium-Browser es ihm ermöglicht, Browsererweiterungen zu inspectieren. Das Tool wurde gegen eine Vielzahl dieser Pakete und Erweiterungen getestet und hat viele Fälle von umgehenden Aktionen aufgedeckt.
Die Ergebnisse: Was FV8 gefunden hat
Bei umfangreichen Tests hat FV8 eine Reihe von Umgehungstechniken erkannt. Es identifizierte 28 einzigartige Umgehungskategorien, darunter fünf zuvor nicht gemeldete Methoden. In einer Stichprobe bestätigter böswilliger Daten markierte das Tool 1.443 npm-Pakete als solche, die umgehende Techniken enthalten, und identifizierte 164 böswillige Erweiterungen. Das hebt die Effektivität von FV8 bei der Aufdeckung umgehenden Verhaltens hervor.
Zusätzlich zur Identifizierung umgehender Techniken hat FV8 auch eine bedeutende Menge an injiziertem Code aufgedeckt. In Tests mit über 39.000 Browsererweiterungen zeigte es eine enorme Anzahl von injizierten Skripten, was zeigt, wie tief böswilliger Code eingebettet sein kann.
Die Bedeutung der dynamischen Analyse
Dynamische Analyse ist entscheidend, um das Verhalten von JavaScript in Echtzeit zu verstehen. Viele bestehende Tools können die rekursive Natur der Codeausführung nicht bewältigen, weshalb FV8 herausragt. Indem es den Code während der Ausführung untersucht und Ausführungspfade erzwingt, kann FV8 versteckte Bedrohungen identifizieren, die sonst unbemerkt bleiben würden.
Viele gängige Umgehungstechniken, wie Obfuskation oder Timing-Checks, können traditionelle Erkennungsmethoden leicht täuschen. Die Fähigkeit von FV8, diese Techniken aufzudecken, macht es zu einer wertvollen Ressource im Kampf gegen böswilliges JavaScript.
Die Rolle der Obfuskation
Obfuskation ist eine gängige Technik, die von Angreifern verwendet wird, um böswilligen Code zu verbergen. Sie macht den Code schwer lesbar und verständlich, was die Erkennung erschwert. FV8 hat eine solide Leistung im Umgang mit verschiedenen Obfuskationstechniken gezeigt.
Obwohl es nicht jede Art von Obfuskation behandeln kann, deckt FV8 eine beträchtliche Anzahl davon ab. Diese Effektivität festigt weiter die Position des Tools als wichtige Ressource für Cybersicherheitsanalysten.
Manuelle Überprüfung der Erkenntnisse
Trotz der automatisierten Natur von FV8 ist die menschliche Überprüfung weiterhin ein kritischer Bestandteil. Nachdem FV8 potenzielle Probleme markiert hat, überprüfen Sicherheitsexperten manuell die gekennzeichneten Elemente, um ihre böswillige Natur zu bestätigen. Dieser manuelle Prozess kombiniert automatisierte Erkennung mit Expertenanalyse und erhöht die Gesamtgenauigkeit.
Die Überprüfungsphase ist entscheidend, um sicherzustellen, dass die Erkenntnisse des Tools gültig sind. Experten bewerten die gekennzeichneten Erweiterungen und Pakete, um festzustellen, ob sie tatsächlich böswilliges Verhalten zeigen.
Einblicke in böswillige Erweiterungen
Eine Analyse der gekennzeichneten Erweiterungen zeigte, dass eine erhebliche Anzahl umgehende Techniken einsetzte. Unter diesen wurden verschiedene Methoden verwendet, um böswillige Aktionen effektiv zu verbergen. Gängige Taktiken umfassten die Überprüfung auf Benutzerinteraktion und Umweltbedingungen, um einer Entdeckung zu entkommen.
Die Ergebnisse zeigten, dass viele dieser böswilligen Erweiterungen es schafften, bestehenden Sicherheitsmassnahmen zu entkommen. Durch den Einsatz umgehender Taktiken konnten sie ihre schädlichen Aktionen durchführen, ohne Alarm auszulösen.
Das NPM-Ökosystem
Das npm-Ökosystem ist ein weiteres Gebiet, in dem umgehende Techniken weit verbreitet sind. Mit Millionen von verfügbaren Paketen finden Angreifer Möglichkeiten, böswilligen Code einzufügen. Die Integration von FV8 in dieses Umfeld ermöglicht umfassende Untersuchungen dieser Pakete und verbessert die Chancen, Bedrohungen zu identifizieren.
Das Tool hat zahlreiche böswillige npm-Pakete erfolgreich markiert, was seine Effektivität in diesem riesigen Bereich zeigt. Diese Fähigkeit, versteckte Bedrohungen in Echtzeit aufzudecken, ist von unschätzbarem Wert, besonders da das npm-Ökosystem weiterhin wächst.
Clustering von Umgehungstechniken
Um die Erkennungsgenauigkeit zu verbessern, verwendet FV8 einen Cluster-Algorithmus, um das Verhalten gekennzeichneter Erweiterungen zu analysieren. Dieser Prozess gruppiert ähnliche umgehende Aktionen und hilft, Muster zu identifizieren, die auf böswillige Absichten hindeuten könnten.
Durch das Clustering umgehender Techniken können Sicherheitsteams Einblicke in die Arbeitsweise von Angreifern gewinnen. Dieses Verständnis kann zukünftige Sicherheitsmassnahmen informieren und helfen, robustere Abwehrmechanismen gegen sich weiterentwickelnde Bedrohungen zu entwickeln.
Fazit
Die Entwicklung von FV8 stellt einen bedeutenden Fortschritt im Kampf gegen böswilliges JavaScript dar. Durch die Bereitstellung eines innovativen Ansatzes zur dynamischen Analyse erhöht es die Chancen, umgehende Techniken in sowohl npm-Paketen als auch Browsererweiterungen zu erkennen.
Die Erkenntnisse aus den Ergebnissen von FV8 unterstreichen die Bedeutung proaktiver Sicherheitsmassnahmen. Während Angreifer weiterhin ihre Umgehungstaktiken verfeinern, wird FV8 eine wichtige Rolle dabei spielen, die Abwehr gegen böswilligen Code zu stärken.
In der sich ständig verändernden Landschaft der Websicherheit ist es entscheidend, möglichen Bedrohungen einen Schritt voraus zu sein. Die Fähigkeiten von FV8 verdeutlichen die Notwendigkeit für fortlaufende Forschung und Entwicklung in diesem Bereich, damit die Sicherheitsmassnahmen mit den Taktiken der böswilligen Akteure Schritt halten können.
Titel: FV8: A Forced Execution JavaScript Engine for Detecting Evasive Techniques
Zusammenfassung: Evasion techniques allow malicious code to never be observed. This impacts significantly the detection capabilities of tools that rely on either dynamic or static analysis, as they never get to process the malicious code. The dynamic nature of JavaScript, where code is often injected dynamically, makes evasions particularly effective. Yet, we lack tools that can detect evasive techniques in a challenging environment such as JavaScript. In this paper, we present FV8, a modified V8 JavaScript engine designed to identify evasion techniques in JavaScript code. FV8 selectively enforces code execution on APIs that conditionally inject dynamic code, thus enhancing code coverage and consequently improving visibility into malicious code. We integrate our tool in both the Node.js engine and the Chromium browser, compelling code execution in npm packages and Chrome browser extensions. Our tool increases code coverage by 11% compared to default V8 and detects 28 unique evasion categories, including five previously unreported techniques. In data confirmed as malicious from both ecosystems, our tool identifies 1,443 (14.6%) npm packages and 164 (82%) extensions containing at least one type of evasion. In previously unexamined extensions (39,592), our tool discovered 16,471 injected third-party scripts, and a total of 8,732,120 lines of code executed due to our forced execution instrumentation. Furthermore, it tagged a total of 423 extensions as both evasive and malicious and we manually verify 110 extensions (26%) to actually be malicious, impacting two million users. Our tool is open-source and serves both as an in-browser and standalone dynamic analysis tool, capable of detecting evasive code, bypassing obfuscation in certain cases, offering improved access to malicious code, and supporting recursive analysis of dynamic code injections
Autoren: Nikolaos Pantelaios, Alexandros Kapravelos
Letzte Aktualisierung: 2024-05-21 00:00:00
Sprache: English
Quell-URL: https://arxiv.org/abs/2405.13175
Quell-PDF: https://arxiv.org/pdf/2405.13175
Lizenz: https://creativecommons.org/licenses/by/4.0/
Änderungen: Diese Zusammenfassung wurde mit Unterstützung von AI erstellt und kann Ungenauigkeiten enthalten. Genaue Informationen entnehmen Sie bitte den hier verlinkten Originaldokumenten.
Vielen Dank an arxiv für die Nutzung seiner Open-Access-Interoperabilität.