APIs sicherer machen: Vier Maßnahmen, die jedes Unternehmen ergreifen sollte

Autor/Redakteur: Daisuke Watanabe, Senior Channel Sales Engineer bei Zix/gg

Programmierschnittstellen (APIs) sind grundsätzlich eine gute Sache: Sie vereinfachen den Programmiervorgang und erschließen den Zugang zu einer Fülle von Daten und Ressourcen, die sonst nicht so einfach nutzbar wären. Davon profitieren auch Anwender, die sich mehr Informationen und Synergien per Knopfdruck wünschen, in den Programmen und Abläufen. Bestehende und neue Lösungen können gute APIs zweifelsohne auf vielfache Weise nutzen. Das macht sie jedoch auch zu einem lukrativen Ziel für Bedrohungsakteure. Daher ist es so wichtig, ein Augenmerk auf die Sicherheit von APIs zu haben und die damit verbundenen Risiken zu minimieren. Ganz gleich, ob ein Unternehmen Drittanbieter-APIs nutzt oder selbst entwickelte: Zur Risikominimierung ist es unerlässlich, diese APIs zu schützen und eine gute API-Hygiene zu gewährleisten.

Bild: Shutterstock

Die Schwachstellen von APIs

Sicherheitslücken in APIs entstehen oftmals durch schlechte Programmierung, das heißt es erfolgt keine Absicherung gegen mögliche Fehlerquellen, und der Sicherheit wird beim Design keine hohe Priorität eingeräumt. Dies gilt insbesondere für offene APIs von Dritten, bei denen möglicherweise mehrere Autoren mitwirken, ohne dass ein standardisierter, sicherer Rahmen vorhanden ist. Was erschwerend hinzu kommt: Oft bleibt unklar, wer für die Sicherheit offener APIs zuständig ist – derjenige, der die offene API entwickelt hat, oder der Entwickler, der sie nutzt und erweitert. Die Frage der Verantwortlichkeit für sichere Programmierpraktiken liegt immer noch in einer Grauzone. Solange die Zuständigkeit ungeklärt ist, bleibt das Risiko von Angriffen allerdings sehr hoch.

Gefährlich wird es auch dann, wenn derjenige, der das API nutzt, nicht weiß, wo der Grenzwert des API-Subsystems liegt: Über eine aussagekräftige Aktivitätsprotokollierung kann nachvollzogen werden, wer Zugriff auf das API hat und diese nutzt. Fehlt ein solches Protokollierungssystem, und ist zudem kein Grenzwert für die Höchstauslastung vorhanden, ist ein Systemabsturz die mögliche Folge. Genau hier setzen viele Denial-of-Service-Angriffe (DoS) an, bei denen Angreifer ein API mit Verbindungen aus verschiedenen Quellen überfluten und so das System überlasten, ohne dass ein Failover vorgesehen wäre.

Vier Maßnahmen für eine gute API-Hygiene

Bestandsaufnahme und Verwaltung: Mit APIs lässt sich viel gewinnen – aber auch viel verlieren. Die Sicherheit eines API sollte immer im Voraus bedacht und nie zur „Aufgabe der anderen“ gemacht werden. Die Entwicklung sicherer Praktiken beginnt bei der Bestandsaufnahme und Verwaltung der vorhandenen APIs. Erstaunlicherweise wissen viele Unternehmen gar nicht, welche APIs bei ihnen im Einsatz sind. Mit entsprechenden Scans zur Inventarisierung der APIs lässt sich das ändern. Diese Informationen müssen anschließend zusammen mit den DevOps-Teams verwaltet und auf dem neuesten Stand gehalten werden – insbesondere bei APIs von Dritten.

Aktivitätsprotokollierung und Monitoring: Unternehmen sollten einen Überblick darüber haben, wie ihre APIs genutzt werden und welches Verhalten und welche Lastmuster normal sind. Nur dann ist es möglich, Anomalien oder Aktivitätsspitzen auf bestimmte Ereignisse zurückzuführen oder festzustellen, wann ungewöhnliche Abweichungen vorliegen, die möglicherweise auf eine Bedrohung hinweisen.

Authentifizierung und Berechtigung: Eine gravierende Schwachstelle bei vielen öffentlich zugänglichen APIs ist die mangelhafte oder nicht vorhandene Authentifizierungs- und Autorisierungssteuerung. Problematisch wird es auch, wenn private APIs plötzlich öffentlich zugänglich gemacht werden, ohne dass an die Berechtigungssteuerung gedacht wird: Solche APIs bilden oft das Einfallstor zu den Datenbanken eines Unternehmens. Es ist daher immens wichtig, den Zugang zu dieser Eingangstür zu kontrollieren und sie für Unbekannte „verschlossen“ zu halten.

Zugriff und Übertragung: APIs unterstützen üblicherweise Funktionen zum Abrufen und Übertragen von Daten. In diesem Kontext und angesichts der strengen Vorschriften auf nationaler und globaler Ebene muss klar sein, welche Daten im eigenen System wohin übertragen werden. Nur so lässt sich entscheiden, ob diese Daten verborgen werden müssen. Hier einige Vorschläge: Beseitigen Sie den Zugang zu Informationen, die nicht weitergegeben werden dürfen. Verschlüsseln Sie die Nutzdaten insbesondere dann, wenn es sich um sensible „identifizierbare“ Informationen handelt. Unternehmen sind verantwortlich für die Einhaltung der Datenvorschriften ihrer Anwendung.

Um moderne Anwendungen schneller programmieren zu können, verwenden Unternehmen heute bevorzugt APIs. Doch sie sollten sich der damit verbundenen potenziellen Risiken bewusst sein und eine Vorstellung von „sicheren APIs“ entwickeln. Ob offene oder geschlossene APIs: Unternehmen müssen unabhängig von ihrer Größe von Anfang an eine gute Sicherheitshygiene gewährleisten. Das bedeutet nicht, dass Unternehmen ihre APIs von Grund auf neu entwickeln und geschlossen halten müssen. Aber sie sollten die Risiken kennen und alle APIs mit der gebotenen Sorgfalt überwachen, wenn sie die Sicherheit von Daten und Systemen Dritten anvertrauen