Tod durch tausend Datenlecks: Wie APIs die Sicherheit überwältigen

Veröffentlicht: 2022-06-14

Die heutigen Angriffsflächen sind größer denn je, Schwachstellen sickern aus Apps und bewohnen die flexiblen Anwendungsprogrammierschnittstellen, die die Tech-Welt am Laufen halten.

Obwohl sich die meisten der Bedrohungen durch traditionelle Webanwendungen bewusst sind, bleiben APIs leider ein düsterer Sicherheitsbereich. Die heutige gigantische Bedrohungslandschaft erfordert eine kompetente Cloud-WAF und sogar Investitionen in WAAP.

Was ist eine API?

APIs sind der Kitt, der das moderne Surferlebnis zusammenhält. APIs vereinfachen die Softwarenutzung und -entwicklung, indem sie einzelnen Web-Apps den Datenaustausch ermöglichen. Das Stellen einer Anfrage an einen Server über eine App wird heutzutage von einer entsprechenden API verarbeitet, da richtig implementierte APIs sehr sicher sind.

Anstatt dass der Server direkt Ihren Informationen ausgesetzt ist, sollten Ihr Gerät und die relevante API kleine Datenpakete teilen und nur das Notwendige kommunizieren.

Agile und API: Doppelte Sicherheitsprobleme

Agilität ist das Business-Schlagwort vergangener Zeiten – es beschreibt eine Produktionsform, die die unternehmerische Idee des „Minimum Viable Product“ verstärkt. Das Ziel von Agile ist es, in jeder Phase das minimale Produkt herauszubringen; Anstatt ein Produkt jemals als „fertig“ zu bezeichnen, wird es lediglich in eine weitere Runde von Fehlerbehebungen und Verbesserungen gepatcht.

Obwohl dieses ständige Patchen für die Sicherheit fantastisch erscheint (ständiger Software-Support? Schön!), führt die wirtschaftliche Realität der Softwareproduktion dazu, dass die Menge an APIs schnell unhandlich wird.

Da sich Entwicklungsteams schnell bewegen, werden APIs selten umfassend dokumentiert. Dies macht es unglaublich schwierig, einen Blick in die internen Mechanismen einer App zu werfen und zu verstehen, welche APIs was tun. Es macht auch die Sicherheit unendlich schwieriger, da Entwicklungsteams selbst die wahre Größe ihres API-Inventars nicht kennen. Dadurch wird der Cybersicherheit eine niedrige Priorität eingeräumt; immer reaktiv und niemals proaktiv.

Übersehene APIs

Wenn von App-Sicherheit die Rede ist, fallen einem zuerst die Sicherheitsschwergewichte ein. Angriffe wie Cross-Site-Scripting; SQL-Injection und DDoS-Angriffe sind alle unglaublich bekannt. Die Apps selbst werden oft gut durch Plug-and-Play-Lösungen wie Perimeter-patrouillierende Web Application Firewalls geschützt.

APIs wird nie viel Aufmerksamkeit geschenkt, sehr zum Nachteil von Organisationen und ihren Kunden, die nichts davon wissen. Nehmen wir das Beispiel einer API-Schwachstelle, die im System von Uber aufgetaucht ist.

Wenn ein Uber-Fahrer über einen Empfehlungslink zu Uber kommt, startet er die App und gibt den Empfehlungscode ein. Beim Drücken der Eingabetaste kommuniziert der App-Browser mit dem API-Host „bonjour.uber.com“. Von dort erhält bonjour.uber den Benutzer-ID-Parameter und gibt Details über den Fahrer an die App des Benutzers zurück, bereit zur Eingabe in den folgenden Zustimmungsbildschirm.

Diese eine API wurde jedoch zweier schwerwiegender Sicherheitsverletzungen für schuldig befunden. Die erste war die Broken Object Level Authorization (BOLA). Die API hat nicht überprüft, ob die ID des Benutzers mit seinem ID-Parameter übereinstimmt; es war also möglich, auf die Daten anderer Benutzer zuzugreifen, indem einfach die Benutzerkennung geändert wurde.

Das zweite Problem war die übermäßige Datenexposition. Die Antwort der API – um Benutzerdetails zurückzugeben – bündelte all diese Informationen in einem Stapel, der alle Details des Benutzers enthielt. Dies bedeutete, dass die API Informationen zurückgab, die der Client nicht ausdrücklich benötigte, und damit gegen eine wichtige Säule der Best Practices für Cybersicherheit verstieß.

Bedenken Sie nun, dass die durchschnittliche Organisation auf über 15.500 APIs angewiesen ist, und das Ausmaß des Risikos beginnt sich abzuzeichnen. Glücklicherweise wurde die Uber-API angeschlossen, bevor größere Schäden auftraten. Die folgende Firma hatte nicht ganz so viel Glück.

Das Peloton-Problem

Pelotons Marke für Heimfitness wird von über 3 Millionen Abonnenten genutzt. Live-Fitnesskurse sind ein wichtiges Verkaufsargument. Wenn Sie Ihre medizinischen Daten jedoch nicht mit anderen Kursteilnehmern teilen möchten, können Sie Ihr Peloton-Konto auf privat setzen.

Leider wurden diese Daten durch eine Reihe von API-Schwachstellen an nicht autorisierte Benutzer weitergegeben. Informationen von Kursteilnehmern konnten in großem Umfang aussortiert werden, da ein API-Endpunkt einen anfragenden Benutzer nicht validieren konnte. Dadurch konnten unbefugte Angreifer den Benutzernamen, den Standort, die Trainings-ID, das Geschlecht und das Alter von Peloton-Benutzern erlangen.

APIs sind seit Jahren die Ursache für hochkarätige Datenlecks. Bei den ständigen Datenskandalen von Facebook in den Jahren 2018 und 2019 kam es zu einem Verstoß nach dem anderen, hauptsächlich durch Entwickler-APIs von Drittanbietern. Ein Beispiel war die Groups API; Entwickler, die an einer B2B-Social-Media-Management-App arbeiteten, konnten frei auf die Namen und persönlichere Informationen von Gruppenmitgliedern zugreifen. Obwohl diese Social-Media-Management-App Gruppenadministratoren dabei helfen sollte, ihre Gruppen effektiver zu verwalten, musste Facebook sie und ihre API entfernen.

Diese Datenskandale kulminierten im Jahr 2021, als eine Schwarzmarktdatenbank mit über 533 Millionen Facebook-Nutzern ihre Namen, Telefonnummern und Facebook-Benutzer-IDs durchsickerte.

Verhindern von API-Lecks

Das Open Web Application Security Project (OWASP) veröffentlicht regelmäßig die schwerwiegendsten und am weitesten verbreiteten Sicherheitslücken in Webanwendungen, die Sie im Auge behalten sollten. Die zunehmende Sicherheitsbedrohung durch APIs ist schwerwiegend genug, um eine eigene OWASP-Top-Ten-Liste zu rechtfertigen, die durchweg von Broken Object Level Authorization angeführt wird.

Zum Glück ist der Schutz Ihrer APIs – abgesehen von der Forderung nach einem langsameren Entwicklungszyklus – eng mit der Sicherung Ihrer gesamten Organisation verbunden. Ihre erste Anlaufstelle wäre eine anständige Web Application Firewall (WAF). Diese Lösung überwacht die Perimeter Ihrer Apps und verhindert, dass API-Gateways durch größere Schwachstellen ausgenutzt werden.

Web Application and API Protection (WAAP) geht noch einen Schritt weiter. Es befindet sich vollständig an der öffentlich zugänglichen Grenze einer App und analysiert den gesamten eingehenden Datenverkehr. Durch die Überwachung von Mustern legitimen Datenverkehrs und Anfragen sind WAAPs hochspezialisierte Sicherheitstools, die speziell zum Schutz von APIs entwickelt wurden.

Während WAAP ein Verteidigungssystem auf Endpoint-Ebene ist, umschließen RASP-Lösungen (Runtime Application Self Protection) bestimmte Web-Apps. Eine RASP-Lösung – anders als WAF – hat auch Einblick in die interne Funktionsweise und das Verhalten ihrer Anwendung. Auf diese Weise kann ein RASP, sollte eine API als Stützpunkt bei einem Angriff verwendet und nach mehr Informationen abgefragt werden, als dies möglich wäre, einen Angriff proaktiv beenden.

Mit einer Vielzahl von verfügbaren API-Schutzoptionen war es noch nie so einfach, Ihre Apps und Ihr Unternehmen zu schützen.