Code-Sicherheitsscanning für Databricks-Apps

Important

Dieses Feature befindet sich in der Betaversion. Azure Databricks ermöglicht während der Beta Code-Sicherheitsscans für geeignete Arbeitsbereiche.

Important

Sicherheitsscans können Fehlalarme liefern und nicht alle Sicherheitsfehler identifizieren.

Databricks Apps scannt den Quellcode Ihrer App bei jeder Bereitstellung einer Quellcodeänderung auf häufige Sicherheitsprobleme. Das Scannen blockiert eine Bereitstellung nicht und lässt sie nicht fehlschlagen. Die Ergebnisse erscheinen auf der Sicherheitsseite der App, wo ein App-Manager sie überprüfen und triagieren kann.

Wie Code-Sicherheitsscans funktionieren

Code Security Scanning führt statische Analysen am Quellcode Ihrer App im Rahmen der Bereitstellung durch:

  • Läuft bei Quellcodeänderungen: Ein Scan läuft automatisch, wenn Sie eine Quellcodeänderung bereitstellen. Eine Bereitstellung, die einen bestehenden Build ohne Quellcodeänderung wiederverwendet, wird nicht gescannt.
  • Liest nur deine Quellcode: Der Scanner analysiert deinen Quellcode, ohne ihn auszuführen, und verändert deine App nie.
  • Nicht blockierend: Der Scanner meldet Sicherheitsbefunde, blockiert die Bereitstellung nicht und lässt sie nicht fehlschlagen. Überprüfen und bearbeiten Sie die Ergebnisse basierend auf deren Schwere und Ihren Sicherheitsanforderungen.
  • Failsafe: Wenn ein Scan nicht abgeschlossen werden kann, wird das Ergebnis als nicht verfügbar und nicht als sauber verzeichnet, sodass ein fehlender Scan niemals mit einem bestandenen verwechselt wird.

Was das Scannen erkennt

Code-Sicherheitsscanning analysiert nur den Quellcode Ihrer App. Sie scannt die Abhängigkeiten deiner App nicht und führt keine dynamische Analyse der laufenden App durch.

Der Scanner verwendet Erkennungsregeln, die von Azure Databricks für Databricks-Apps ausgewählt, erstellt und optimiert wurden. Azure Databricks kann im Laufe der Zeit Regeln hinzufügen, entfernen oder aktualisieren, um die Erkennungsabdeckung und -genauigkeit zu verbessern. Die Regeln erkennen häufige Schwachstellenklassen, darunter:

  • Fest codierte Zugangsdaten und Secrets
  • Einschleusung von SQL-Befehlen
  • Websiteübergreifendes Skripting (XSS)
  • Server-Side Request Forgery (SSRF)
  • Pfadtraversierung
  • Unsichere Deserialisierung
  • Permissive Cross-Origin Resource Sharing (CORS)-Konfiguration
  • Unsicheres YAML-Laden
  • Offenlegung von Nutzertokens (im Auftrag des Benutzers)

Hinweis

Ein sauberer Scan garantiert nicht, dass deine App sicher ist. Der Scanner prüft auf eine bestimmte Gruppe von Problemen, sodass Probleme, die seine Regeln nicht abdecken, nicht erkannt werden. Behalten Sie Ihre eigenen Code-Review- und Sicherheitspraktiken ein, insbesondere bei Apps, die sensible Daten verarbeiten. Weitere Sicherheitshinweise finden Sie unter Security Best Practices.

Sicherheitsergebnisse anzeigen

Sie müssen die CAN MANAGE Berechtigung für eine App haben, um deren Sicherheitsbefunde einzusehen. Siehe Konfigurieren von Berechtigungen für eine Databricks-App.

Um die Ergebnisse einzusehen:

  1. Öffne in deinem Arbeitsbereich die App. Siehe Ansicht der Details für eine Databricks-App.
  2. Wählen Sie die Registerkarte Sicherheit aus.

Die Sicherheitsseite für eine Databricks-App, die die Zusammenfassung der Ergebnisse und die nach Dateien gruppierten Ergebnisse zeigt

Die Sicherheit-Seite zeigt die Ergebnisse für die ausgewählte Bereitstellung, gruppiert nach Datei. Jeder Befund enthält:

  • Der Abgleich, der übereinstimmte
  • Der Dateipfad und die Zeilennummer
  • Schweregrad
  • Eine Beschreibung des Problems

Die Ergebnisse verwenden folgende Schweregrade:

  • Kritisch: Ein hochschwerwiegendes Problem, wie eine wahrscheinliche Schwachstelle, das Sie angehen sollten, bevor Sie sich auf die App verlassen.
  • Warnung: Ein mögliches Problem, das du überprüfen und beheben solltest, falls es auf deine App zutrifft.
  • Info: Eine risikoärmere Beobachtung oder ein Vorschlag zur sicheren Codierung, auf den Sie achten sollten.

Eine Zusammenfassung am oberen Rand der Seite zeigt die Anzahl der offenen Befunde, die Anzahl der kritischen Befunde, das Gesamtrisikoniveau und die Anzahl der Befunde, die Sie gelöst oder ignoriert haben. Das Risikoniveau spiegelt Ihre offenen Ergebnisse und deren Schwere wider; Ergebnisse, die Sie beheben oder ignorieren, zählen nicht dazu. Filtern Sie die Befunde nach Schweregrad und konzentrieren Sie sich auf die wichtigsten Probleme.

Um die Ergebnisse einer früheren Bereitstellung zu überprüfen, verwenden Sie den Codeversionswähler, um eine vorherige Bereitstellung auszuwählen.

Triage-Ergebnisse

Triage ermöglicht es Ihnen, nachzuverfolgen, welche Ergebnisse Sie bearbeitet haben. Wie bei der Betrachtung der Ergebnisse müssen Sie die CAN MANAGE-Berechtigung in der App haben, um sie zu triagieren.

Jeder Befund hat einen der folgenden Zustände:

  • Offen: Der Standardzustand für einen neuen Befund.
  • Gelöst: Markiere einen Befund als gelöst, nachdem du das zugrundeliegende Problem behoben hast.
  • Ignoriert: Ignorieren Sie eine Feststellung, die nicht auf Ihre App zutrifft oder die Sie als bekanntes Risiko akzeptiert haben.

Um einen Befund zu prüfen, wählen Sie beim Befund Als behoben markieren oder Ignorieren. Um ein Ergebnis wieder auf Offen zu setzen, wählen Sie Wiederöffnen. Um mehrere Befunde gleichzeitig zu triagieren, wählen Sie mehrere Befunde aus und führen Sie eine Massenaktion aus.

Der Triage-Status wird pro Befund gespeichert und bleibt über Bereitstellungen hinweg bestehen. Wenn dasselbe Problem in einem späteren Deployment auftritt, behält es den von dir festgelegten Zustand, sodass du keine bereits überprüften Probleme erneut triagieren musst.

Scanergebnisse

Die Sicherheit-Seite zeigt das Ergebnis des Scans der Bereitstellung wieder. Das Ergebnis des Scans beschreibt, was der Scan ergeben hat, und der Scan-Status beschreibt, ob der Scan abgeschlossen wurde.

Die Ergebnisse spiegeln die Detektionsregeln wider, die zum Zeitpunkt des Scans galten. Azure Databricks scannt eine bestehende Bereitstellung nicht erneut, wenn sich die Regeln ändern, sodass ein früheres Ergebnis (einschließlich Keine Sicherheitsbefunde) möglicherweise nicht die aktuellen Regeln widerspiegelt. Ein neuer Scan läuft automatisch bei deiner nächsten Quellcodeänderung.

Die folgenden Ergebnisse beschreiben, was der Scan ergab:

Ergebnis Description
Keine Sicherheitsprobleme Der Scan wurde abgeschlossen und im aktuellen Regelwerk wurden keine Probleme gefunden.
Ergebnisse Der Scan hat ein oder mehrere Probleme gefunden, die überprüft und klassifiziert werden müssen.

Die folgenden Zustände beschreiben den Zustand des Scans selbst:

Status Description
Diese Bereitstellung wird gescannt Der Scan ist im Gange. Die Seite aktualisiert sich automatisch, sobald der Scan abgeschlossen ist.
Scan unvollständig Der Scan wurde durchgeführt, aber einige Dateien oder Regeln wurden übersprungen, daher können die Ergebnisse teilweise sein.
Scan-Ergebnisse nicht verfügbar Der Scan konnte für diese Bereitstellung nicht abgeschlossen werden.
Diese Bereitstellung wurde nicht gescannt Die Bereitstellung verwendete einen bestehenden Build ohne Änderung des Quellcodes. Nach einer Codeänderung neu deployen, um es zu scannen.

Zusätzliche Ressourcen