Alles Wissenswerte über API-Sicherheit 2022

11.05.2022
-Minuten Lesezeit

Was ist API-Sicherheit?

Web-API-Sicherheit bedeutet das Anwenden bewährter Sicherheitspraktiken auf Web-APIs, die in modernen Programmen eine wichtige Rolle spielen. Darunter fallen unter anderem die API-Zugangskontrolle und der Datenschutz sowie die Erkennung und Bekämpfung von Angriffen auf APIs durch das Reverse Engineering (Nachbau durch Umkehr des Entwicklungsprozesses) von APIs und das Ausnutzen ihrer Schwachstellen, wie sie unter den OWASP Top 10 der API-Sicherheit beschrieben werden.

 

Unabhängig davon, ob sich eine Anwendung an Verbraucher, Mitarbeiter, Partner oder andere Zielgruppen richtet, interagiert sie clientseitig (z. B. als mobile App oder Web App) mit der Server-Seite über eine API (Application Programming Interface, Anwendungs-Programmierschnittstelle). Einfacher gesagt erleichtern APIs einem Programmierer das Entwickeln einer clientseitigen App. APIs ermöglichen zudem Microservice-Architekturen.

 

Digital transformation is built on APIs, which drive new operating models that provide direct access to business logic, applications, and data.
While this access is invaluable for your employees, partners, and customers, it also makes APIs attractive targets for hackers and rogue insiders.
A growing number of highly publicized attacks have revealed how vulnerable APIs can be to attack vectors like credential stuffing, stolen tokens, data extraction, broken authentication, account takeover, and breaches through a partner.
Existing API security solutions like content delivery networks and application delivery controllers, web application firewalls, identity and access management systems, and API gateways provide basic protections for your API infrastructure against volumetric DDOS attacks, OWASP top ten vulnerabilities, session hijacking, and invalid input attacks, to name a few.
But they're not enough to stop hackers determined to exploit vulnerabilities unique to each API.
To learn more about four common gaps in API security, visit our website at the link below or visit the API intelligence page at www.pingidentity.com.
Thanks for watching.

 

Da der Zugang oft über öffentliche Netze erfolgt (ortsunabhängiger Zugriff), sind APIs in der Regel gut dokumentiert bzw. sie lassen sich leicht nachbauen (Reverse Engineering). Außerdem sind APIs sehr anfällig für Denial-of-Service-Vorfälle (DDOS) und somit ein attraktives Ziel für Cyberkriminelle.

 

Angriffe könnte darin bestehen, die clientseitige Anwendung zu umgehen, um auf diese Weise die Funktion einer Anwendung für andere Benutzer zu stören oder Datenschutzverletzungen zu begehen. Die API-Sicherheit konzentriert sich auf die Sicherung dieser Anwendungsschicht und darauf, was passieren kann, wenn ein Hacker direkt mit der API interagiert.

Warum API-Sicherheit höchste Priorität haben sollte

Die Entwicklung von APIs hat in den letzten Jahren astronomische Ausmaße angenommen, forciert durch die digitale Transformation und die zentrale Rolle, die APIs sowohl bei mobilen Apps als auch im Internet der Dinge (IoT) einnehmen. Dieses Wachstum macht die API-Sicherheit zu einem wichtigen Thema.

 

In seinem Bericht „How to Build an Effective API Security Strategy“ (zu deutsch: Das Entwickeln einer wirksamen Strategie für die API-Sicherheit), stellt Gartner die Prognose, dass „der Missbrauch von APIs bis 2022 der am häufigsten für Datenschutzverletzungen bei Webanwendungen in Unternehmen verantwortliche Angriffsvektor sein wird.“ Als Schutz gegen API-Angriffe empfiehlt Gartner das Verfolgen „eines durchgängigen Ansatzes für API-Sicherheit für den gesamten Zyklus der API-Entwicklung und Bereitstellung sowie eine Integration der Sicherheit [direkt] in die APIs selbst.“

 

Die maßgebliche Rolle, die APIs bei der digitalen Transformation spielen, einschließlich des über sie möglichen Zugriffs auf sensible Daten und Systeme, rechtfertigt ein dediziertes Konzept für Sicherheit und Compliance.

Welche Aspekte beinhaltet die API-Sicherheit?

Da Sie nur Ihre eigenen APIs kontrollieren können, konzentriert sich die API-Sicherheit auf die Sicherung der APIs, die Sie entweder direkt oder indirekt zur Verfügung stellen. Die API-Sicherheit befasst sich weniger mit denen von Ihnen genutzten APIs anderer Parteien, selbst wenn die Analyse des ausgehenden API-Datenverkehrs ebenfalls wertvolle Erkenntnisse liefern kann und wann immer möglich durchgeführt werden sollte.

 

Es ist auch wichtig zu wissen, dass die API-Sicherheit in der Praxis mehrere Teams und Systeme gleichzeitig betrifft. Die API-Sicherheit umfasst Konzepte der Netzsicherheit (wie z. B. Durchsatzbeschränkung und -drosselung) sowie Konzepte der Datensicherheit, identitätsbasierter Sicherheit und Überwachung/Analyse.

 

API-Sicherheit für SOAP, REST und GraphQL

APIs gibt es in vielen Formen und in vielen Architekturstilen. Manchmal wirkt sich dieser Architekturstil einer API auf die Anwendung von Sicherheitsmaßnahmen aus. Vor der Einführung von Web-APIs wurden beispielsweise standardmäßig SOAP-Webservices (WS) verwendet. Während der WS-Ära der serviceorientierten Architektur (von 2000-2010) war XML allgegenwärtig, und unter WS-Security/WS-* waren eine Vielzahl formaler Sicherheitsspezifikationen gängig.

 

Die SOAP-Sicherheitsstil wird auf der Nachrichtenebene durch digitale Signaturen und verschlüsselte Teile innerhalb der XML-Nachricht selbst realisiert. Da diese von der Transportschicht entkoppelt ist, bietet sie den Vorteil der Übertragbarkeit zwischen verschiedenen Netzwerkprotokollen (z. B. beim Wechsel von HTTP zu JMS). Von dieser Sicherungsmethode auf Nachrichtenebene ist man jedoch abgekommen, und sie ist meist nur noch bei älteren Webdiensten anzutreffen, die zwar weiterbestehen, aber nicht weiterentwickelt wurden.

 

 

In den letzten zehn Jahren hat sich der „Representational State Transfer (REST)“ als Sicherheitsmethode für APIs durchgesetzt. REST wird häufig als standardmäßig vorausgesetzt, wenn es um APIs geht. Eine grundlegende Konvention des REST-Stils von APIs ist, dass Ressourcen eindeutig durch HTTP-URIs erkennbar sind. Dieser vorhersehbare Aspekt der REST-APIs stand für eine ganze Generation von Methoden für die Zugriffskontrolle, bei denen Regeln mit dem URI (Uniform Resource Identifier) verbunden sind, auf den zugegriffen wird (bzw. mit dem zugehörigen URI-Muster).

 

Die Regeln für die Zugriffskontrolle basieren häufig auf einer Kombination aus dem HTTP-Verb (GET/PUT/POST/DELETE) und den Mustern der HTTP-URI (der Name der angeforderten Ressource). Durch die Angabe, auf welche Daten über den URI zugegriffen wird, können Regeln angewendet werden, ohne dass die Nutzdaten dieser API-Transaktionen sichtbar sind und vor allem ohne dass sie verstanden werden können. Dies hat sich insbesondere bei Middleware-Sicherheitslösungen als praktisch erwiesen: Diese setzen Zugriffskontrollregeln durch, die von den Web-API-Implementierungen selbst getrennt bleiben, indem sie ihnen vorgeschaltet werden (z. B. Gateways) oder als Agenten fungieren (z. B. Dienstfilter).

 

GraphQL, ein Open-Source-API-Standardprojekt, ist ein weiterer API-Stil, der derzeit auf dem Vormarsch ist. GraphQL ist bei Front-End-Entwicklern beliebt, weil sie damit alles selbst in der Hand haben. Sie sind nicht mehr auf einen festen Satz von API-Methoden und URI-Mustern beschränkt, sondern können ihre Abfragen so anpassen, wie es ihren Anwendungen und ihrem Kontext am ehesten entspricht. Aufgrund dieses zusätzlichen Handlungsspielraums und weiterer Vorteile (wie beispielsweise unterbrechungsfreie Versions-Upgrades und Leistungsoptimierungen) ist GraphQL auf dem besten Weg, sich bei den Web-APIs durchzusetzen.

 

GraphQL kann REST zwar nicht ersetzen, und beide API-Stile werden weiterhin nebeneinander existieren, doch wird er immer häufiger vorgezogen. Tatsächlich scheint es, als werde durch seine Popularität mit einem ganzen Jahrzehnt der Entwicklung von Infrastrukturen für Web-API-Zugangskontrollen gebrochen. Dieser Bruch basiert auf einer wesentlichen Abweichung vom gängigen REST-Muster: GraphQL-Anfragen liefern keine Bezeichnung der Daten, auf die über den HTTP-URI zugegriffen wird. Vielmehr bezeichnet GraphQL die angeforderten Daten mit seiner eigenen Abfragesprache, die normalerweise in einen HTTP-POST-Body eingebettet ist.

 

Bei einer GraphQL-API erfolgt der Zugriff auf alle Ressourcen über einen einzigen URI (z. B. /graphql). Vorhandene Systeme und Infrastrukturen für die Web-API-Zugangskontrolle sind oft nicht für diese Art von API-Datenverkehr ausgelegt. Es ist eher wahrscheinlich, dass Zugriffskontrollregeln für GraphQL den Zugriff auf die strukturierten Daten in den API-Nutzlasten fordern und die Fähigkeit besitzen, diese strukturierten Daten für die Zwecke der Zugriffskontrolle zu interpretieren. Es genügt zu erwähnen, dass API-Anbieter für jede neue Reihe von Anforderungen über die optimale Wahl nachdenken müssen, bevor sie sich für einen Ansatz entscheiden.

API-Sicherheit für Cloud-, On-Premises- und Hybrid-Implementierungen

Moderne technologische Errungenschaften wie unter anderem Cloud-Dienste, API-Gateways und Integrationsplattformen bieten den API-Anbietern unvergleichliche Möglichkeiten der Sicherung von APIs. Der Technologie-Stack, den Sie für die Erstellung Ihrer APIs wählen, ist auch entscheidend für die Sicherungsmethoden. In großen Unternehmen können zum Beispiel unterschiedliche Abteilungen ihre eigenen Anwendungen mit eigenen APIs entwickeln. Durch Fusionen und Übernahmen verfügen große Unternehmen zudem über mehrere API-Stacks oder API-Silos.

 

Wenn sich alle Ihre APIs in einem einzigen Silo befinden, können die Sicherheitsanforderungen für diese APIs direkt der Technologie des Silos zugeordnet werden. Zwecks einer besseren Übertragbarkeit sollten diese Sicherheitskonfigurationen so portabel sein, dass sie auch zu einem späteren Zeitpunkt extrahiert und auf eine andere Technologie übertragen werden können.

 

In heterogenen Umgebungen wirkt sich eine sicherheitspezifische API-Infrastruktur, die über diese API-Silos hinweg funktioniert, eher günstig auf das Definieren von API-Sicherheitsregeln aus. Diese Konnektivität zwischen API-Silos und der API-Sicherheitsinfrastruktur kann in Form von Sidecars, Sideband-Agenten und natürlich APIs vorliegen und wird zwischen die Bereitstellungen in der Cloud und am Standort implementiert.

Schichten der API-Sicherheit

Wie bereits oben erwähnt, hat die API-Sicherheit ein breites Einsatzspektrum. Um ein hohes Schutzniveau zu erreichen, sind mehrere Schichten mit jeweils eigenem Fokus auf API-Sicherheit erforderlich.

 

API-Erkennung

Was man nicht sieht, kann man nicht schützen. Sicherheitsmitarbeiter werden durch viele Hürden daran gehindert, einen umfassenden Überblick über alle APIs zu erhalten, die von ihrem Unternehmen zur Verfügung gestellt werden. Zum einen sind da die API-Silos, wie im vorherigen Abschnitt beschrieben. API-Silos beeinträchtigen die Transparenz durch unvollständige Listen von APIs, deren Verwaltung abgekoppelt wurde.

 

Ein weiteres Hindernis für die Sichtbarkeit von APIs sind die Schurken- oder Schatten-APIs. Schatten-APIs entstehen, wenn eine API für eine Anwendung entwickelt wurde und dabei als deren Implementierungsdetail fungiert. In dem Fall ist sie nur einem begrenzten Kreis von Entwicklern bekannt. Die Schatten-APIs erscheinen nicht auf dem Radar der Sicherheitsverantwortlichen, weil diese die Implementierungsdetails nicht einsehen können.

 

 

Zudem haben APIs auch noch einen eigenen Lebenszyklus. Eine API entwickelt sich im Laufe der Zeit: Es entstehen neue Versionen oder APIs können veralten und dennoch für eine begrenzte Zeit aus Gründen der Abwärtskompatibilität weiter funktionieren und dann in Vergessenheit geraten oder allmählich von der Bildfläche verschwinden, weil sie nur noch sehr wenig genutzt werden.

 

Die Erkennung von APIs ist ein Wettlauf zwischen API-Anbietern und Hackern, die diese APIs problemlos ausnutzen können, wenn sie darauf stoßen. Um Ihre APIs zu entdecken, bevor es Angreifer tun, können Sie die Metadaten Ihres API-Datenverkehrs auswerten. Diese Daten werden von API-Gateways, Load Balancern oder direkt aus dem Netzwerk-Traffic extrahiert und anschließend an eine dedizierte Engine weitergeleitet, welche die APIs effektiv auflistet und dann mit Katalogen von APIs vergleicht, die über eine API-Verwaltungsschicht verfügbar sind.

 

OAuth und API-Zugangskontrolle

Um API-Ressourcen auf Benutzer mit Zugriffsberechtigung zu beschränken, müssen diese (und möglicherweise auch die Anwendungen, die im Namen der Benutzer handeln) bezeichnet werden. Zu diesem Zweck wird von clientseitigen Anwendungen in der Regel verlangt, ein Token in die API-Aufrufe mit aufzunehmen, die sie an den Dienst richten, der dann dieses Token validieren und die Benutzerinformationen daraus abrufen kann. OAuth ist der Standard, der vorgibt, wie eine clientseitige Anwendung überhaupt ein Zugriffstoken erhält. OAuth definiert viele verschiedene Arten der Zugriffsgewährung, um unterschiedliche Abläufe und Benutzererfahrungen zu ermöglichen. Weitere Informationen zu OAuth 2 finden Sie in diesem Leitfaden für Entwickler, in dem die verschiedenen OAuth-Operationen detailliert beschrieben werden.

 

 

Je nach den eingehenden Token werden dann die jeweiligen Regeln für die Zugriffskontrolle angewendet. Beispielsweise kann anhand einer Regel festgelegt werden, ob eine Anwendung oder der Benutzer diesen bestimmten API-Aufruf tätigen darf.

 

Die Definition und Verwaltung der Regeln erfolgt über Tools für die Richtliniendefinition, und eine Schicht zur Durchsetzung der Richtlinien muss in der Lage sein, diese Regeln in der Laufzeit anzuwenden. Diese Regeln berücksichtigen Merkmale wie:

 

  • Die Benutzeridentität und ihre zugehörigen Attribute oder Ansprüche

  • Die Anwendung und die OAuth-Geltungsbereiche, die mit dem Token verknüpft sind

  • Die Ressourcen, auf die zugegriffen wird, oder die Abfrage, die gestellt wird

  • Die Datenschutzpräferenzen des Nutzers

 

In einer heterogenen Umgebung sind Prozesse und Integration erforderlich, um eine einheitliche Steuerung des Zugriffs über mehrere API-Silos hinweg zu ermöglichen.

 

API Data Governance und Durchsetzung des Datenschutzes

API-Lecks entstehen bei Datenfluss durch APIs Aus diesem Grund muss die API-Sicherheit auch den eingehenden und ausgehenden Fluss der strukturierten Daten berücksichtigen und Regeln auf der Datenebene durchsetzen.

 

Da die Daten in Ihrem API-Datenverkehr auf vorhersehbare Weise strukturiert sind, ist es für diese Aufgabe ausgesprochen effizient, diesen zur Durchsetzung der Datensicherheit zu überprüfen. Zusätzlich zu den [Ja/Nein]-Regeln können Sie mit API Data Governance die strukturierten Daten in Ihrem API-Verkehr in Echtzeit „schwärzen”. Ein typisches Beispiel für dieses Muster ist das Streichen bestimmter Felder mit Informationen, die gemäß den Datenschutzeinstellungen eines Benutzers vor der anfragenden Anwendung verborgen bleiben sollen. Wie bereits erwähnt, ist die Durchsetzung der Zugriffskontrolle auf Datenebene hilfreich für die Unterstützung von GraphQL, das Ressourcennamen nicht durch URIs bezeichnet.

 

Let's talk about securing fine-grained access to sensitive customer data.
Multiple forces are pressuring enterprises to take action, Including consumer privacy and data protection legislation, the risk and impact of exposure or Breaches of consumer data, and meeting user expectations about data rights, Consents, and privacy preferences.
There's a lot of data about your customers, beyond just what's stored in user profiles, Including things like transactions and browsing history.
It's being stored in many places across your enterprise and in the cloud.
And it's accessed more and more by remote employees and outside partners through APIs.
In an ideal world, we trust employees and partners to only request the Customer data they Need and are authorized to access.
Unfortunately, there isn't a single source of truth for what an authorized use of a Customer's data actually is.
There are, however, many stakeholders who would like to have a say in data access policy Decisions.
Without visibility or a Centralized-UI for This today, the burden of gathering and reconciling detailed data security requirements, Coding policies and validating them all with each of these stakeholders is falling to each of your API developers and database admins.
Ping authorized can help.
It provides fine-grained, dynamic, externalized authorization for all of your customer data.
It's a policy engine for administering and enforcing fine-grained access controls on user Data in your data stores and APIs.
It can allow, block, filter, or obfuscate unauthorized data, Preventing it from getting in the wrong hands.
It gives your enterprise a way to enforce consent and data privacy preferences, Including privacy management in delegated access scenarios, All in compliance with regulations.
For Zero Trust architectures, Ping Authorized gives you the flexibility of setting Authorization perimeters around granular customer data attributes.
Ping Authorize connects in real time to any data source to enable attribute-based Access control across your enterprise environment.
Dynamic authorization policies use real-time connections to policy attributes, Which means that when underlying attributes change, the authorization changes automatically.
Ping Authorize externalizes authorization from code to a centralized, collaborative drag-and Drop Interface, where business users build and test policies by layering attributes Visual Policy Decision Tree.
Delegated policy administration speeds things along because developers and database admins now Longer have to manually code data access policies and aren't solely responsible for security.
With today's service-oriented architectures, External clients and modern applications access customer data through APIs.
Deployed here, Ping Authorize acts as an API data security gateway, Deployed as a proxy or sideband to your existing API management gateways.
At this layer, developers don’t have to change how they request data; Since policies are being enforced on the other side of this flow.
The bottom line is that protecting valuable customer data requires fine-grained, Dynamic, externalized authorization capabilities that can be deployed where it counts.
To learn about protecting customer data with Zero Trust security, privacy, and consent enforcement, visit www.pingidentity.com.
Thanks for watching.

 

Die Abkoppeln der Implementierung eines GraphQL-Dienstes von der Verwaltung und Durchsetzung von Datenschutzpräferenzen bietet eine Reihe von Vorteilen. Betriebsintern entwickelte Software ist mit hohen Betriebskosten verbunden und kann unter Umständen nur langsam angepasst werden. Der Node.js-Entwickler und der Datenschutzbeauftragte treffen nur selten aufeinander. Wenn jedoch Sicherheitsarchitekten und Unternehmensanalysten ein eigenes Tool zur Implementierung dieser Zugangskontrolle erhalten, kommt die digitale Transformation in Schwung. Darüber hinaus macht diese Entkopplung die Investitionen in GraphQL-Dienste und REST-APIs zukunftsfähiger, da sie Änderungen auffangen können, die im Zusammenhang mit fein abgestimmter Data Governance stehen.

 

Erkennung von API-Bedrohungen

Das Erkennen von API-Bedrohungen entwickelt sich aus den allgemeinen Maßnahmen zum Schutz vor Bedrohungen. Beispielsweise befinden sich APIs oft hinter einer Firewall, die einen gewissen Basisschutz bietet. Manchmal befinden sich APIs auch hinter einer Web Application Firewall (WAF). Eine WAF kann den API-Datenverkehr auf signaturbasierte Bedrohungserkennung überprüfen und sucht dabei beispielsweise nach SQL-Injektionen und anderen Injektions-Angriffen. API-Gateways spielen ebenfalls eine Rolle bei der Erkennung von Bedrohungen, sofern es speziell um APIs geht. Über einen Gateway lässt sich ein striktes Schema und eine allgemeine Säuberung eingehender Daten durchsetzen. Er sucht nach tiefen Schachtelungsmustern und Entitätsexpansionen (XML-Bomben) und fungiert neben der Anwendung von Ratenbeschränkungen als Durchsetzungsinstanz für Richtlinien.

 

API-Verhalten und -Analytik

Eine KI-Engine kann mithilfe der Metadaten des API-Datenverkehrs ein Normalitäts-Modell entwickeln und dieses dazu nutzen, anomale Verhaltensabweichungen aufzuspüren. Diese Anomalien können dazu beitragen, laufende Angriffe aufzudecken, aber auch auf Systemfehler und Störungen Ihres Dienstes ohne kriminelle Absichten hinweisen, wie beispielsweise Friendly Fire, API-Fehler oder den Missbrauch einer API durch einen Partner. Durch die Analyse der Metadaten des API-Datenverkehrs kann eine solche Schicht den Ursprung dieses Angriffs oder Fehlverhaltens ermitteln. Die Informationen können dann wiederum dazu genutzt werden, um das akute Ereignis zu stoppen, die API zu reparieren oder das Problem mit dem Partner zu lösen.

KI zur Stärkung der API-Sicherheit

Die regelbasierte Sicherheit ist nur so gut wie die Regeln selbst, und die durch regelbasierte Systeme erzielte Sicherheit wird durch die Anwender dieser Technologie begrenzt. Dass es trotz hoch entwickelter Sicherheitstechnologien weiterhin so viele API-Sicherheitsverletzungen gibt, liegt am Mangel an Experten, die diese Regeln zunächst definieren. Menschen machen Fehler und übersehen möglicherweise wichtige Regeln, die in diesen Systemen festgelegt werden sollten.

 

Todays security teams need an intelligence solution to recognize and respond to dynamically changing attacks on APIs, which existing solutions cannot prevent.
PingIntelligence is the smarter solution.
Using artificial intelligence, it models behavior on a per API basis to detect anomalous behavior on each API, as well as on exposed data and applications, automatically detecting and blocking attacks across your API infrastructure.
It can also detect and block attacks which attempt to bypass login systems like credential stuffing, or circumvent API security using stolen access tokens.
PingIntelligence leverages decoy APIs to instantly reveal hacking activity and block access the moment a hacker engages with one of these honeypots.
PingIntelligence monitors API traffic to keep you aware of newly added APIs while ensuring you don't forget about APIs deployed in test or left active for backwards compatibility.
All while enabling deep traffic reporting on each API for metrics, forensic and compliance purposes.
Whether APIs are deployed with an API gateway, on application servers on premise or in the cloud, PingIntelligence for APIs protects your API infrastructure by leveraging attack data from multiple API environments.
Want to give your API security a fighting chance?
Try it today by clicking the link in the description below, or visit the API intelligence page at www.pingidentity.com.
Thanks for watching.

 

Eine KI-Engine, die durch die Analyse Ihres API-Datenverkehrs etwas über Ihre APIs lernt, benötigt im Gegensatz dazu keine Regeln, sondern rechnet einfach alles durch. Daher ist diese zusätzliche Schicht ein wirksamer Schutz gegen Sicherheitslücken in anderen Schichten und gegen clevere Methoden, mit denen Hacker diese Zugangskontrollregeln und Schutzschichten gegen die Bedrohungen umgehen.

 

Durch die Verknüpfung von Identitätsinformationen mit dem API-Datenverkehr kristallisieren sich aus denen im Laufe der Zeit analysierten Metadaten bestimmte Muster der API-Nutzung und der Identität heraus. Dazu gehört beispielsweise:

 

  • Welche Nutzer nutzen welche APIs?

  • Welche Abfolge von API-Aufrufen ist üblich, selten oder taucht nie auf?

  • Welche Fehlerraten erzeugt ein API-Client?

 

Identitätsbasierte Sicherheit für APIs ist mehr als nur Zugriffskontrolle. Wenn Metadaten des API-Verkehrs analysiert werden, die auch Identitätsinformationen enthalten, kann der Ursprung eines Angriffs besser lokalisiert werden.

Schwachstellen der API-Sicherheit verstehen

Ein allgemeines Verständnis der spezifischen Bedrohungen, gegen die sich die Unternehmen schützen müssen, ist zwingend erforderlich. Das OWASP-Projekt ist seit geraumer Zeit für seine ursprüngliche Top 10 der Web-Sicherheitslücken bekannt, und hat kürzlich eine API-spezifische Liste veröffentlicht: Die OWASP Top 10 Sicherheitslücken für die API-Sicherheit.

 

Die Top 10 der API-Sicherheit laut OWASP

Aus dieser Top-10-Liste können Sie ersehen, dass vier der Punkte (einschließlich der ersten beiden) direkt mit einem Regelmangel bei der Zugangskontrolle und dem Fehlen einer starken Authentifizierung zusammenhängen. Dies verweist auf die häufigste Fehlerursache, die zu Sicherheitsvorfällen mit APIs führt. Der dritte Punkt dieser Liste basiert auf einem Mangel an Data Governance. Wenn Sie die einzelnen Punkte der Liste durchgehen, erkennen Sie schnell, wie weitläufig sich der Bereich der API-Sicherheit darstellt und wie viele Sicherheitsebenen erforderlich sein können, um den Bedrohungen zu begegnen.

 

 

Jeder API-Anbieter tut gut daran, seine Absicherung gegen diese zehn in der OWASP-Liste genannten Bedrohungen nicht als selbstverständlich anzusehen. Sie liefert großartige Anhaltspunkte für die Bewertung Ihrer aktuellen API-Sicherheit, und sollte auch in die laufenden Sicherheitstests einbezogen werden.

 

Zusätzliche API-Sicherheitsbedrohungen

Neben den Top 10 des OWASP-Projekts gibt es noch weitere API-Sicherheitsrisiken, die es zu bedenken gilt. Darunter:

 

  • Hacker sind auch Nutzer
    Durch das Anwenden ausgeklügelter Zugriffskontrollregeln könnten Sie sich in der falschen Gewissheit wähnen, der Hacker sei ein legitimer Nutzer. Der Hacker kann auch ein Insider sein oder sich mit einer gefälschten E-Mail-Adresse oder einem Social-Media-Konto bei der Anwendung angemeldet haben.

  •  

  • Gültiges Konto, gültige Anmeldedaten
    Angreifer können sich auf vielen Wegen den Zugang zu gültigen Zugangsdaten erschleichen – von Credential Stuffing bis hin zum Erwerb im Dark Web. Da sie sehr wohl wissen, dass Benutzer ihre Passwörter mehrfach verwenden, können Hacker legitime Konten übernehmen und so die erste Schicht der Zugangskontrollregeln erfolgreich umgehen.

  •  

  • Gestohlene Token
    OAuth-Token können durch Phishing, öffentliche Verzeichnisse auf GitHub oder an anderen Stellen durchsickern. Bei der überwiegenden Mehrheit der Token-Bestätigungen handelt es sich um „leichtgewichtige“ Inhaber-Token. Wenn diese durchsickern, können sie überall und von jedem verwendet werden, bis sie ablaufen.

  •  

  • Szenarien außerhalb der Anwendung
    Wenn Hacker die clientseitige Anwendung umgehen, suchen sie nach versteckten Sicherheitslücken in Ihrer API. Diese Schwachstellen sind auch dem API-Anbieter nicht ersichtlich,

 

und es sind dauerhafte API-Sicherheitsrisiken. Es ist zwar möglich, sie durch verschärfte Sicherheitsvorkehrungen zu verringern, aber es bleibt immer ein Restrisiko. Der Schlüssel zur Eindämmung dieser Risiken liegt in der Nutzung von KI zur Erkennung von Anomalien, wie oben beschrieben.

 

Bewährte Praktiken für die API-Sicherheit

Letztendlich sind alle für die Sicherheit zuständig. APIs stellen den Kontakt zu Backend-Diensten, Datenbanken und IAM her – und alle diese Infrastrukturen müssen ordnungsgemäß abgesichert werden. Dies beginnt auf der Transportebene mit der Verwendung von SSL (HTTPS) und der Durchsetzung von TLS 1.2 (ältere Versionen von TLS sollten nicht mehr verwendet werden). Sie sollten auch Komponenten wie die HTTP-Basisauthentifizierung hinter sich lassen.

 

Für die API-Schicht existieren mehrere bewährte Verfahren für das Erstellen einer sicheren API.

 

Bestandsaufnahme für APIs

Initiativen zur digitalen Transformation kurbeln die Entwicklung neuer APIs an. Daher müssen Sie neue APIs auf geeignete Sicherheitsmaßnahmen überprüfen. Was man nicht kennt, kann man nicht absichern.

 

Eine KI-Engine kann anhand der Analyse von Metadaten des API-Verkehrs auch diejenigen APIs entdecken, die Sicherheitsexperten möglicherweise nicht auf dem Radar hatten. Diese Schicht der API-Erkennung garantiert das Minimieren der durch unseriöse APIs entstehenden blinden Flecken. Wenn auf diese Weise neue APIs entdeckt werden, kann die gleiche API-Sicherheits-Checkliste auf sie angewendet werden. Ebendiese Analyse von API-Verkehrsmetadaten, die diese API-Erkennung ermöglicht, kann wie folgt auch für die Erkennung von Bedrohungen eingesetzt werden.

 

API-Zugriffskontrolle

Unter Verwendung von Standards zur Authentifizierung des API-Datenverkehrs (wie OAuth und JWT) können Sie Regeln für die Zugriffskontrolle definieren. Diese legen fest, welche Identitäten, Gruppenmitgliedschaften, Identitätsattribute und Rollen für den Zugriff auf bestimmte API-Ressourcen erforderlich sind.

 

Wenn sich Ihre API-Transaktionen über mehrere Netzwerkgrenzen erstrecken, können Sie die Zero-Trust-Sicherheitsprinzipien anwenden und die Identität weitergeben, damit jede Ebene ihre eigenen Entscheidungen treffen kann. Diese weitergegebenen Identitäten lassen sich auch für die Anwendungssicherheit nutzen.

 

Zu weiteren bewährten Verfahren für die Zugangskontrolle gehören:

  • Das Mapping zwischen Token-Formaten beim Überschreiten von Grenzen, z. B. ein undurchsichtiges Token auf der öffentlichen Seite und ein signiertes Token auf der privaten Seite

  • Durchsetzen von Autorisierungsregeln bei einzelnen API-Silos

  • Aktivieren von Regeln für die Zugriffskontrolle bei Anwendungen von Drittanbietern, die im Namen von Benutzern agieren, und das Steuern des für jede Anwendung vorgesehenen Leistungsumfangs

  • Definition und Durchsetzung der Datenschutzpräferenzen von Nutzern und allgemeine Datenverwaltung

 

Erkennung von API-Bedrohungen

Kombinieren Sie die Erkennung in Echtzeit und von Out-of-Band-Angriffen. Zur Erkennung von Bedrohungen in Echtzeit benötigen Sie ein API-Gateway, eine WAF oder einen Agenten, der eine Reihe von Validierungsregeln anwendet. Jede API-Anfrage und -Antwort wird diesem Regelwerk unterworfen und nur dann zugelassen, wenn die Regeln erfüllt sind:

  • Bestehen Sie auf eine signaturbasierte Erkennung von Bedrohungen, wie z. B. SQL-Injektionen

  • Validieren Sie eingehende Nachrichten anhand des API-Definitionsvertrags mit JSON-Schemata und JSON-Pfaden. Je strenger diese Regeln angewendet werden, desto schwerer wird es Angreifern fallen, Ihre API zu missbrauchen.

  • Schützen Sie Ihre API-Backends durch Durchsatzbegrenzungen

 

Es gibt eine Grenze für die Schichten der Echtzeitsicherheit, die im sequenziellen Modus angewendet werden können, bevor sich die Latenzzeiten verschlechtern. Die Out-of-Band-Analyse des API-Datenverkehrs sollte auf eine spezielle, vom API-Traffic-Pfad getrennte KI-Engine ausgelagert werden. Diese erfasst dann Metadaten des API-Verkehrs, um ML-Modelle für jede API zu erstellen und Fehlerraten, API-Sequenzen, API-Gruppierungen über Token, API-Schlüssel, IP-Adressen, Cookies usw. nachzuverfolgen. Weisen Sie den API-Gateway oder den Load-Balancer an, den API-Client zu blockieren, sobald die KI-Engine eine Anomalie erkennt.

 

Testen der API-Sicherheit

Sie sollten die Sicherheit kontinuierlich testen und durch eine „API-Brille“ betrachten. Konstruieren Sie Testfälle, bei denen die clientseitige Anwendung übersprungen wird, ebenso wie es ein Hacker tun würde, wenn er Ihre API angreift. Ihre Sicherheitsprüfer sollten Tools wie Postman und JavaScript verwenden. Versuchen Sie, die API auf eine andere Weise als die Anwendung aufzurufen, und versuchen Sie auch, die API so auszutricksen, dass sie Daten zurückgibt, auf die der Anfragende keinen Zugriff haben sollte.

 

Überwachung und Analyse mehrerer API-Silos

Überwachen Sie Ihren API-Datenverkehr von innen heraus. Füttern Sie eine zentralisierte KI-Engine mit den Metadaten des API-Verkehrs und erschaffen Sie eine Datenquelle für die Korrelation von Identitäten. Sie sollten in der Lage sein, den Datenverkehr in Ihren API-Silos nach Nutzer, IP, Token und API aufzuschlüsseln. Integrieren Sie Ihre API-Überwachung und Bedrohungserkennung in Ihre bestehenden SIEM-Systeme (Security Information and Event Management). Sichten Sie die festgestellten Anomalien in regelmäßigen Abständen, und passen Sie die Modelle bei Bedarf an. Indem Sie jederzeit Einblick in Ihren API-Verkehr nehmen und diesen nach allen Faktoren aufschlüsseln, erhalten Sie ein besseres Verständnis dafür, was mit Ihren APIs geschieht und können ermitteln, ob es sich um einen Angriff oder eine Störung handelt.

 

Analyse des API-Datenverkehrs mit Aufschlüsselung nach Benutzeridentität

 

Prüfung und Reaktion auf Vorfälle

Das Aufspüren und Stoppen einer Sicherheitsverletzung ist nur ein Teil der Reaktion auf ein Sicherheitsereignis. Durch die Aufzeichnung detaillierter Informationen über die Chronologie des API-Datenverkehrs können Sie forensische Berichte für ein bestimmtes Token, einen API-Schlüssel, eine Benutzeridentität oder eine IP-Adresse erstellen. Dies liefert Ihnen ein vollständiges Bild der Aktivitäten, die während eines Vorfalls stattgefunden haben. Die Einhaltung von Vorschriften und Untersuchungen werden dadurch erleichtert. Außerdem kann Ihnen die forensische Berichterstattung helfen, den Schaden zu beheben, der im Vorfeld der automatischen Erkennung und Blockierung einer Sicherheitsverletzung entstanden ist.

 

Beispiel einer forensischen Berichterstattung für ein bestimmtes Token

API-Sicherheitslösungen von Ping Identity

Seitdem es Web-APIs gibt, haben sich die API-Entwickler und Sicherheitsexperten die Vordenkerposition und die Tools von Ping Identity zu nutze gemacht. Ping leistet seit fast einem Jahrzehnt Beiträge zum OAuth-Standard und hat bereits früh den OAuth-Autorisierungsserver implementiert. Nach wie vor sind die Mitglieder des Ping-Teams an der Definition wichtiger API-Sicherheitsstandards beteiligt, wie z. B. JWT, Token-Widerruf, Token-Introspektion, dynamische Client-Registrierung, APIs für den Finanzsektor und unzählige andere relevante Spezifikationen.

 

 

Die intelligenten Identitätslösungen von Ping Identity bieten einen branchenführenden OAuth-Server, eine starke Authentifizierung, MFA, API-Zugangskontrolle, API-basierte Einwilligung und Datenschutzdurchsetzung sowie eine API-Cybersicherheit auf der Grundlage von KI.

 

PingFederate

Die Ausgabe und Verwaltung von OAuth-Token ist ein zentrales Anliegen der API-Sicherheit. Als führende Servertechnologie für OAuth-Autorisierung bietet PingFederate sowohl Protokollunterstützung als auch Marktpräsenz und ermöglicht die Ausgabe von Token an Ihre API-Kunden. PingFederate setzt auf eine große Bandbreite an Standard- und benutzerdefinierten Abläufen und hilft Ihnen, Ihren Endbenutzern ein großartiges Erlebnis zu bieten. Auch der API-Server nutzt es, um Token zu validieren und Attribute abzurufen, die bei Entscheidungen zur API-Zugangskontrolle verwendet werden. Weitere Informationen über PingFederate

 

PingAccess

PingAccess bietet die Möglichkeit, über vordefinierte OAuth-Richtlinien für die Token-/Bereichsvalidierung und mithilfe der Definition von attributbasierten Zugriffskontrollregeln die Regeln der API-Zugriffskontrolle zu definieren und durchzusetzen. Sie können Skripte in diese Regel-Engine einpflegen, um erweiterte Regeln zu definieren. PingAccess wird als Sidecar oder inline eingesetzt und funktioniert so mit mehreren API-Silos. Weitere Informationen über PingAccess

 

PingAuthorize

PingAuthorize wird inline oder über einen API-Gateway Ihren APIs angehängt und erzielt durch den Einsatz von Richtlinien eine fein abgestimmte Zugriffskontrolle. Dies ermöglicht attributbasierte Datenschutz- und Filterungsfunktionen zur Einhaltung von Vorschriften und für die Verwaltung von Einwilligungen. Es verfügt über eine grafische Benutzeroberfläche, mit der Geschäftsanwender gemeinsam Richtlinien für einen Datenzugriff über Benutzerverzeichnisse und APIs hinweg erstellen, testen und umsetzen können. Das Produkt bietet darüber hinaus eine zentralisierte Lösung zur Autorisierung und Filterung von API-Aufrufen in Echtzeit – ein riesiger Vorteil bei der Verwaltung und Durchsetzung von Kundeneinwilligungen und Datenschutz. Weitere Informationen über PingAuthorize

 

PingIntelligence for APIs

PingIntelligence for APIs analysiert die Metadaten Ihres API-Verkehrs, um Ihre APIs zu erkennen und zu schützen. Die Verknüpfung von API-Verkehrsmetadaten mit Identitätsinformationen sorgt für eine umfassende Transparent in den Traffic, damit Sie Ihre API-Aktivitäten über alle Gateways, Rechenzentren und Clouds hinweg überwachen können. Damit können Sie Berichte über den API-Verkehr in verschiedenen Silos, aufgeschlüsselt nach Benutzern, Token, IP-Adressen, Cookies usw. erstellen. PingIntelligence for APIs nutzt maschinelles Lernen, um anhand Ihres API-Datenverkehrs Modelle zu erstellen und Abweichungen zu erkennen, die auf Anomalien und Angriffe hindeuten, ohne dass Sie Regeln erstellen und pflegen müssen. Diese Modelle verfolgen eine Vielzahl von Metadaten zum API-Verkehr, darunter Transaktionsraten, Fehlerraten, Sequenzen, Benutzeridentität, aufgerufene Ressourcen, durchgeführte Aktionen, Volumen, Latenzen, Netzwerkstandort und vieles mehr. Durch die sofortige Integration mit allen gängigen API-Gateways und Load-Balancern kann PingIntelligence for APIs Designfehler und Bugs bei APIs bereits in der Produktion identifizieren, Partner kennzeichnen, die Ihre APIs missbrauchen, und Hacker erkennen und blockieren, die Ihre APIs nutzen, um in Ihr Unternehmen einzudringen. Weitere Informationen über PingIntelligence for APIs

 

Erhöhen Sie Ihre API-Sicherheit

APIs sind bereits ein attraktives Ziel für böswillige Mitspieler und werden voraussichtlich bald zum wichtigsten Angriffsvektor werden. Angesichts der entscheidenden Rolle, die APIs bei der digitalen Transformation spielen, und des Zugangs zu internen sensiblen Daten und Systemen, die sie bereitstellen, gewährleisten die APIs einen speziellen Ansatz für Sicherheit und Konformität.

 

Wenn Sie sich eingehender mit dem Aufbau einer soliden Verteidigung gegen API-Sicherheitsbedrohungen und mit Schwachstellen befassen möchten, empfehlen wir Ihnen unser Whitepaper zu diesem Thema.

Häufig gestellte Fragen zur API-Sicherheit

Das Testen von APIs ist eine komplexe und schwierige Aufgabe. Die Schwierigkeit besteht darin, dass es normalerweise viele mögliche Zustände gibt, die eine API je nach Datenverkehr annehmen kann. Entwickler testen in der Regel auf diejenigen Anwendungsfälle, für die sie die API konzipiert haben, und beschränken den Umfang der Tests zu Ungunsten von Situationen, die nicht unter diese Kategorien fallen. Dies führt häufig dazu, dass eine API in Betrieb genommen wird, die noch Sicherheitsschwachstellen aufweist. Es gibt Tools, mit denen sich Design- und Codierungsfehler identifizieren lassen, bevor die Produktion gestartet wird - und diese sollten auch zum Einsatz kommen - aber Ihre Tests sollten darüber hinausgehen, um Ihre Anfälligkeit für Hacker zu begrenzen. Das Planen möglicher Schwachstellen der API-Sicherheit ist die beste Vorgehensweise.

  • Implementieren Sie eine starke Authentifizierung und Autorisierung. Meistens ist dies die Schwachstelle bei einer Datenschutzverletzung. Schalten Sie eine Multifaktor-Authentifizierung (MFA) vor Ihre empfindlichsten Daten.

  •  

  • Überstürzen Sie nicht den Start der Produktion. Unternehmen, die Entwickler für die Einhaltung von API-Fristen belohnen, ohne sich um die Sicherheit zu kümmern, gehen unnötige Risiken ein. Wenn Sie jedoch eine API vorzeitig in Betrieb nehmen, sollten Sie sich zumindest die Zeit nehmen, sie so bald wie möglich auf Sicherheitslücken zu überprüfen.

  •  

  • Arbeiten Sie mit DevSecOps-Teams. Holen Sie Sicherheitsexperten in Ihr Design- und Programmier-Team, um proaktiv starke Sicherheitsprozesse, Design- und Prüftechniken einzuführen. Verinnerlichen Sie während der gesamten Entwicklung den Gedanken an die Sicherheit.

  •  

  • Führen Sie immer und immer wieder automatisierte Tests durch!

  •  

  • Vergessen Sie nicht die älteren API-Versionen. Wenn im Zuge einer Aktualisierung eine neue API in eine Anwendung integriert wird, ist es nicht ungewöhnlich, die vorherige API als Teil eines Migrationsplans beizubehalten. Behalten Sie diese APIs im Blick und schalten Sie sie zum richtigen Zeitpunkt ab. Hacker haben diese vergessenen APIs schon oft erfolgreich gefunden und ausgenutzt.

Die Sicherheit von Web-APIs beginnt mit einer geeigneten Authentifizierung und Autorisierung. Wenn ein Benutzer authentifiziert wurde und Zugriff auf die Web-API hat, ist es Aufgabe der Autorisierung, den Zugriff des Benutzers auf Daten und andere Ressourcen zu beschränken. Selbst wenn Authentifizierung und Autorisierung vorhanden sind, müssen Unternehmen sicherstellen, dass die Nutzer die API nicht missbrauchen oder hacken. Es gibt immer mehr API-Sicherheits-Tools, die API-Sitzungen verfolgen und abnormales Verhalten erkennen. Sie können sehr effektiv eingesetzt werden, um Auditierungs- und forensische Daten zu liefern und um zu erkennen, ob ein Hacker an einem Reverse Engineering Ihrer API arbeitet, um in Ihr Unternehmen einzudringen.

Die heute am häufigsten verwendete Methode zur Entwicklung von APIs folgt den Grundsätzen des Representational State Transfer (REST). REST-APIs (auch bekannt als RESTful APIs) basieren auf Richtlinien, die den Entwicklern die Vielseitigkeit und Möglichkeit bieten, um die für ihre Anwendungen benötigte Schnittstelle zu erschaffen. Diese Richtlinien umfassen Standardbefehle (z. B. GET) und eine flexible Struktur für Nutzdaten (z. B. JSON). Andere API-Designmethoden wie SOAP sind unter Umständen schwieriger zu implementieren.

Eine Anwendungs-Programmierschnittstelle (API) ist ein Vermittler, über den zwei Anwendungen miteinander kommunizieren können. Die API vereinfacht die Softwareentwicklung und fördert die Innovation, indem sie Entwicklern einen einfachen und sicheren Zugriff auf Daten oder eine Steuerungslogik ermöglicht, ohne dass sie Kenntnisse über das Innenleben der Anwendung benötigen, auf die sie zugreifen. Ein Entwickler muss zunächst die Anwendung verstehen und wissen, welcher Zugriff auf die Anwendung und die Daten gewährt werden muss. Anschließend wird eine API-Entwicklungsmethode ausgewählt, wobei es sich meistens um REST (Representational State Transfer) handelt. Die Entwickler arbeiten nach den Vorgaben für REST-APIs, um eine geeignete Schnittstelle mit der Anwendung zu erschaffen und ihre Arbeit zu dokumentieren. Auf diese Weise gewährleisten sie die Integration der Sicherheit in den Entwicklungsprozess.

Eine unsichere API ermöglicht Einzelpersonen den Zugriff auf Ressourcen ohne eine angemessene Authentifizierung und/oder Autorisierung.

 

  • Wenn keine Authentifizierung erfolgt, ermöglichen APIs jedem (und damit auch den falschen Personen) den Zugriff auf Anwendungen, Unternehmenssysteme, Daten und weitere Ressourcen.

  •  

  • Selbst wenn eine Authentifizierung vorhanden ist, bedeutet das Fehlen eines effektiven Autorisierungsprozesses, dass jeder authentifizierte Benutzer problemlos auf Unternehmenssysteme, Daten und andere Ressourcen zugreifen kann, selbst wenn er keine Zugriffsberechtigung haben sollte.

Diesen Artikel teilen:
Verwandte Ressourcen

Starten Sie jetzt

Kontaktieren Sie uns

sales@pingidentity.com

Erfahren Sie, wie Ping Ihnen helfen kann, sichere Erlebnisse für Mitarbeiter, Partner und Kunden in einer sich schnell wandelnden digitalen Welt zu bieten.