Immer mehr Unternehmen nutzen APIs (Application Programming Interfaces) für digitale Geschäftsprozesse. Dies haben auch Hacker erkannt. Sie suchen vor allem nach übermäßigen Berechtigungen der APIs, die grundsätzlich Einblick in alle Bereiche innerhalb der Anwendungsinfrastruktur gewähren.
Dabei reichen ihnen sogar übliche Angriffsmethoden wie Injection, Brute Force, Parameter-Manipulation und Session Snooping. Auf der it-sa 2019 erfahren Unternehmen, wie sie ihre APIs schützen können.
Eine API ist sozusagen eine Benutzeroberfläche für andere Anwendungen statt für Menschen. Sie wird häufig mit API-Gateways verwaltet, die auf einem Anwendungsserver laufen. Die Verbreitung dieser Programmierschnittstellen hat in den letzten Jahren deutlich zugenommen, laut programmableweb.com von 12.000 im Jahr 2015 auf fast 22.000 Anfang 2019.
Falsch konfigurierte Zugangskontrollen
Gemäß dem Application Protection Report 2019 von F5 Labs zielten alle bis November 2018 erkannten API-bezogenen Vorfälle auf große Plattformen mit einer hohen Anzahl an APIs, wobei mobile Apps stark von einigen davon abhängig waren. Sämtliche seitdem entdeckten Vorfälle resultierten aus falsch konfigurierten Zugriffskontrollen. Mit anderen Worten: Die Unternehmen wussten nicht, dass ihre API offen war.
Eine Studie der North Carolina State University ermittelte, dass mehr als 100.000 Code-Repositories auf GitHub im Klartext gespeicherte API-Token und kryptografische Schlüssel enthalten – die idealen Werkzeuge für die API-Zugriffskontrolle. Tatsächlich nutzen immer mehr Entwickler Workarounds oder unsichere Prozesse und beheben dadurch entstehende Probleme nicht, wenn das Projekt in Betrieb geht.
Tipps für sichere APIs
Um den Cyberkriminellen einen Schritt voraus zu sein, empfiehlt der Application Protection Report folgende Maßnahmen:
- Inventarisieren. Unternehmen sollten wissen, wo sich ihre APIs befinden und wie diese zu Geschäftsprozessen beitragen. Anhand der Informationen aus Perimeter-Scans – um die „Hacker-Perspektive“ zu erhalten – und ausführlichen Interviews mit Entwicklungs- und Betriebsteams sind entsprechende Risikobewertungen zu erstellen.
- Authentifizieren. Der State of Application Services Report 2019 von F5 ergab, dass jedes vierte Unternehmen keine API-Authentifizierung verwendet. Das ist ein großes Problem. Die genutzten Anmeldeinformationen müssen auf sichere Weise gespeichert werden, sei es in Form von Benutzer/Passwort-Kombinationen oder API-Schlüsseln.
- Autorisieren. Keine API sollte ungeprüfte oder nicht validierte Eingaben an Anwendungen weitergeben. API-Anmeldeinformationen sind nach dem Prinzip der geringsten Berechtigung zu vergeben. Rollenbasierte Zugriffskontrolle sollte zumindest HTTP-Methoden einschränken, die von bestimmten Rollen implementiert werden können. Zudem lassen sich Abfolgen von Aktionen definieren, die dem spezifischen API-Anwendungsfall entsprechen.
- Protokollieren. Alle API-Verbindungen sind zu protokollieren und zu prüfen, unabhängig von Ergebnis und Verhalten. Außerdem sollten die von den APIs bereitgestellten Ressourcen überwacht werden.
- Verschlüsseln. Unternehmen sollten nicht nur den gesamten Web-Traffic und ihre Services verschlüsseln, sondern auch APIs und Verbindungen – sowie die Zertifikate validieren.
- Sicherheitstools nutzen. Mit einem „API-fähigen“ Proxy oder einer Firewall lassen sich Anfragen prüfen, validieren und unterdrücken. Einige API-Sicherheitsdienste können den ursprünglichen Client analysieren und feststellen, ob eine Anfrage legitim oder bösartig ist. Sie können auch sicherstellen, dass API-Anfragen dort bleiben, wo sie hingehören.
- Testen. Ständige Tests sind erforderlich, um auf dem neuesten Stand zu bleiben. Es empfiehlt sich auch, eine Prämie auf die Entdeckung von API-Schwachstellen bereitzustellen und die Erkenntnisse von Sicherheitsforschern zu nutzen.
Wie Unternehmen ihre APIs ausreichend vor aktuellen Gefahren schützen können, erfahren sie von F5 auf der it-sa, die vom 8. bis 10. Oktober 2019 in Nürnberg stattfindet. F5 ist in Halle 10.0. am Stand 220 der Westcon Group Germany GmbH vertreten.