Brian Jackson - Fotolia

Warum sichere APIs zur obersten Priorität werden müssen

APIs sind fast überall im Einsatz und Hacker wissen und nutzen das. Gerade deswegen müssen APIs unbedingt sicher sein, um Angriffe zu verhindern.

APIs sind bereits seit der Einführung des strukturierten Programmierens in den 1960er Jahren ein Teil der Softwareentwicklung. Ein Application Programing Interface (API) ist ein Satz an Funktionen oder Routinen, die bestimmte Aufgaben erledigen oder eine einfache Methode zum Interagieren mit Softwarekomponenten bereitstellen. Oftmals ermöglichen APIs es auch, allgemeine Prozesse zu automatisieren, die mit Services auf anderen Systemen interagieren.

Es wird immer wichtiger, diese APIs abzusichern. Obwohl sie bereits seit Jahrzehnten im Einsatz sind, hat sich ihre Anzahl erst nach Web 2.0 und Cloud Computing extrem erhöht. Derzeit gibt es 14.000 öffentliche APIs. Die bekanntesten sind wahrscheinlich die von Facebook, Google, Twitter, eBay und Amazon, aber viele andere Unternehmen machen ihre internen Daten über APIs zugänglich. Salesforce-Kunden nutzen das API des Herstellers, um dessen Services in ihre Systeme zu integrieren. Ähnlich funktionieren die Facebook Platform APIs, die es Entwicklern ermöglichen, Tausende an Anwendungen und Services zu erstellen, die Facebook-Daten nutzen.

Diese Geschäftsvorteile von APIs mögen viele überzeugen, aber sowohl der API-Provider als auch der API-Nutzer müssen eine sichere API-Implementierung gewährleisten, so dass Hacker diese nicht für einen Angriff auf das Unternehmen und seine Anwender zu nutzen. Unsichere APIs sind laut der Cloud Security Alliance eine der größten Bedrohungen des Cloud Computing.

Das API-Security-Risiko

APIs ermöglichen den Zugriff auf die Funktionen einer Anwendung. Dadurch vergrößert sich das Risiko eines Angriffs und Hacker bemühen sich, Schwachstellen in populären API-Codes zu finden, da sich darüber eine große Anzahl an Applikationen und Anwendern angreifen lässt.

Um das zu verdeutlichen, nehmen wir das Beispiel einer fiktiven Firma namens MashOurDataInc. Das Unternehmen stellt APIs zur Verfügung, mit denen Entwickler Daten aus dem Rechenzentrum der Firma nutzen können. Ein Hacker war in der Lage, ein schädliches Script in die Hauptdatenbank einzuschleusen. Wenn der API-Code von MashOurDataInc die Daten nicht säubert, bevor auf eine API-Anfrage geantwortet wird, dann wird das schädliche Script zu jeder Anwendung gesendet, die das MashOurDataInc-API verwendet. Damit wären Tausende von Anwendern von der Schadsoftware betroffen.

Die API sicher machen, um Risiken zu vermeiden

Entwickler, die Applikationen oder Services kreieren, die wiederum Daten von Drittanbietern via API beziehen, müssen verstehen, wie APIs funktionieren und wie man sie benennen sollte, bevor sie im Code zum Einsatz kommen. Das verhindert latente Schwachstellen. Das bedeutet, dass Entwickler die gesamte relevante Dokumentation über das API lesen müssen. Darin sollten auch Aspekte enthalten sein, wie man API-Funktionen sichert. Dazu gehören die Benennung, die Art der Authentifizierung, welche Daten in welchem Format zurückgegeben werden und welche Fehlermeldungen zu erwarten sind.

Die Erstellung eines Bedrohungsmodells für jegliche im Einsatz befindliche APIs kann helfen, die eigene Angriffsfläche zu erkennen und potenzielle Security-Probleme zu identifizieren. Daraufhin lassen sich diese dann von Anfang an abschwächen oder eliminieren. Debug-Tools wie Firebug und Chrome Developer Tools helfen zudem, den Datenfluss, den eine API generiert, zu ermitteln und zu prüfen. Damit lässt sich feststellen, wie sicher die API ist.

Eine Anwendung, die Daten über eine API eines Drittanbieters erhält, sollte niemals annehmen, dass diese Informationen bereinigt oder korrekt evaluiert wurden. Entwickler müssen Datenbereinigungs- und Datenvalidierungsroutinen integrieren, um das Einschleusen falscher Befehle und Cross-Site Forgery-Attacken zu verhindern. Das gilt besonders für APIs, die JSON- und XML-Nachrichten oder Nutzerinhalte versenden, da diese Daten von unsicheren Quellen kommen. Ebenso wichtig ist es, dass Anwender oder Geräte, die das API ansprechen, die richtige Erlaubnis haben, Daten einzusehen, zu ändern oder zu löschen. Viele Entwickler vergessen, die sekundären Zugriffskontrollen zu integrieren.

Unternehmen, die APIs entwickeln, um anderen Zugriff auf ihre Datensysteme zu geben, sollten sich darauf konzentrieren, Kontrollen für den Zugriff auf das API zu erstellen und zu testen. Diese Kontrollen sollen erkennen, was Anwender unterschiedlicher Klassifizierungen mit den Daten tun oder auch nicht tun können. Hier benötigt man sekundäre Zugriffskontrollen, bevor die Daten eingesehen, verändert oder gar gelöscht werden können.

Um nachfolgende Code-Änderungen zu vereinfachen, ist es hilfreich, das Absichern der API genau zu dokumentieren. Damit lassen sich auch die Policy-Anforderungen für persönliche oder sensible Informationen besser erfüllen. Darüber hinaus sollte der IT-Manager dokumentieren, welche Informationen im Log erfasst werden sollen, damit nachvollzogen werden kann, wann die APIs genutzt wurden, wer darauf Zugriff und welche Daten abgerufen wurden. Diese Logs können bei Audits wichtig werden. Die Logs müssen von einem Security-Informations- oder Event-Management-Tool analysiert werden, so dass abnormales Verhalten wie zum Beispiel Brute-Force-Angriffe erkannt und blockiert werden können.

Mit APIs können Firmen vielfach ihren Kundenservice und ihre Kundeninteraktionen verbessern. Das führt zu besserer Produktivität und höheren Umsätzen. In manchen Fällen sind APIs das Produkt. Da sie aber durchaus eine riskante Angriffsfläche darstellen, muss die Absicherung und die Risikovermeidung im Kern jeder API-Integrationsstrategie stehen.

Folgen Sie SearchStorage.de auch auf Twitter, Google+ und Facebook!

Artikel wurde zuletzt im März 2016 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Neue IT-Sicherheitsrisiken

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchStorage.de

SearchNetworking.de

SearchEnterpriseSoftware.de

SearchDataCenter.de

Close