Angesichts der Tatsache, dass etwa ein Drittel aller bekannt gewordenen Sicherheitsverletzungen auf erfolgreiche Attacken gegen Webanwendungen zurückzuführen ist, ist es von immenser Wichtigkeit, die Sicherheit Ihrer Webanwendungen und APIs gründlich zu überprüfen.
Die Sicherheit Ihrer Webanwendungen ist nicht nur aufgrund gesetzlicher Bestimmungen unerlässlich, sondern auch im Hinblick auf den Schutz Ihrer Kundendaten und die Risikominimierung für Ihr Unternehmen.
Es gibt zahlreiche Ansätze zur Sicherung Ihrer Webanwendungen, die jeweils eigene Vor- und Nachteile aufweisen. Einige Methoden konzentrieren sich auf die Identifizierung von Sicherheitsproblemen im Quellcode Ihrer Anwendungen. Andere dienen dem direkten Schutz vor Angriffen. Wieder andere setzen auf dynamische Sicherheitstests Ihrer Webanwendungen während der Laufzeit – also genau so, wie es ein Hacker tun würde.
Der Schwerpunkt dieses Artikels liegt auf der zuletzt genannten Methode, genauer gesagt auf Probely. Das Besondere an Probely im Vergleich zu anderen Lösungen ist die Bewältigung zweier Kernprobleme bei Web-Schwachstellenscannern: die Scanabdeckung moderner Webanwendungen und die Ergebnisqualität.
Probely bietet zwei verschiedene Versionen an: eine Self-Service-Variante für kleine und mittlere Unternehmen (KMU) sowie eine speziell auf größere Firmen mit einer Vielzahl von Webanwendungen und APIs zugeschnittene Lösung.
Probely ist darauf ausgerichtet, eine ausgezeichnete Abdeckung in modernen Entwicklungsumgebungen zu gewährleisten und Fehlalarme mithilfe von evidenzbasierten Scanergebnissen zu eliminieren. Gleichzeitig können Sie DAST-Scans in Ihren gesamten Entwicklungszyklus integrieren.
Klingt das zu gut, um wahr zu sein?
Lesen Sie weiter, um mehr über meine Analyse von Probely zu erfahren.
Was leistet Probely im Detail?
Probely richtet sich an Entwickler und Unternehmen jeder Größe. Es testet und scannt Ihre Anwendungen und APIs auf Sicherheitsprobleme und Schwachstellen. Nach Abschluss der Analyse erhalten Sie konkrete Anleitungen zur Behebung der gefundenen Probleme.
Ihre Entwickler und Sicherheitsexperten können Probely über die benutzerfreundliche Oberfläche nutzen. Wenn Sie jedoch Wert auf Leistung und Flexibilität legen, können Sie auf die umfassende API zurückgreifen, die einem „API-First“-Entwicklungsansatz folgt. Die API bietet den vollen Funktionsumfang der Benutzeroberfläche und erlaubt Ihnen die Integration von Probely in CI/CD-Pipelines, Vulnerability-Management-Tools, Orchestratoren oder Issue-Tracker. Für gängige Tools wie JIRA, Jenkins, Azure DevOps, DefectDojo, CircleCI und Slack stehen möglicherweise sofort einsatzbereite Integrationen zur Verfügung. Falls Sie einen eigenen Issue-Tracker oder Orchestrator verwenden, ist die API der ideale Weg.
Abdeckung, Crawling und Genauigkeit
Probely setzt einen hochentwickelten Spider ein, der sich durch komplexe Javascript-Anwendungen genauso bewegt wie ein normaler Browser. Dies führt zu einer hervorragenden Abdeckung der Webseite, was bei vielen anderen DAST-Tools ein Problem darstellt. Dieser Spider ist besonders geeignet für Single-Page-Anwendungen, wie sie beispielsweise auf React oder Angular JS basieren.
Es ist wichtig zu wissen, dass ein Scanner nur Schwachstellen auf den gefundenen Seiten identifizieren kann. Daher ist ein leistungsfähiger Spider von entscheidender Bedeutung.
Probely bietet auch verschiedene Scanprofile an, die auf die jeweilige Testumgebung abgestimmt sind. Sie können ein weniger invasives Scanprofil wählen, wenn Sie Ihre Produktionsumgebung testen möchten. Für die Überprüfung Ihrer QA-Umgebung können Sie ein gründlicheres Profil verwenden, um umfassendere Scans zu erhalten. Durch das Testen einer Vorproduktionsumgebung können Sie Schwachstellen identifizieren und beheben, bevor die Anwendung in der Produktionsumgebung eingesetzt wird.
Berichterstattung
Obwohl Probely eine umfassende Liste von Schwachstellen erkennen kann, konzentriert es sich darauf, nur relevante Ergebnisse ohne Fehlalarme zu melden. Für bestimmte Kategorien von Schwachstellen liefert es einen Beweis für die tatsächliche Existenz der Schwachstelle. Dies spart Ihrem Team Zeit bei der Überprüfung der Echtheit und Relevanz der Ergebnisse.
Probely bietet umfangreiche Berichte über die Benutzeroberfläche, kann aber auch Informationen über Schwachstellen mit Issue-Trackern oder Schwachstellenmanagement-Tools synchronisieren. So können Sie Probely in Ihre bestehenden Sicherheits- und Entwicklungsprozesse integrieren.
Probely kann Ihre Software auf Schwachstellen testen, die in den OWASP TOP 10 aufgeführt sind, und vieles mehr. Darüber hinaus unterstützt es Sie bei der Erfüllung von Compliance-Anforderungen, indem es die spezifischen Vorgaben von PCI-DSS, GDPR, HIPAA und ISO27001 prüft.
Ein Auszug aus dem OWASP TOP 10-Bericht zeigt Ihnen auf einen Blick, wo Compliance-Probleme bestehen.
Benutzeroberfläche
Die Benutzeroberfläche ist einfach und intuitiv gestaltet, sodass Sie schnell loslegen können. In der Enterprise Edition können Sie Benutzer und Rollen verwalten und eigene Rollen definieren. Mit Hilfe von Labels können Sie Benutzer, Ressourcen und Schwachstellen besser organisieren und so die Sicherheit Ihrer Webanwendung effizienter handhaben. Da alle Funktionen über die API zugänglich sind, können Sie Probely nahtlos in Ihre anderen Unternehmenssicherheitsanwendungen und -prozesse einbinden.
Wenn Sie Jira oder Azure Boards nutzen, können Sie Probely so konfigurieren, dass alle gefundenen Schwachstellen automatisch an Ihren Issue-Tracker gesendet werden. Wenn ein Entwickler das Problem im Issue-Tracker behebt und schließt, löst dies automatisch einen erneuten Test in Probely aus, um die erfolgreiche Behebung der Schwachstelle zu überprüfen. Sollte die Schwachstelle nicht behoben sein, wird das Problem im Issue-Tracker erneut geöffnet. So kann Ihr Entwicklungsteam Schwachstellen wie jeden anderen Fehler direkt im Issue-Tracker bearbeiten, ohne die Probely-Oberfläche nutzen zu müssen. Praktisch, oder? 🙂
Los geht’s 🚀
Für meine Testzwecke habe ich die Enterprise Edition von Probely verwendet.
Probely bietet auch eine Standard Edition und verschiedene Tarife an, einschließlich eines kostenlosen Plans. Im kostenlosen Plan werden lediglich drei Kategorien von Schwachstellen geprüft: Cookie-Flags, Sicherheitsheader und SSL/TLS-Probleme. Der Pro-Plan beinhaltet den Großteil der Funktionen und ist speziell auf KMUs und Organisationen zugeschnitten, die bis zu fünf Ziele scannen müssen.
Die Enterprise Edition richtet sich an Unternehmen mit einer großen Anzahl an Zielen und bietet zusätzliche Funktionen, die in Unternehmenssoftware üblich sind: Benutzer-, Gruppen-, Rollen- und Berechtigungsverwaltung. Sie können auch interne Ziele (in Ihrem privaten Netzwerk) scannen, indem Sie einen bereitgestellten Agenten installieren.
Hinzufügen eines Ziels
Das Hinzufügen eines Ziels ist unkompliziert. Nachdem Sie sich in Ihrem Konto angemeldet haben, müssen Sie zur Seite „Ziele“ navigieren und auf „Hinzufügen“ klicken. Dann geben Sie einen Namen, eine URL und optional ein oder mehrere Labels (z.B. „Test“, „Produktion“, „Entwicklung“ usw.) für das neue Ziel an. Damit Probely dieses Ziel als eigenständige API ohne unterstützende Web-App scannen kann, sollten Sie die entsprechende Option aktivieren, um es als API-Ziel zu kennzeichnen.
Wenn Ihr Ziel nicht öffentlich im Internet erreichbar ist und Sie einen Probely-Agenten in Ihrem privaten Netzwerk installiert haben, können Sie bei der Zieldefinition auswählen, welcher Agent verwendet werden soll.
Nachdem Sie ein Ziel hinzugefügt haben, müssen Sie den Besitz verifizieren, da Probely sicherstellen muss, dass Sie berechtigt sind, einen Scan durchzuführen. Es gibt zwei Möglichkeiten zur Validierung: entweder Sie laden eine Datei mit bestimmten Inhalt in das Stammverzeichnis des Ziels oder Sie fügen einen TXT-Eintrag mit dem Namen der Domäne und spezifischem Inhalt zu Ihrem DNS-Eintrag hinzu. Nach erfolgreicher Validierung können Sie das Ziel scannen, indem Sie einfach auf die Scan-Taste klicken.
Sie können den Fortschritt und den Status eines Scans überprüfen, indem Sie im Probely-Dashboard zur Registerkarte „Scans“ navigieren. Hier wird angezeigt, wann der Scan gestartet wurde und welche Ergebnisse bisher erzielt wurden. Die Ergebnisse sind nach Schweregrad eingefärbt, sodass Sie auf einen Blick erkennen, ob kritische Probleme vorliegen, die sofortige Aufmerksamkeit erfordern.
Wenn Ihre Website eine Anmeldeseite verwendet und Sie möchten, dass Probely auch den Bereich dahinter scannt, müssen Sie Anmeldeinformationen angeben, die es Probely ermöglichen, die Website als authentifizierter Benutzer zu crawlen. Probely unterstützt die gängigsten Authentifizierungsmethoden.
Scannen einer API
Zum Scannen eines API-Ziels benötigt Probely dessen Schema. Dies geschieht beim Hinzufügen des API-Ziels, indem Sie entweder die OpenAPI-Schema-URL angeben oder das Schema hochladen, falls Sie es zuvor als lokale Datei gespeichert haben. Mit der URL-Option kann Probely das Schema vor jedem Scan abrufen, um sicherzustellen, dass immer die aktuellste Version verwendet wird.
Auch bei den Authentifizierungsmethoden für den API-Zugriff gibt es verschiedene Optionen. Probely unterstützt nicht nur statische Token, sondern ermöglicht auch eine dynamische Authentifizierungskonfiguration beim Scannen von APIs. Sie können einen Anmelde-Endpunkt konfigurieren, über den Probely ein Authentifizierungs-Token erhält, oder einen benutzerdefinierten Header mit einem festen API-Schlüssel einrichten. Darüber hinaus können Sie benutzerdefinierte Parameterwerte festlegen, die Probely für die im Schema gefundenen Parameter verwendet.
Nach Abschluss der API-Authentifizierungs- und Parameterkonfiguration können Sie den Scan durch Klicken auf die Schaltfläche „Jetzt scannen“ starten. Nach wenigen Sekunden können Sie den Scanfortschritt auf derselben Scan-Seite verfolgen. Nach Abschluss des Scans können Sie einen Abdeckungsbericht herunterladen, der alle gefundenen Endpunkte und zugehörigen Antwortcodes auflistet. Dieser Bericht gibt auch Auskunft darüber, ob fehlerhafte Endpunkte vorhanden waren.
Überprüfen Sie Ihre Ergebnisse
Die Ergebnisseite zeigt die Scan-Ergebnisse an, sobald sie gefunden wurden, auch während laufender Scans. Jeder Befund wird mit einem Schweregrad (hoch, mittel, niedrig), dem betroffenen Ziel und der URL, einer Befundbeschreibung, dem Zeitpunkt des Fundes, dem Status (behoben oder nicht behoben), dem zugewiesenen Bearbeiter und der Compliance-Konformität (PCI-DSS oder OWASP) versehen.
Die Ergebnisseite dient nicht nur der Information über erkannte Schwachstellen, sondern ist auch nützlich, um Ihrem Team die Behebung von Schwachstellen zuzuweisen. Klicken Sie dazu auf das Kontrollkästchen auf der linken Seite und wählen Sie den zuständigen Bearbeiter aus dem Dropdown-Menü.
Probely stellt auch Informationen zur Verfügung, wie die gefundenen Schwachstellen behoben werden können. Neben diesen Anweisungen können Sie die vollständige Anfrage und Antwort sowie die entsprechenden Beweise einsehen.
Auf der Dashboard-Seite sehen Sie verschiedene Diagramme, die eine Zusammenfassung des Sicherheitsrisikos der gescannten Ziele darstellen. Die Diagramme zeigen Trends in verschiedenen interessanten Metriken, wie z.B. Risikobewertungen, durchschnittliche Zeit zur Behebung von Problemen und Schweregrade. Sie können auch einen Blick auf die Websites werfen, die die meiste Aufmerksamkeit erfordern, und eine Top-5-Rangliste der häufigsten Schwachstellen einsehen.
Schließlich können Sie auf der Seite „Integrationen“ Probely so konfigurieren, dass es in verschiedene Tools integriert werden kann, um Projekte, Teamkommunikation, Problemverfolgung und mehr zu verwalten. Zu den verfügbaren Integrationen gehören Azure Boards, DefectDojo, Slack, Jira, Jenkins und CircleCI.
Ein Tool für Entwickler und Sicherheitsteams
Für agile Entwicklungsteams hat die schnelle Markteinführung höchste Priorität. Alles, was dazu beiträgt, die Zeit bis zum Produktionsstart Ihrer Software ohne Qualitätseinbußen zu verkürzen, ist hochwillkommen. Probely bietet genau das – eine kosteneffiziente Möglichkeit, die Sicherheit Ihrer Websites und APIs zu verbessern und Ihnen dabei zu helfen, Ihre Zeitpläne einzuhalten und qualitativ hochwertige Softwareprodukte bereitzustellen.
Für Sicherheitsteams bietet Probely eine Plattform zur Sicherung Ihrer Webanwendungen und zur Verwaltung der Schwachstellen, die behoben werden müssen. Es ermöglicht Ihnen auch, einen Teil der Sicherheitstests direkt an Entwicklungsteams zu delegieren, während Sie eine Kontrollfunktion übernehmen.
Probely bietet kostenlose Testversionen, Evaluierungslizenzen für Unternehmen und Produktdemos an. Kontaktieren Sie Probely, um zu starten.