Viele von uns haben vielleicht schon einmal den Begriff Application (API) gehört , aber wenn wir nicht Application oder in einer technischen Funktion sind, wissen wir wahrscheinlich nicht ganz genau, was eine API eigentlich ist (oder was sie tut). Die Bedeutung ist sicherlich nicht intuitiv.
Eine API stellt einen Kanal bereit, über den eine Application auf die Informationen und Funktionen einer anderen Anwendung zugreifen kann. Möglicherweise ist jedoch zusätzlicher Kontext erforderlich. Beginnen wir daher mit einer einfachen Analogie.
Angenommen, Sie haben einen Autounfall und Ihr Auto muss repariert werden. Sie finden eine seriöse Reparaturwerkstatt und besprechen mit einem Servicemitarbeiter die erforderlichen Arbeiten, lassen sich Ihre Fragen beantworten, holen einen Kostenvoranschlag ein und vereinbaren einen Termin.
Es liegt nicht in Ihrer Verantwortung, einen Mechaniker zu beauftragen, Ersatzteile zu bestellen, die erforderlichen Werkstattwerkzeuge und -geräte bereitzustellen, Diagnosetests durchzuführen usw. Wenn die Windschutzscheibe ausgetauscht, die Karosserie neu lackiert oder die Räder neu ausgerichtet werden müssen, organisiert Ihr Servicemitarbeiter auch diese externen Arbeiten.
Sie können sich den Servicemitarbeiter als Schnittstelle zwischen Ihnen und der Werkstatt vorstellen – als Boten und Dolmetscher, der Ihre Serviceanfragen bearbeitet und Sie gleichzeitig davon abhält, sich mit allen Details und Komplexitäten hinter den Kulissen der Autoreparatur auseinandersetzen zu müssen.
Der Servicemitarbeiter arbeitet in Ihrem Namen, indem er Ihr Anliegen entgegennimmt, es korrekt interpretiert und übersetzt, alle zur Erfüllung Ihres Anliegens erforderlichen Leistungen veranlasst und Ihnen schließlich Ihr Fahrzeug in betriebsbereitem Zustand zurückgibt.
Die wichtigen Begriffe und Konzepte, auf die Sie in diesem Szenario achten müssen, sind die Schnittstelle als Messenger und Dolmetscher/Übersetzer, der Anfrage-Antwort-Prozess und die Idee, Sie als Anfragenden vor den Details der Reparatur abzuschirmen. Diese Konzepte sind für die Funktionsweise von APIs von zentraler Bedeutung.
Lassen Sie uns nun einige dieser Konzepte auf eine typische Application anwenden, die Sie wahrscheinlich täglich nutzen, beispielsweise eine typische Reise-App auf Ihrem Telefon. Die App bietet wahrscheinlich aktuelle Informationen zu Flügen, Hotels, Kreuzfahrten, Bodentransport, Touren und mehr. Es ist unwahrscheinlich, dass das Unternehmen, das diese App erstellt, alle diese Informationen in seinen eigenen Datenbanken gespeichert hat oder über das gesamte Fachwissen im eigenen Haus verfügt. Stattdessen werden diese Daten über eine App bereitgestellt, die APIs nutzt, die ihnen von Partneranbietern wie Hotels, Fluggesellschaften, Kreuzfahrtlinien usw. zur Verfügung gestellt werden. Die APIs funktionieren wie die Servicemitarbeiter in der Reparaturwerkstatt. Sie liefern dem anfragenden Kunden das, was er braucht (in diesem Fall Ihre Reise-App) und minimieren unnötige Komplexität.
Heute sind APIs die Bausteine moderner Applications. Und wie wir in unserem vorherigen Blog dieser Reihe, „So werden moderne Apps erstellt und bereitgestellt“ , beschrieben haben, sind Container auch für moderne Applications von entscheidender Bedeutung, da sie die Application in einzelne Komponenten aufteilen, sodass die Entwicklung und zukünftige Updates einfacher zu verwalten sind.
APIs sind effektiv die Kommunikationskanäle zwischen diesen Container-Clustern und den von ihnen gemeinsam genutzten Application . Darüber hinaus erleichtern sie den Datenaustausch mit externen Servern und Datenbanken. (Siehe Abbildung 1 unten.)
Der Nachteil besteht darin, dass APIs Daten Außenstehenden zugänglich machen können. Dies macht die APIs einer Organisation für Angreifer äußerst attraktiv, nicht nur wegen ihres Datenzugriffs, sondern auch als potenzielle Einstiegspunkte in andere kritische Systeme innerhalb der Infrastruktur einer Organisation. Wenn keine entsprechenden Vorsichtsmaßnahmen und Sicherheitskontrollen getroffen werden, können APIs für Unternehmen ernsthafte Risiken darstellen.
Da APIs zur Grundlage moderner Application werden, vergrößert sich die Angriffsfläche weiter. Leider haben es viele Unternehmen versäumt, ein ordentliches Inventar der APIs zu führen, die mit ihren Apps verbunden sind. Sie müssen außerdem sicherstellen, dass APIs regelmäßig gewartet und aktualisiert werden, um neue Schwachstellen zu vermeiden.
Durch die Ausnutzung von API-Schwachstellen können Angreifer Zugriff auf das Netzwerk erhalten und möglicherweise die sensibelsten Daten einer Organisation kompromittieren, darunter personenbezogene Daten (PII) oder geistiges Eigentum (IP). Dies kann der Marke und dem Ruf eines Unternehmens schaden, zu Umsatzeinbußen führen und empfindliche Geldstrafen nach sich ziehen.
APIs sind für viele der gleichen Angriffsarten anfällig, die auch auf Web- und Applications abzielen, darunter:
APIs sind zur bevorzugten Methode zum Erstellen moderner Applications geworden. Das Konzept, Informationen aus einer externen Quelle in eine Application zu integrieren, ist zwar nicht neu, doch die sich ständig weiterentwickelnden Methoden zur App-Entwicklung und der Innovationsdruck führen dazu, dass Unternehmen die potenziellen Risiken, die mit der öffentlichen Bereitstellung ihrer APIs verbunden sind, noch nicht erkannt haben, bevor sie diese ordnungsgemäß gesichert haben.
Die gute Nachricht ist, dass die Sicherung von APIs kein großes Mysterium darstellt. Die meisten Organisationen verfügen bereits über Maßnahmen zum Schutz vor bekannten Angriffen wie Injection, DDoS-Bedrohungen, Credential Stuffing und anderen Angriffsarten, die auch auf APIs abzielen.
Sehen Sie sich das Video unten an, um zu erfahren, wie F5 Unternehmen dabei hilft, die APIs zu schützen, die ihre digitalen Erlebnisse ermöglichen.
Schauen Sie sich unbedingt auch die anderen Blogbeiträge unserer vierteiligen Serie zum Cybersecurity Awareness Month an: Wie moderne Apps erstellt und eingesetzt werden , wie böswillige Akteure Applications für Angriffe ausnutzen und wie Online-Konten von Cyberkriminellen übernommen werden .