IT-Sicherheit Glossar

Was ist eine API?

API steht für Application Programming Interface, also Programmierschnittstelle. Eine API legt fest, wie Anwendungen Daten abfragen, Funktionen auslösen und Ergebnisse austauschen. Sie bildet damit die kontrollierte Grenze zwischen einem Anbieter und seinen Clients - etwa einer mobilen App, einem Web-Frontend, einem Partnerdienst oder einem internen System.

Wie funktioniert eine API?

Häufig verwendet eine API das Client-Server-Modell: Der Client sendet eine Anfrage an einen definierten Endpunkt. Die Anfrage enthält eine Methode, Parameter, Header und gegebenenfalls einen Body. Der Server prüft Identität, Berechtigung und Eingaben, verarbeitet die Aktion und antwortet mit Daten sowie einem Statuscode.

GET /api/orders/4711 HTTP/1.1
Host: example.test
Authorization: Bearer <access-token>
Accept: application/json

HTTP/1.1 200 OK
Content-Type: application/json

{"id":4711,"status":"processing"}

Ein technisch gültiges Token allein reicht nicht. Der Server muss zusätzlich prüfen, ob die angemeldete Identität genau diese Bestellung lesen darf. Fehlt diese objektbezogene Autorisierung, entsteht häufig eine IDOR-Schwachstelle.

Welche API-Arten gibt es?

Stil oder ProtokollMerkmaleTypische Verwendung
RESTRessourcen, HTTP-Methoden und häufig JSON; REST ist ein Architekturstil, kein eigenes Protokoll.Web-, Mobile- und Partner-APIs.
GraphQLClients formulieren benötigte Felder in einer Abfrage; ein Schema beschreibt Typen und Operationen.Flexible Frontends und zusammengesetzte Datenmodelle.
SOAPXML-Nachrichten, formale Verträge und etablierte Erweiterungen für Enterprise-Anforderungen.Ältere Unternehmens- und Integrationssysteme.
RPC/gRPCAufruf definierter Funktionen; gRPC nutzt meist Protocol Buffers und HTTP/2.Interne, stark typisierte Service-Kommunikation.
WebSocketLanglebige bidirektionale Verbindung statt einzelner Request-Response-Vorgänge.Chats, Live-Daten und andere Echtzeitanwendungen.
WebhookEin System benachrichtigt ein anderes aktiv über ein Ereignis.Zahlungsstatus, CI/CD und Integrationen.

Die Wahl beeinflusst Datenmodell, Fehlerbehandlung und Sicherheitskontrollen. Die speziellen Risiken bidirektionaler Verbindungen erläutert der Artikel über WebSockets; Abfragen und Resolver werden im GraphQL-Artikel behandelt.

Authentifizierung und Autorisierung

Authentifizierung beantwortet, wer anfragt. Autorisierung entscheidet für jede Operation und jedes Objekt, was diese Identität tun darf. API-Keys identifizieren häufig eine Anwendung, sind aber nicht automatisch für Benutzeranmeldung oder feingranulare Rechte geeignet. Für delegierten Zugriff werden oft OAuth 2.0 und OpenID Connect eingesetzt. Dabei müssen Zugriffstoken - häufig JSON Web Tokens - hinsichtlich Signatur, Aussteller, Zielgruppe, Gültigkeit und vorgesehenem Zweck geprüft werden.

Welche API-Schwachstellen sind besonders wichtig?

RisikobereichTypisches ProblemVertiefung
ObjektzugriffEine ID wird akzeptiert, ohne die Berechtigung am Objekt zu prüfen.Broken Access Control und IDOR
DatenbindungUnbeabsichtigte Felder wie Rolle, Preis oder Eigentümer können gesetzt werden.Mass Assignment
GeschäftsprozesseGültige Einzelschritte lassen sich in einer unerlaubten Reihenfolge oder Menge ausführen.Business-Logic-Schwachstellen
Serverseitige RequestsImport-, Preview- oder Webhook-Funktionen rufen unkontrollierte Ziele auf.SSRF
RessourcenverbrauchUnbegrenzte Abfragen, Batching oder große Antworten belasten Backend und Datenbank.Rate Limiting und DoS
VertrauensgrenzenBrowser-Herkunft, Weiterleitungen oder externe Daten werden falsch vertraut.CORS-Fehlkonfiguration und Open Redirect

Wie wird eine API sicher entworfen?

  1. Inventar und Vertrag:
    Endpunkte, Versionen, Eigentümer, Datenklassen und Abhängigkeiten dokumentieren. Nicht dokumentierte und alte Versionen ebenfalls erfassen.
  2. Explizite Eingaben:
    Erlaubte Felder, Typen, Wertebereiche und Objektgrößen serverseitig validieren; unbekannte Eigenschaften ablehnen.
  3. Autorisierung je Aktion:
    Rolle, Mandant, Objektbeziehung und Statusübergang für jeden Request prüfen - nicht nur beim Login.
  4. Begrenzung:
    Rate, Parallelität, Abfragetiefe, Seitengröße, Uploads und Laufzeit passend zum Endpunkt begrenzen.
  5. Sichere Ausgabe:
    Nur notwendige Felder zurückgeben, Fehler ohne interne Details ausliefern und sensible Antworten nicht unkontrolliert cachen.
  6. Überwachung:
    Fehlgeschlagene Autorisierung, ungewöhnliche Objektzugriffe und hohe Fehlerraten mit einer Request-ID nachvollziehbar protokollieren - ohne Tokens oder unnötige personenbezogene Daten.

Dokumentation, Versionierung und Tests

OpenAPI beschreibt REST-nahe Schnittstellen maschinenlesbar; bei GraphQL übernimmt das Schema einen Teil dieser Rolle. Eine Dokumentation sollte Authentifizierung, Fehler, Limits, Datenmodelle und Beispiele enthalten, aber keine produktiven Zugangsdaten. Änderungen benötigen eine klare Kompatibilitäts- und Abschaltstrategie. Sicherheitsprüfungen kombinieren Vertragsanalyse, Quellcodeprüfung und manuelle Tests mit verschiedenen Rollen und Mandanten. Automatische Scanner finden bekannte Muster, verstehen jedoch selten vollständig, ob ein Geschäftsprozess fachlich missbraucht werden kann.

Penetrationstests

Sicherheitslücken aufdecken

Professionelle Penetrationstests für Ihr Unternehmen

Web Apps
Netzwerke
Mobile Apps
10% Neukunden-Rabatt
Jetzt planen

Mehr Informationsmaterial

Vielen Dank für dein Feedback! Wir werden es prüfen und unseren Artikel anpassen.

Hast du Feedback zum Thema API? Schreib uns!

Damian Strobel

API sind ausgezeichnete Angriffsflächen. Wir helfen Ihnen dabei, Ihre API sicher zu gestalten und erfolgreiche Angriffe zu verhindern.

Damian Strobel - Geschäftsführung