Was ist ein API-Aufruf?

Ein API-Aufruf oder eine API-Anfrage ermöglicht es einer Anwendung, Daten oder Dienste von einer anderen Anwendung anzufordern. Die meisten Webanwendungen tätigen regelmäßig API-Aufrufe.

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • API-Aufruf definieren
  • Verstehen, wie API-Aufrufe verwendet werden
  • Erfahren, wie Angreifer API-Aufrufe nutzen können

Link zum Artikel kopieren

Was ist ein API-Aufruf?

Anwendungsprogrammierschnittstellen (APIs) sind eine Möglichkeit für ein Programm, mit einem anderen zu interagieren. API-Aufrufe sind das Medium, über das sie interagieren. Ein API-Aufruf oder eine API-Anfrage ist eine Nachricht, die an einen Server gesendet wird und eine API auffordert, einen Dienst oder Informationen bereitzustellen.

Wenn Jane viele Gäste zum Abendessen einlädt, könnte sie ein Catering-Unternehmen anrufen und darum bitten, das Essen für die Party vorzubereiten. Das erspart ihr viel Zeit und Mühe, das Essen selbst zuzubereiten. In ähnlicher Weise kann eine Anwendung eine andere Anwendung für benötigte Daten oder Funktionen „anrufen“. So müssen Entwickler keine Zeit und Mühe darauf verwenden, Anwendungsfunktionen zu entwickeln, die über eine API integriert werden können.

Da APIs heute in fast alle Webanwendungen integriert sind, finden API-Aufrufe ständig im Hintergrund statt. Nehmen wir an, jemand sucht auf einer Reisewebsite nach Bustickets. Die Reisewebsite sendet einen API-Aufruf an die Server der verschiedenen Busunternehmen und erhält Informationen darüber zurück, welche Fahrten verfügbar sind und wie viel sie kosten. Aus der Sicht des Nutzers sollte dieser Vorgang fast augenblicklich erfolgen.

Wohin geht ein API-Aufruf?

API-Aufrufe gehen von einem Client zu einem API-Endpunkt. API-Endpunkte sind die Orte, an die ein API-Aufruf gesendet wird – in den meisten Fällen eine Webanwendung und ein Server. Ein mobiler Client erzeugt beispielsweise einen API-Aufruf, der an den API-Endpunkt, einen Server, geleitet wird. Der Server empfängt den API-Aufruf, verarbeitet ihn, führt die Anfrage aus und sendet eine Antwort.

Wenn Jane (aus der obigen Analogie) das Catering-Unternehmen anruft, tut sie dies, indem sie eine Telefonnummer wählt. In ähnlicher Weise werden API-Aufrufe an einen Uniform Resource Identifier (URI) gerichtet.

Ein URI ist ein standardisiertes Verfahren zur Identifizierung einer Ressource, so wie eine Telefonnummer eine Telefonleitung identifiziert. Bei der identifizierten Ressource kann es sich um eine Website, eine Anwendung, einen Server, einen E-Mail-Kontakt oder sogar um einen Gegenstand aus der realen Welt handeln.

Bei Web-APIs ist der URI in der Regel ein Uniform Resource Locator (URL). Eine URL ist eine Art von URI zur Identifizierung von Internetstandorten wie einer Website oder einem Server. Eine URL muss das Protokoll der Anwendungsebene, wie z. B. HTTP, enthalten, über das sie erreicht wird. Webseitenadressen werden als URLs geschrieben, wie „https://www.cloudflare.com/learning“. Auch API-Endpunkte sind URLs.

Die meisten Web-APIs verwenden HTTP, daher ist dies in der URL des API-Endpunkts enthalten. Der grundlegende Cloudflare-API-Endpunkt lautet zum Beispiel „https://api.cloudflare.com/client/v4/“ (mehr dazu). HTTP-basierte API-Aufrufe verwenden HTTP-Verben (Anfragetypen) wie GET, POST und PUT, um anzugeben, welchen Dienst oder welche Ressource sie vom API-Endpunkt benötigen.

Wie können API-Aufrufe für einen Angriff verwendet werden?

Wie alles, was dem Internet ausgesetzt ist, sind auch APIs anfällig für Angriffe aus verschiedenen Quellen. Angreifer können API-Aufrufe auf verschiedene Weise nutzen, um eine API zu attackieren, unter anderem:

  • Denial-of-Service (DoS)- und Distributed-Denial-of-Service (DDoS)-Angriffe: Bei dieser Art von Angriff wird anderen Nutzern der API der Dienst verweigert. Angreifer können eine API mit API-Aufrufen überfluten oder ihre API-Aufrufe so strukturieren, dass sie den Server für lange Zeit blockieren.
  • Ausnutzen von Sicherheitslücken: Angreifer können versuchen, API-Aufrufe zu senden, die eine Schwachstelle in der API ausnutzen, um den Server dazu zu bringen, Daten preiszugeben, die er nicht preisgeben sollte, eine Performance zu erzielen, für die er nicht ausgelegt ist, oder sich unberechtigten Zugriff zu verschaffen.

Diese und andere Angriffe können sich negativ auf den Anbieter des API-Dienstes auswirken.

Wie Sie APIs vor ungültigen API-Aufrufen schützen können

Die folgenden Strategien können helfen, APIs sicher zu halten.

  • API-Endpunkte verstehen und verfolgen: Führen Sie eine aktuelle Liste aller API-Endpunkte in der Produktion.
  • API-Clients verifizieren: Authentifizierung stellt sicher, dass API-Aufrufe von einem legitimen Client stammen. Es gibt mehrere Möglichkeiten, dies zu tun, aber eine der effektivsten ist mutual TLS, eine Authentifizierungsmethode, bei der jeder API-Endpunkt den anderen mit Hilfe von Public-Key-Kryptographie verifiziert.
  • API-Schema validieren: Das Schema einer API ist wie ihre Nutzungsregeln. Wenn ein API-Aufruf nicht dem Schema entspricht, handelt es sich möglicherweise um einen böswilligen Versuch, die API auszunutzen. Die Validierung des API-Schemas hilft, ungültige API-Aufrufe zu identifizieren und zu blockieren.
  • DDoS-Abwehr einsetzen: Ein Anbieter von DDoS-Abwehr blockiert oder absorbiert übermäßige Anfragen, damit ein Server nicht überlastet wird. Cloudflare ist ein solcher Anbieter.

Erfahren Sie mehr über API-Sicherheit. Oder informieren Sie sich über Cloudflare API Shield, das APIs vor einer breiten Palette von Angriffen schützt.