Munscheidstr. 14 in 45886 Gelsenkirchen

Jetzt anrufen 0209 - 8830 6760

Bedrohung durch Rogue, Shadow und Zombie APIs

M.Sc. Chris Wojzechowski

Wenn unterschiedliche Softwarekomponenten miteinander kommunizieren sollen, bedarf es entsprechender APIs, die das überhaupt erst möglich machen. Doch diese APIs sind nicht immer so einfach zu handhaben. Nicht selten bringen selbige neue Sicherheitslücken in die Systeme oder sorgen anderweitig für Schwachstellen. 

Ebenso wertvoll und nützlich, wie APIs nun einmal sind, so problematisch erscheinen sie häufig auch. Jede neue Schnittstelle birgt immerhin potenzielle Gefahren, die es wiederum zu kontrollieren gilt. Das ist nicht unmöglich, oft aber viel schwieriger, als viele Unternehmen vorab vermuten.

Ganz besonders geht es dabei um die sogenannten Rogue APIs, Shadow APIs und Zombie APIs. Was es damit auf sich hat, was selbige auszeichnet und warum diese eine Gefahr darstellen, klären wir in unserem heutigen Artikel. Der dreht sich nämlich um genau diese drei Arten von APIs.

Rogue, Shadow und Zombie APIs im Detail

Während die meisten APIs dazu gedacht sind, die Funktionen der jeweiligen Anwendung zu verbessern, zu erweitern oder mit anderen Services zu kombinieren, gibt es auch noch negative APIs. Dazu gehören die sogenannten Rogue, Shadow und Zombie APIs. Doch vielleicht sollten wir erst einmal erklären, worum es sich dabei genau handelt und was die offensichtlichsten Sicherheitsprobleme in Bezug auf solche APIs sind.

Rogue API: Übersetzt bedeutet Rogue einfach nur Schurke, was passend erscheint, wenn man bedenkt, dass Rogue APIs plötzlich und unerwartet auftauchen. Rogue APIs entstehen dabei, indem Entwickler ohne tieferes Wissen APIs in die Anwendungen integrieren, die weder autorisiert noch dokumentiert werden. Ein klassischer Fall ist die Integration einer Third Party API, von der jedoch niemand in Kenntnis gesetzt wird. Werden solche APIs dann nicht sorgfältig gepflegt und weiterentwickelt, werden sie plötzlich zu einer großen Bedrohung für die eigenen Systeme. 

Shadow API: Genau wie bei der Rogue API, lässt sich auch bei der Shadow API ein Rückschluss durch die Übersetzung erzeugen. Shadow meint auf Deutsch Schatten und tatsächlich handelt es sich bei der Schatten API auch um eine Art kaum sichtbaren Begleiter. Als Schatten sind die APIs zwar da, werden aber von niemandem so richtig wahrgenommen, auch weil sie ebenso wenig dokumentiert sind wie die Rogue APIs. Eine Shadow API führt oft zu einer instabilen Anwendung oder plötzlichen Fehlern. Integriert werden selbige in erster Linie während der Produktion einer Anwendung. Wird das Entfernen im Anschluss an den finalen Release dann jedoch vergessen, gelangen die APIs in die finale Version und verursachen dort viel Trubel.

Zombie API: Die Zombie API agiert wie ein Zombie, also in erster Linie nahezu tot, verwest und dadurch unfassbar träge. Als Zombie API wird eine API bezeichnet, die aus Altlasten stammt und versehentlich oder absichtlich mit in das laufende Projekt übernommen wurde, inzwischen aber gar nicht mehr benötigt wird. Ohne Sinn und Zweck, laufen die Zombie APIs dann im Hintergrund, verbrauchen Ressourcen und bleiben dauerhaft aktiv, obwohl sie keinerlei Anwendung mehr für die derzeitige Entwicklung haben. Es handelt sich also um APIs, die als Altlasten mit in neue Entwicklungen übertragen werden, jedoch nutzlos sind.

Wie die Programmierschnittstellen zur potenziellen Bedrohung werden

Was die drei Arten von gefährlichen APIs nun genau bedeuten, haben wir Ihnen oben nun bereits erläutert. Damit sollte auch klar geworden sein, warum die APIs so heißen, wie sie heißen. Der Name ist jeweils Programm und damit ist auch das potenzielle Gefahrenpotenzial mehr als offensichtlich. Doch wie genau werden die jeweiligen APIs zur Bedrohung? Auch darauf möchten wir an dieser Stelle noch einmal etwas punktueller eingehen und die Bedrohungen anhand einer einfachen Liste möglichst konkret aufzeigen.

Rogue APIs

  • Durch Rogue APIs entstehen ganz konkrete Sicherheitslücken in Ihren Anwendungen und Systemen. Vor allem, wenn diese lange Zeit unbemerkt bleiben, haben Angreifer unter Umständen sehr viel Zeit für einen unautorisierten Zugriff und können mitunter sogar Aktionen ausführen.
  • Weil die meisten Rogue APIs keine Authentifizierung oder zumindest nur eine sehr mangelhafte Authentifizierung besitzen, sind sie ideal für Angreifer, die sich die fehlende Berechtigungsprüfung zunutze machen möchten.
  • Rogue APIs sind die Schurken, die ohne Überwachung agieren und daher unvorhersehbar sind. Ihr Verhalten bleibt oft unklar, ihre Ziele ebenso und so ist es sehr komplex, die Sicherheitsprobleme und Fehler überhaupt erst einmal zu identifizieren.

Shadow APIs

  • Die fehlende Dokumentation ist die größte Bedrohung der Shadow APIs. Ohne Dokumentation fehlt auch das Verständnis für die API selbst und das Wissen darüber, wie sie funktioniert. Am Ende weiß niemand mehr so genau, was die jeweilige API eigentlich macht und welche Daten sie einsehen und weiterverwerten kann.
  • Auch die Unvorhersehbarkeit ist etwas, was die Shadow APIs so gefährlich werden lässt. Wer nicht weiß, wofür eine API sich genau verantwortlich zeichnet, kann sie auch nur schwer kontrollieren. Die Unvorhersehbarkeit führt oft zu schwerwiegenden Fehlern und Problemen in der aktuellen Anwendung.
  • Da Shadow APIs zudem kein Teil der geplanten und offiziellen Architektur sind, erzeugen sie meist unnötig viel Komplexität.

Zombie APIs

  • Eines der größten Probleme, welches durch Zombie APIs verursacht wird, ist der unnötige Ressourcenverbrauch. Ohne einen Nutzen zu liefern, verschlingen die Zombie APIs CPU und RAM, was dann wiederum die Leistung der eigentlichen Anwendung verschlechtert.
  • Da Zombie APIs als Überreste daherkommen, die nicht mehr verwendet werden, weiß niemand so ganz genau, was ihr Sinn und Zweck ist. Während der Entwicklung ist das oft problematisch und ein Entfernen wird unnötig verzögert, aufgrund potenzieller Kompatibilitätsprobleme. Die Entwicklung wird durch Zombie APIs also schlichtweg komplexer und zunehmend träger.
  • Zombie APIs sind einfach da und wie eine Art Dateileiche zu betrachten, die jedoch weiterhin ausgeführt wird. Das ist ein enormes Sicherheitsrisiko. Da Zombie APIs zudem aus Altlasten stammen, können sie schlecht aktualisiert, gewartet oder an aktuelle Sicherheitsrichtlinien angepasst werden. Was bleibt sind daher viele potenzielle Schwachstellen, die durch die Zombies APIs hinzukommen.

Bedrohungen der APIs restlos eliminieren

Sind wir mal ganz ehrlich. Wenn Sie wüssten, wie die APIs eliminiert werden können, wären diese gar nicht mehr vorhanden. Außerdem liegt eines der Sicherheitsprobleme, welches die APIs mitbringen, auch darin begründet, dass eben niemand so recht über die APIs Bescheid weiß. Die Bedrohung lässt sich also nicht ohne Weiteres beseitigen oder gar restlos entfernen.

Bei den Rogue APIs hilft es, eine umfassende API-Sicherheitsstrategie aufzustellen. Werden alle API-Aktivitäten entsprechend überwacht, lassen sich Rogue APIs identifizieren, auch wenn sie nicht dokumentiert worden sind. Gleiches gilt bei den Shadow APIs. Durch eine Überwachung von API-Aktivitäten werden diese erkannt und können dokumentiert werden. Die Dokumentierung sollte bei APIs aber ohnehin immer erfolgen.

Zu guter Letzt gibt es dann noch die Zombie APIs. Hier hilft es, wenn Entwickler nicht mehr benötigte APIs auch immer gleich deaktivieren und im besten Fall damit restlos entfernen. Durch regelmäßige Überprüfungen und eine anschließende Aktualisierung kann dies auch problemlos erreicht werden. Die eigene API-Infrastruktur sollte zu keinem Zeitpunkt undokumentierte oder verwaiste APIs enthalten.


Erkennen Sie zuverlässig Phishing E-Mails?

Jetzt das AWARE7 Phishing Quiz absolvieren
und das eigene Wissen überprüfen!


Penetrationstests von APIs durchführen

Als Sicherheitsunternehmen haben wir erfahrene Analysten und Sicherheitsexperten im Team, die sich tagtäglich mit aktuellen Sicherheitslücken und Schwachstellen befassen. Immer auf dem neusten Stand, als Dienstleister für eine große Zahl an verschiedenen Unternehmen, sind uns die meisten Probleme dabei sehr geläufig und ebenso kennen wir die passenden und realistisch durchführbaren Lösungen für ebendiese.

Bei APIs sind es in erster Linie Penetrationstests, die dauerhaft ein gewisses Sicherheitsniveau garantieren können. Genau wie IT-Systeme und Netzwerke muss und sollte auch eine API regelmäßig einem Penetrationstest unterzogen werden. Nur wenn sie diesem Pentest standhält, lässt sie sich als sicher bezeichnen. Wer nicht testet, übersieht jedoch fast immer potenzielle Einfallstore und Schwachstellen, die in Zukunft zu einem großen Sicherheitsrisiko werden können.

LiveHacking-Banner-Blog

Hat Ihnen der Beitrag gefallen? Gerne benachrichtigen wir Sie, wenn wir einen neuen Beitrag veröffentlicht haben. Tragen Sie jetzt Ihre E-Mail-Adresse ein. Für Sie entstehen keine Kosten.


Foto des Autors

M.Sc. Chris Wojzechowski

Mein Name ist Chris Wojzechowski und ich habe vor wenigen Jahren meinen Master in Internet-Sicherheit in Gelsenkirchen studiert. Ich bin einer von zwei Geschäftsführern der AWARE7 GmbH und ausgebildeter IT-Risk Manager, IT-Grundschutz Praktiker (TÜV) und besitze die Prüfverfahrenskompetenz für § 8a BSIG. Unser Brot und Buttergeschäft ist die Durchführung von Penetrationstests. Wir setzen uns darüber hinaus für ein breites Verständnis für IT-Sicherheit in Europa ein und bieten aus diesem Grund den Großteil unserer Produkte kostenfrei an.