Die weite Verbreitung von mobilen und IoT-Geräten und die zunehmende Nutzung von Cloud-Systemen führen zu einem grundlegenden Wandel in der modernen Anwendungsarchitektur. Application Programming Interfaces (APIs) haben sich als Brücke erwiesen, um die Kommunikation zwischen verschiedenen Anwendungsarchitekturen zu erleichtern. Mit der weit verbreiteten Bereitstellung von APIs nehmen jedoch automatisierte Angriffe auf schlecht geschützte APIs zu. Personenbezogene Daten, Zahlungskartendaten und geschäftskritische Dienste sind durch automatisierte Angriffe auf APIs gefährdet. Schon heute berichtet nach dem jüngsten Global Application & Network Security Report von Radware jedes dritte Unternehmen über Attacken gegen Anwendungen via APIs.
Dabei nutzen Angreifer unterschiedliche Schwachstellen in der Implementierung von APIs aus. So überprüfen viele APIs nur den Authentifizierungsstatus, aber nicht, ob die Anforderung von einem echten Benutzer kommt. Angreifer nutzen solche Fehler auf verschiedene Weise (einschließlich Session Hijacking und Account Aggregation), um echte API-Aufrufe zu imitieren. Zudem werden immer häufiger mobile Anwendungen zurückentwickelt (Reverse Engineering), um herauszufinden, wie diese das API aufrufen. Wenn API-Schlüssel in die App eingebettet sind, kann dies zu einem API-Bruch führen. Die Benutzerauthentifizierung sollte daher laut Radware nicht nur auf API-Schlüssel vertrauen.
Vielen APIs fehlt es zudem an einer robusten Verschlüsselung zwischen API-Client und API-Server. Angreifer nutzen solche Schwachstellen durch Man-in-the-Middle-Angriffe aus. Sie zielen dabei auch auf unverschlüsselte oder schlecht geschützte API-Transaktionen zwischen API-Client und API-Server, um sensible Informationen zu stehlen oder Transaktionsdaten zu ändern. Darüber hinaus hat die allgegenwärtige Nutzung von mobilen Geräten, Cloud-Systemen und Microservices die API-Sicherheit weiter erschwert, da nun mehrere Gateways beteiligt sind, um die Interoperabilität zwischen verschiedenen Webanwendungen zu erleichtern. Die Verschlüsselung von Daten über all diese Kanäle hinweg ist daher von größter Bedeutung.
Ein weiteres Problem mit APIs ist die Tatsache, dass sie anfällig für Missbrauch der Geschäftsprozesse sind. Angreifer führen wiederholte und umfangreiche API-Aufrufe auf einem Anwendungsserver durch oder verzögern POST-Anfragen, um so einen Denial-of-Service-Angriff zu realisieren. Ein DDoS-Angriff auf ein API kann zu massiven Störungen einer Frontend-Webanwendung führen.
Schließlich leiden APIs auch unter mangelnder Endpunkt-Sicherheit. Die meisten IoT-Geräte und Micro-Service-Tools sind so programmiert, dass sie mit ihrem Server über API-Kanäle kommunizieren. Diese Geräte authentifizieren sich über Client-Zertifikate auf API-Servern. Hacker versuchen häufig, die Kontrolle über ein API vom IoT-Endpunkt aus zu erlangen, und wenn sie erfolgreich sind, können sie die Reihenfolge der APIs leicht ändern, was zu einem Datenverlust führen kann.
„APIs sind heute das Rückgrat moderner Service-Architekturen, können Hackern aber auch einfache Zugangsmöglichkeiten zu kritischen Anwendungen und Daten eröffnen“, kommentiert Michael Tullius, Regional Director DACH bei Radware. „Eine Bot-Management-Lösung, die APIs vor automatisierten Angriffen schützt und sicherstellt, dass nur echte Benutzer auf APIs zugreifen können, kann die meisten derartigen Angriffe erkennen und abwehren.“
Weitere Schritte gegen Angriffe auf APIs sind:
- Überwachung und Verwaltung von API-Aufrufen aus automatisierten Skripten (Bots)
- Einsatz von Multifaktor Authentifizierung
- Implementierung von Maßnahmen zur Verhinderung des API-Zugriffs durch fortschrittliche menschenähnliche Bots
- Zuverlässige Verschlüsselung
- Implementierung einer Token-basierten Ratenbegrenzung mit Funktionen zur Begrenzung des API-Zugriffs basierend auf der Anzahl der IPs, Sessions und Token.
- Zuverlässige Endgeräte-Sicherheit