Anwendungssicherheit

Anwendungssicherheit (kurz AppSec) Enthält alle Aufgaben, die einen sicheren Einführung einführen Lebenszyklus der Softwareentwicklung zu Entwicklungsteams. Das endgültige Ziel ist es, Sicherheitspraktiken zu verbessern und sicherlich Sicherheitsprobleme in Anwendungen zu finden, zu beheben und vorzugsweise zu verhindern. Es umfasst den gesamten Anwendungslebenszyklus aus Anforderungen, Design, Implementierung, Überprüfung und Wartung.[1]

Ansätze

Unterschiedliche Ansätze finden unterschiedliche Untergruppen der Sicherheitslauten in einer Anwendung und sind zu unterschiedlichen Zeiten im Software -Lebenszyklus am effektivsten. Sie repräsentieren jeweils unterschiedliche Kompromisse bei Zeit, Aufwand, Kosten und Schwachstellen.

  • Designprüfung. Bevor Code geschrieben wird, kann die Architektur und das Design der Anwendung auf Sicherheitsprobleme überprüft werden. Eine gemeinsame Technik in dieser Phase ist die Schaffung von a Bedrohungsmodell.
  • WhiteBox Security Review oder Code-Review. Dies ist ein Sicherheitsingenieur, der die Anwendung tiefgreifend versteht, indem er den Quellcode manuell überprüft und Sicherheitsfehler bemerkt. Durch das Verständnis der Anwendung finden sich Schwachstellen, die für die Anwendung einzigartig sind.
  • Flugschreiber Sicherheitsaudit. Dies geschieht nur durch die Verwendung eines Antrags, der es für Sicherheitslücken für Sicherheitsanfälligkeiten testet, kein Quellcode erforderlich.
  • Automatisierte Werkzeug. Viele Sicherheitsinstrumente können durch Einbeziehung in die Entwicklungs- oder Testumgebung automatisiert werden. Beispiele dafür sind automatisierte DAST/SAST -Tools, die in den Code -Editor oder CI/CD -Plattformen integriert sind.
  • Koordinierte Schwachstellenplattformen. Hierbei handelt es sich um Hacker-Antragssicherheitslösungen, die von vielen Websites und Softwareentwicklern angeboten werden, mit denen Einzelpersonen Anerkennung und Vergütung für die Meldung von Fehler erhalten können.

Webanwendungssicherheit

Webanwendungssicherheit ist ein Zweig von Informationssicherheit das handelt sich speziell mit der Sicherheit von Websites, Web Applikationen und Internetdienste. Auf hoher Ebene stützt sich die Sicherheit von Webanwendungen auf die Grundsätze der Anwendungssicherheit, wendet sie jedoch speziell auf Internet und Netz Systeme.[2][3]

Webanwendungssicherheitstools sind spezielle Tools für die Arbeit mit HTTP -Datenverkehr, z. B.. Webanwendungen Firewalls.

Sicherheitsbedrohungen

Das Open Web Application Security Project (Owasp) Bietet kostenlose und offene Ressourcen. Es wird von einer gemeinnützigen Organisation namens OWASP Foundation geleitet. Die OWASP Top 10 - 2017 ist das veröffentlichte Ergebnis der jüngsten Forschungsergebnisse, die auf umfassenden Daten basieren, die von über 40 Partnerorganisationen zusammengestellt wurden. Aus diesen Daten wurden in über 50.000 Anwendungen ungefähr 2,3 Millionen Schwachstellen entdeckt.[4] Laut den Top 10 - 2021 der OWASP sind die zehn kritischsten Sekunden -Sicherheitsrisiken:[5]

  1. Gebrochen Zugangskontrolle
  2. Kryptografische Fehler
  3. Injektion
  4. Unsicheres Design
  5. Sicherheitsmehlkonfiguration
  6. Verletzliche und veraltete Komponenten
  7. Identifizierungs- und Authentifizierungsfehler
  8. Software- und Datenintegritätsausfälle
  9. Sicherheitsprotokollierung und Überwachungsfehler*
  10. Serveranforderungs Fälschung (SSRF)*

Werkzeug für Sicherheitstests

Sicherheitstestechniken suchen nach Sicherheitslücken oder Sicherheitslöchern in Anwendungen. Diese Schwachstellen lassen Anwendungen offen für Ausbeutung. Idealerweise wird Sicherheitstests im gesamten gesamten Durchgang durchgeführt Lebenszyklus der Softwareentwicklung (SDLC) damit Schwachstellen rechtzeitig und gründlich angegangen werden können.

Es gibt viele Arten von automatisierten Tools, um Schwachstellen in Anwendungen zu identifizieren. Zu den gängigen Toolkategorien, die zur Identifizierung von Anwendungs ​​Schwachstellen verwendet werden, gehören:

  • Statische Anwendungssicherheitstests (SAST) Analysiert den Quellcode für Sicherheitslücken während der Entwicklung einer Anwendung. Im Vergleich zu DAST kann SAST bereits vor der Anwendung in einem ausführbaren Zustand verwendet werden. Da Sast Zugriff auf den vollständigen Quellcode hat, handelt es sich um einen White-Box-Ansatz. Dies kann detailliertere Ergebnisse liefern, kann jedoch zu vielen falsch positiven Ergebnissen führen, die manuell überprüft werden müssen.
  • Dynamische Anwendungssicherheitstests (Dast, oft genannt Schwachstellenscanner) Erkennt die Sicherheitslücken automatisch durch Krabbeln und Analyse von Websites. Diese Methode ist sehr skalierbar, leicht integriert und schnell. Dast-Tools eignen sich gut für den Umgang mit Angriffen auf niedrigem Niveau wie Injektionsfehler, sind jedoch nicht gut geeignet, um hohe Fehler auf hoher Ebene zu erkennen, z. B. logische oder geschäftslogische Fehler.[6] Fuzzing,[7] Tools werden üblicherweise für Eingabetests verwendet.
  • Interaktive Anwendungssicherheitstests (IAST) bewertet Anwendungen aus der Verwendung von Software -Instrumenten. Dies kombiniert die Stärken von SAST- und DAST -Methoden sowie Zugriff auf Code, HTTP -Datenverkehr, Bibliotheksinformationen, Backend -Verbindungen und Konfigurationsinformationen.[8][9] Einige IAST -Produkte verlangen, dass die Anwendung angegriffen wird, während andere während der normalen Qualitätssicherungstests verwendet werden können.[10][Werbequelle?][11][Werbequelle?]
  • Selbstschutz für Laufzeitanwendung Erhöht die vorhandenen Anwendungen, um innerhalb einer Anwendungslaufzeit die Erkennung und Prävention von Intrusion zu erstellen.
  • Abhängigkeits -Scanner (auch Analyse der Software -Komposition genannt) versuchen, die Verwendung von Softwarekomponenten mit bekannten Schwachstellen zu erkennen. Diese Tools können entweder auf Nachfrage arbeiten, z. B. während des Erstellungsprozesses für den Quellcode oder regelmäßig.
  • Abstraktion ist die Idee, komplexere Dinge weniger komplex zu machen.

Sicherheitsstandards und Vorschriften

  • Cert sichere Codierung
  • ISO/IEC 27034-1: 2011 Informationstechnologie - Sicherheitstechniken - Anwendungssicherheit - Teil 1: Überblick und Konzepte
  • ISO/IEC TR 24772: 2013 Informationstechnologie - Programmiersprachen - Anleitung zur Vermeidung von Schwachstellen in Programmiersprachen durch Sprachauswahl und Verwendung
  • NIST Special Publication 800-53
  • OWASP ASVs: Standard -Überprüfung der Webanwendungssicherheit[12]

Siehe auch

Verweise

  1. ^ Happe, Andreas (3. Juni 2021). "Was ist AppSec überhaupt?". snikt.net.
  2. ^ "Überblick über die Sicherheit von Webanwendungen". 2015-10-23.
  3. ^ Shuaibu, Bala Musa; Norwawi, Norita MD; Selamat, Mohd Hasan; Al-Alwani, Abdulkareem (2013-01-17). "Systematische Überprüfung des Sicherheitsentwicklungsmodells für Webanwendungen". Künstliche Intelligenzbewertung. 43 (2): 259–276. doi:10.1007/s10462-012-9375-6. ISSN 0269-2821. S2CID 15221613.
  4. ^ Korolov, Maria (27. April 2017). "Die neuesten OWASP -Top -10 -Überblick über APIs, Web -Apps: Die neue OWASP -Top -10 -Liste ist nicht möglich. Das meiste bleibt gleich, aber es gibt neue Ergänzungen, die sich auf Webanwendungen und APIs konzentrieren." CSO. Proquest 1892694046.
  5. ^ "OWASP TOP 10 - 2021: Die zehn kritischsten Sekundenrisiken für Webanwendungen". Öffnen Sie das Sicherheitsprojekt für Webanwendungen. 2021. Abgerufen 11. Januar, 2022.
  6. ^ "Webanwendung Sicherheitsscanner". NIST.
  7. ^ "Fuzzing". Owasp.
  8. ^ Williams, Jeff (2. Juli 2015). "Ich verstehe Sast und Dast, aber was ist ein Iast und warum ist es wichtig?". Kontrastsicherheit. Abgerufen 10. April 2018.
  9. ^ Velasco, Roberto (7. Mai 2020). "Was ist IAST? Alles über interaktive Anwendungssicherheitstests". HDIV -Sicherheit. Abgerufen 7. Mai 2020.
  10. ^ Abezgauz, Irene (17. Februar 2014). "Einführung in interaktive Anwendungssicherheitstests". Quotium.
  11. ^ Rohr, Matthias (26. November 2015). "IAST: Ein neuer Ansatz für agile Sicherheitstests". Secodis.
  12. ^ "OWASP Application Security Überprüfung Standard".