APIs – Geliebt, genutzt, gefährlich

APIApp-Entwickler stehen unter einem enormen Druck: Sie müssen innovative Lösungen in immer kürzerer Zeit produzieren, möglichst noch bei geringeren Kosten. Deswegen ist es auch nicht weiter verwunderlich, dass APIs (Application Program Interfaces) immer beliebter werden und mittlerweile zu den Standard-Tools im Entwickler-Repertoire gehören, da sie die Entwicklung erleichtern und den Zeitaufwand deutlich reduzieren.


Eine API ist im Grunde ein Set von Befehlen oder Routinen zur Erledigung spezifischer Aufgaben oder zur Interaktion mit einem anderen System. APIs sind dabei in der Lage, Daten abzurufen oder Prozesse zu initiieren. Entwickler können verschiedene APIs in ihre Software integrieren und auf diese Weise auch komplexe Aufgabenstellungen bewältigen.


Dieser Ansatz hat die Software-Industrie nahezu revolutioniert. Anstatt jeden Aspekt der Software „von Null“ zu programmieren, können Entwickler aus einem immer größer werdenden Angebot an best-of-breed APIs wählen und sie problemlos in ihre Projekte – wie Legosteine – einbauen. Dies reduziert die Entwicklungszeit und die Kosten enorm. Gleichzeitig können die Programmierer sich auf innovative und einzigartige Features konzentrieren, die ihre Applikation herausragend machen. 


Anzeige

APIs sind so nützlich und gefragt, dass einige große Unternehmen bereits einen Großteil ihrer Umsätze durch sie erzielen. So hat eine Untersuchung der Harvard Business Review ergeben, dass Salesforce rund die Hälfte seines Umsatzes durch APIs erzielt, während Expedia die Schnittstellen nutzt um rund 90 Prozent der Einnahmen zu generieren – bei eBay liegt der Anteil bei ca. 60 Prozent. Neben diesen großen Anbietern gibt es noch zahlreiche Spezialisten auf diesem Gebiet, die sicherstellen, dass Entwicklern für nahezu jede denkbare Aufgabenstellung eine entsprechende API zur Verfügung steht – momentan mehr als 14.000! Doch bei all den strategischen Vorteilen und der zunehmenden Nützlich- und Bequemlichkeit, bergen APIs aber auch Risiken, insbesondere wenn Applikationen sie zur Kommunikation mit Servern nutzen und dabei einfache Authentifizierungen oder Challenge-Response- Austausch nutzen.

Große Gefahren

Einfache Authentifikation wird von den meisten API-Management-Lösungen zur Bestätigung genutzt, dass die Client-App auf einem Mobilgerät authentisch ist und auf den Server zugreifen darf. In aller Regel geschieht dies über einen einfachen, verschlüsselten Challenge-Response- Austausch, wenn die Client-App sich mit dem API-Server verbinden will. Dafür verfügt der mobile Client über einen Schlüssel für asymmetrische Chiffrierung wie RSA oder ECC.

Wenn es nun Hackern gelingt, den Schutz der App zu überwinden und ihren Code zu dekompilieren, können sie die Verschlüsselungs-Schlüssel freilegen. Jede Applikation die heruntergeladen werden kann, ist auf diese Weise bedroht, da sie so lange attackiert werden kann bis eine Schwachstelle gefunden wurde. Wenn die Schlüssel schließlich gefunden wurden, können sie von den Hackern dazu genutzt werden, dem entsprechenden System vorzumachen, es handle sich um legitime Clients. Auf diese Weise haben sie Zugang zu allem, wozu die API autorisiert ist. So könnte eine API die auf den Backend-Server Zugang hat, dazu genutzt werden, sensible Daten abzugreifen.

Stärkerer Schutz

Um diese Schwachstellen abzusichern, müssen besondere Sicherheitsmaßnahmen bei der Challenge-Response-basierten Authentifizierung getroffen werden. Am effektivsten ist es, sich auf den Schutz der kryptographischen Schlüssel zu konzentrieren. Hierbei ist vor allem die Whitebox-Kryptographie eine erfolgreiche Methode: Sie ist in der Lage, die Schlüssel selbst dann sicher zu verwahren, wenn Hacker vollen Zugang zur Software haben. Dabei wird der Original-Schlüssel durch eine Falltür-Funktion, also eine einseitige, nicht-reversible Funktion, in ein neues Format konvertiert. Dieses neue Schlüsselformat kann nur mit der entsprechenden White-box-Verschlüsselungssoftware genutzt werden, wodurch der Schlüssel effektiv geschützt ist. Somit kann der Hacker den genutzten Schlüssel für den Challenge-Response-Austausch nicht finden.

Doch ist dies längst nicht ausreichend: Whitebox-Verschlüsselung „versteckt“ den Schlüssel zwar effektiv, jedoch könnte der Angreifer die Original-Applikation dekompilieren und so modifizieren, dass das gesamte Whitebox-Paket entfernt und in die bösartige, geklonte Version integriert wird (Code-lifting). Zum Schutz vor hartnäckigen Hackern sollten entsprechend zusätzlich Anti-Tamper-Techniken zum Schutz vor Code-Extraktions-Attacken und Modifikationen der App eingesetzt werden. Anti-Tamper-Techniken, die RASP (Runtime Application Self-Protection) integriert haben, können auf Laufzeit- Angriffe mit individuell festgelegten Aktionen reagieren und den App-Betreiber darüber informieren, dass seine Applikation modifiziert wurde.

Indem man zusätzliche Schutzmaßnahmen ergreift, kann sichergestellt werden, dass APIs, auf sichere Art und Weise mit Netzwerken und anderen Applikationen kommunizieren. Entwickler können so guten Gewissens APIs einsetzen und von den zahlreichen Vorteilen und Chancen profitieren, ohne ihre Kunden Gefahren auszusetzen.  

Markus Unger-Schlegel, Regional Sales Manager bei Arxan

www.arxan.com/de
 

Anzeige

Weitere Artikel

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.