NEWS

In-App-Diebstahl - Interview mit Timo Hetzel vom Undsoversum

Portrait des Authors


In-App-Diebstahl - Interview mit Timo Hetzel vom Undsoversum
3

Werbung

Vor ziemlich genau einer Woche tauchten erste Meldungen auf, die von einer Möglichkeit sprechen In-App-Käufe in iOS-Apps zu tätigen, ohne dafür zu bezahlen. Alle Hintergründe dazu findet ihr in einer detailierten Beschreibung der Methode und der daraus resultierenden Verantwortung für Apple und die Anwender. Wir haben uns mit Timo Hetzel unterhalten, einigen sicher bekannt aus dem Podcast Bitsundso (iTunes-Link). Er bietet im App Store gleich mehrere Apps an, die über In-App-Käufe zusätzlichen Inhalt anbieten. Als Kopf hinter dem Undsoversum hat er ein großes Interesse an einem sicheren Vertrieb über den App Store.

Hardwareluxx: Sie bieten im iOS App Store eine Handvoll Apps an, die teilweise einmal einen einmaligen Kaufpreis verlangten, im Speziellen aber Inhalte anbieten, die über einen In-App-Kauf einen gewissen Mehrwert bieten. Bei ihren Audio-Podcast-Produktionen ist dies eine Post- und Preshow sowie weitere Funktionen wie ein Re-Live kurz nach der Show, bei den Undsoversity Video-Workshops die Workshops als solches. Waren ihnen die Gefahren durch Diebstahl der Apps (als diese noch nicht kostenlos waren) und auch der In-App-Käufe von Anfang an bewusst?

Timo Hetzel: Gegen den Klau der Apps selbst kann man momentan wenig machen. Apple könnte auch unter iOS, ähnlich wie im Mac App Store, eine Überprüfung der Kaufquittung durch die App selbst anbieten, tut das aber aus unbekannten Gründen nicht. Das hätte den Vorteil, dass jede App einzeln geknackt werden müsste, und nicht nur eine einzige Systemkomponente.

Tweetbot z.B. führt eine Überprüfung durch und reduziert seinen Funktionsumfang, wenn eine unbezahlte Installation entdeckt wird. Das liegt aber alleine beim Entwickler, ob er sich diesen Spaß gönnt.

Bei den In-App-Käufen erscheint die Lösung von Apple relativ gut durchdacht: Ähnlich wie bei PayPal oder anderen Zahlungsdienstleistern wird die Transaktion unabhängig vom Client über den Server des Anbieters überprüft. Warum manche Anbieter auf den Check auf dem Server verzichten, ist mir nicht ganz klar. Das sind zwanzig Zeilen Code. Wenn man ohnehin Content oder Credentials vom Server ausliefert, kann man auch gleich den Check dabei mitmachen.

Hardwareluxx: Wie haben sie die früheren "Angriffe" auf ihre In-App-Käufe abgewehrt? Diese stammten ja vermutlich ausschließlich von Geräten mit Jailbreak, was dann wiederum Methoden zum In-App-Diebstahl möglich macht.

Timo Hetzel: Der "alte" Hack lief nur mit einem Jailbreak und hat einfach immer ein "OK" an die App geliefert. Keine Signatur, keine Details wie die Artikelnummer oder eine gültige Uhrzeit. Das lässt sich leicht erkennen, und selbst ohne weiteres Zutun lehnt Apple diese "Käufe" natürlich als ungültig ab.

Hardwareluxx: Haben sie von Anfang an der Validierung der Receipts auf einem eigenen Web-Server vertraut oder auch die nun angegriffene Validierung auf dem iOS-Gerät selbst verwendet?

Timo Hetzel: Ich habe von Anfang an auf dem Server validiert. Die App braucht ja Download-Links oder einen Usernamen und Passwort.

Hardwareluxx: Wie viele nicht autorisierte Zugriffe auf ihre In-App-Inhalte konnten sie vor dem nun neu aufgetauchten Hack ohne Jailbreak feststellen?

Timo Hetzel: Den "alten" Jailbreak-Hack sehe ich seit ungefähr einem Jahr in den Logdateien. Das sind jetzt ein paar hundert Versuche seitdem, allesamt ohne Erfolg. Es gibt wohl aber eine große Zahl von Apps, insbesondere Spiele, die die Quittungen nicht überprüfen.

Hardwareluxx: Waren sie von der von Alexey V. Borodin gefundenen Methode ohne Jailbreak, mit einer "Man in the Middle"-Attacke, In-App-Käufe zu tätigen völlig überrascht oder haben sie damit früher oder später gerechnet? 

Timo Hetzel: Ich war tatsächlich überrascht, dass die Jailbreak-Variante kaum weiterentwickelt wurde.

Die Idee, alte Kaufquittungen mehrfach zu verwenden ist ja doch relativ naheliegend. 

Dass im App Store etwas schief läuft, zeigt die große Zahl der gehackten iTunes-Accounts, die auf mysteriöse Weise plötzlich chinesische Pferdetaler kauft. Das lässt eine größere Schwachstelle vermuten.

[figure image=images/stories/newsbilder/aschilling/2012/bitsundso-in-app.jpg]Bitsundso In-App-Kauf[/figure]

Hardwareluxx: Wie viele nicht autorisierte Zugriffe auf ihre In-App-Inhalte konnten sie mit der neuen Methode feststellen?

Timo Hetzel: Ich habe jetzt einige wenige Kandidaten gesehen, die das versucht haben. Der neue Hack schickt ja alte, aber gültige Kaufquittungen. Würde der Hacker die Quittung manipulieren, würde Apple sie ablehnen. Für den Fall, dass er keine passenden Quittungen für eine App hat, schickt er einfach irgendeine gültige Quittung. In meinem Fall habe ich jetzt einige Tage alte Quittungen für "Cut The Rope" bekommen. Checkt man dann nicht auf dem Server, dass 1. die Quittung halbwegs aktuell ist und 2. zur eigenen App gehört, kommt der Kandidat damit durch.

Würde diese Quittung jetzt tatsächlich bei "Cut The Rope" auf dem Server landen, müsste der Anbieter mitzählen, wie oft diese identische Quittung schon vorbeigekommen ist und sie ggf. ablehnen. Ein legitimer Kunde kann sich ja eine frische Quittung von Apple holen, der Hacker nicht.

Hardwareluxx: Wo sehen sie die Verantwortung von Apple gegen diese Methoden vorzugehen und die eigenen App-Anbieter zu schützen? Hätte Apple dies verhindern können und müssen?

Timo Hetzel: Apple könnte als erstes in den Developer Foren ein Statement zu der Situation abgeben. Zu anderen solchen Themen sind dort schon offizielle Kommentare aufgetaucht. Bislang gibt es nur relativ inhaltslose Statements, die das Problem zur Kenntnis nehmen, z.B. bei The Loop.

Hardwareluxx: Wie könnte eine Lösung seitens Apple aussehen, die auf absehbare Zeit einen solchen Angriff nicht mehr möglich macht?

Timo Hetzel: Es müsste sichergestellt werden, dass nur frische Quittungen akzeptiert werden. Das lässt sich unter Umständen ohne weitere Änderungen an der API auf dem Server des Anbieters lösen. Vielleicht ist das aber auch zu kurz gedacht, insbesondere bei Abonnements, die sich automatisch verlängern: Diese Quittungen sind dafür designed, ohne Zutun der App vom Server mehrfach validiert zu werden, wenn eine Verlängerung anstünde. Wie frisch "frisch" sein muss, ist auch nicht klar definierbar.

Vielleicht reicht es auch schon, identische Quittungen seitens Apple einfach nicht erneut zu verifizieren.

Apple hat kluge Köpfe und sicherlich viele Möglichkeiten, den Prozess sicherer zu gestalten. Für den Anfang: Der App Store könnte sein SSL-Zertifikat stärker überprüfen. Damit wären solche Man-in-the-Middle-Angriffe in künftigen iOS-Versionen zumindest schon einmal schwieriger, und würden wahrscheinlich wieder einen Jailbreak voraussetzen.

Dem Hacker "nur" seinen Server dicht zu machen und seine Videos von YouTube zu löschen, reicht jedenfalls nicht aus.

Im Google Play Store wird ein "nonce", eine einmalig zu verwendende Zahl eingesetzt, um das wiederholte Verwenden von Quittungen zu verhindern. Seit dem 17. Juli schickt Apple bei frischen Quittungen einen neuen "unique_identifier" mit, ohne weiteren Kommentar, wie dieser genutzt werden soll oder kann (wenn überhaupt).

Hardwareluxx: Was würden sie Nutzern dieser Methode gerne sagen?

Timo Hetzel: Es ist an Leichtsinn kaum zu überbieten, manipulierte DNS-Server eines russischen Hackers zu benutzen, und zwielichtige SSL-Zertifikate zu installieren. Ich will kein Geheule hören, wenn das iTunes-Konto geplündert worden ist oder gleich das ganze Bankkonto.

Hardwareluxx: Können sie sich in Anbetracht der aktuellen Situation bei Android vorstellen ihre Apps auch auf dieser Plattform anzubieten?

Timo Hetzel: Kurze Antwort: http://willyouportthistoandroid.com

Etwas längere Antwort: Zur Zeit ist das aus mutmaßlichen Kosten/Nutzen-Gesichtspunkten nicht drin.

Wir bedanken uns für das Interview!

Timo Hetzel erwähnt im Interview einen "unique_identifer", den Apple seit Montag in seine Receipts eingebunden hat. Apple selbst hat sich weder zu einer konkreten Problemlösung geäußert, noch dazu was es mit diesem "unique_identifer" auf sich hat. Konfus wirkt dies durch die Tatsache, dass Apple hier den Unique Device Identifier (UDID) verwendet, was man den Entwicklern mit der Einführung von iOS 5 untersagt hatte.

Der Unique Device Identifier ist eine eindeutig dem jeweiligen iOS-Gerät zuzuordnende Nummer. Durch diese eindeutige Zuordnung konnten Entwickler die Nutzung ihrer Apps bestimmten Geräten und somit auch Nutzern zuordnen. Dies warf große Bedenken bezüglich der Privatsphäre der Nutzer auf, woraufhin Apple keine Apps mehr in den App Store gelassen hat, die Verwendung vom Unique Device Identifier machten. Unklar ist also, ob Apple den Unique Device Identifier verwenden will um das Kopieren der Receipts zukünftig zu verhindern oder um Geräte und Nutzer zu identifizieren, welche die Methode des russischen Hackers verwenden.

Quellen und weitere Links

Werbung

KOMMENTARE (3)