BLOG | BÜRO DES CTO

API-Sicherheit: Programmierbarkeit ist erforderlich

Lori MacVittie Miniaturbild
Lori MacVittie
Veröffentlicht am 16. Oktober 2024

Ob Anwendungen oder APIs, traditionelle, moderne oder KI-Anwendungen: Programmierbarkeit ist ein wichtiges Werkzeug im Sicherheits-Toolkit zur Bewältigung von Sicherheitsproblemen.

Eine Möglichkeit, die Sicherheit von Anwendungen und APIs zu gewährleisten, besteht darin, sie auf Schwachstellen und Korrektheit zu testen, bevor wir sie Kunden und Partnern zugänglich machen. Eine beliebte Technik zum Testen von Anwendungen und APIs ist das Fuzz-Testing .

Beim Fuzz-Test werden unerwartete Eingaben gesendet (Zeichenfolgen statt Zahlen, Sonderzeichen, zu lange, zu kurze usw.), um die Reaktion der API oder Anwendung zu ermitteln. Eine robuste Implementierung verarbeitet diese Eingaben, indem sie sie als ungültig ablehnt. Genauso wichtig wie das Testen der Eingabeverarbeitung ist jedoch das Testen des Codes, der die Eingabeverarbeitung durchführt.

Mit anderen Worten: Es reicht nicht aus, dass die Anwendungs- oder API-Logik ungültige Eingaben ablehnt; auch die Logik, die auf ungültige Eingaben prüft, muss robust sein.

Wie das in der Welt der Anwendungssicherheit häufig der Fall ist, kommt es vor, dass jemand einen Input liefert, der nicht erwartet oder berücksichtigt wurde. Wir ignorieren die Tatsache, dass eine ganze Reihe von Implementierungen zur Eingabebereinigung einfach schlecht sind, und tun so, als seien sie alle robust und könnten 99 % aller Fehlbildungen erkennen.

Selbst bei dieser utopischen Annahme gibt es immer dieses 1 %, das niemand berücksichtigt hat. Auf diese Weise entstehen Zero-Day-Schwachstellen.

Manchmal sind sie das Ergebnis eines Defekts im Technologie-Stack. Vielleicht ist es der Webserver, der App-Server, der GraphQL-Server. Vielleicht liegt es an einem Konnektor zu einer Datenquelle, wie etwa einer Vektordatenbank, die zur Unterstützung des immer beliebter werdenden RAG-Anwendungsfalls (Retrieval-Augmented Generation) für generative KI verwendet wird. Oder vielleicht liegt es an der Entstehung von Schwachstellen bei KI-Inferenzen, wie etwa Probllama . Das Hinzufügen einer neuen Ebene innerhalb der umfassenderen Anwendungsarchitektur bedeutet schließlich neue Schwachstellen.

Dies sind die Schwachstellen, die im Internet zu Panik führen. Sie gaben uns Apache Killer (2011), HeartBleed (2014), Spectre und Meltdown (2018) und Log4Shell (2021).

Dies waren unvorhergesehene Schwachstellen. Von Entwicklern, SecOps, DevSecOps und der Qualitätssicherung konnte nicht erwartet werden, dass sie diese vorhersehen. Sie konnten es wirklich nicht.

Unabhängig von der mangelnden Weitsicht seitens der Entwickler und Sicherheitsexperten muss etwas unternommen werden, wenn eine Zero-Day-Schwachstelle auftritt. Dies gilt insbesondere dann, wenn eine Organisation aufgrund der Verwendung der betreffenden Technologie gefährdet wäre. Dadurch werden Risiken zu Bedrohungen , und Bedrohungen müssen neutralisiert werden.

Hier kommt die Programmierbarkeit von Anwendungsdiensten ins Spiel.

Die Programmierbarkeit von Anwendungsdiensten ist nichts Neues. Organisationen nutzen Programmierbarkeit seit den Anfängen des Internets, um eine Vielzahl von Lösungen zu implementieren.

Zu den häufigsten Einsatzmöglichkeiten der Programmierbarkeit im Datenpfad gehören:

  1. Sicherheit : Programmierbarkeit ist von entscheidender Bedeutung, um Zero-Day-Bedrohungen einzudämmen und aufkommende Sicherheitsrisiken zu bewältigen.
  2. Bewerbungsvermittlung : Ermöglicht nahtlose Benutzererlebnisse bei Anwendungsupgrades und -migrationen, unterstützt die Modernisierung und integriert kostengünstig neue APIs.
  3. Service-Orchestrierung : Integriert Arbeitsabläufe und Dienste von Drittanbietern ohne Benutzerunterbrechung in Anwendungen und beschleunigt so die Markteinführungszeit.
  4. Verfügbarkeit : Unterstützt Lastausgleich und moderne Bereitstellungspraktiken wie Canary-Bereitstellungen und A/B-Tests.

Wir wissen, dass diese häufig vorkommen, weil unsere internen Daten dies bestätigen. Mehr als 70 % unserer Kunden nutzen die Programmierbarkeit täglich für unterschiedlichste Lösungen. Einige von ihnen konzentrieren sich auf Sicherheit.

Daher war es keine Überraschung, als wir bei unserer Marktanalyse feststellten, dass Programmierbarkeit ganz oben auf der Liste der wichtigsten technischen Funktionen für die API-Sicherheit steht.

Durchschnittliche Punktzahl pro Fähigkeit

Die Vielseitigkeit einer API-Sicherheitslösung, die Programmierbarkeit unterstützt, ist praktisch unbegrenzt. Und obwohl F5 bei dieser Funktion zweifellos Pionierarbeit geleistet hat, ist sie zu einem festen Bestandteil des Marktes für Anwendungsdienste im Allgemeinen geworden. Es gibt nur sehr wenige Anwendungsdienste – insbesondere solche, die sich auf die Sicherung von Anwendungen und APIs konzentrieren –, die nicht Programmierbarkeit als Teil ihrer Kernfunktionen bieten.

Denn Programmierbarkeit ist die Grundlage für die Eindämmung von Zero-Day-Bedrohungen und ermöglicht es Unternehmen, gezielter Patchpläne zu entwickeln, die sich auf einen erheblichen Prozentsatz ihrer Systeme auswirken.

Programmierbarkeit kann, nun ja, so ziemlich alles. Aber im Bereich der Sicherheit – insbesondere der API-Sicherheit – ist es nicht nur ein „Nice to have“. Das ist ein Muss.

Weitere Einblicke in die API erhalten Sie in unserem State of Application Strategy Report: API-Sicherheit.