APIs – Management und Sicherheit

Lesezeit
3 Minuten
Bis jetzt gelesen

APIs – Management und Sicherheit

07.06.2017 - 14:00
Veröffentlicht in:
APIs ermöglichen die Integration vielfältiger Anwendungen, verbinden Menschen, Orte, Systeme, Daten und Dinge und erleichtern die Interaktion zwischen ihnen. Mithilfe von APIs werden Unternehmen zu Plattformen – ein entscheidender Schritt bei der digitalen Transformation. Was dabei immer mitschwingt: Security. Denn gerade offene APIs sind ein Einfallstor für Cyber-Angriffe. Der Fachartikel erklärt, wie wichtig APIs für den Unternehmenserfolg sind, welches Gefahrenpotenzial sie bergen und wie sinnvolles und professionelles API-Management aussieht.
Sich digital zu transformieren bedeutet für Unternehmen heute, über Unternehmensgrenzen hinweg digital vernetzt zu sein. Das Internet der Dinge, mobile Anwendungen und die Cloud setzen voraus, dass Unternehmen ihre Daten und Funktionen heute nicht nur eigenen Mitarbeitern, sondern auch Kunden und Partnern offenlegen – und damit zugänglich machen für eine Vielzahl unterschiedlicher Endpunkte. Möglich machen das externe Anwendungsprogrammierschnittstellen, kurz APIs.

Die damit verbundene Offenheit kommt jedoch nicht nur Unternehmen zugute, die so flexibler auf Kundenbedürfnisse reagieren können. Häufig spielt sie auch kriminellen Hackern in die Hände, für die offene APIs ein Einfallstor zum Unternehmensnetzwerk sein können. Der Schutz von APIs ist deshalb ebenso wichtig wie herausfordernd: Es gilt, über bewährte Sicherheitsmethoden hinauszugehen und den Schutz an das ganz eigene Risikoprofil von APIs und einen neuen Datenperimeter anzupassen.

APIs: Die zwei Seiten der Medaille
APIs ermöglichen Entwicklern heute das, was ihnen mit COM+, CORBA oder SOAP bisher nur unzureichend gelungen ist: Den Aufbau von offenen Infrastrukturen, in denen Apps einfach und schnell miteinander verbunden sind und Daten oder Funktionalitäten ausgetauscht werden können. Sind APIs gut umgesetzt, können sie dazu beitragen, dass Entwickler bei der Programmierung auf agile Methoden setzen. Programmierschnittstellen sollten so transparent sein, dass sie die Logik des zugrundeliegenden Implementierungsmusters einer Anwendung vermitteln und damit für jeden ausgebildeten Entwickler zugänglich sind. Denn um eine API intuitiv nutzen zu können, reichen wenige Informationen schon aus. Details wie die URL, Eingabeparameter und der Returned Content, die sonst unter den vielen Schichten von Web-App-Funktionalitäten liegen.

Die offene Struktur von APIs, die Entwicklern die Arbeit erleichtert und für Agilität im Unternehmen sorgt, birgt aber immer auch ein enormes Sicherheitsrisiko. Denn sie eröffnet nicht nur Entwicklern, sondern auch kriminellen Hackern einen schnellen und einfachen Zugang zu Unternehmenssystemen und -daten. APIs machen nicht nur die internen Strukturen von Backendsystemen und Client-Anwendungen sichtbarer und dadurch leichter angreifbar. Sie verschieben auch die Filter, die die Zugriffsmöglichkeiten von Anwendungen auf die Backendsysteme steuern, von der relativ sicheren internen Ebene auf eine außerhalb liegende Client-Anwendung – beides mit der Folge, dass die Angriffsfläche von potenziellen Hackern wächst.

Angriffsformen auf APIs – und wie Sie sich schützen
APIs vor den Gefahren aus dem Internet und den unterschiedlichen Arten von Angriffsvektoren zu schützen, ist angesichts des heutigen Einfallsreichtums von Cyberkriminellen eine Herausforderung. Verschiedenste Angriffstechniken und Methoden haben eine komplexe Gefahrenlage geschaffen, die es zu verstehen und bei der Programmierung von APIs zu berücksichtigen gilt. Entwickler sollten mindestens die drei gängigsten Angriffsszenarios kennen, um Sicherheitsmaßnahmen ableiten und eine Schutzschicht für ihre APIs aufbauen zu können.

Identitätsbasierte Angriffe
Weisen APIs Schwachstellen in der Authentifizierung und Autorisierung von Identitäten oder beim Session-Tracking auf, sind sie anfällig für identitätsbasierte Angriffe. Im Vergleich zu Web-Technologien, bei denen die Authentifizierung relativ einfach durch eine Kombination aus Benutzername und Passwort sowie begrenzte Browser-Verläufe erfolgt, ist die Lage bei APIs wesentlich komplexer: Geräteidentitäten interagieren hier mit Identitätsebenen wie Nutzer-Log-in-Daten für unterschiedliche Apps und Websites oder Gerätekennungen.

Hinzu kommen API Keys, die Authentifizierungsprozesse noch vielschichtiger und komplexer werden lassen: Sie weisen einer Client-Anwendung in Form eines Zugangscodes eine eindeutige Identität zu und ermöglichen ihr so den Zugriff auf die Funktionalitäten von Anwendungen. Die Gefahr dabei: APIs identifizieren bei einer Anfrage zwar die jeweilige Anwendung, nicht aber den Nutzer oder einzelne Instanzen einer Anwendung. Hacker können Anwendungen so inkognito infiltrieren und bleiben im schlimmsten Fall vom System unbemerkt.

Da API Keys Nutzeridentitäten nicht erkennen, häufig in Serverprotokollen sichtbar werden und in URLs integriert sind, ist beim Umgang mit ihnen Vorsicht geboten: Entwickler sollten API Keys nicht anstelle von Benutzerinformationen einsetzen und ebenso wenig als Autorisierungs-Tracking-Mechanismus verwenden. Da sie sich, im Vergleich zu Passwörtern, nicht sicher auf dem Client speichern lassen, können API Keys von Hackern einfacher erkannt werden. Neben API Keys stellt ein schlechtes Session-Management ein Sicherheitsrisiko dar: Setzen Web-Entwickler Formation Credentials bei einzelnen Transaktionen zu nachlässig ein oder entwickeln hierfür ganz eigene Methoden, wächst die Gefahr von identitätsbasierten Angriffen.

Wollen API-Entwickler das Risiko von identitätsbasierten Angriffen so gering wie möglich halten, müssen sie mehrere Faktoren berücksichtigen. Der ganzheitliche Einsatz von HTTPS bildet die Grundlage für ein sicheres API-Management. HTTPS stellt die Integrität aller Daten her, die zwischen Client und Server ausgetauscht werden und bietet zusätzlich die Möglichkeit einer Authentifizierung auf Client-Seite.

Strenge Authentifizierungsprozesse sind ganz entscheidend, um APIs abzusichern: Sie untersuchen Kriterien wie IP-Adresse, Zugriffsdauer auf ein Fenster, Geräteidentifikation bei mobilen Apps oder Ortsbestimmung und gewähren oder verhindern so den Zugriff von Nutzern oder Anwendungen – deren Identitäten grundsätzlich immer getrennt voneinander zu implementieren sind. API Keys sollten vom Entwickler nur für die Anwendung selbst genutzt werden und nicht in der URL erscheinen. Gleiches gilt für Passwörter und Session-IDs, die stets bedeckt gehalten werden müssen.

Seite 1: APIs – die zwei Seiten der Medaille
Seite 2: Angriffsformen auf APIs


Seite 1 von 2 Nächste Seite >>


ln/Andreas Gerst, CTO & VP Presales bei CA Technologies

Tags

Ähnliche Beiträge

Sicherheit in Microsoft Azure (3)

Hybride Szenarien lassen sich je nach eingesetzter Technologie in der Cloud relativ schnell aufbauen. Dies ist etwa für Testszenarien interessant. Planen Sie aber, Teile Ihrer lokalen Infrastruktur dauerhaft auszulagern, sollten Sie die Sicherheit nicht aus den Augen verlieren. In der Cloud warten hier ganz neue Security-Aspekte – und das gleich auf verschiedenen Ebenen. Im letzten Teil des Workshops geht es unter anderem darum, wie Sie mit Microsoft Defender for Cloud für Sicherheit sorgen und warum Sie den Zugriff auf virtuelle Server einschränken sollten.

Sicherheit in Microsoft Azure (2)

Hybride Szenarien lassen sich je nach eingesetzter Technologie in der Cloud relativ schnell aufbauen. Dies ist etwa für Testszenarien interessant. Planen Sie aber, Teile Ihrer lokalen Infrastruktur dauerhaft auszulagern, sollten Sie die Sicherheit nicht aus den Augen verlieren. In der Cloud warten hier ganz neue Security-Aspekte – und das gleich auf verschiedenen Ebenen. Im zweiten Workshop-Teil schildern wir, wie Sie auf der Kommandozeile für den Security-Feinschliff sorgen und wie Sie den Azure-Login absichern.

Identity Access Management vs. Identity Governance and Administration

Die IT-Sicherheit differenziert zwischen Identity Access Management (IAM) und Identity Governance and Administration (IGA). Beide sind für Sicherheit und Compliance essenziell, aber in ihren Funktionen leicht verwechselbar. Wer IAM und IGA differenzieren kann, dem bereiten Authentifizierung, Berechtigungsmanagement und Cyberangriffe weitaus weniger Kopfzerbrechen. Der Fachbeitrag klärt, wie sich IGA und IAM unterscheiden und warum beide Konzepte komplementär zu betrachten sind.