Zum Hauptinhalt springen

Definitionen

In diesem Abschnitt definieren wir einige der in NDM verwendeten Begriffe, da dasselbe Wort unterschiedlich interpretiert werden kann.

Hier sind die Definitionen einiger Wörter und Ausdrücke, die in NDM verwendet werden.

Kernkonzepte​

Dynamische Analyse​

Ausführung von Code zur Beobachtung seines tatsächlichen Verhaltens.

Dabei wird ein Paket in einer kontrollierten Umgebung – wie einer Sandbox oder einem Container – ausgeführt und dessen Aktivität überwacht, einschließlich Dateizugriffen, Netzwerkaufrufen, gestarteten Prozessen und Installationsskripten. Diese Methode ist entscheidend für die Erkennung von Zero-Day-Malware, da sie Verhaltensweisen aufdeckt, die für statische Scanner unsichtbar bleiben.

Statische Analyse​

Überprüfung von Code ohne dessen Ausführung.

Tools zur statischen Analyse lesen Quellcode, Metadaten, Abhängigkeitsgraphen und Datenbanken bekannter Schwachstellen aus. Diese Tools können bekannte Muster erkennen, sind jedoch nicht in der Lage, neues oder verschleiertes (obfuskiertes) schädliches Verhalten zuverlässig zu identifizieren.

Backend/Server​

Der Teil einer Anwendung, der auf einem Server läuft und Logik, Datenverarbeitung sowie Kommunikation abwickelt. In NDM übernimmt das Backend folgende Aufgaben:

  • Koordination der Sandbox-Ausführung
  • Speicherung der Analyseergebnisse
  • Berechnung von Risikobewertungen (Risk Scores)
  • Bereitstellung einer API für die CLI

CLI-Tool​

Ein Befehlszeilenprogramm, mit dem Benutzer über Textbefehle interagieren.

Die NDM-CLI ist die Schnittstelle für den Benutzer; über sie werden Scans gestartet, Berichte abgerufen und Einstellungen konfiguriert.

Paket​

Eine verteilbare Code-Einheit, die typischerweise in einer Registry (wie npm) veröffentlicht wird.

Ein Paket enthält JavaScript-/TypeScript-Code, Metadaten, Abhängigkeiten und optional Installationsskripte.

Sandbox​

Eine isolierte Ausführungsumgebung, die für die sichere Ausführung von nicht vertrauenswürdigem Code konzipiert ist. Eine Sandbox schränkt Folgendes ein:

  • Dateisystemzugriff
  • Netzwerkzugriff
  • Prozesserstellung
  • Systemaufrufe Sie ermöglicht es NDM, Verhalten zu beobachten, ohne das Host-System zu gefährden.

Abhängigkeit (Dependency)​

Eine Abhängigkeit ist ein externer Code-Teil, auf den ein Paket angewiesen ist; gemeinsam bilden sie einen oft umfangreichen Graphen. Abhängigkeiten stellen einen wesentlichen Angriffsvektor im Bereich der Supply-Chain-Sicherheit dar.

Begriffe zur Erkennungsgenauigkeit​

Wahr-Positiv (True Positive):​

Das System erkennt schädliches Verhalten korrekt.

Beispiel: NDM markiert ein Paket, das Malware enthält.

Wahr-Negativ (True Negative):​

Das System erkennt sicheres Verhalten korrekt.

Beispiel: NDM markiert ein harmloses Paket nicht.

Falsch-positiv​

Das System stuft sicheres Verhalten fälschlicherweise als bösartig ein.

Beispiel: Ein Paket mit legitimen Netzwerkaufrufen wird als gefährlich markiert.

Falsch-negativ​

Das System erkennt bösartiges Verhalten nicht.

Beispiel: Ein Paket führt schädliche Aktionen aus, aber NDM markiert es nicht.