API-Schwachstellen als Hintertür ins Netzwerk
Im Jahr 2022 soll der Missbrauch von APIs (Application Programming Interfaces) der häufigste Angriffsvektor bei Webanwendungen sein, so die Marktforscher von Gartner. Wir haben Ann Marie Bond, Senior Manager, Integration & API, bei der Software AG befragt, wie man die API-Sicherheit verbessern kann.
Was macht APIs eigentlich zu einem Sicherheitsproblem?
Ein API oder „Application Programming Interface“ bietet eine Standardmethode für den Zugriff auf einen Dienst, der unabhängig von der Technologie ist, in der der Dienst entwickelt wurde. Dies macht APIs zu einer idealen Lösung für den Austausch von Daten und Diensten außerhalb des Unternehmens – für Kunden und Partner über mobile und Web-Apps, die mit Hilfe einer Vielzahl unterschiedlicher Technologien selbst entwickelt wurden. Da damit jedoch Dienste und Daten, die zuvor auf ein Unternehmensnetzwerk beschränkt waren, der größeren Online-Community zur Verfügung gestellt werden, wird die Sicherheit zu einer übergeordneten Überlegung. Das Web wird häufig als “Zero Trust” -Umgebung bezeichnet. Und wenn ein API der Öffentlichkeit zur Verfügung gestellt wird, können Schwachstellen in der API durchaus die Tür für einen umfassenden unbefugten Zugriff im Netzwerk öffnen.
Was sind denn die Folgen unsicherer APIs?
Eine nicht ordnungsgemäß geschützte API kann es API-Nutzern ermöglichen, sowohl auf private Geschäftsdaten als auch auf vertrauliche Daten von Kunden und Produkten zuzugreifen. Ein Beispiel: Ein Fehler in einer API für den United States Postal Service hat möglicherweise die Daten von 60 Millionen Kunden offengelegt. In diesem Fall konnte ein Benutzer, der von der API authentifiziert wurde, auch auf Echtzeit-Tracking-Daten sowie Kontodetails für alle anderen USPS-Benutzer zugreifen. Diese Informationen könnten dann für Phishing-Betrug verwendet werden.
Ein böswilliger Angreifer kann möglicherweise auch den Dienst selbst ändern, deaktivieren oder andere Inhalte zurückgeben. In einigen Fällen können Sicherheitslücken dazu führen, dass ein Hacker Zugriff auf das Netzwerk und geschützte Daten auf anderen internen Systemen erhält, wie beim T-Mobile Hack.
Wie sorgt man für API-Sicherheit?
Sicherheit muss sowohl den bekannten als auch den unbekannten Bedrohungen begegnen, und mit APIs ist dies definitiv der Fall. Die meisten Experten empfehlen einen mehrschichtigen Ansatz für API-Sicherheit. Grundlage ist die Sicherheit auf Netzwerkebene mit SSL (one-way oder two-Way), was selten optional ist. Als Nächstes können Sie eine Authentifizierung hinzufügen, mit der die Identität eines API-Nutzers mithilfe eines Anmeldeinformationsnachweises, eines Sicherheitszertifikats oder sogar einer Zwei-Faktor-Authentifizierung überprüft wird. Um den Typ der freigegebenen Daten einzuschränken, können Sie auch Autorisierungsanforderungen mit Techniken wie Zugriffssteuerungslisten (Access Control Lists, ACLs) einrichten, die bestimmen, auf welche spezifischen Ressourcen API-Nutzer zugreifen können. Sie können Maskierung verwenden, um alle von API-Nutzern bereitgestellten PII-Daten (personenbezogene Daten) zu schützen, damit deren Daten nicht missbraucht werden können. Schließlich sind detaillierte sicherheitsbasierte Prüfungen und Überwachungen wichtige Instrumente, um als Frühwarnsystem für Eingriffe zu dienen.
Welche Möglichkeiten gibt es denn für Unternehmen, bestehende Schnittstellen nachträglich zu sichern?
Es ist nie zu spät, um Sicherheit zu verbessern. In der Tat ist es eine gute Praxis, diese regelmäßig neu zu bewerten. Bewerten Sie die Zertifikate, die Sie für SSL verwenden, um festzustellen, ob Sie die Komplexität erhöhen können. Überprüfen Sie, ob gültige Widerrufspläne vorhanden sind. Stellen Sie sicher, dass keine Zertifikatswiederverwendung erfolgt. Wenn Sie derzeit eine einzelne Authentifizierungsmethode verwenden, können Sie optional eine zweite für die Zwei-Faktor-Authentifizierung hinzufügen. Wenn Sie mit Cloud-Technologien arbeiten, ist es wichtig, ein Onboarding-System einzurichten, mit dem Sie zu Beginn zentral neue Benutzer und Mandanten mit den richtigen Sicherheitseinstellungen erstellen können.
Wenn es um die API selbst geht, sollte das Sicherheitsteam mit dem Entwicklungsteam zusammenarbeiten, um die Daten zu überprüfen, die im Service übergeben werden, um sicherzustellen, dass sie auf genau das beschränkt sind, was erforderlich ist, und dass keine eingehenden persönlichen Informationen auf einer Festplatte gespeichert werden oder in einer Datenbank ohne die Zustimmung des API-Nutzers. Konfigurieren Sie Warnungen, um mögliche Sicherheitslücken zu kennzeichnen, wenn Sie übermäßige Anmeldeversuche und Anomalien feststellen. Verbessern Sie die Qualität Ihrer Dienste, indem Sie Software-Rollouts automatisierte sicherheitsspezifische Tests und externe Penetrationstests hinzufügen, um Lücken zu identifizieren.
Können Sie uns etwas über ein Beispielprojekt erzählen, das sich auf API-Sicherheit konzentrierte?
Die britische Armee ist für die Verteidigung von England, Wales, Schottland und Nordirland verantwortlich und ist dafür bekannt, dass strikte Rationalisierungsmaßnahmen durchgeführt wurden. Wie viele Unternehmen verfügten sie über ineffiziente Legacy-Anwendungen und isolierte Daten und unterstützten 200 Dienste in drei verschiedenen Sicherheitsdomänen. Benutzer mussten beim Zugriff auf Daten mit langen Verzögerungen rechnen. Man beschloss, den Zugriff auf Daten mithilfe von APIs zu externalisieren, so dass diese von der gesamten Verteidigungsgemeinschaft gemeinsam genutzt werden konnten. Sicherheit war die entscheidende Anforderung.
Das erste API, das implementiert wurde, automatisierte den Prozess, um Reservisten der Armee zu verwalten und sie für ihren Dienst zu bezahlen. Der Erfolg der Initiative der britischen Armee beruht auf einem mehrschichtigen Sicherheitsansatz für die Verwaltung, Freigabe und Sicherung ihrer APIs mithilfe von webMethods API Gateway und API Portal. Die webMethods Plattform bietet folgende Vorteile:
- Identifizierung und Steuerung der Nutzer einer API
- Sicherer und zuverlässiger Zugriff auf ihre Dienste
- Echtzeit-Einblick in Assets, Personen und Informationen
- Förderung der Verwendung von APIs durch Entwickler
Und was ist der beste Weg, um sofort eine sichere Integration zu erreichen?
Es gibt keine Lösung, die alle Anforderungen erfüllt. Für APIs ist ein hocheffektives Tool jedoch ein API-Gateway, mit dem Sie Richtlinien erstellen können, die Sicherheitsebenen implementieren, ohne den Dienst selbst ändern zu müssen. Diese Richtlinien fallen in mehrere Kategorien.
- Bedrohungsschutz: Antizipieren und verhindern Sie häufige Hacking-Taktiken mit Denial-of-Service-Angriffsrichtlinien, Einschränkungen der Nachrichtengröße und gezielten Richtlinien für SQL-Injection-, JSON- und XML-Bedrohungen
- Netzwerkschutz: Für die API-Anforderung ist SSL / HTTPS erforderlich
- Authentifizierung: Eingehende Authentifizierungsrichtlinien zum Überprüfen der Identität einzelner Benutzer sowie von Anwendungen mithilfe verschiedener Anmeldeinformationen
- Autorisierung: Beschränken Sie gegebenenfalls den Zugriff auf verschiedene Datentypen mithilfe von Standards wie Oauth
- PII-Schutz: Maskieren oder verbergen Sie private Daten, die in der API-Anforderung angegeben sind, bevor sie an den Dienst übergeben werden
- Protokollierung / Überwachung / Auditing: Dies sind normalerweise die ersten Richtlinien, die eingeführt werden, um die API-Nutzung zu verfolgen und Muster zu identifizieren, die eine Bedrohung darstellen könnten
All dies ist wichtig, um Ihre APIs zur Laufzeit zu sichern.