Ursache und Gegenmaßnahmen

Gravierender Bug in iOS9.3 schränkt Anwender ein

Mark Zimmermann weist mehrere Jahre Erfahrung in den Bereichen Mobile Sicherheit, Mobile Lösungserstellung, Digitalisierung und Wearables auf. Er versteht es diese Themen aus unterschiedlichsten Blickwinkeln für unternehmensspezifische Herausforderungen darzustellen. Hierzu ist er auf nationale Vorträgen und als freier Autor für Fachpublikationen tätig.
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)

 

Mark Zimmermann

IOS 9.3.1 steht bereit und behebt das Problem !

Mark Zimmermann

Es wurde anscheinend eine Möglichkeit gefunden, damit die Datenbank unter ios wieder repariert wird. https://bencollier.net/2016/03...

Mark Zimmermann

iOS 9.2.1 ist ebenfalls betroffen......

Mark Zimmermann

Die besagten Dateien sind nicht korrupt auf dem Server, sie sind nur zu groß ;-)

Mark Zimmermann

Die "apple-app-site-association" Datei enthält eine Liste von URLs, die der App (z.B der besagten Booking-App) zugeordnet werden. iOS nutzt diese Datei nicht nur für das Kennwort Sharing sondern auch um zu entscheiden, ob ein Link in eine passende App umgeleitet werden sollen oder nicht. Ist dies der Fall, öffnet sich die App, nicht Safari, bei Aufruf des Links. Booking hat nun leider statt weniger Filter-Regel diese für die komplette Site erstellt. Das erklärt auch die enorme Dateigröße von 2.4 Mb.

Das muss aber nicht alleinig an der Booking.com hängen. Wenn weitere / andere Anbieter mit „größeren“ „Association“-Dateien daher kommt, läuft das System dann über. Wo die kB / MB Grenze ist, habe ich nicht ausprobiert ;-)

Warum iOS vor 9.3 keine Probleme damit hat, ist natürlich eine andere interessante Frage.

Mark Zimmermann

Es kann nicht ausgeschlossen werden, dass auch andere Anbieter defekte Dateien auf ihrem Server liegen haben. Es bleibt zu hoffen, dass Apple eine Prüfung einbaut, damit defekte Dateien das System nicht aus dem Tritt bringen können....

comments powered by Disqus