iOS: Ins0mnia Bug in iOS 8.4.1 behoben

Ins0mnia: Unlimited Background Time and Covert Execution on Non-Jailbroken iOS Devices titelt FireEye. Mit iOS 8.4.1 habe Apple das behoben. Aber das Thema wird auf Apples Liste der Sicherheits-Fixes für 8.4.1 nicht genannt. Ich kann mir denken, warum. Für mich sieht es nämlich nicht nach einem Sicherheitsproblem aus.

Der Bug besteht darin, daß iOS mit PT_TRACE_ME in den Glauben versetzt wurde, die App würde im Debug-Modus laufen. Dadurch wird ihr erlaubt, unbegrenzt im Hintergrund zu laufen. Außerdem läuft sie auch weiter, wenn der User sie manuell beendet. Allerdings behauptet FireEye noch ein paar weitere Dinge, die so nicht stimmen.

Da paßt ganz gut in's Bild, daß die Experten von FireEye den Webserver ihrer Sicherheits-Software unter Root laufen lassen. Ihre Sicherheits-Geräte erlauben zudem unautorisierten Remote-Root-Datei-System-Zugriff. FireEye hält es seit 18 Monaten nicht für nötig, diese Bugs zu beheben.

FireEye behauptet, daß generell jede App nach circa 3 Minuten im Hintergrund suspendiert wird. Das heißt, angehalten, aber nicht beseitigt. Wie man in Apples Entwickler-Dokumentation lesen kann und jeder iOS-Entwickler auch weiß, gibt es diverse Arten von Apps, denen es dauerhaft gestattet ist, im Hintergrund zu laufen. Dazu gehören Apps für Musik, Tonaufzeichnung, Navigation, Internet-Telefonie, Apps mit regelmäßigen Download-Aufgaben und Apps zur Steuerung externer Geräte.

FireEye behauptet ferner, daß über diesen Bug die App im Hintergrund laufend weiter Zugriff auf sensible Daten hat ohne daß der Benutzer das mitbekommt. Wie man in Apples Datenschutz-Dokumentation nachlesen kann und jeder iOS 8-Benutzer auch schon erlebt hat, weist iOS 8 den User nicht nur darauf hin, wenn eine App im Vordergrund oder Hintergrund sensible Daten benutzen möchte, sondern erinnert ihn im Hintergrundfall auch regelmäßig daran und fragt, ober er dieser App weiterhin Zugriff auf dies und das gewähren möchte, weil die App dies und das im Hintergrund verwendet. Dies und das können Standortdaten sein zum Beispiel.

Es stimmt also nicht, daß über diesen Bug vom User unbemerkt sensible Daten fortlaufend im Hintergrund weiter benutzt werden konnten. Einzig, daß die App nicht wirklich abgeschossen werden konnte, wäre ein Problem. Wenn die App jedoch sensible Daten im Hintergrund tracken will, dann muß sie so oder so immer im Hintergrund laufen und der User wird um Erlaubnis gefragt wegen dieser Daten. Und er kann sehen, welcher App er welchen Zugriff gegeben hat in den Privacy-Settings. Und obendrein ist es normales Verhalten von Hintergrund-Apps, daß sie nicht im Programm-Switcher auftauchen, obwohl sie laufen. Zum Beispiel die Wetter-App: Sie sorgt in der Today-Ansicht für aktuelle Wetterdaten des aktuellen Standortes, auch wenn sie nicht sichtbar läuft. Vorausgesetzt, man hat ihr das Recht nicht unter den Privacy-Settings ausgeschaltet. Dann wird sie die Daten nicht aktualisieren können.

Unter dem Strich bleibt also nur noch folgendes nicht normale Verhalten: Eine App, die gar keine sensiblen Daten benötigt, während sie im Hintergrund läuft, konnte durch Ausnutzung dieses Bugs dauerhaft im Hintergrund laufen. Denn möchte sie sensible Daten im Hintergrund verwenden, bekommt der User das mit durch Systemhinweise und Settings. Witzigerweise braucht sie diesen Bug gar nicht, wenn sie eh auf sensible Daten im Hintergrund zugreift, weil sie dann sowieso schon die Hintergrund-Erlaubnis hat. Damit ist die einzige Schadfunktion, daß sie den Akku leersaugen könnte, obwohl sie keine Berechtigung auf den Hintergrundmodus beantragt hat. Und das klingt ein wenig anders als das, was FireEye so erzählt.

Inzwischen hat sich gezeigt, daß ich nicht allein bin mit der Einschätzung, FireEye hätte ziemlich übertrieben. Joshua Drake, der den Stagefright-Bug für Android gefunden hat, und andere sehen es auch so.

Valid XHTML 1.0!

Besucherzähler


Latest Update: 11. September 2015 at 19:48h (german time)
Link: osx.realmacmark.de/blog/osx_blog_2015-08-c.php
Backlinks-Statistik deaktiviert; kann rechts im Menü eingeschaltet werden.