Ursache und Gegenmaßnahmen

Gravierender Bug in iOS9.3 schränkt Anwender ein

29.03.2016
Von   
Mark Zimmermann leitet hauptberuflich das Center of Excellence (CoE mobile) zur mobilen Lösungsentwicklung bei der EnBW Energie Baden-Württemberg AG in Karlsruhe. Er weist mehrere Jahre Erfahrung in den Bereichen Mobile Sicherheit, Mobile Lösungserstellung, Digitalisierung und Wearables auf. Der Autor versteht es, seine Themen aus unterschiedlichsten Blickwinkeln für unternehmensspezifische Herausforderungen darzustellen. Neben seiner hauptberuflichen Tätigkeiten ist er Autor zahlreicher Artikel in Fachmagazinen.
Anwender berichten von einem Bug in iOS 9.3, der die Nutzbarkeit der betroffenen iOS-Endgeräte extrem einschränkt. Dieser Artikel möchte Ihnen erklären wo das eigentliche Problem liegt, warum Apple dies nicht vorher bemerken konnte und was Sie tun können, wenn Sie betroffen sind.
Das Apple-Update iOS 9.3 bringt neben weiteren Funktionen auch neue Probleme.
Das Apple-Update iOS 9.3 bringt neben weiteren Funktionen auch neue Probleme.
Foto: Apple

Nach den teilweise berichteten Schwierigkeiten mit der Aktivierung älterer iOS-Geräte unter iOS 9.3 macht das Update neue Probleme, die für den Anwender sehr ärgerlich und in der öffentlichen Meinung sogar peinlich für Apple sind. Links in Safari oder der Mail-App führen zu Stillständen des iOS-Systems oder gar zu Abstürzen von Apps.

Das Ganze wird für den Anwender noch unverständlicher, da sich der Bug je nach App unterschiedlich verhält. So äußert sich der Bug in Safari bei einem kurzen Klick auf einen Link damit, dass dieser meist nicht interpretiert wird. Ein langer Klick bzw. 3D-Touch führt zu einem Aufhängen des Systems bzw. zu einem Absturz der jeweiligen App. Zusätzlich tritt dieser Bug nicht bei alle iOS-9.3-Anwendern auf.

Mögliche Workarounds, bis Apple das Problem behebt

Bevor ich Ihnen die Ursache des Bugs erläutere, hier zunächst ein Blick auf mögliche Workarounds, um die Folgen des Problems abzuschwächen. Eine Möglichkeit, diesen Bug zu mildern, besteht darin, Javascript in Safari zu deaktivieren. Dadurch sind die Links in Safari zwar noch auswählbar, viele Webseiten sind aber auf Javascript angewiesen und stehen so mit dem Workaround nur noch eingeschränkt zur Verfügung.

Am Erfolgversprechendsten ist der Wechsel zu Browser-/eMail-Apps von anderen Anbietern. Der Browser von 1Password ist von dem Bug genau so wenig betroffen wie die Apps von Google oder Yahoo. Dies liegt jedoch nicht in der qualitativ besseren Software, diese Apps greifen auf einige neuere Funktionen von iOS (seit 8.0) nicht zurück, die ich Ihnen später erläutern möchte.

Anmerkung am Rande : Verwenden Sie ein Jailbreak auf Ihrem iOS Gerät hilft der Eintrag "false" für die Einstellung "com.apple.SharedWebCredentials" in der Datei "/Library/LaunchDaemons/com.apple.swcd.plist". Dies nur der Vollständigkeit, ich persönlich kann keinerlei Jailsbreaks empfehlen.

Was steckt hinter dem Bug?

Genauso wichtig wie die Warnung vor dem Bug halte ich die Erklärung, wodurch sich die Probleme ergeben. So muss Apple zwar das Problem selbst beheben, die Schuld dafür, dass der Bug in der ausführlichen Beta Phase nicht aufgetreten ist, kann man dem Konzern aus Cupertino jedoch nicht anhängen.

Das Problem liegt in den iOS 9.3 Shared Web Credentials (SWDC). Diese erlauben es einer iOS-App, auf die Kennwörter für Webseiten lesend sowie schreibend zuzugreifen. Apps und Safari können so gemeinsam die gleichen Anmeldedaten nutzen.

Damit nur berechtigte Apps dies können, nutzt iOS eine JSON Datei ("apple-app-site-association") auf der obersten Domain-Ebene der Webseite, mit der die Zugangsdaten ausgetauscht werden dürfen. Diese "apple-app-site-association" Datei gibt es seit iOS8. Die Auswertung des Dateiinhaltes erfolgt dabei lokal im iOS-Betriebsystem. Ist diese Datei "korrupt", wirkt sich das direkt auf die Datenbank im iOS-Endgerät aus.

So enthält diese Datei beispielsweise den folgenden Eintrag, um mit einer Beispiel-App die Daten auszutauschen. Wie sofort ersichtlich ist, sind diese Dateien sehr klein.

{

"webcredentials": {

"apps": [ "YLLN8XTPBJ.com.Beispiel.App"]

}

}

Booking.com und die "apple-app-site-association"-Datei

Es mehrten sich über das Wochenende die Berichte, dass der Fehler (unter anderem) dann auftritt, wenn Anwender die Booking.com-App nutzen. Booking.com hat dies anscheinend bereits selbst bemerkt und die eigentlich verursachende "apple-app-site-association" Datei auf ihrem Server repariert. So ist diese nicht mehr 2.2 MB sondern um die 4KB groß. Dies behebt die korrupte Datenbank bei den Anwendern, die das Problem bereits haben, zwar nicht, sorgt aber dafür, dass keine weiteren Probleme bei neuen Anwendern auftreten.

Qualitätssoftware von Apple

Unsere Endgeräte und die installierten Apps werden immer komplexer. Diese Komplexität nimmt von Jahr zu Jahr zu. Dies führt dazu, dass die Betaphasen immer wichtiger werden. Aber dies nützt alles nichts, wenn von den unendlich vielen Apps im Store nicht genau die verursachende App auf den Beta-Geräten mit drauf ist. Genau genommen hat uns also Booking.com und nicht Apple selbst das Problem eingebrockt.

Der eigentliche Bug, der das Problem jedoch erst möglich gemacht, wurde allerdings von Apple verursacht - wahrscheinlich schon vor Monaten/Jahren. Hoffen wir auf einen Fix von Apple und darauf, dass alle Beteiligten im Ökosystem auf die Qualität ihrer Software achten. (mb)