Erschummelte In-App-Käufe bei Android

Android-Apps wie Temple Run 2, die den offiziellen Google-Beispiel-Code für den Bezahlvorgang verwenden, lassen sich leicht austricksen. Den Beispiel-Code hat Google gefixt; die Apps müssen die Entwckler selber nachbessern.

In Pocket speichern vorlesen Druckansicht 64 Kommentare lesen
Lesezeit: 2 Min.

Die von Google bereit gestellte Bibliothek für die Umsetzung von In-App-Käufen etwa in Spielen enthielt gleich zwei Fehler. In der Summe bedeuten sie, dass eine kleine Schummel-App dem Spieler zusätzliche Gegenstände, Mana satt oder andere kostenpflichtige Erweiterungen zuschreiben kann – und zwar ganz ohne Bezahlung.

Laut Dominik Schürmann, der das Problem entdeckt hat, fand sich der problematische Code in den Beispieldateien der Google Play Billing Library v3, die viele Entwickler als Vorlage für den eigenen Code hernehmen. Dort wurde allerdings erstens vergessen, die notwendigen Beschränkungen für das Aufsetzen eines Billing-Services im System zu erzwingen. Somit kann sich mit einem sogenannten Intent-Filter jede App in den Aufruf des Dienstes für In-App-Käufe etwa in Spielen einklinken. Eine Betrüger-App kann dann dem aufrufenden Spiel einen vollständigen Einkauf inklusive Bezahlung vorgaukeln.

Das wird durch den zweiten Fehler begünstigt: So checkt der Code zwar die digitale Signatur, mit der der Herausgeber des Spiels erfolgreiche Einkäufe – also solche, bei denen er Geld bekommen hat – bestätigt. Aber diese Überprüfung ist auch dann erfolgreich, wenn die digitale Signatur lediglich aus einem leeren String besteht. Damit kann die Betrüger-App dem Spiel einen erfolgreichen Bezahlvorgang vorgaukeln. Laut Schürman war dies zum Beispiel bei dem recht beliebten Spiel Temple Run 2 möglich.

Schürmann meldete das Problem bei Google, dessen Security-Team es auch mit einem schnellen Fix beseitigte. Darüber hinaus bat das "Android Security Team" um vier Wochen Vorlauf, damit man wichtige Partner informieren könne. Schließlich müssen die jetzt ihre Apps unter Umständen ebenfalls fixen. Auf mehrfache Nachfragen erklärten sie jedoch, dass dieser Fehler nicht für das Google-Belohnungsprogramm für das Melden von Sicherheitsproblemen geeignet sei und lehnten auch die höfliche Anfrage nach Nennung seines Namens in dieser Angelegenheit ohne Begründung ab. Als Reaktion hat der Student jetzt die Details vor Ablauf der erbetenen vier Wochen offen gelegt.

Es gibt auch bereits eine Demo-App, die sich wie beschrieben in den Bezahlvorgang einlinken kann. Wer also eine Android-App betreut und in der er vor dem 8. Oktober den Code aus der Google Play Billing Library benutzt hat, sollte jetzt bald möglichst ein Update vornehmen, um sicher zu stellen, dass die In-App-Käufe auch wirklich korrekt abgewickelt werden. (ju)