Blog

Schützen Sie sich vor API-Angriffen!

/ Kategorie: Endpoint & Networks

Viele Unternehmen setzen APIs ein, sind sich aber oft der Risiken, die damit einhergehen, nicht bewusst, denn bei der Entwicklung wird oft mit einer Design-Mentalität gearbeitet, bei der die Funktionalität Vorrang vor der Sicherheit hat. Das macht APIs zu einem beliebten Ziel für Cyberangriffe. Daher ist es wichtig, zu wissen, welche Arten von Angriffen es gibt und wie Unternehmen sich schützen können.

ISPIN Blog - API Security

Die Mehrheit der Schweizer Unternehmen (61 Prozent) setzt APIs ein, wie eine Studie von PwC zeigt. Durch die Bereitstellung von APIs können Unternehmen neue Wege finden, um mit ihren Kunden, Partnern und Mitarbeitenden zu interagieren. APIs erleichtern den Zugang zu Daten und Funktionen, sodass Unternehmen ihre Dienste besser nutzen und neue Geschäftsmodelle entwickeln können. Kurz gesagt: APIs sind beliebt: Eine von Akamai veröffentlichte Studie schätzt, dass bereits im Jahr 2019 83 % des gesamten Webverkehrs durch APIs generiert wurden.

Was ist eine API?

API steht für „Application Programming Interface“. Damit ist eine Schnittstelle zwischen verschiedenen Software-Anwendungen gemeint. Eine API ermöglicht es, dass Daten von einer Anwendung an eine andere weitergegeben werden können. Dabei spielt es keine Rolle, auf welcher Plattform oder in welchem Format die Daten vorliegen – solange beide Systeme die gleiche API nutzen, kann die Kommunikation stattfinden.

APIs sind ein Cyberrisiko

APIs sind ein wesentlicher Bestandteil vieler digitaler Geschäftsmodelle. Sie sind für die digitale Wirtschaft unverzichtbar geworden. Dieses Werts sind sich allerdings auch die Kriminellen bewusst. Daher sind in den letzten Jahren die API-Angriffe dramatisch gestiegen. Jüngste Studien von Gartner weisen darauf hin, dass API-Angriffe im Jahr 2022 der häufigste Angriffsvektor sein werden. Die Forscher von Positive Technologies haben mehr als 100 Millionen Angriffe auf Unternehmens-APIs analysiert und festgestellt, dass die Bedrohungslage in den letzten Jahren deutlich zugenommen hat. Besonders beunruhigend ist, dass die Angreifer immer häufiger erfolgreich sind. Die Studie zeigt auch, dass die Angriffe immer komplexer werden. All diese Entwicklungen zeigen, dass Unternehmen ihre APIs stärker schützen müssen. API-Angriffe können schwerwiegende Folgen haben, etwa wenn vertrauliche Daten gestohlen oder unautorisierte Transaktionen durchgeführt werden.

Arten von API-Angriffen

API-Angriffe sind besonders gefährlich, weil sie oft nicht von den herkömmlichen Sicherheitsmassnahmen abgedeckt werden. Viele Unternehmen fokussieren ihre Sicherheitsbemühungen auf die Abwehr von Netzwerkangriffen und vernachlässigen dabei die Sicherheit ihrer APIs. Dies kann dazu führen, dass Angreifer leicht in das Netzwerk eindringen und sensible Daten stehlen oder Schaden anrichten können. Um ihre APIs zu schützen, müssen Unternehmen daher zunächst einmal verstehen, welchen Bedrohungen sie möglicherweise ausgesetzt sind, zumindest sollten sie die wichtigsten kennen:

  1. DDOS
    DDOS-Angriffe sind eine häufige Art von API-Angriff, die zur Beeinträchtigung der Verfügbarkeit von APIs führen können. DDOS steht für "Distributed Denial of Service" und beschreibt einen Angriff, bei dem eine grosse Anzahl an Anfragen an eine API gestellt wird, um die Ressourcen der API zu überlasten und so die Verfügbarkeit der API zu beeinträchtigen. DDOS-Angriffe sind schwer vorherzusagen. Ein erfolgreicher DDOS-Angriff kann für ein Unternehmen sehr teuer sein, wenn es durch die Ausfallzeit der API Umsatzverluste erleidet.
     
  2. Man in the Middle (MITM)
    Ein Man-in-the-Middle (MITM) API-Angriff ist ein Angriff, bei dem ein Angreifer versucht, die Kommunikation zwischen zwei Parteien zu manipulieren. Dieser Angriff kann durch die Verwendung einer verfälschten IP-Adresse, eines gefälschten DNS-Servers oder eines gefälschten Zertifikats durchgeführt werden. Wenn ein Angreifer in der Lage ist, die Kommunikation zwischen Client und Server zu manipulieren, kann er sensible Daten abfangen, verändern oder die Kommunikation blockieren.
     
  3. API-Injection Attacke
    Ein API Injection Angriff ist ein Angriff, bei dem ein Krimineller versucht, schädliche Daten in einen API-Aufruf einzuschleusen. Dies kann dazu führen, dass die API falsche oder schädliche Ergebnisse liefert. API Injection Angriffe können auf verschiedene Arten ausgeführt werden. Eine häufige Methode ist das Einschleusen von schädlichen Parametern in einen API-Aufruf. Dies kann dazu führen, dass die API unerwartete und schädliche Ergebnisse liefert. Ein weiterer typischer Weg, um einen API Injection Angriff durchzuführen, besteht darin, eine Anfrage an die API zu senden, die nicht vollständig validiert wurde. Dies kann zu einem Überlauf-Fehler führen, der es dem Angreifer ermöglicht, Schadcode auszuführen oder sensible Daten zu stehlen.
     
  4. SQL-Injection
    Bei einem API SQL Injection Angriff versucht ein bösartiger Benutzer, nicht autorisierte Anfragen an eine API zu senden, die dann zu einer Datenbankanfrage führen. Wenn die API nicht richtig geschützt ist, kann der Angreifer möglicherweise Schadcode in die Anfrage einschleusen, der ausgeführt wird, wenn die Anfrage an die Datenbank weitergeleitet wird. Dieser Angriff kann verwendet werden, um sensible Informationen, wie Benutzernamen und Passwörter, aus einer Datenbank abzufangen. Um einen API SQL Injection Angriff durchzuführen, muss der Angreifer zunächst herausfinden, ob die API, mit der er sich verbinden will, anfällig für diese Art von Angriff ist. Er kann dies tun, indem er versucht, Schadcode in die Anfrage einzuschleusen. Wenn die API nicht richtig geschützt ist und die Anfrage an die Datenbank weitergeleitet wird, ohne dass der Schadcode entfernt oder deaktiviert wird, kann der Angreifer den Code ausführen und so Zugriff auf sensibel Daten erlangen.
     
  5. Brute-Force-Angriffe auf APIs
    Ein Brute-Force-Angriff auf eine API ist ein Angriff, bei dem ein Angreifer versucht, die Authentifizierungsmechanismen einer API zu umgehen, indem er versucht, so viele Anmeldeversuche wie möglich durchzuführen. Diese Art von Angriff kann sehr erfolgreich sein, wenn der Angreifer genügend Zeit und Ressourcen hat. Um einen Brute-Force-Angriff durchzuführen, benötigt der Angreifer in der Regel Zugriff auf eine Liste mit gültigen Benutzernamen und Passwörtern. Diese Liste kann entweder durch Phishing-Angriffe oder durch das Ausspähen von Datenbanken erlangt werden. Sobald der Angreifer eine gültige Kombination von Benutzernamen und Passwörtern gefunden hat, kann er sich in das System einloggen und damit nach Belieben interagieren.
     
  6. Parameter-Manipulation
    Die nächste Art von API-Angriff ist die Manipulation von Parametern. Dieser Angriff beinhaltet das Ändern oder Hinzufügen von Parametern in einer API-Anfrage. Dies kann dazu führen, dass die API unerwartete oder falsche Ergebnisse liefert. Zum Beispiel könnte ein Angreifer versuchen, den Preis eines Produkts zu manipulieren, um es zu einem reduzierten Preis zu erhalten. Oder sie könnten versuchen, die Lieferadresse zu ändern, um das Produkt an einen anderen Ort zu senden. Diese Art von Angriff ist besonders gefährlich, da sie oft unbemerkt bleibt und schwer zu verfolgen ist.

So sichern Sie Ihre APIs ab

Um Ihr Unternehmen vor API-Angriffen zu schützen, sollten Sie zunächst alle APIs, die Sie verwenden, identifizieren und dokumentieren. Dann sollten Sie Sicherheitsmassnahmen ergreifen, um jede dieser APIs zu schützen. Die wichtigsten Massnahmen sind:

  1.  Erstellen Sie eine sichere API-Architektur
    Eine sichere API-Architektur ist die Grundlage für den Schutz Ihrer API vor Angriffen. Wenn Sie eine API entwickeln, sollten Sie sicherstellen, dass sie robust und fehlerfrei ist. Achten Sie auch darauf, dass Ihre API keine Schwachstellen aufweist, die von Angreifern ausgenutzt werden könnten.
     
  2. Starke Authentifizierung anwenden
    Zugriffe auf APIs sollen immer erst nach einer erfolgreichen Authentisierung stattfinden können. Klassisch wird per API-Keys authentisiert und entsprechend autorisiert. Wo möglich soll eine starke Authentifizierung angewendet werden, beispielsweise per TLS-Mutual-Authentication (mit Client-Zertifikaten), per JSON Web Token (JWT) oder mit Mechanismen des Standards «WS-Security». Eine Kombination verschiedener Ansätze (z.B.: Client-Zertifikate mit API-Keys) kann dabei hohen Anforderungen genügen.
     
  3. Datenverschlüsselung
    Um die Sicherheit Ihrer Daten zu erhöhen, sollten Sie sicherstellen, dass Ihre API-Daten verschlüsselt sind. Es gibt verschiedene Möglichkeiten, wie Sie Ihre API-Daten verschlüsseln können. Eine Möglichkeit ist die Verwendung eines VPN (Virtual Private Network). Ein VPN ermöglicht es Ihnen, Ihre Daten über ein privates Netzwerk zu senden und zu empfangen, was die Sicherheit Ihrer Daten erheblich erhöht. Ein weiterer Weg, um Ihre API-Daten zu verschlüsseln, ist die Verwendung eines SSL-Zertifikats (Secure Sockets Layer). SSL ist ein Protokoll, das es ermöglicht, Daten über eine sichere Verbindung zu senden und zu empfangen. Wenn Sie ein SSL-Zertifikat verwenden, werden alle Daten, die über die API gesendet und empfangen werden, automatisch verschlüsselt. Bei SOAP-Services kann mit Hilfe des Standards «WS-Security» verschlüsselt werden.
     
  4. Implementieren Sie Rate Limiting für Ihre API
    Rate Limiting ist ein Mechanismus, der es Clients erlaubt, nur eine begrenzte Anzahl an Anfragen an Ihre API zu senden. Dies verhindert Missbrauch durch Clients und schützt Ihre API vor Überlastung. Rate Limiting kann entweder statisch oder dynamisch sein; in jedem Fall sollten Sie sicherstellen, dass es für den jeweiligen Client und die jeweilige Anwendung angemessen ist.
     
  5. Data Validation
    Um sicherzustellen, dass nur legitime Daten über die API ausgetauscht werden, müssen die Daten validiert werden. Im Fall von SOAP-Services wird die Struktur der Daten im WSDL definiert, im Fall von REST-APIs dient dazu die OpenAPI (ehemals Swagger) Spezifikation.

Darüber hinaus sollten Sie regelmässig Überprüfungen Ihrer APIs durchführen, um Schwachstellen zu identifizieren und zu beheben.

Zusammen. Sicher.

Brauchen Sie Unterstützung bei der Absicherung Ihrer APIs? Unsere erfahrenen Cybersecurity-Experten beraten Sie gerne. Kontaktieren Sie uns.

 

Sie haben einen Security-Notfall und brauchen Hilfe? Unser Incident Response Team ist 7x24 für Sie da.