API-Economy

Web-APIs: Sieben Ratschläge zur sicheren Verwaltung [Gastbeitrag]
Kommentare

Die rasante Entwicklung Sozialer Medien, die zunehmende Verbreitung des Cloud Computing sowie die immer stärkere Nutzung von mobilen Geräten lassen Web-APIs zur Schlüsselkomponente für technologiebetriebene Produkte und Dienstleistungen werden. Die „API-Economy“ rückt somit immer stärker in den Mittelpunkt. Und das ist nur die Spitze des Eisbergs: Bis zum Jahr 2014 werden laut Gartner voraussichtlich 75 Prozent der 500 umsatzstärksten Unternehmen der Welt über eine API (Application Programming Interface) verfügen.

Einerseits halten APIs für Unternehmen jeder Größe interessante Möglichkeiten bereit, um neue Kunden zu gewinnen und neue Einnahmequellen zu generieren. Andererseits bringen sie jedoch ernstzunehmende Sicherheits- und Datenschutz-Bedenken mit sich. Die Gefahren wurden uns erneut vor Augen geführt, als der Dienst Buffer vor kurzem gehackt wurde. Buffer ermöglicht es, Inhalte für soziale Netzwerke zu verwalten und deren Veröffentlichung zu terminieren. In diesem Fall hielt sich der Schaden in Grenzen, da lediglich eine Reihe von Spam-Mails zum Thema Gewichtsreduktion versendet wurden. Wenn man sich Social-Media-Seiten jedoch genauer ansieht und sich der Zusammenhänge hinsichtlich der APIs bewusst wird – insbesondere in Bezug auf Satelliten, Fahrzeuge, medizinischeGeräte oder gar Waffen – treten Sicherheitsrisiken immer deutlicher zutage.

Auf der „Jagd nach der optimalen API“ müssen Unternehmen sehr großen Wert auf die Aspekte Sicherheit und Datenschutz legen. Im Folgenden werden sieben Methoden vorgestellt, die Unternehmen dabei helfen können, Web-APIs sicher einzusetzen und die Vorteile zu nutzen, die eine von Kunden- und Community-Engagement geprägte Zukunft bereithält.

1. Verlassen Sie sich nicht auf das Prinzip „Sicherheit durch Verschleierung“

Theoretisch ist es richtig, dass ein System als sicher gelten kann, solange niemand außerhalb der Gruppe, die es implementiert hat, es schafft, sich mit deren internen Mechanismen vertraut zu machen. Tatsächlich trifft diese Annahme jedoch auf APIs ganz und gar nicht zu. Unternehmen müssen dafür sorgen, dass ein Produkt oder eine Dienstleistung, das oder die über eine API verfügt, geprüft und analysiert wird.

Denken Sie beispielsweise an den Autohersteller Tesla. Tesla entschloss sich dazu, seine APIs nicht zu dokumentieren und keine konventionellen Methoden zur API-Authentifizierung einzusetzen, sondern eigene zu konzipieren (mehr dazu weiter unten). Als Folge dessen wurden Mängel in den APIs des Tesla Models S festgestellt, die schwerwiegende Auswirkungen hätten haben können. Beispielsweise wäre es möglich gewesen, ferngesteuert bestimmte Aktionen in Bezug auf das Auto vorzunehmen. Die API war zwar nicht so konzipiert, dass jemand mit unlauteren Absichten, der sich Zugang verschafft, einen Unfall hätte verursachen können. Die Botschaft für andere Unternehmen ist jedoch eindeutig: Erfolgt im Rahmen einer API-Management-Strategie keine API-Dokumentation, wird dies jemand anders übernehmen – und das nicht notwendigerweise mit den besten Absichten. 

2. Lassen Sie sich Prüfprotokolle ausgeben, die detailliert aufschlüsseln, wie die APIs genutzt werden

Es mag selbstverständlich klingen, aber es ist wichtig, dass klar, präzise und sicher dokumentiert wird, wie APIs genutzt werden.

Prüfprotokolle, die detailliert zeigen, wie APIs genutzt werden, machen es einerseits möglich, Angriffe auf APIs genau nachzuvollziehen. Zum anderen stellen sie so die Einhaltung der für die Branche gültigen Vorschriften sicher. Dies ist insbesondere für Unternehmen von Bedeutung, die in stark regulierten Branchen – wie beispielsweise in der Energie- und Gesundheitsbranche – tätig sind. Der in den USA erlassene Health Insurance Portability and Accountability Act (HIPAA) verpflichtet beispielsweise dazu, Patienten darüber in Kenntnis zu setzen, wenn sich jemand Zugang zu ihren Akten verschaffen konnte. Da APIs zunehmend im B2B-Bereich eingesetzt werden, um für den Zugang zu Informationen zu sorgen, sind API-Prüfprotokolle in vielen Fällen mit Prüfprotokollen gleichzusetzen, aus denen hervorgeht, wer auf welche Informationen zugreift. Prüfprotokolle, die darüber Auskunft geben, wie APIs genutzt werden, sind somit nicht nur im Zusammenhang mit dem Einhalten von Vorschriften sinnvoll, sondern liefern davon abgesehen auch langfristig wertvolle Informationen über die Nutzung der APIs. 

3. Immer SSL verwenden 

In Bezug auf das Thema API-Management ist es wichtig, nicht zu glauben, dass alles Neue notgedrungen besonders gut ist und sich nicht nur deshalb für den Einsatz neuer Technologien zu entscheiden, weil diese neu sind. Dies trifft insbesondere auf das Thema SSL zu. 

SSL mag als alte Technologie empfunden werden und es mag die Auffassung herrschen, dass das Verschlüsselungsprotokoll „nur für die Transportschicht“ geeignet ist. Es funktioniert allerdings sehr gut und sollte immer eingesetzt werden, um die Sicherheit der APIs zu optimieren, wenn Daten über das Web übertragen werden. Mithilfe von SSL/TLS können Daten über eine sichere Verbindung verschlüsselt übertragen werden. Zudem lassen sich Sicherheitszertifikate prüfen – so wird sichergestellt, dass die jeweils beteiligten Parteien auch die sind, für die sie sich ausgeben. Es ist selbstverständlich möglich, neue Standards wie OAuth ergänzend einzusetzen, sie sollten SSL aber nicht ersetzen.

Anders ausgedrückt: Wenn Unternehmen wie Amazon oder Salesforce.com, die beide jeweils Milliarden an API-Interaktionen pro Monat verzeichnen, SSL als Grundlage für den Zugang zu APIs wählen, besteht für Ihr Unternehmen kein Grund, auch nur darüber nachzudenken, sich nach einer Alternative zu SSL umzuschauen.

4. Entwickeln Sie keine eigenen Algorithmen oder Protokolle. Setzen Sie auf standardisierte Lösungen

Es stehen viele unterschiedliche Authentifizierungsprogramme zur Verfügung: SSL, OAuth, OpenID, SAML, HTTP-Authentifizierung und WS-Security. Angesichts dieser Auswahl und Komplexität ist es vielleicht nachvollziehbar, dass Entwickler darüber nachdenken, eigene Sicherheitstechniken zu entwickeln. Dies ist nicht ratsam! Zum einen bedeutet es zusätzliche Arbeit, zum anderen entstehen Sicherheitsfallen.

Der Gedanke, kleine Änderungen an etablierten Standards vorzunehmen, mag in der Tat verführerisch sein, da jeder Standard Vor- und Nachteile hat. Vergessen Sie jedoch nicht, dass Sicherheitsstandards aus einem bestimmten Grund existieren und dass Entwickler auf eigenes Risiko (oder auf Ihr Risiko)  handeln, wenn sie Veränderungen vornehmen.

5. Bauen Sie keine Sicherheitsfunktionalitäten in Ihre API ein

Wenn Sicherheitsfunktionalitäten in eine API eingebaut werden, besteht das Risiko, dass Unternehmens- und Sicherheitslogik vermischt werden, was eine gegebenenfalls gefährliche Komplexität zur Folge hat.

Aus der Vermischung von Geschäfts- und Sicherheitsprozessen ergeben sich beispielsweise verschiedene Wartungsprobleme, da man kaum dazu in der Lage sein wird, Sicherheitsrichtlinien abzuändern, ohne dass sich dies auf die Geschäftslogik auswirken wird. Eine Vermischung der beiden Bereiche kann sich zudem auf die Leistung des Netzwerks auswirken, da Sicherheitsprozesse eine sehr hohe CPU-Auslastung bewirken und die Abläufe stark verlangsamen können. Unternehmen sollten stattdessen die Sicherheitsprozesse auf einer anderen Plattform laufen lassen, die die notwendige Rechenleistung erbringen und zusätzliche Schutzfunktion bieten, weil sie die Angriffsfläche reduzieren.  

Wenn die Sicherheitsrichtlinien abgeändert werden, z. B. indem eine API-Nutzungsquote aufgenommen wird, ist es nicht sinnvoll zu riskieren, dass sich diese Änderungen auf die Geschäftslogik auswirken.

6. Lassen Sie Angriffe auf Web-Anwendungen nicht außer Acht

Es ist verständlich, dass der Fokus auf neuen, API-spezifischen Sicherheits- und Datenschutzrisiken liegt. Allerdings sollte man nicht außer Acht lassen, dass Web-APIs Web-Apps ähneln. Aus diesem Grund müssen auch Angriffe wie Cross-Site-Request-Forgery (CSRF), website-übergreifendes Scripting und SQL-Injections erkannt und abgewehrt werden können.

Es ist ratsam, APIs in diesem Zusammenhang als eine weitere Web-App anzusehen, da auf diese Weise gewährleistet wird, dass sowohl neue als auch herkömmliche Sicherheitsbedrohungen berücksichtigt werden. Diese Vorgehensweise wird auch helfen, wenn es darum geht, ein API-Management-System auszuwählen. Es ist wichtig, dass das System, für das Sie sich entscheiden, auch für die Sicherheit von Web-Applikationen sorgen kann. Allerdings sollte man beachten, dass dies nicht notwendigerweise bedeutet, dass man eine separate Web Application Firewall (WAF) erwerben muss. Es bedeutet lediglich, dass die Sicherheitslösung, für die man sich entscheidet, in der Lage sein muss, vor den bekannten Angriffen auf Web-Applikationen zu schützen.    

7. Denken Sie nicht einseitig – ziehen Sie sowohl XML als auch JSON in Erwägung. Sie müssen beide validieren und schützen.

Pepsi oder Coca-Cola? Mac oder PC? Hund oder Katze? Manche Menschen sind von ihren persönlichen Vorlieben sehr überzeugt, aber wenn es um XML oder JSON geht, ist es wichtig, dass eigene Vorlieben nicht im Weg stehen. Denn letztlich müssen beide validiert und geschützt werden.  

Wenn Sie Lösungen konzipieren, die nur für eine der beiden Komponenten ausgelegt sind, riskieren Sie, dass aufgrund Ihrer eigenen Voreingenommenheit eine geringere Sicherheit gegeben ist. Stattdessen müssen Sie davon ausgehen, dass Ihre Kunden und Partner beide nutzen möchten und sicherstellen, dass Ihre API-Sicherheitsmaßnahmen allumfassend sind.

 

Aufmacherbild: API – Application Program Interface Foto via Shutterstock / Urheberrecht: docstockmedia

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -