Ich persönlich liebe DevSecOps (Sicherheitsteams integrieren Sicherheit in den gesamten Prozess, den Dev und Ops ausführen). Aufgrund meiner Leidenschaft fragen mich Kunden oft, wann, wie und wo verschiedene Arten von Tests und anderen Sicherheitsaktivitäten implementiert werden sollen. Nachfolgend finden Sie eine Liste der Optionen, die ich Kunden für automatisierte Tests anbiete (in DevOps gibt es noch viel mehr Sicherheitsarbeit zu erledigen – hier handelt es sich lediglich um automatisierte Tests). Gemeinsam analysieren sie die Liste und entscheiden, wo sie aufgrund ihres aktuellen Zustands am sinnvollsten ist, und wählen Tools basierend auf ihrem aktuellen Fokus aus.
Sieben Orte für automatisierte Tests
1. In einer integrierten Entwicklungsumgebung:
- Ein Tool, das Ihren Code fast wie eine Rechtschreibprüfung prüft (nicht sicher, wie das heißt, manchmal auch SAST genannt)
- Agentenverwaltung und Abhängigkeitstools, mit denen Sie nur sichere Pakete herunterladen können. API und andere Linting-Tools, die erklären, wo Sie Definitionsdateien nicht befolgen. Die Analyse der Softwarezusammensetzung zeigt Ihnen, dass die Verwendung dieser Pakete möglicherweise nicht so sicher ist -Commit-Hooks:
- Geheimes Scannen – Stoppen wir Sicherheitsvorfälle, bevor sie passieren.
- 3. Auf Code-Repository-Ebene:
Wöchentliche Aufgabenliste: SCA und SAST
Linting
IAC-Scan
- 4. Muss schnell und genau sein (fast keine Fehlalarme)
- Geheimes Scannen – machen Sie es noch einmal!
- Infrastruktur als Code-Scanning (IaC)
DAST mit HAR-Dateien von Selenium, oder einfach passives Scannen (kein Fuzz-Testen)
SCA (vorzugsweise mit dem ersten verwenden, wenn Sie es vorziehen) mal verschiedene Tools ) - Container- und Infrastruktur-Scanning und ihre Abhängigkeiten
- Infrastruktur als Code auf fehlerhafte Richtlinien, Konfigurationen und fehlende Patches scannen
-
- 5. Außerhalb der Pipeline:
- DAST- und Fuzz-Tests – werden automatisch wöchentlich ausgeführt
- VA Scan/Infrastruktur – Sollte wöchentlich durchgeführt werden
IAST – Installiert während QA-Tests und Penetrationstests oder in der Produktion, wenn Sie sicher sind.
SAST – Testen Sie alles nach jeder größeren Veröffentlichung oder großen Änderung und überprüfen Sie dann die Ergebnisse manuell. -
- 6. Unit-Tests:
- Nehmen Sie die Tests der Entwickler und wandeln Sie sie in negative Tests/Missbrauchsfälle um.
- Erstellen Sie Unit-Tests basierend auf den Ergebnissen der Penetrationstests, um sicherzustellen, dass wir dieselben Fehler nicht noch einmal machen.
7. Laufend:
- Schwachstellenmanagement. Sie sollten alle Ihre Scandaten in ein System hochladen, um nach Mustern, Trends und (am wichtigsten) Verbesserungen zu suchen.
- Sie müssen nicht alles oder auch nur die Hälfte davon tun. Der Zweck dieses Artikels besteht darin, Ihnen einige Möglichkeiten aufzuzeigen und hoffentlich können Sie einige davon nutzen.
Das obige ist der detaillierte Inhalt vonSieben Orte zur Durchführung automatisierter Sicherheitstests. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!