Dynamisches Security Scanning
Einfaches Portscanning wie es herkömmliche Vulnerabiltiy Scanner verwenden, reicht heute nicht mehr aus um Sicherheitslücken auf Applikationsebene erkennen zu können. Mit Dynamischen Security Scans (oder auch DAST genannt) werden Applikationen, wie bei einem Penetrationtest, mit bekannten Angriffsvarianten (z.B. SQL Injection) zur Laufzeit geprüft.
Dynamisches Security Scanning oder auch genannt als Dynamisches Applikation Security Testing (DAST) geht einen Schritt weiter als herkömmliches Vulnerability Scanning. Dynamisches Security Scanning iteriert durch die Navigationspunkte und Workflows einer Applikation, wie ein normaler Benützer, und versucht dabei mit bekannten Angriffsmustern wie bei einem Penetrationtest die Schwachstellen einer Applikation aufzudecken. Solche Schwachstellen können z.B. sein: Injections (SQL, XML Entity, XSS, HTTP Header), Ungeprüfte Weiterleitungen, ungenügender Schutz der Session, Schwache oder veraltete Versionen bei der Verschlüsselung, Falsch angewendete oder schwache Authentisierungen oder Authorisierungskonzepte. Anders als beim klassischen Vulnerability Scanning werden nicht nur Daten gelesen, sondern bewusst verändert, um so den gewünschten Effekt wie beim "Hacken" zu erzielen.
Features
Eine gute Dynamisches Security Scanning Lösung weist unter anderem folgende Key-Features aus: Es können nicht nur Webanwendungen sondern auch Webservices und Mobile Apps getestet bzw. gescannt werden. Nebst unauthenticated Scanning muss die Lösung auch Authenticated Scans unterstützen, wobei die gängigen Zugriffsschutzvarianten unterstützt werden (z.B. Basic/Digest, NTLM, Kerberos). Das Produkt sollte in der Lage sein Macros, wie auch Sessions aufzuzeichnen, die angepasst und wieder abgespielt werden können. Nur so können Benutzeraktionen und Workflows simuliert werden, was garantiert, dass die gesamte Anwendung durchlaufen bzw. gescannt wurde. Die Attacks welche ausgeführt werden, sollten als Knowledgebase vom Vendor zur Verfügung gestellt und regelmässig aktualisiert werden. Um es automatisiert in den SDLC Prozess einzuführen, sollte ein REST API oder Plugins für die Build-Server zur Verfügung stehen. Die gefundenen Issues sollten an ein Vulnerability Management oder ein Bug-Tracking System zur Remedierung weitergeleitet werden können. Gewisse Lösungen bieten zusätzlich noch die Möglichkeiten an einen Agent / Monitor in die Applikation einzubetten, um so besser nachvollziehen zu können, ob ein Angriff erfolgreich war, dies erhöht die Qualität der Resultate.
Crawling
Authenticated Scans
Internal Inspects
Macros
On-Premise / Cloud
Session Recording
Attack Catalogue
SDLC Integration
Mobile Testing
Vuln Management
Lösungsansatz und Angebot von SwissConomy
Dynamisches Security Testing sollte nicht nur am Ende einer Entwicklung angewendet werden, sondern sollte regelmässig ausgeführt werden. Der Beste Ansatz ist es dabei von Anfang in die Continuous Integration Build Umgebung einzugliedern und z.B. über Nacht wie bei dem herkömmlichen funktionalen Testing ausgeführt werden. Dies bring den Vorteil das Probleme schon frühzeitig erkannt und gelöst werden können und spart somit Zeit und Kosten. Die Entwickler oder Tester der Applikation sollten dabei die Verantwortung über die einzelnen Testabläufe übernehmen und diese ggf. anpassen, wenn sich z.B. die Navigation der Applikation geändert hat. Eine solche integrierte Lösung könnte wie folgt aussehen:
SwissConomy bietet verschiedene Varianten für das Dynamische Security Testing an. So empfehlen wir kommerzielle Produkte oder aber auch den Ansatz mit Opensource Lösungen zu verfolgen. Ebenfalls lässt sich beides als On-Premise wie auch als Cloud Variante nutzen. Beides hat seine Vor- und Nachteile und wird entsprechend für die Situation des Kunden konzipiert und ausgearbeitet werden.
Unser gesamtes Leistungsangebot im Bereich Security Scanning umfasst:
- Allgemeine Beratung um das Thema Security Scanning
- POC, um sicherzustellen, dass der Scanner die Erwartungen erfüllt
- Installation, Konfiguration oder Migration von neuen Versionen
- Anpassungen an die Bedürfnisse (z.B. Reporting)
- Integration in SDLC (z.B. Build Server & Sonar)
- Schreiben von eigenen Pentest-Regeln
- Risk Reviews und Impact Analysen
- Review der Remedierungen
- Schulung der Entwickler
Haben wir Ihr Interesse geweckt? So zögern Sie nicht mit unseren Experten einen Termin zu vereinbaren, wo wir Ihnen unsere Ansätze und Lösungen bzgl. Security Testing genauer vorstellen können.