Was ist die OWASP Top 10 Schwachstellen Liste?
Erstmals 2004 vom Open Web Application Security Project herausgegeben, ist die mittlerweile berühmte OWASP Top 10 Schwachstellenliste (am Ende des Artikels enthalten) wahrscheinlich die am nächsten gelegene, die die Entwicklungsgemeinschaft jemals erreicht hat Eine Reihe von Geboten, wie sie ihre Produkte sicher halten können.,
Diese Liste stellt die wichtigsten Bedrohungen für die Software-Sicherheit heute nach OWASP, auf die Stirn-Schmatzen von vielen, die sich fragen, wie SQL-Injektionen sind immer noch so ein Anliegen nach all diesen Jahren. Sie beurteilen Schwachstellentypen anhand von vier Kriterienpunkten:
- einfache Ausnutzbarkeit
- Prävalenzen
- Erkennbarkeit
- geschäftliche Auswirkungen
Interessanterweise gibt OWASP an, dass sie die Wahrscheinlichkeit, dass Angreifer versuchen, eine bestimmte Sicherheitsanfälligkeit auszunutzen, nicht tatsächlich in ihre Gleichung einbeziehen.,
Als es begann, entschieden die Autoren, dass der beste Weg, um die meisten Boden zu decken war ähnliche Schwachstellen zu setzen, die sie glaubten, die besorgniserregendsten in Gruppierungen zu sein. Sie erkannten, dass es ohne die richtigen Statistiken immer eine Frage geben könnte, welche Schwachstellen notwendigerweise die Hauptsorgen waren, zumal dies eine subjektive Frage nach dem Bedrohungsmodell jeder Organisation sein kann.
Nach vielen Debatten boten sie jedoch ihre Liste dessen an, was sie glaubten, um die breiteste Gruppe von Organisationen anzusprechen, wenn auch nicht in einer bestimmten Reihenfolge.,
Mit der Zeit wurde die OWASP Top 10 Schwachstellenliste von zahlreichen Organisationen als Standard für Best Practices und Anforderungen übernommen und setzt damit einen Entwicklungsstandard. Ein bekannter Anwender der Liste sind die Zahlungsabwicklungsstandards von PCI-DSS.
Da die OWASP Top 10 Schwachstellenliste leider ein breiteres Publikum erreicht hat, wurden ihre wahren Absichten als Leitfaden falsch interpretiert, was Entwickler verletzte, anstatt zu helfen. Wie sollten wir also den Zweck dieser Liste verstehen und Entwickler tatsächlich ermutigen, sicherer zu codieren?,
Aktualisierungen der Liste 2017 verstehen
In den Jahren seitdem haben sie die Einträge aktualisiert und neu angeordnet und einige neue Schwachstellentypen hinzugefügt, wenn sie relevant werden, auch wenn andere aus der Liste gestrichen wurden. Neue Versionen wurden in den Jahren 2010, 2013 und 2017 herausgegeben. Die neue Liste wurde nach einer langen und mühsamen Studie zusammengestellt, die mehr als 50.000 Anwendungen untersuchte und rund 2,3 Millionen Schwachstellen analysierte.,
Regelmäßige Anhänger der Liste werden bemerkt haben, dass es neben einigen Änderungen in der Reihenfolge — trotz der Tatsache, dass Injektionsangriffe an der Spitze bleiben — einige Neulinge in der 2017 aktualisierten Version der OWASP Top 10-Schwachstellen-Familie gibt.
Die Konkurrenz zu schlagen, um sich auf das Feld zu begeben, indem nicht validierte Weiterleitungen und Weiterleitungen gestartet werden, ist das Problem ungeschützter APIs., Die Aufnahme in die Liste an der Nummer A10 ist wahrscheinlich das Ergebnis der Tatsache, dass Entwickler einfach weitaus abhängiger von APIs sind als früher und mit weit mehr Komponenten und externen Produkten interagieren als zuvor. Das Eintreffen an der richtigen Stelle ist ein unzureichender Angriffsschutz, was Entwickler dazu bringt, nicht umfassend genug zu sein, um Schutzmaßnahmen für die Erkennung, Protokollierung und natürlich die Reaktion auf Versuche, ihre Produkte zu schädigen, hinzuzufügen.,
Die andere wichtige Änderung hier in der 2017-Version ist die Kombination der unsicheren direkten Objektreferenzen von A4 und der fehlenden Zugriffskontrolle auf Funktionsebene von A7, wodurch eine einheitliche Sicherheitsanfälligkeit für defekte Zugriffskontrollen geschaffen und die Notwendigkeit hervorgehoben wird, Kontrollen für wer kann und kann nicht auf die Konten und Daten zugreifen.,
Fehlinterpretation der OWASP Top 10 Schwachstellenliste
Diese Liste ist leider zu einem Werkzeug geworden, um Entwickler zu beschämen, die ihren Lehren nicht folgen und sie als Club beschimpfen, weil sie in Bezug auf Sicherheit nicht perfekt sind. Dieser Ansatz ist kontraproduktiv und verfehlt die Mission von OWASP, Entwickler zu ermutigen und sicherer zu codieren. Darüber hinaus erkennt es die Leistungen der zahlreichen Entwickler nicht an, die massive Mengen neuer Software zu einem noch nie dagewesenen Tempo herausschieben.,
In einem aktuellen Interview äußerte sich OWASP-Vorsitzender Martin Knobloch enttäuscht darüber, dass die Liste als eine Art Checkliste für einen endgültigen Durchlauf vor einer Veröffentlichung verwendet wurde, die eher als Validierungsmechanismus als als Leitfaden dient.
Als jemand, der stark an einen linksverschiebenden Sicherheitsansatz glaubt, bin ich nicht überraschend in überwältigender Übereinstimmung mit Knoblochs Frustration darüber, wie viele die OWASP Top 10-Liste als Instrument der FUD angenommen haben und nicht die Reihe von Leitprinzipien, die es sein sollte.,
Herausfordernde Sicherheitsansätze der Branche
Organisatorische Sicherheitsstrategien, die davon abhängen, dass die menschlichen Elemente bei der Sicherung von Software zugunsten glänzender Tools ein Versagen erwarten, werden zwangsläufig fehlschlagen.
In den letzten Jahren war die Nachricht von viel zu vielen Anbietern, insbesondere auf der Netzwerkseite, dass“ der Perimeter tot ist “ und dass Unternehmen tiefgreifende Sicherheit suchen müssen, um die Bösewichte zu finden, die sich bereits in ihrem Netzwerk befinden., Viel zu viele Schlagzeilen auf Konferenzen haben versucht, CISOs davon zu überzeugen, dass Teams von Elite-Hackern mit seltenen 0-Tage-Exploits auf sie schießen, die sie wehrlos machen, es sei denn, sie kaufen ihr Produkt, was sie für diese ansonsten unaufhaltsamen Angriffe uneinnehmbar macht.
Dieser Ausblick auf den Sicherheitszustand ist unnötig fatalistisch, tropft vor Marketing-Hype und vermisst einige der grundlegenden Konzepte, wie Sicherheitsexperten über Risiken nachdenken sollten.,
Ein umfassender Sicherheitsansatz sollte nicht predigen, die menschlichen Entwickler aus dem Prozess zu entfernen, nur um die Sicherheitstools eines Anbieters einzubringen, die nach Abschluss ihrer Arbeit behoben werden können. Dies setzt voraus, dass den Entwicklern nicht vertraut werden kann, beleidigend ist und Ihr Team in Bezug auf Sicherheit und Risikomanagement nicht stärker macht.
Was die OWASP Top 10 Schwachstellenliste ist und nicht
Ein paar Mal im Jahr gibt es den obligatorischen Blogbeitrag, in dem gefragt wird, wie es möglich ist, dass wir 2017 immer noch über Angriffe auf Script-Kiddie-Ebene sprechen., Ich habe wahrscheinlich selbst einige davon geschrieben, für die ich mich entschuldige.
Die OWASP Top 10 ist nicht eingerichtet, um jeden Angriff im Buch zu lösen, sondern um Teams zu helfen, die häufigen Fehler zu vermeiden, die weitaus wahrscheinlicher sind, dass ihre Anwendungen verletzt werden. Ein entschlossener Angreifer kann viele Wege finden, um sein Ziel zu durchbrechen. Die Smart Risk Management Advisories konzentrieren sich jedoch nicht auf die Minderheit der Fälle, sondern versuchen, die Probleme zu lösen, denen sich das breiteste Publikum gegenübersieht.,
Um aus den Konzepten des physischen Sicherheitsfeldes zu schöpfen, sollte sich die durchschnittliche Risikomanagerin viel mehr Sorgen machen, dass ihre Klientin auf der Straße in einen Unfall gerät als Ninjas, die von SEAL Team 6 trainiert werden und durch die Fenster kommen.geführt von AI (und Blockchain).
Bei echter Sicherheit geht es darum, Menschen darin zu schulen, wie sie sicher arbeiten können, und ihnen die Technologien, Kenntnisse und Prozesse zu geben, damit sie leichter sicher bleiben können., Während es immer wichtig ist, die Qualitätssicherung und die abschließenden Sicherheitsprüfungen vor einer Veröffentlichung durchzuführen, muss die Sicherheit in den frühesten Phasen der Arbeit Ihres Teams beginnen und während des gesamten Entwicklungsprozesses des Produkts ausgeführt werden. Fehler werden passieren, aber es ist viel kostengünstiger und geradezu klüger zu versuchen, so viele Probleme wie möglich zu vermeiden.
Für viele Entwickler liegt das Hauptziel darin, das Produkt zum Laufen zu bringen und sich weniger darauf zu konzentrieren, ob es sicher ist oder nicht. Das ist nicht ihre Schuld.,
Während ihrer gesamten Ausbildung erfuhren sie, dass, wenn sie ein Produkt mit einer minimalen Menge an Fehlern produzieren, sie eine A. Sicherheit würde sowieso von einer anderen Abteilung gehandhabt werden. Stattdessen müssen Manager die Gelegenheit nutzen, ihnen eine bessere Arbeitsweise zu zeigen, einschließlich der Berücksichtigung ihrer Codierung und der Komponenten, mit denen sie arbeiten, die sich auf die Sicherheit ihres Produkts auswirken.,
HOLEN Sie sich 451 RESEARCH REPORTON die SICHERUNG von OPEN-SOURCE-SOFTWARE Kostenlos Herunterladen
Praktische Schritte, Um Bessere Sicherheitspraktiken
Ein häufiges Problem, das kam aus den Tagen der Wasserfall-Entwicklung war, zu warten, bis das hintere Ende des Entwicklungszyklus der Durchführung von Sicherheitsüberprüfungen, wobei die Entwickler erhalten eine Wäscherei-Liste von Schwachstellen zu beheben, indem Sie die Freisetzung und die Erhöhung der Reibung zwischen Ihnen und dem security-team.,
In der Hoffnung, die Gänge zu schmieren und mit der Geschwindigkeit von DevOps Schritt zu halten, suchen Unternehmen nach neuen Möglichkeiten, ihren Code von Anfang an zu sichern und die Harmonie zwischen ihren Abteilungen aufrechtzuerhalten.
Eine immer populärere Methode, um Sicherheit in die früheren Phasen der Produktentwicklung zu bringen, besteht in kreuzbestäubenden Teams mit einer Mischung aus Entwicklern und Sicherheitsleuten, die es jeder Seite ermöglichen, Input zu geben und voneinander zu lernen., Dies kann eine ausgezeichnete Gelegenheit für Sicherheitsexperten sein, viele der Probleme, die die OWASP Top 10 in einem weniger konfrontativen Umfeld anzugehen versucht, in einem Stadium anzusprechen, das tatsächlich Auswirkungen haben könnte.
Wenn es um Tools geht, die zu einer besseren Implementierung der Sicherheit beitragen können, müssen wir nicht nur darüber nachdenken, wie Technologie unsere Fehler oder Verstöße nach der Tat auffangen kann, sondern uns auch dabei helfen kann, von Anfang an intelligenter und sicherer zu arbeiten Stadien., Diese Perspektive ist Teil der Shift-Left-Mentalität und sucht nach Möglichkeiten, Probleme anzugehen, bevor sie zu teuren Problemen werden.
Integration von Technologien zur Erweiterung der Entwicklerfähigkeiten
Ein klares Beispiel dafür, wie Technologien zum Verschieben nach links Entwicklern helfen können, die OWASP Top 10 zu nutzen, enthält den Eintrag Nummer 9, der vor der Verwendung von Komponenten mit bekannten Sicherheitslücken warnt. Eines der häufigsten Probleme, die in diesem Bereich auftreten, besteht darin, Sichtbarkeit über die Open-Source-Komponenten zu erlangen, die sie ihrem Produkt hinzugefügt haben.,
Entwickler wenden sich fast immer Open-Source-Komponenten zu, um ihr Produkt schneller und effizienter zu entwickeln und leistungsstarke Funktionen hinzuzufügen, ohne den neuen Code selbst schreiben zu müssen.
In den meisten Fällen ist es unwahrscheinlich, dass sie überprüfen, ob die Komponente bekannte Schwachstellen aufweist, bevor sie sie ihrem Produkt hinzufügen. Selbst wenn sie eine flüchtige Überprüfung durchführen, um festzustellen, ob bestimmte Probleme vorliegen, ist es unwahrscheinlich, dass ihnen Probleme mit den Abhängigkeiten der Komponente bekannt sind.,
Wenn sie jedoch ein Software-Kompositionsanalysetool verwenden, können sie tatsächlich nützliche Informationen darüber erhalten, ob eine Open-Source-Komponente während des gesamten Software Development Lifecycle (SDLC) bekannte Sicherheitslücken aufweist, was ihnen Zeit spart, die Sie sonst damit verbringen könnten, die Komponente nach einer Überprüfung durch das Sicherheitsteam zu zerreißen und zu ersetzen später auf der ganzen Linie vor der Veröffentlichung, nachdem sie an ihren Code gebunden wurde.,
Seien Sie ein Sicherheitsfaktor in Ihrer Organisation
Basierend auf meiner Lektüre der OWASP Top 10 und der Kommentare von Knobloch sollte die Liste als Werkzeug für die Befähigung von Teams verwendet werden, Sicherheit in ihren Denkprozess einzubeziehen, wie sie ihre Produkte codieren, konfigurieren und versenden.
Sicherheitsteams, die nicht mit ihren Entwicklern zusammenarbeiten und sich bemühen zu verstehen, wie sie ihnen die Möglichkeit geben können, dass Sicherheit ein inhärentes Element ihres Workflows ist, werden schnell ins Abseits gedrängt.,
Wenn Sie relevant bleiben möchten, werden Sie ein Enabler und verwenden Sie die OWASP Top 10-Liste, um Gespräche zu starten und nicht zu bedrohen. Am Ende könnten Sie feststellen, dass Sie mehr (O)Wespen mit Honig als Essig fangen.
Die Offizielle OWASP Top 10 Schwachstellen Liste
A1. Injection-Injection-Fehler wie SQL -, NoSQL -, OS-und LDAP-Injection treten auf, wenn nicht vertrauenswürdige Daten als Teil eines Befehls oder einer Abfrage an einen Interpreter gesendet werden. Die feindlichen Daten des Angreifers können den Interpreter dazu verleiten, unbeabsichtigte Befehle auszuführen oder ohne ordnungsgemäße Autorisierung auf Daten zuzugreifen.
A2., Fehlerhafte Authentifizierung-Anwendungsfunktionen im Zusammenhang mit Authentifizierung und Sitzungsverwaltung werden häufig falsch implementiert, sodass Angreifer Passwörter, Schlüssel oder Sitzungstoken kompromittieren oder andere Implementierungsfehler ausnutzen können, um die Identität anderer Benutzer vorübergehend oder dauerhaft anzunehmen.
A3. Sensible Datenexposition-Viele Webanwendungen und APIs schützen sensible Daten wie Finanz -, Gesundheits-und PII nicht ordnungsgemäß. Angreifer können solche schwach geschützten Daten stehlen oder ändern, um Kreditkartenbetrug, Identitätsdiebstahl oder andere Verbrechen durchzuführen., Sensible Daten können ohne zusätzlichen Schutz, wie Verschlüsselung im Ruhezustand oder während der Übertragung, kompromittiert werden und erfordern besondere Vorsichtsmaßnahmen beim Austausch mit dem Browser.
A4. XML External Entities (XXE) – Viele ältere oder schlecht konfigurierte XML-Prozessoren bewerten externe Entitätsreferenzen in XML-Dokumenten. Externe Entitäten können verwendet werden, um interne Dateien mithilfe des Datei-URI-Handlers, interner Dateifreigaben, interner Port-Scans, Remotecodeausführung und Denial-of-Service-Angriffen offenzulegen.
A5.,Gebrochene Zugriffskontrollen-Einschränkungen für authentifizierte Benutzer werden häufig nicht ordnungsgemäß erzwungen. Angreifer können diese Fehler ausnutzen, um auf nicht autorisierte Funktionen und/oder Daten zuzugreifen, auf die Konten anderer Benutzer zuzugreifen, vertrauliche Dateien anzuzeigen, die Daten anderer Benutzer zu ändern, die Zugriffsrechte zu ändern usw.
A6. Sicherheit Fehlkonfiguration-Sicherheit Fehlkonfiguration ist das am häufigsten gesehene Problem., Dies ist häufig auf unsichere Standardkonfigurationen, unvollständige oder Ad-hoc-Konfigurationen, offenen Cloud-Speicher, falsch konfigurierte HTTP-Header und ausführliche Fehlermeldungen mit vertraulichen Informationen zurückzuführen. Es müssen nicht nur alle Betriebssysteme, Frameworks, Bibliotheken und Anwendungen sicher konfiguriert werden, sondern sie müssen auch rechtzeitig gepatcht/aktualisiert werden.
A7.,Cross Site Scripting (XXS)-XSS-Fehler treten auf, wenn eine Anwendung nicht vertrauenswürdige Daten in eine neue Webseite ohne ordnungsgemäße Validierung oder Escape einschließt oder eine vorhandene Webseite mit vom Benutzer bereitgestellten Daten mithilfe einer Browser-API aktualisiert, die HTML oder JavaScript erstellen kann. Mit XSS können Angreifer Skripte im Browser des Opfers ausführen, die Benutzersitzungen entführen, Websites verunstalten oder den Benutzer auf schädliche Websites umleiten können.
A8. Unsichere Deserialisierung-Unsichere Deserialisierung führt oft zu Remote-Code-Ausführung., Selbst wenn Deserialisierungsfehler nicht zur Ausführung von Remotecode führen, können sie zur Ausführung von Angriffen verwendet werden, einschließlich Wiederholungsangriffen, Injektionsangriffen und Angriffen auf Privilegien.
A9. Verwenden von Komponenten mit bekannten Schwachstellen-Komponenten wie Bibliotheken, Frameworks und andere Softwaremodule werden mit denselben Berechtigungen wie die Anwendung ausgeführt. Wenn eine anfällige Komponente ausgenutzt wird, kann ein solcher Angriff schwerwiegende Datenverluste oder Serverübernahmen erleichtern., Anwendungen und APIs, die Komponenten mit bekannten Schwachstellen verwenden, können die Anwendungsabwehr untergraben und verschiedene Angriffe und Auswirkungen ermöglichen.
A10. Unzureichende Protokollierung & Überwachung – Unzureichende Protokollierung und Überwachung in Verbindung mit einer fehlenden oder ineffektiven Integration in die Incident Response ermöglicht es Angreifern, weitere Angriffssysteme aufrechtzuerhalten, die Persistenz aufrechtzuerhalten, auf mehr Systeme zuzugreifen und Daten zu manipulieren, zu extrahieren oder zu zerstören., Die meisten Breach-Studien zeigen, dass die Zeit zum Erkennen eines Verstoßes mehr als 200 Tage beträgt, in der Regel von externen Parteien und nicht von internen Prozessen oder Überwachung erkannt.