Mirko Brandner

ist Entwickler, Berater und Produktmanager und seit 2013 Senior Sales Engineer bei Arxan Technologies.

Jenseits von Heartbleed

Heartbleed liegt schon eine Weile zurück, jedoch sind es oft auch nicht die großen Verwundbarkeiten, die für Schlagzeilen sorgen, die das Leben von Sicherheitsverantwortlichen schwer machen, weiß Mirko Brander von Arxan. Schlimmsten Falls können solche Lecks sogar ans Herz gehen.

Jenseits der großen und bekannten Risiken durch Heartbleed, sind es die vielen kleinen, der Masse der Anwender zumeist unbekannten Verwundbarkeiten in der von uns genutzten Software, die Security-Experten Tag für Tag neues Kopfzerbrechen bereiten und dem Anwender oder Hersteller entsprechenden Ärger. Gängige Lösungsansätze – insbesondere im Enterprise-Umfeld – versuchen, diesen Risiken mittels Software- und Geräteverwaltung für Desktop und mobile Geräte entgegenzuwirken. Dies gelingt allerdings nur teilweise und kann auch nicht flächendeckend gelingen, denn viele Anwendungen und Geräte werden nicht durch entsprechende Umgebungen administriert! Und auch im Bereich mobiler Applikationen gab immer wieder Vorfälle, die aufzeigen, dass allein durch die Infrastruktur von App Stores keine ausreichende Sicherheit erreicht wird.

Viele Softwarehersteller kämpfen damit, dass Ihre eingesetzten Mechanismen zur Lizenzüberprüfung durch Modifikation (Tampering) oder extern erzeugte Schlüssel umgangen werden. Die kommerzielle Verwertung wertvoller, teuer erarbeiteter Algorithmen ist durch Reverse-Engineering (Intellectual Property Theft) gefährdet.

Eine Gefahr für viele Branchen

Hersteller von Computerspielen sehen ihre Geschäftsmodelle und Benutzerbasis gefährdet, weil die auf dem PC laufenden Spiele-Clients manipuliert werden. Kostenfreie Käufe innerhalb des Spiels werden auf diese Weise ermöglicht und Betrügereien im Spiel (Cheating), mit denen sich gewisse Spielergruppen unfaire Vorteile gewähren, sorgen im schlimmsten Fall dafür, dass verärgerte Abonnenten zu einer anderen Spieleplattform wechseln.

Finanzielle Dienstleister fürchten sich vor Manipulation ihrer Banking-Applikationen und dem Ausspähen von Schlüsseln, mittels derer finanzielle Transaktionen gefährdet werden. Ähnlich geht es Betreibern von Streaming-Diensten, die dafür Sorge tragen müssen, dass eigentlich verschlüsselte digitale Medien nicht einfach kostenfrei bezogen oder kopiert werden können.

In anderen Branchen wie die der medizinischen Gerätehersteller besteht die mittlerweile berechtigte Sorge, dass medizinische Geräte und insbesondere die darauf laufende Software in einer Art und Weise manipuliert werden können, so dass eine gesundheitliche Gefährdung des Patienten nicht ausgeschlossen werden kann. Bekannte Gefährdungsbeispiele aus jüngster Vergangenheit sind kompromittierbare, mit Bluetooth kommunizierende Implantate als auch Insulinpumpen. Und auch im Bereich Automotive werden langsam aber sicher die Ausmaße vernachlässigter IT-Security in Hinblick auf Gefährdung der Verkehrsteilnehmer deutlich. Der Erfolg von „Connected Cars” steht und fällt mit der IT-Sicherheit.

Sichere Applikationen dank Application Integrity Protection und White Box Kryptographie

Um obigen Szenarien erfolgreich entgegentreten zu können, muss die Integrität einer Anwendung gewährleistet werden. Dazu sollten Techniken und Technologien aus dem Bereich Anti-Reverse Engineering und Anti-Tampering angewendet werden. Denn wenn eine sicherheits-orientierte Administration von Geräten und Software nicht möglich ist und Software in einer prinzipiell kompromittierten Ablaufumgebung zur Ausführung kommt, ist der letzte Perimeter an Sicherheit nur noch innerhalb der Applikation selbst durch die sogenannte Application Integrity Protection zu erreichen (AIP). Praktisch bedeutet AIP, Applikationen zu härten und kryptographische Schlüssel zu sichern.

Ähnlich wie beim Härten von Metallen wird dabei die innere Struktur einer Applikation verändert ohne die gewünschte Funktion zu beeinträchtigen. Innerhalb der neuen Struktur sind nun aber zusätzliche Sicherheitsmaßnahmen eingebaut, die kompromittierte Umgebungen erkennen und Manipulationen auf manchen Plattformen sogar reparieren können. Zusätzlich wird der binäre Code in einer Art und Weise manipuliert (control flow obfuscation), die dem Angreifer das Verständnis für das Erstellen von Manipulationen erschwert. Damit die eingebauten Sicherheitsmechanismen vom Angreifer nicht genauso einfach wie der eigentliche Code der Applikation manipuliert oder umgangen werden kann, beschützen die Sicherheitsmechanismen sich in einer Art Netzwerk auch gegenseitig. Änderungen an einer Stelle ziehen damit vielfältige Änderungen an anderen Stellen nach sich und der Aufwand steigt exponentiell. Mit den hier benannten Methoden ist das Reservoir an Möglichkeiten technisch aber noch nicht erschöpft.

Das Sichern kryptographischer Schlüssel wird mittels White Box Kryptographie (WBC) erreicht. Sehr grob beschrieben sorgt WBC dafür, dass kryptographische Schlüssel niemals in ihrer klassischen Form im Speicher sichtbar verwendet werden. Anstelle der klassischen Nutzung erfolgt die Nutzung in einer White-Box-Form, die auf mathematischen Transformationen beruht, mit den üblichen Verschlüsselungstechnologien kompatibel ist und pro Anwendung auf unterschiedlichen mathematischen Transformationen beruhen kann, damit Wissen über die Verschlüsselung nicht von einer Applikation und White Box auf eine andere übertragen werden kann.

Ein erhöhtes Maß an Security kann zuletzt noch durch die Kombination der beiden Techniken erreicht werden. Die WBC fügt ja auch „nur” einen weiteren Code in eine Applikation ein, der wiederum gehärtet werden kann.

Application Integrity Protection verdrängt etablierte Techniken oder Technologien keineswegs, sondern ergänzt diese sinnvoll und erweitert die Sicherheit bis in die Applikation selbst. Letzteres stellt einen komplett neuen Ansatz dar. Beim Kopieren bzw. Installieren einer Applikation wandert die Security quasi mit und bleibt damit unabhängig von jeglicher Infrastruktur.