Hightech-Trojaner entert Apples App Store

Mit gezielt platzierten Code-Fragmenten und beabsichtigten Sicherheitslücken mutierte eine scheinbar harmlose App zum Trojaner. Der technische Hintergrund zeigt, wie geschickt Apples Sicherheitsvorkehrungen umgangen wurden.

In Pocket speichern vorlesen Druckansicht 135 Kommentare lesen
Lesezeit: 3 Min.

Auf der renommierten Usenix-Konferenz präsentierte ein Forscherteam Techniken, mit denen sie Apples Vorkehrungen gegen Trojaner austricksen konnten. Sie schleusten eine scheinbar harmlose App in Apples App Store ein, die nachträglich erst ihr wahres Gesicht enthüllte und zu "Jekyll on iOS" mutierte.

Der reguläre Programmablauf weist keine Spionagefunktionen auf; erst durch das Ausnutzen von Sicherheitslücken setzen die Forscher Fragmente zu neuem Code zusammen.

(Bild: Wang, K. Lu, L. Lu, Chung, Lee, Georgia Institute of Technology)

Im wesentlichen sieht Apples Schutzkonzept zwei Hürden vor, die das Einschleusen von Malware in das iVersum verhindern sollen. Die erste besteht darin, dass jede App vor der Aufnahme in den App-Store durch Apple nicht weiter dokumentierten Tests unterzogen wird. Die zweite besteht darin, dass anders als bei Googles Android auf einem iOS-Gerät nur Code zur Ausführung kommt, der eine digitale Signatur des Betriebssystemherstellers trägt. So kann eine App nicht ohne weiteres aus dem Internet bösartigen Code nachladen, um damit Spionage-Funktionen nachzurüsten. Beziehungsweise genauer: Nachladen ginge schon – das Ausführen scheitert an den Kontrollen des Betriebssystems, das keinen unisgnierten Code zulässt.

Statt sie zu überspringen, umgingen die Forscher diese Hürden. Sie reichten bei Apple ein Progrämmchen ein, das sich beim Start als harmlose News-App präsentierte. Sie wies zu diesem Zeitpunkt auch noch keine versteckten Zusatzfunktionen auf. Allerdings hatten die Forscher ganz gezielt Sicherheitslücken eingebaut. Nach dem Start nahm die App ganz regulär Kontakt zum Server der Entwickler auf. Mit speziell präparierten Befehlen konnte der diese Sicherheitslücken ausnutzen und somit die Kontrolle über den Programmablauf übernehmen.

Mittels einer Technik namens "Return Oriented Programming" konnten die Forscher dann der Reihe nach bereits vorhandene Code-Fragmente anspringen und daraus ihre Spionage-Funktionen zusammensetzen. Diese Gadgets genannten Code-Fragmente bestehen oft nur aus wenigen Befehlen und einem abschließenden Return-Befehl, der den nächsten Sprung einleitet. Die Kontrolle über diese Sprünge erreicht man dabei durch einen passend präparierten Stack, auf dem die Sprungziele für Return-Befehle abgelegt sind.

Im Prinzip sind das die gleichen Techniken, mit denen auch ein Jailbreak seinen Code zur Ausführung bringt. Nur dass es die Forscher vom Georgia Institute of Technology deutlich leichter haben, weil sie sich die benötigten Sicherheitslücken und die passenden Gadgets bereits vorsorglich in ihre App einbauten, während sich die Jailbreaker bei Apples Code damit versorgen müssen. Das Paper Jekyll on iOS: When Benign Apps Become Evil enthält spannende Details zur eingesetzten Technik, mit der sie ASLR, DEP und Co umgegehen konnten.

Der Trojaner, den die Forscher nach kurzer Zeit auch gleich wieder sperren ließen, selbst ist nicht weiter spektakulär. Er verschickt E-Mails, SMS oder Tweets, liest Geräteinformationen aus und kann auch die Kamera steuern. Der eigentliche Zweck der Übung war auch nicht, einen Super-Trojaner zu konstruieren, sondern zu zeigen, dass man Apples Sicherheitskonzept für iOS knacken kann. Das ist auf spektakuläre Weise gelungen; dass deshalb massenhaft Trojaner-Autoren , die sich derzeit auf Android konzentrieren, in die iOS-Welt wechseln, steht angesichts des zu betreibenden Aufwands mit zweifelhaften Erfolgsaussichten jedoch kaum zu befürchten.

Siehe dazu auch auf Mac & i:

(ju)