Wie unterscheidet sich die API-Sicherheit von der allgemeinen Anwendungssicherheit?
Veröffentlicht: 2023-07-19Auch wenn sie manchmal als dasselbe verwechselt werden, sind Anwendungssicherheit und API-Sicherheit zwei unterschiedliche Disziplinen. Unter Anwendungssicherheit versteht man die Sicherung ganzer Anwendungen, während sich API-Sicherheit auf die Sicherung der APIs bezieht, die Unternehmen zum Verbinden von Anwendungen und zum Datenaustausch verwenden. Daher müssen Organisationen unterschiedliche Ansätze für die beiden Disziplinen verfolgen.
Was ist Anwendungssicherheit?
Anwendungssicherheit (AppSec) nutzt Autorisierung, Verschlüsselung und sichere Codierungspraktiken, um Daten und Systeme vor Cyberangriffen zu schützen. Unternehmen, die AppSec implementieren, reduzieren das Risiko von Datenschutzverletzungen, schützen sensible Daten und stellen sicher, dass ihre Anwendungen den Industriestandards entsprechen.
Die ISACA definiert die fünf kritischen Komponenten von AppSec-Programmen als:
- Sicherheit durch Design
- Sicheres Code-Testen
- Software-Stückliste
- Sicherheitsschulung und -bewusstsein
- WAFs und API-Sicherheitsgateways und Regelentwicklung
Was ist API-Sicherheit?
API- oder Anwendungsprogrammierschnittstellen-Sicherheit schützt APIs vor Cyberangriffen. Die API-Nutzung hat in den letzten Jahren explosionsartig zugenommen und bietet Unternehmen Möglichkeiten für Innovationen, indem sie Datenübertragungen zwischen Anwendungen ermöglichen. Leider hat mit der zunehmenden API-Nutzung auch die Angriffe auf sie zugenommen. Untersuchungen von Salt Security ergaben, dass Angriffe auf APIs zwischen Juni und Dezember 2022 um 400 % zugenommen haben.
Anwendungs- und API-Sicherheitsbedrohungen
Um den Unterschied zwischen AppSec- und API-Sicherheit zu verstehen, müssen Sie die größten Bedrohungen jeder Disziplin verstehen. Glücklicherweise bietet OWASP, eine gemeinnützige Organisation, die sich für die Verbesserung der Softwaresicherheit einsetzt, eine umfassende Liste der größten Bedrohungen für die Anwendungssicherheit und API-Sicherheit. Die als „OWASP Top Ten“ bekannten Listen sammeln Informationen aus der globalen Sicherheitsexperten-Community von OWASP, um die kritischsten Bedrohungen für Anwendungen und APIs zu identifizieren.
Interessanterweise veröffentlichte OWASP zwar bereits im Jahr 2003 die Liste der zehn größten Sicherheitsrisiken für Webanwendungen, die Liste der zehn größten API-Sicherheitsrisiken jedoch erst Ende 2019. Diese Diskrepanz stellt einen weiteren wesentlichen Unterschied zwischen Anwendungs- und API-Sicherheit dar: Anwendungssicherheit ist eine gut etablierte, Eine umfassend erforschte Disziplin, die zahlreiche Evolutionsstufen durchlaufen hat, während dies bei der API-Sicherheit nicht der Fall ist.
Obwohl wir keine Zeit für eine ausführliche Analyse haben, lohnt es sich, einen kurzen Blick auf die einzelnen Listen zu werfen, um festzustellen, wie sie sich unterscheiden. Dies sollte Aufschluss darüber geben, wie Unternehmen mit der AppSec- und API-Sicherheit umgehen.
OWASP Top Ten der Anwendungssicherheitsrisiken (2021)
- Defekte Zugriffskontrolle – Wenn ein nicht autorisierter Benutzer auf eingeschränkte Informationen oder Systeme zugreifen kann
- Kryptografische Fehler – Wenn ein Dritter aufgrund fehlender oder fehlerhafter Kryptografie vertrauliche Daten ohne besondere Absicht preisgibt
- Injektion – Wenn ein Angreifer versucht, Daten auf eine Weise an eine Anwendung zu senden, die die Bedeutung der an einen Interpreter gesendeten Befehle ändert
- Sicheres Design – Risiken im Zusammenhang mit Architektur- und Designfehlern
- Fehlkonfiguration der Sicherheit – Wenn Sicherheitsteams Sicherheitskontrollen falsch konfigurieren oder unsicher machen
- Anfällige und veraltete Komponenten – Wenn Unternehmen Komponenten ungepatcht lassen
- Identifikations- und Authentifizierungsfehler (nicht defekte Authentifizierung) – Wenn Anwendungen anfällig für Authentifizierungsangriffe sind
- Fehler bei der Software- und Datenintegrität – Wenn Code und Infrastruktur nicht vor Integritätsverletzungen schützen
- Fehler bei der Sicherheitsprotokollierung und -überwachung (z. B. unzureichende Protokollierung und Überwachung) – Wenn Unternehmen Datenschutzverletzungen aufgrund unzureichender Protokollierungs- und Überwachungsverfahren nicht erkennen können
- Serverseitige Anfragefälschung – Wenn Angreifer Anwendungen dazu verleiten, eine manipulierte Anfrage an ein unerwartetes Ziel zu senden, selbst wenn sie durch eine Firewall, ein VPN oder eine andere Art von Netzwerkzugriffskontrollliste (ACL) geschützt sind.
OWASP Top Ten API-Sicherheitsrisiken (2023)
- Defekte Autorisierung auf Objektebene – Wenn ein API-Objekt – zum Beispiel Datenbanken oder Dateien – nicht über ordnungsgemäße Autorisierungskontrollen verfügt, wodurch unbefugten Benutzern Zugriff gewährt wird
- Defekte Authentifizierung – Wenn Software- und Sicherheitsingenieure die Grenzen der API-Authentifizierung und deren Implementierung falsch verstehen
- Defekte Autorisierung auf Objekteigenschaftsebene – Eine Kombination aus übermäßiger Offenlegung von Daten und Massenzuweisung: Wenn Angreifer eine Sperre oder eine unsachgemäße Autorisierung auf der Objekteigenschaftsebene ausnutzen.
- Uneingeschränkter Ressourcenverbrauch – Die Erfüllung von API-Anfragen erfordert Netzwerkbandbreite, CPU, Arbeitsspeicher und Massenspeicher. Dienstanbieter stellen andere Ressourcen wie E-Mails/SMS/Telefonanrufe oder die Validierung biometrischer Daten über API-Integrationen zur Verfügung und zahlen diese pro Anfrage. Erfolgreiche Angriffe können zu Denial of Service oder erhöhten Betriebskosten führen.
- Bei der Autorisierung auf fehlerhafter Funktionsebene senden Angreifer legitime API-Aufrufe an exponierte API-Endpunkte
- Uneingeschränkter Zugriff auf sensible Geschäftsabläufe – APIs, die für dieses Risiko anfällig sind, machen einen Geschäftsablauf – wie den Kauf eines Tickets oder das Veröffentlichen eines Kommentars – offen, ohne zu kompensieren, wie die Funktionalität dem Unternehmen schaden könnte, wenn sie übermäßig automatisiert genutzt wird; Dies ist nicht unbedingt auf Implementierungsfehler zurückzuführen.
- Serverseitige Anforderungsfälschung – Wenn eine API eine Remote-Ressource abruft, ohne den vom Benutzer bereitgestellten URI zu validieren; Dadurch kann ein Angreifer die Anwendung dazu zwingen, eine manipulierte Anfrage an ein unerwartetes Ziel zu senden, selbst wenn sie durch eine Firewall oder ein VPN geschützt ist.
- Sicherheitsfehlkonfiguration – APIs und die sie unterstützenden Systeme enthalten typischerweise komplexe Konfigurationen, um sie anpassbarer zu machen. Software- und DevOps-Ingenieure können diese Konfigurationen übersehen oder die bewährten Sicherheitspraktiken bei der Konfiguration nicht befolgen, was Tür und Tor für verschiedene Arten von Angriffen öffnet.
- Unsachgemäße Bestandsverwaltung – APIs legen mehr Endpunkte offen als herkömmliche Webanwendungen, weshalb eine ordnungsgemäße und aktuelle Dokumentation wichtig ist. Ein ausreichender Bestand an Hosts und bereitgestellten API-Versionen ist außerdem unerlässlich, um Probleme wie veraltete API-Versionen und offengelegte Debug-Endpunkte zu entschärfen.
- Unsichere Nutzung von APIs – Entwickler neigen dazu, den von Drittanbieter-APIs empfangenen Daten mehr zu vertrauen als den Benutzereingaben und verwenden schwächere Sicherheitsstandards. Um APIs zu kompromittieren, greifen Angreifer auf integrierte Dienste von Drittanbietern zurück, anstatt zu versuchen, die Ziel-API direkt zu kompromittieren.
Wie Sie sehen, gibt es zwar einige Überschneidungen, Anwendungen und APIs sind jedoch in erster Linie unterschiedlichen, einzigartigen Bedrohungen ausgesetzt, und Unternehmen müssen entsprechend reagieren. Der Hauptunterschied zwischen den beiden Listen besteht darin, dass Unternehmen alle kritischen Risiken im Zusammenhang mit der Anwendungssicherheit mit herkömmlichen, vielseitigen Sicherheitstools und -techniken mindern können, API-Sicherheit ist jedoch anders.
API-Sicherheit ist ein hochmodernes Problem, das eine ebenso moderne Lösung erfordert. Unternehmen können nicht erwarten, dass die Tools, die sie zum Schutz ihrer Anwendungen und anderer Vermögenswerte einsetzen, die Aufgabe der Sicherung von APIs erfüllen. API-Sicherheit erfordert API-spezifische Sicherheitstools; Herkömmliche Schutzmethoden wie API-Gateways und Web Application Firewalls (WAFs) gehen nicht weit genug.