Letztendlich sind alle für die Sicherheit zuständig. APIs stellen den Kontakt zu Backend-Diensten, Datenbanken und IAM her – und alle diese Infrastrukturen müssen ordnungsgemäß abgesichert werden. Dies beginnt auf der Transportebene mit der Verwendung von SSL (HTTPS) und der Durchsetzung von TLS 1.2 (ältere Versionen von TLS sollten nicht mehr verwendet werden). Sie sollten auch Komponenten wie die HTTP-Basisauthentifizierung hinter sich lassen.
Für die API-Schicht existieren mehrere bewährte Verfahren für das Erstellen einer sicheren API.
Bestandsaufnahme für APIs
Initiativen zur digitalen Transformation kurbeln die Entwicklung neuer APIs an. Daher müssen Sie neue APIs auf geeignete Sicherheitsmaßnahmen überprüfen. Was man nicht kennt, kann man nicht absichern.
Eine KI-Engine kann anhand der Analyse von Metadaten des API-Verkehrs auch diejenigen APIs entdecken, die Sicherheitsexperten möglicherweise nicht auf dem Radar hatten. Diese Schicht der API-Erkennung garantiert das Minimieren der durch unseriöse APIs entstehenden blinden Flecken. Wenn auf diese Weise neue APIs entdeckt werden, kann die gleiche API-Sicherheits-Checkliste auf sie angewendet werden. Ebendiese Analyse von API-Verkehrsmetadaten, die diese API-Erkennung ermöglicht, kann wie folgt auch für die Erkennung von Bedrohungen eingesetzt werden.
API-Zugriffskontrolle
Unter Verwendung von Standards zur Authentifizierung des API-Datenverkehrs (wie OAuth und JWT) können Sie Regeln für die Zugriffskontrolle definieren. Diese legen fest, welche Identitäten, Gruppenmitgliedschaften, Identitätsattribute und Rollen für den Zugriff auf bestimmte API-Ressourcen erforderlich sind.
Wenn sich Ihre API-Transaktionen über mehrere Netzwerkgrenzen erstrecken, können Sie die Zero-Trust-Sicherheitsprinzipien anwenden und die Identität weitergeben, damit jede Ebene ihre eigenen Entscheidungen treffen kann. Diese weitergegebenen Identitäten lassen sich auch für die Anwendungssicherheit nutzen.
Zu weiteren bewährten Verfahren für die Zugangskontrolle gehören:
Das Mapping zwischen Token-Formaten beim Überschreiten von Grenzen, z. B. ein undurchsichtiges Token auf der öffentlichen Seite und ein signiertes Token auf der privaten Seite
Durchsetzen von Autorisierungsregeln bei einzelnen API-Silos
Aktivieren von Regeln für die Zugriffskontrolle bei Anwendungen von Drittanbietern, die im Namen von Benutzern agieren, und das Steuern des für jede Anwendung vorgesehenen Leistungsumfangs
Definition und Durchsetzung der Datenschutzpräferenzen von Nutzern und allgemeine Datenverwaltung
Erkennung von API-Bedrohungen
Kombinieren Sie die Erkennung in Echtzeit und von Out-of-Band-Angriffen. Zur Erkennung von Bedrohungen in Echtzeit benötigen Sie ein API-Gateway, eine WAF oder einen Agenten, der eine Reihe von Validierungsregeln anwendet. Jede API-Anfrage und -Antwort wird diesem Regelwerk unterworfen und nur dann zugelassen, wenn die Regeln erfüllt sind:
Bestehen Sie auf eine signaturbasierte Erkennung von Bedrohungen, wie z. B. SQL-Injektionen
Validieren Sie eingehende Nachrichten anhand des API-Definitionsvertrags mit JSON-Schemata und JSON-Pfaden. Je strenger diese Regeln angewendet werden, desto schwerer wird es Angreifern fallen, Ihre API zu missbrauchen.
Schützen Sie Ihre API-Backends durch Durchsatzbegrenzungen
Es gibt eine Grenze für die Schichten der Echtzeitsicherheit, die im sequenziellen Modus angewendet werden können, bevor sich die Latenzzeiten verschlechtern. Die Out-of-Band-Analyse des API-Datenverkehrs sollte auf eine spezielle, vom API-Traffic-Pfad getrennte KI-Engine ausgelagert werden. Diese erfasst dann Metadaten des API-Verkehrs, um ML-Modelle für jede API zu erstellen und Fehlerraten, API-Sequenzen, API-Gruppierungen über Token, API-Schlüssel, IP-Adressen, Cookies usw. nachzuverfolgen. Weisen Sie den API-Gateway oder den Load-Balancer an, den API-Client zu blockieren, sobald die KI-Engine eine Anomalie erkennt.
Testen der API-Sicherheit
Sie sollten die Sicherheit kontinuierlich testen und durch eine „API-Brille“ betrachten. Konstruieren Sie Testfälle, bei denen die clientseitige Anwendung übersprungen wird, ebenso wie es ein Hacker tun würde, wenn er Ihre API angreift. Ihre Sicherheitsprüfer sollten Tools wie Postman und JavaScript verwenden. Versuchen Sie, die API auf eine andere Weise als die Anwendung aufzurufen, und versuchen Sie auch, die API so auszutricksen, dass sie Daten zurückgibt, auf die der Anfragende keinen Zugriff haben sollte.
Überwachung und Analyse mehrerer API-Silos
Überwachen Sie Ihren API-Datenverkehr von innen heraus. Füttern Sie eine zentralisierte KI-Engine mit den Metadaten des API-Verkehrs und erschaffen Sie eine Datenquelle für die Korrelation von Identitäten. Sie sollten in der Lage sein, den Datenverkehr in Ihren API-Silos nach Nutzer, IP, Token und API aufzuschlüsseln. Integrieren Sie Ihre API-Überwachung und Bedrohungserkennung in Ihre bestehenden SIEM-Systeme (Security Information and Event Management). Sichten Sie die festgestellten Anomalien in regelmäßigen Abständen, und passen Sie die Modelle bei Bedarf an. Indem Sie jederzeit Einblick in Ihren API-Verkehr nehmen und diesen nach allen Faktoren aufschlüsseln, erhalten Sie ein besseres Verständnis dafür, was mit Ihren APIs geschieht und können ermitteln, ob es sich um einen Angriff oder eine Störung handelt.
Prüfung und Reaktion auf Vorfälle
Das Aufspüren und Stoppen einer Sicherheitsverletzung ist nur ein Teil der Reaktion auf ein Sicherheitsereignis. Durch die Aufzeichnung detaillierter Informationen über die Chronologie des API-Datenverkehrs können Sie forensische Berichte für ein bestimmtes Token, einen API-Schlüssel, eine Benutzeridentität oder eine IP-Adresse erstellen. Dies liefert Ihnen ein vollständiges Bild der Aktivitäten, die während eines Vorfalls stattgefunden haben. Die Einhaltung von Vorschriften und Untersuchungen werden dadurch erleichtert. Außerdem kann Ihnen die forensische Berichterstattung helfen, den Schaden zu beheben, der im Vorfeld der automatischen Erkennung und Blockierung einer Sicherheitsverletzung entstanden ist.