Mirko Brandner

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

Mobile Apps hacken – leichter als gedacht

Praktisch jedermann kann sich ein Tool beschaffen, mit dem sich mobile Apps hacken lassen. Anwendungen wirksam gegen solche Zugriffe zu schützen wäre auf der anderen Seite so schwierig auch wieder nicht, meint Mirko Brandner, Sicherheitsexperte von Arxan Technologies.

Wir leben in einer mobilen Welt, in der Mobile Computing zur Selbstverständlichkeit geworden ist und mobile Apps unseren Alltag und unser Geschäftsleben auf vielfältige Weise bereichern.

Unternehmen haben diesen Trend längst erkannt und arbeiten ständig daran, neue Apps auf den Markt zu bringen, um ihre Kunden bei Laune zu halten und neue Umsatzmöglichkeiten zu generieren. Doch auch die Internetkriminalität hat die Welt der Smartphones, Tablets, Wearables und Co. längst als Einnahmequelle für sich entdeckt. So sind Mobile Anwendungen für Smartphones und Co. mittlerweile das favorisierte Ziel von Hackern und Cyberkriminellen.

Dies ist nicht verwunderlich, denn zum einen stellen mobile Apps schon hinsichtlich der darauf gespeicherten Daten wie Kreditkarteninformationen, Finanztransaktionen oder sensiblen Unternehmensdaten einen großen Anreiz für Hacker dar. Zum anderen ist der Großteil der Apps schlecht gesichert und bestehende Sicherheitsmaßnahmen stellen für versierte Hacker nur selten eine ernstzunehmende Hürde dar.

 

Fakt ist: Das Hacken von mobilen Applikationen ist einfacher als gedacht, denn…

  • es geht schnell: Laut neuesten Untersuchungen dauert der eigentliche Angriff in 84 Prozent der Fälle höchstens ein paar Minuten.
  • es ist unkompliziert: Automatisierte Hacking-Tools stehen so gut wie jedem (!) zur Verfügung und können in der Regel kostenlos über das Internet heruntergeladen werden.
  • mobile Apps sind “leichte Beute”: Im Gegensatz zu Web-Applikationen laufen mobile Apps in verteilten, weitestgehend nicht kontrollierten und daher potentiell schädlichen Umgebungen von (manipulierten) Mobilgeräten. Ein ungeschützter Binärcode kann hier problemlos von Hackern analysiert und modifiziert werden.

Im Visier der Hacker steht in zunehmendem Maße der Binärcode der Applikation, das heißt der Code, den ein Gerät liest, wenn eine Applikation ausgeführt wird. Dabei haben es versierte Hacker haben vor allem auf zwei Schwachstellen des Binärcodes abgesehen:

 

  1. Code Modification oder Code Injection:

 Bei dieser Art von Exploit nehmen Hacker unerlaubte Modifizierungen am App-Code vor oder legen einen schadhaften Code in der Applikation ab. Folgende drei Szenarien sind dabei möglich:

  • Ein Hacker oder unbefugter Anwender modifiziert den Binärcode einer App und verändert so sein Verhalten. Auf diese Weise können beispielsweise Sicherheitskontrollen außer Betrieb gesetzt, firmeninterne Vorschriften, Lizenzbeschränkungen, Einkaufsbedingungen oder Display-Werbung umgangen werden. Die modifizierten Apps können anschließend über das Internet verteilt werden.
  • Ein Hacker legt im Binärcode der Applikation einen schadhaften Code ab und bringt diese “umverpackte” App als neue (vermeintlich seriöse) Anwendung oder in Gestalt von Patches oder Crack-Apps in Umlauf oder installiert sie heimlich auf den Mobilgeräten ahnungsloser Nutzer.
  • Eine schadhafte Applikation attackiert im Rahmen eines Drive-by-Angriffs (auch Swizzling bzw. Function/ API Hoocking genannt) eine anvisierte App, um beispielsweise Berechtigungsnachweise freizulegen, persönliche Daten oder Unternehmensinformationen abzugreifen oder Datenverkehr umzuleiten.

 

  1. Reverse Engineering oder Code Analysis:

Bei dieser Art von Exploit wird der Binärcode mobiler Applikationen statisch und dynamisch ausgewertet. Mit Hilfe spezieller Code-Analyse-Tools können die Binärcodes nachkonstruiert werden (Reverse Engineering), wertvolle Codes (inklusive Quellcodes), sensible Daten und geschützte IPs aus der App entnommen und anschließend wiederverwendet oder „umverpackt“ werden. Folgende drei Szenarien sind dabei möglich:

  • Ein Hacker analysiert einen Binärcode oder konstruiert diesen nach und späht auf diese Weise sensible Informationen (Keys, Berechtigungsnachweise, Daten und so fort), Sicherheitslücken und Schwachstellen für weitere Angriffe aus.
  • Ein Hacker legt das geheime geistige Eigentum einer Applikation frei, um illegale gefälschte Nachbauten zu entwickeln.
  • Ein Hacker “klaut” eine App und stellt diese (als nahezu identische Kopie der offiziellen App) unter seinem eigenen Markennamen in einem App-Store zur Verfügung.

 

Es ist Zeit für einen wirksamen Schutz

An der Zuverlässigkeit, Kundenfreundlichkeit und nicht zuletzt Sicherheit einer mobilen Applikation hängen der finanzielle Erfolg und die gute Reputation eines Unternehmens ab. Umso erschreckender ist es, dass viele Apps nur mit oberflächlichen Sicherheitsmaßnahmen ausgestattet sind, die zu umgehen für Cyberkriminelle meist keine große Anstrengung darstellt. Es ist also höchste Zeit, Applikation von innen heraus, das heißt bereits in ihrem Entwicklungsstadium zu schützen, anstatt sie im Nachhinein von außen mit mehr oder weniger wirksamen Schutzmaßnahmen zu umgeben.

Bereits in einigen meiner vorangegangenen Blogs habe ich App-Härtung und Laufzeitschutz als eine mögliche Maßnahmen für den wirksamen Schutz von Applikationen erwähnt. Dabei werden kleine Schutzeinheiten, sogenannte Guards, nach Abschluss des Entwicklungsprozesses in die ausführbare Software eingefügt, Änderungen am Source Code sind nicht notwendig.

Der  Clou dabei ist, dass die Schutzeinheiten sich auch gegenseitig schützen und nicht einfach wieder ausgebaut werden können. Die App ist durch diese Härtung in der Lage, Hackerangriffe und Exploits selbstständig zu erkennen und abzuwehren und so letztlich ihre eigene Integrität zu schützen. Hacker finden also stark erschwerte Bedingungen vor und haben so gut wie keine Chance mehr, den Binärcode zu modifizieren oder Malware einzuschleusen.

 

Tipp: Lesen Sie auch unser Special zu Enterprise Mobile Management.