Dokumentation
Entwickler-HubAPI-StatusUnterstützung

Management von Sicherheitslücken

Entwickeln Sie effektive Schwachstellenpraktiken.

Überblick

Dieses technische Dokument behandelt verschiedene Verfahren zum Schwachstellenmanagement wie Schwachstellenscans, Penetrationstests und Code-Schwachstellenscans. In diesem Whitepaper werden auch Verfahren zur Wiederherstellung der Verfügbarkeit und des Zugriffs nach einer Betriebsunterbrechung aufgrund eines Zwischenfalls untersucht.

Anforderungen der Datenschutzrichtlinie (DPP)

Im Rahmen von Amazons Datenschutzrichtlinie (DPP) (DPP) müssen Entwickler mindestens halbjährlich Schwachstellen-Scans, jährliche Penetrationstests und Code-Schwachstellen-Scans durchführen, bevor neuer Code, Funktionen oder Produkte veröffentlicht werden, und um sicherzustellen, dass sie die Verfügbarkeit und den Zugriff auf personenbezogene Daten (PII) innerhalb weniger Stunden wiederherstellen können. Dies dient dazu, die Offenlegung sensibler Daten, einschließlich personenbezogener Daten, zu vermeiden. Jeder SP-API-Entwickler muss sicherstellen, dass Schwachstellen wie öffentlich zugängliche Websites, Benutzeroberflächen, Server und neue Funktionen bereits vor der Veröffentlichung das erwartete Maß an Sicherheit und Schutz bieten.

Management von Sicherheitslücken

Entwickler müssen einen Plan oder ein Runbook erstellen und verwalten, um Sicherheitslücken zu erkennen und zu beheben. Entwickler müssen physische Hardware, die personenbezogene Daten enthält, vor technischen Sicherheitslücken schützen, indem sie Schwachstellenscans durchführen und entsprechende Abhilfemaßnahmen ergreifen. Entwickler müssen mindestens alle 180 Tage nach Sicherheitslücken suchen, mindestens alle 365 Tage einen Penetrationstest durchführen und vor jeder Veröffentlichung den Code nach Sicherheitslücken scannen. Darüber hinaus müssen Entwickler Änderungen an der Speicherhardware kontrollieren, indem sie Änderungen testen, überprüfen, Änderungen genehmigen und den Zugriff darauf einschränken, wer diese Aktionen ausführen kann. Entwickler müssen über angemessene Verfahren und Pläne verfügen, um die Verfügbarkeit und den Zugriff auf personenbezogene Daten im Falle eines physischen oder technischen Zwischenfalls rechtzeitig wiederherzustellen.

Schwachstellen-Scans

Ein Schwachstellenscan ist der Prozess der Identifizierung, Entdeckung, Analyse und Meldung von Hostzugriffen, Schwachstellen und Netzwerklücken für Instanzen oder Software, auf denen die Anwendung ausgeführt wird.

Im Hinblick auf die Sicherheit ist es unerlässlich, sicherzustellen, dass öffentlich zugängliche Geräte/Instanzen vor böswilligen Akteuren geschützt sind. Im Idealfall können Scans mithilfe von Tools zum Scannen von Sicherheitslücken ausgeführt werden, um Risikofaktoren und mögliche Angriffsvektoren innerhalb des Netzwerks (einschließlich Software- und Hardwareressourcen) zu identifizieren/zu klassifizieren.

Hier sind die zehn häufigsten Sicherheitslücken laut dem Open Web Application Security Project (WESPE) für 2021 und die zugehörigen Common Weakness Enumerations (CWE):

CWESchwachstelleKurze Beschreibung
A01Kaputte ZugriffskontrolleDer Benutzer führt eine Aktion aus, auf die er nicht zugreifen kann.
A02Kryptografische FehlerFehlende oder schwache kryptografische Praktiken.
A03InjektionHacker sind in der Lage, Daten in ein Netzwerk einzufügen und zu manipulieren.
A04Unsicheres DesignMangelnde Planung während der Netzwerkentwurfsphase.
A05Sicherheits-MikrokonfigurationenDie Sicherheitseinstellungen in Datenbanken, Bibliotheken oder Servern sind nicht festgelegt, was zu einer Sicherheitslücke führen könnte.
A06Anfällige und veraltete KomponentenÄltere oder nicht unterstützte Versionen einer Software oder eines Betriebssystems.
A07Identifikations- und AuthentifizierungsfehlerFehlende Benutzerzugriffskontrollen und Verwaltung von Anmeldeinformationen.
A08Fehler bei der Software- und DatenintegritätKein Schutz vor Integritätsverletzungen.
A09Fehler bei der sicheren Protokollierung und ÜberwachungKein Überwachungsdienst, der es schwierig macht, Sicherheitslücken und ausgehende Angriffe zu identifizieren.
A10Serverseitige Anforderungsfälschung (SSFR)Unverifizierte URL, die von einem Benutzer bereitgestellt wird und eine Anwendung zwingt, Anfragen zu senden, die die Netzwerksicherheit umgehen.

Beziehen Sie sich auf OWASP — Tools zum Scannen von Sicherheitslücken für eine Liste kostenloser und kostenpflichtiger Scan-Tools.

Nach Abschluss der Scans müssen Entwickler Sicherheitslücken entsprechend dem Grad der Sicherheitsauswirkungen priorisieren und daran arbeiten, diese entsprechend zu beheben.

  • Externe Schwachstellen-Scans: Externe Scans dienen der Überprüfung von Sicherheitslücken an externen/öffentlichen Punkten wie Ports, Websites, Netzwerken und Anwendungen.

  • Interne Schwachstellen-Scans: Interne Scans geben Aufschluss über mögliche Sicherheitslücken in einem privaten Netzwerk.

  • Aufdringliche und nicht aufdringliche Scans: Bei nicht aufdringlichen Scans wird ein bestimmtes Ziel gescannt, z. B. der Netzwerkverkehr oder die Version einer Datenbank. Dies hat jedoch keinen Einfluss auf die Service-Levels, da nur die Informationen überprüft werden, ohne die Sicherheitsanfälligkeit auszunutzen. Ein Intrusiv-Scan dient dazu, die Sicherheitslücke auf höchster Ebene auszunutzen und mehr Einblick in die gefundenen Sicherheitslücken zu bieten. Er unterbricht jedoch auch die Service-Levels. Verwenden Sie ihn daher in einer kontrollierten Umgebung.

Amazon Inspector

Amazon-Inspektor ist ein skalierbares Schwachstellen-Management-Tool, das Workloads und unbeabsichtigte Netzwerkrisiken scannt, um sicherzustellen, dass Betriebssysteme, auf denen EC2-Instances ausgeführt werden, keine Sicherheitslücken aufweisen.

Amazon Inspector bietet Berichte zur Schwachstellensuche nahezu in Echtzeit, wobei aktualisierte Common Vulnerabilities and Exposure (CVE) -Faktoren verwendet werden und verschiedene Programmiersprachen wie Java, Python und Node.js überprüft werden. Entwickler, die Amazon Inspector verwenden, können es für die Konformitätsprüfung von Programmen wie PCI-, ISO- und CSA STAR-Zertifikaten verwenden.

The Amazon Inspector architecture.

Amazon Guard

Das Sicherheitsteam von Amazon wurde entwickelt Der SP-API-Guard von Amazon als Anwendung, die in AWS-Instanzen ausgeführt wird, um die Einhaltung von Sicherheitsbestimmungen zu überprüfen und zu bewerten Amazons DPP. SP-API Guard stellt außerdem einen Empfehlungsbericht für alle Sicherheitslücken, die es innerhalb eines Tages findet, für einen S3-Bucket bereit. Dies reduziert den Aufwand für manuelle Datensicherheitsbewertungen und die Planung von Korrekturmaßnahmen und bietet gleichzeitig empfohlene Lösungen für gefundene Sicherheitslücken.

The Amazon Guard architecture.

Penetrationstests

Penetrationstests (Pen-Tests) sind eine Methode, um in einer simulierten/kontrollierten Umgebung an verschiedenen Stellen von Anwendungen oder Netzwerken nach Sicherheitslücken zu suchen. Auf diese Weise wird bestätigt, welche Sicherheitslücken von böswilligen Akteuren ausgenutzt werden können.

Der Stifttest besteht aus den folgenden Schritten:

  • Phase der Planung: Das Team legt Ziele und den Umfang für die Pen-Tests der Tester fest. Alle Parteien müssen sich der bevorstehenden Tests bewusst sein.

  • Phase „Scan/Discovery“: Pen-Tester leiten den Prozess der Netzwerkerkennung und Codeinspektion ein.

  • Phase der Penetration: Der Pen-Tester versucht, sich mithilfe verschiedener Arten von Angriffen wie SQL-Injection, Cross-Site-Scripting und Backdoors Zugriff auf das Netzwerk/die Instanzen zu verschaffen, um Sicherheitslücken auszunutzen.

  • Phase der Analyse/des Berichts: Der Pen-Tester erstellt einen Bericht mit detaillierten Informationen zu den Maßnahmen, die zum Eindringen in die Netzwerksicherheit ergriffen wurden, und zu den gefundenen Sicherheitslücken. Der Pen-Tester muss einen Abschnitt mit empfohlenen Maßnahmen in den Bericht aufnehmen.

  • Phase der Sanierung/Säuberung: Das verantwortliche Team übernimmt die Führung und beginnt mit der Behebung von Sicherheitslücken, die nach Abschluss der Pen-Tests gemeldet wurden.

Als zusätzliche Sicherheitsmaßnahme, um sicherzustellen, dass Sicherheitslücken behoben oder gepatcht werden, führen Entwickler nach der Behebungsphase einen zweiten Test durch, um sicherzustellen, dass kein Objekt zurückgelassen oder unbeaufsichtigt zurückgelassen wurde.

OWASP bietet auch einen Leitfaden für Penetrationstests an (WESPEN-ZAP) für Entwickler, die mehr darüber erfahren möchten, wie Pen-Tests auf Anwendungsebene und für ihre Netzwerkkomponenten wie Firewalls und Ports angewendet werden können.

Scans von Code-Sicherheitslücken

Code-Schwachstellen-Scans sollen die Risiken verringern, wenn eine neue Funktion/ein neues Produkt veröffentlicht wird. Entwickler können mithilfe der folgenden Tools zum Scannen von Code sicherstellen, dass bei der Bereitstellung des Codes keine Fehler, technischen Probleme oder Sicherheitslücken vorliegen:

  • Statischer Anwendungssicherheitstest (SAST): Überprüfung des Codes, ohne den Code ausführen zu müssen. SAST überprüft, wie der Code geschrieben ist, um auf etwaige Sicherheitsprobleme hinzuweisen.

  • Dynamischer Anwendungssicherheitstest (DAST): Im Gegensatz zu SAST überprüft DAST den Code in einer laufenden Anwendung, indem es Angriffe mit böswilligen Payload-Injections simuliert. DAST hilft Entwicklern dabei, Sicherheitslücken in einer laufenden Anwendung zu identifizieren.

  • Interaktiver Anwendungstest (IAST): IAST überprüft die Anwendungsfunktionalitäten in allen Testumgebungen. Dies erleichtert die Implementierung und Skalierbarkeit, da es hilft, mögliche Ausfallzeiten oder Betriebsunterbrechungen zu reduzieren, indem Sicherheitslücken vor der Veröffentlichung behoben werden.

Diese Tools müssen den von OWASP angegebenen Standards entsprechen, um die Anwendungssicherheit anhand der zehn wichtigsten Sicherheitsrisiken zu überprüfen. Entwickler müssen mit dem Scannen des Codes fortfahren, um alle Sicherheitslücken zu identifizieren, zu klassifizieren und zu priorisieren, die den Service nach der Markteinführung des Produkts beeinträchtigen oder unterbrechen.

Notfallwiederherstellungsplan

Um sicherzustellen, dass Anwendungsbenutzer nicht von (technischen oder physischen) Vorfällen betroffen sind, müssen Entwickler über einen Plan verfügen, der Maßnahmen zur Wiederherstellung der Verfügbarkeit und des Zugriffs auf PII-Daten in kurzer Zeit umfasst, wobei Recovery Time Objective (RTO) und Recovery Point Objective (RPO) berücksichtigt werden. AWS bietet Beratung in folgenden Bereichen Festlegung von RTO- und RPO-Zielen für Cloud-Anwendungen.

  • ZU: Die Zeit, die Entwickler benötigen, um den normalen Service Level für Anwendungsbenutzer wiederherzustellen. Dies kann durch Redundanz innerhalb der Netzwerkinstanzen/Dienste erreicht werden, die für die Funktionalität der Anwendung entscheidend sind.

  • PRO: Der Zeitpunkt, an dem Entwickler die Daten wiederherstellen können, mit anderen Worten, wie viele Daten nach einem Vorfall verloren gehen können. Ein grundlegender Aspekt dieses Ziels besteht darin, ein oder mehrere Backups der Daten an verschiedenen Orten zu erstellen und diese Backups nach Möglichkeit zweimal pro Woche durchzuführen.

Von Entwicklern wird erwartet, dass sie Wiederherstellungsstrategien anwenden und diese testen, um die Ziele (RTO und RPO) zu erreichen. AWS Resilience Hub ist ein AWS-Service, der bei der Festlegung von RTO- und RPO-Zielen hilft und Anwendungen anhand dieser Ziele analysiert.

Fazit

Das Schwachstellenmanagement ist ein wesentlicher Sicherheitsstandard. Schwachstellenscans und Penetrationstests helfen dabei, mögliche Risiken in einer Netzwerkumgebung und in Anwendungsinstanzen zu identifizieren und zu reduzieren. Entwickler müssen gemäß den DPP-Anforderungen mindestens einmal im Jahr Schwachstellenscans und Pen-Tests durchführen. Die Praxis, diese Bewertungen durchzuführen, hilft Entwicklern, ihren Reifegrad im Bereich der Sicherheit zu erhöhen und Standards einzuhalten, mit denen sie möglicherweise konfrontiert werden, wie z. B. behördliche oder branchenspezifische Best Practices.

Entwickler müssen vor der Veröffentlichung von Funktionen oder Produkten einen Codescan durchführen. Die Tests müssen in einer isolierten und kontrollierten Umgebung durchgeführt werden, um sicherzustellen, dass bei neuen Versionen keine Sicherheitslücken bestehen und keine Daten offengelegt werden.

Backups, Schnappschüsse oder Bilder tragen dazu bei, die Auswirkungen des Verlusts personenbezogener Daten aufgrund eines Vorfalls zu reduzieren. Wenn Sie die Stabilität Ihrer Anwendungsdienste sicherstellen, reduzieren Sie die Zeit, die Sie benötigen, um den Zugriff auf und die Verfügbarkeit von PII-Daten wiederherzustellen.


Hat Ihnen diese Seite weitergeholfen?