Sehen Sie, welche API-Testlösung im GigaOm Radar Report am besten abgeschnitten hat. Holen Sie sich Ihren kostenlosen Analystenbericht >>

Sehen Sie, welche API-Testlösung im GigaOm Radar Report am besten abgeschnitten hat. Holen Sie sich Ihren kostenlosen Analystenbericht >>
Zum Abschnitt springen
Anwendungssicherheit in Ihrem Unternehmen kann nicht nur mit Sicherheitstools erreicht werden. Hier erfahren Sie ausführlich, warum das Wissen über das Open Web Application Security Project (OWASP) Ihnen dabei helfen kann, Schwachstellen in Apps zu mindern.
Zum Abschnitt springen
Zum Abschnitt springen
Wir sehen weiterhin große Datenschutzverletzungen, die Unternehmen jeder Größe betreffen. Da Cybersicherheitsprobleme andauern und sogar an Häufigkeit und Schwere zunehmen, müssen wir uns fragen: „Sind wir die nächsten?“ und "Was kann ich dagegen tun?" Das ist wo OWASP kommt in.
Am bekanntesten für die OWASP Top 10, OWASP ist das Open Web Application Security Project, eine offene Community mit kostenlosen Informationen und Schulungen zur Anwendungssicherheit. Die OWASP Top 10 sind eine Liste der häufigsten gefährlichen Sicherheitsrisiken für Webanwendungen, die regelmäßig aktualisiert werden, um auf dem neuesten Stand zu bleiben. Wenn Sie in Bezug auf die Anwendungssicherheit nicht viel getan haben oder wenn Sie Ad-hoc-Maßnahmen ergriffen haben, sind die OWASP Top 10 ein hervorragender Ausgangspunkt.
Die Organisation OWASP stellt Ressourcen, Richtlinien und Tools bereit, um Webanwendungsentwicklern dabei zu helfen, Sicherheitslücken zu identifizieren, zu mindern und zu verhindern. Die OWASP Top Ten sind eine wichtige Ressource, die die Organisation seit 2003 veröffentlicht. Ziel ist es, die Entwicklergemeinschaft auf wichtige Sicherheitsprobleme zu konzentrieren und deren Auswirkungen zu verstehen.
Das Verstehen und Umsetzen der OWASP Top Ten und anderer Empfehlungen des OWASP verbessert die Sicherheit von Webanwendungen, da es dazu beiträgt, die häufigsten und kritischsten Sicherheitsrisiken zu beseitigen. Das Erlernen der Grundursachen dieser zehn größten Schwachstellen hilft Entwicklern, ihre Bemühungen zu priorisieren und sich auf die größten Risiken zu konzentrieren. Wenn ein Unternehmen reifer wird und diese Praktiken umsetzt, sind seine Webanwendungen widerstandsfähiger gegen Angriffe und verringern das Risiko von Datenschutzverletzungen, finanziellen Verlusten und Reputationsschäden.
Die OWASP Top 10 umfasst die folgenden Schwachstellen A1-A10:
OWASP bietet Dokumentation für die Top 10 mit einer eigenen Webseite für jede Schwachstelle. Auf der Seite wird beschrieben, um welche Schwachstelle es sich handelt, und es wird eine Risikobewertung bereitgestellt, die bei der Priorisierung und Einstufung möglicher Schwachstellen hilft. Hier ist ein Beispiel der A03:2021-Injection-Webseite:
Das „Inhaltsverzeichnis“ oben rechts bietet Orientierung und hilft Ihnen, die Bedeutung und Gefahr der einzelnen Schwachstellen zu verstehen.
Laut den OWASP Top Ten sind fehlerhafte Zugriffskontrollen, kryptografische Fehler und Injektionsfehler die häufigsten Schwachstellen.
Durch die Zugriffskontrolle bleiben Benutzer innerhalb ihrer vorgesehenen Berechtigungen in einer Anwendung. Diese Kontrollen sind jedoch häufig schlecht implementiert und können leicht umgangen werden. Mit höheren Berechtigungen als vorgesehen können Angreifer auf private Daten zugreifen oder den Betrieb stören. Eine ordnungsgemäße Zugriffskontrolle bedeutet die Implementierung wirksamer Kontrollen mit einer standardmäßigen Deny-Philosophie. Bei Sicherheitstests müssen mögliche Probleme bei der Zugriffskontrolle gründlich untersucht werden.
Eine weitere häufige Schwachstelle ist das Fehlen geeigneter Kryptografie. Ein schwacher oder völliger Mangel an Sicherung von Daten während der Übertragung oder im Ruhezustand führt oft zu einer Offenlegung der Daten. Beim Einsatz von Kryptografie kommt teilweise eine schwache Verschlüsselung zum Einsatz, die bereits von Angreifern „geknackt“ wurde. Der Schlüssel zur Prävention liegt darin, die Sicherheit der Daten bei der Übertragung mit sicheren Protokollen und einer starken Verschlüsselung bei der Speicherung zu gewährleisten. Dies erfordert auch eine ordnungsgemäße Schlüsselverwaltung und die Aktualisierung von Verschlüsselungstools und -methoden nach Bedarf.
Injektionsangriffe manipulieren Eingaben, um unautorisierte Befehle auszuführen. Mit diesen Befehlen können vertrauliche Informationen offengelegt werden. Beispielsweise kann ein SQL-Injection-Angriff Kundendaten offenlegen. Schwache Anmelde- und Sitzungsverwaltung kann zu unbefugtem Zugriff führen, was häufig zu einer Offenlegung von Daten führt, was auf ein allgemeines Problem des unzureichenden Schutzes vertraulicher Informationen hinweist.
Der Umgang mit unsicherem Design ist eine neue Kategorie in den OWASP Top Ten für 2021. Der Unterschied besteht darin, dass der Schwerpunkt auf den organisatorischen Fragen im Zusammenhang mit der Sicherheit von Webanwendungen liegt. Es ist unmöglich, ein unsicheres Design in der Implementierung zu beheben. Daher besteht der beste Ansatz darin, Sicherheit früh im Entwicklungsprozess und während des gesamten Lebenszyklus einzuführen.
„Secure by Design“ ist ein Ansatz, der Bedrohungsanalyse, Risikomanagement, sichere Design- und Codierungspraktiken sowie fortlaufende Sicherheitsvalidierung und -verifizierung umfasst. OWASP veröffentlicht die Software Assurance Maturity Model (SAMM) um Unternehmen bei der Ausrichtung und Weiterentwicklung ihres sicheren Softwareentwicklungslebenszyklus zu unterstützen.
OWASP enthält viele Empfehlungen für den Übergang zu einem sichereren Entwicklungsprozess. Zu den wichtigsten Aspekten gehören die Bedrohungsmodellierung, die Integration von Sicherheitsprüfungen und Sprache in User Stories und natürlich die Einrichtung eines sicheren Entwicklungslebenszyklus mit externen AppSec-Experten, falls erforderlich.
Für jede der Top Ten gibt es eine eigene Seite für jede Kategorie von Sicherheitsproblemen bei Webanwendungen.
Im Abschnitt „Faktoren“ werden die mit der Kategorie verknüpften Daten angezeigt, z. B. die Anzahl der kartierten CWEs, Inzidenzraten, prozentuale Abdeckung und Anzahl der Vorfälle.
Die Übersicht und Beschreibung liefern erwartungsgemäß Details zur Schwachstellenkategorie. Dies ist eine Erweiterung gegenüber früheren Versionen der Liste.
Der Abschnitt „Wie man vorbeugt“ ist meiner bescheidenen Meinung nach der interessanteste. Sicherheitstests sind wichtig, aber die Erstellung von sicherem Code ist die einzige solide Grundlage für eine starke Anwendungssicherheit. In diesem Abschnitt werden verschiedene Strategien beschrieben, die Ihnen dabei helfen, Ihre Sicherheit zu verbessern, indem Sie nicht nur früher testen, sondern auch besseren Code erstellen, der grundsätzlich weniger anfällig für Angriffe ist. Dies ist die Grundlage für einen Security-by-Design-Ansatz, der von gefordert wird DSGVO, beispielsweise.
Der Abschnitt „Beispielhafte Angriffsszenarien“ zeigt, wie ein Angreifer die einzelnen Schwachstellen ausnutzen könnte. Diese Informationen können zur Erstellung von Tests sowie zur Aufklärung des Teams darüber verwendet werden, wie sich Softwareschwachstellen auf die Anwendungssicherheit auswirken.
Schließlich gibt es zu jedem Top-10-Element einen Abschnitt mit weiteren Informationen zu jedem Problem, Ansätzen zu seiner Vermeidung und Ansätzen zu seiner Prüfung. Es enthält auch Links, die Sie zu verwandten Problemen führen. Dies ist sehr nützlich, wenn Sie daran arbeiten, die Sicherheit Ihrer Software kontinuierlich zu verbessern.
Der letzte Abschnitt listet alle auf CWEs Der aktuellen Kategorie zugeordnet mit Links zu den CWE-Beschreibungen von MITRE.
Wenn Sie die OWASP Top 10-Dokumentation lesen, werden Sie möglicherweise feststellen, dass einige der Elemente allein schon aufgrund ihres Namens offensichtlich sind, während andere tiefer graben müssen, um sie zu verstehen. Bei A01 Broken Access Control handelt es sich beispielsweise tatsächlich um eine umfassendere Reihe von Dingen wie die Durchsetzung von Zugriffskontrollen, Autorisierungstests, das Widerrufen des Zugriffs und mehr. Dieser Sicherheitslücke liegt die Tatsache zugrunde, dass Zugriffsfehler zur unbefugten Offenlegung, Änderung oder Zerstörung aller Daten oder zur Ausführung einer Funktion außerhalb der Grenzen des Benutzers führen können.
In den OWASP Top 10 finden Sie Informationen, Schulungen und Ratschläge. Sie können sich über häufig auftretende Sicherheitsprobleme sowie über Strategien zum Erkennen und sogar Vermeiden einiger Probleme informieren. Alle diese Informationen sind kostenlos verfügbar und werden ständig aktualisiert und verbessert.
Compliance bedeutet auch, dass wir genau wissen müssen, welches spezifische Element in unserem Toolkit welchen spezifischen Teil des Standards unterstützt. Im Falle einer statischen Analyse bedeutet dies, dass Sie wissen, welche Prüfer welche Elemente im Standard unterstützen und ob es Elemente im Standard gibt, die mehr als eine statische Analyse erfordern, wie z. B. Peer-Code-Review oder Software-Kompositionsanalyse.
Die Einführung von „Security by Design“ sollte bei der Entwicklung von Webanwendungen oberste Priorität haben. Prävention durch sicheres Design und Codierung sowie die Implementierung eines sicheren Codierungsstandards sind Teil der Lösung. Tatsächlich wurde in der neuesten OWASP-Top-Ten-Liste die Kategorie „unsicheres Design“ hinzugefügt, um genau diese Probleme anzugehen. Sicherheit lässt sich nicht anschrauben. Es muss von Anfang an in der Bewerbung enthalten sein.
SAST-Tools spielen eine wichtige Rolle bei der Verlagerung der Sicherheit nach links, d. h. bei der Anwendung von Sicherheitskontrollen früher im Entwicklungslebenszyklus. SAST-Tools tragen zur Vermeidung von Sicherheitslücken bei, wenn sie zur Durchsetzung sicherer Codierungspraktiken und -standards eingesetzt werden. Darüber hinaus können diese Tools bestehende Schwachstellen erkennen, sei es in neu entwickeltem oder bestehendem Code.
Der Nutzen für ein sicheres Design ist beträchtlich, da Sicherheitsvorfälle, insbesondere Datenschutzverletzungen, sehr kostspielig sind. Die Behebung von Sicherheitsproblemen, die in der Produktion oder in bereitgestellten Produkten festgestellt werden, kostet mehrere Größenordnungen mehr als die Behebung von Sicherheitsproblemen, die während der Entwicklung festgestellt werden. Verstöße gegen öffentliche Daten, die zu Schlagzeilen werden, können Unternehmen Millionen von Dollar kosten.
Sicheres Design bietet auch Vorteile im Hinblick auf den Ruf und das Kundenerlebnis. Eine bewährte Methode ist es, von Anfang an Sicherheit einzubauen.
Die OWASP Top Ten bieten in erster Linie Bewusstsein und eine gemeinsame Sprache für die häufigsten und riskantesten Schwachstellen von Webanwendungen. Als Liste bietet es auch eine Priorisierung und Risikobewertung, die Entwickler berücksichtigen können. Beispielsweise bleiben Injektionsfehler eine kritische Schwachstelle und sollten beim Sicherheitsdesign, bei der Codierung und bei der Verwendung von Scan- und Penetrationstest-Tools im Mittelpunkt stehen.
Die Top Ten sind auch eine gute Ressource für die Schulung und Unterstützung von Organisationen bei der Weiterentwicklung ihrer Sicherheitslage. Secure by Design und DevSecOps stützen sich alle auf die Informationen und Anleitungen von OWASP und Ressourcen wie den Top Ten.
Für Softwareentwicklungsorganisationen ist es einfach – und gefährlich häufig –, die Sicherheit damit zu beginnen, dass sie ganz am Ende beginnen und externe, späte Systemtests wie Penetrationstests durchführen. Ich könnte das so nennen DevTestOpsSec.
Dieser Test eignet sich hervorragend, um nachzuweisen, dass die Anwendung/das System keine der in OWASP aufgeführten Schwachstellen enthält. Diese Black-Box-Tests sind jedoch nicht die effizienteste Methode, um tatsächlich sichereren Code zu erstellen. Wir möchten uns nicht auf Black-Box-Tests verlassen, um unsere Software zu sichern oder Fehler zu finden, sondern vielmehr, um zu beweisen, dass die Software sicher ist.
Wenn der Penetrationstest also eine Schwachstelle findet, müssen wir uns fragen: Warum? Und versuchen Sie, die Ursache des Problems anzugehen. Dies ist der Zeitpunkt, an dem wir von einer „Sicherheit testen“-Mentalität zu einer „Security by Design“-Mentalität übergehen. Hierfür stehen Ihnen SAST-Tools (Static Application Security Testing) wie die statische Codeanalyse mit Unterstützung für OWASP zur Verfügung.
Eine Kleinigkeit ist zu beachten: Punkt A06 in den OWASP Top 10 ist völlig anders als die anderen und eignet sich nicht dafür SAST oder DAST weil es darum geht, nach bekannten Schwachstellen in Open Source zu suchen und keine neuen Schwachstellen zu finden.
Zum Glück hat OWASP dafür ein kostenloses Tool namens OWASP-Abhängigkeitsprüfung. Dieses Tool identifiziert Projektabhängigkeiten und prüft, ob bekannte, öffentlich bekannt gegebene Schwachstellen vorliegen. Es kann zum Scannen von Anwendungen und ihren abhängigen Bibliotheken verwendet werden, um bekannte anfällige Komponenten zu identifizieren.
Wenn Sie Parasoft verwenden, haben wir OWASP Dependency Check tatsächlich in unser Berichtssystem integriert und es zu einem Teil des OWASP Top 10 Dashboards gemacht. Dies macht es einfach, Probleme in Ihren Open-Source-Komponenten zu lösen, indem Sie zusammen mit SAST einen regulären Teil Ihres CI scannen und die Ergebnisse zusammen mit den restlichen OWASP-Informationen in ein einheitliches Dashboard einfügen. Mit diesem Ansatz ist A9 kein separater orthogonaler Prozess, sondern wie vorgesehen in die Top 10 integriert.
Tools zum Testen der Anwendungssicherheit unterstützen die notwendigen Aktivitäten, um die in den OWASP Top Ten aufgeführten Schwachstellen zu verhindern. Daher ist die Verwendung einer Kombination dieser Tools eine bewährte Vorgehensweise für Softwareentwickler.
SAST-Tools analysieren Code „im Ruhezustand“ und können sehr früh im Softwareentwicklungslebenszyklus angewendet werden. Ihre Stärke liegt in der Erkennung von Softwareschwächen und unsicherer Programmierung, während Code geschrieben wird. Sie eignen sich auch hervorragend zur Durchsetzung sicherer Codierungsstandards wie SEI CERT. Anbieter von SAST-Tools verfügen häufig über Konfigurationen für die OWASP Top Ten und dokumentieren, wie ihr Tool zur Behebung dieser größten Schwachstellen eingesetzt werden kann.
DAST-Tools hingegen werden verwendet, wenn eine Anwendung ausgeführt wird. Sie erkennen Schwachstellen bereits bei ihrem Auftreten und mit sehr hoher Präzision. DAST-Tools werden während des Tests verwendet, um Fehler und Schwachstellen zu erkennen, die allein anhand der Testergebnisse möglicherweise übersehen werden.
Die OWASP Top Ten helfen bei Anwendungssicherheitstests und Codeanalysen, indem sie eine priorisierte Liste der kritischsten Sicherheitsrisiken für Webanwendungen bereitstellen. Entwickler und Sicherheitsteams können ihren Code unter Berücksichtigung dieser Risiken überprüfen und so sicherstellen, dass sie Schwachstellen im Zusammenhang mit diesen zehn Hauptproblemen beheben und mindern
Das Schöne an der statischen Analyse ist, dass Sie nicht die gesamte Anwendung oder das gesamte System fertig haben müssen. Sie können viel früher im Zyklus mit der Überprüfung auf Sicherheitsprobleme beginnen Sicherheitstests nach links verschieben. Wenn Sie die Sicherheit spät oder kurz vor dem Ende Ihrer Entwicklung (DevOpsSec) durchführen, können Sie die statische Analyse verwenden, um die Sicherheit früher voranzutreiben, bevor der Test überhaupt beginnt, während der Code tatsächlich geschrieben wird (DevSecOps).
Die hässliche Seite der statischen Analyse besteht darin, dass sie den Ruf hat, sehr laut zu sein und beispielsweise Hunderte oder sogar Tausende von Verstößen genau dann zu produzieren, wenn Sie dachten, Sie wären bereit für die Veröffentlichung. Glücklicherweise gibt es einige gute Strategien, damit umzugehen. Hier sind einige Dinge, die Sie beachten sollten:
Ich möchte etwas hervorheben, das wichtig ist, wenn Sie Ihre Bewerbung wirklich absichern möchten. Es ist einfach, die Sicherheit zu testen, aber es ist schwieriger, dafür zu sorgen. Glücklicherweise gibt es statische Analyseprüfer in verschiedenen Ausführungen. Einige Prüfer suchen nach typischen Problemen wie fehlerhaften Daten und versuchen herauszufinden, ob es in der Anwendung einen Fluss gibt, bei dem dies passieren könnte. Dies sind die häufigsten Prüfer in vielen SAST-Tools.
Der größere Wert bei der statischen Code-Analyse liegt jedoch in Prüfern, die zwei besondere Dinge erzwingen:
Ironischerweise ist dies der Ansatz, den sicherheitskritische Branchen seit Jahrzehnten mit Hardware und Software verfolgen, aber in der Cybersicherheit glauben wir, dass wir die Sicherheit in einer Anwendung testen können und uns nicht darauf konzentrieren müssen, sicheren Code zu erstellen. Nutzen Sie die vollen Funktionen der proaktiven statischen Analyse zusätzlich zu Früherkennungsprüfern, um den größtmöglichen Nutzen zu erzielen.
Die Best Practices, die wir aus den OWASP Top Ten lernen können, sind in der Liste selbst aufgeführt. Der Schlüssel zur Vermeidung von Injektionsfehlern liegt beispielsweise in der ordnungsgemäßen Validierung aller Eingaben in die Anwendung. Darüber hinaus sind die folgenden Best Practices erforderlich.
Die OWASP Top Ten bietet eine geordnete Liste der risikoreichsten Sicherheitslücken in Webanwendungen. Vor diesem Hintergrund verfügen Webanwendungsentwickler über die Informationen, die sie benötigen, um auftretende Sicherheitsrisiken zu bewerten. Die Priorität von Sicherheitsvorfällen oder der Erkennung von Schwachstellen während der Entwicklung kann anhand ihres Platzes auf der Liste priorisiert werden. Alle Top Ten sind von entscheidender Bedeutung, aber Entwickler müssen sich zunächst auf das häufigste und höchste Risiko konzentrieren
Der Einstieg in die OWASP Top 10 wird nicht einfach sein, wenn Sie sich nie auf Sicherheit konzentriert haben, aber es ist machbar. DAST ist eine einfache Möglichkeit, mit den Top 10 zu beginnen, und dann wird Ihnen die Verwendung von SAST helfen Verschieben Sie Ihre Sicherheitstests nach links. Bei richtiger Implementierung kann SAST sogar Probleme verhindern und nicht nur erkennen. Suchen Sie daher nach Tools, die jeden Punkt auf der Liste abdecken, sowohl mit Erkennungs- als auch mit präventiven Prüffunktionen.
Webanwendungsentwickler können im Rahmen der OWASP Top Ten von Anfang an Sicherheit in ihre Anwendungen einbauen, indem sie:
Das zentrale Thema besteht darin, Sicherheitsmaßnahmen von Anfang an in den Entwicklungsprozess zu integrieren, proaktiv zu sein und der Risikominderung Priorität einzuräumen, indem die in den OWASP Top Ten beschriebene Risikobewertung erfolgt.
Mit diesen Tipps sollten Sie bereit sein, die heute häufigsten und gefährlichsten Sicherheitsrisiken für Webanwendungen zu beseitigen.
„MISRA“, „MISRA C“ und das Dreieckslogo sind eingetragene Marken von The MISRA Consortium Limited. ©The MISRA Consortium Limited, 2021. Alle Rechte vorbehalten.