Schutz vor Erhebung von Standort-Daten Trotz Apple-Update auf iOS 4.3.3 muss der User Hand ans iPhone legen

Redakteur: Stephan Augsten

Mit dem kürzlich veröffentlichten iOS-Update 4.3.3 reagiert Apple auf die öffentliche Kritik zur Speicherung von Ortungsdaten. Doch ist das Thema Geolokation damit wirklich endgültig aus der Welt? Dieser Beitrag befasst sich mit dem aktualisierten iPhone-Betriebssystem und der Frage, wie man die Speicherung von Standort-Daten wirklich verhindert.

Firma zum Thema

Nur das Deaktivieren der Standort-Erfassung verhindert ein Speichern von Ortungsdaten durch das iPhone.
Nur das Deaktivieren der Standort-Erfassung verhindert ein Speichern von Ortungsdaten durch das iPhone.
( Archiv: Vogel Business Media )

Mit dem Update auf Version 4.3.3 speichert das iPhone-Betriebssystem iOS alle Standortdaten, die mit Hilfe von WLAN und Mobilfunkzellen bestimmt wurden, in einer neuen Datenbankdatei namens cache.db. Diese Datei wurde aus der Datensicherung ausgenommen und wird von iTunes nun nicht mehr an den Computer übertragen.

Somit gibt es auch keine Möglichkeit mehr, die Daten aus einem iTunes-Backup zu extrahieren und Bewegungsprofile zu erstellen. Auf den Apple-Geräten speichert das Betriebssystem allerdings weiterhin Ortungsdaten. Diese hat Apple lediglich von der öffentlich bekannt gewordenen „crowed-sourced“ Datenbank consolidated.db in die neue Datenbank cache.db ausgelagert.

Bildergalerie
Bildergalerie mit 5 Bildern

Ein Blick in die neue Datenbank-Datei cache.db zeigt, dass diese nahezu dieselbe Struktur wie ihr Vorgänger consolidated.db aufweist. Besonders interessant zur Erstellung von Bewegungsprofilen sind in der neuen Datenbank vor allem die beiden Tabellen CellLocation und WifiLocation.

Während in CellLocation sämtliche Informationen über Mobilfunkzellen gespeichert werden, beherbergt WifiLocation die WLAN-Netze und zugehörige Standortdaten. Abbildung 1 der Bildergalerie zeigt den Inhalt der Tabelle CellLocation der Datenbank cache.db eines iPhone 4.

Innerhalb der Tabelle CellLocation speichert das Betriebssystem Informationen über das Mobilfunknetz inklusive Längen- und Breitengrade sowie weitere Daten zur Positionsbestimmung. Im Detail werden folgende Informationen gespeichert:

  • Mobile Country Code (MMC) – Identifiziert das Land (262 = Deutschland)
  • Mobile Network Code (MNC) – Identifiziert den Provider (1 = T-Mobile)
  • Location Area Code (LAC) – Kennzeichnet das Gebiet, in dem sich das Gerät befindet
  • Cell Identity (CI) – Eindeutige Kennung der Mobilfunkzelle
  • Timestamp – UNIX-Zeitstempel, wann die Informationen gespeichert wurden
  • Latitude – zugehöriger Breitengrad
  • Longitude – zugehöriger Längengrad

Darüber hinaus werden diverse weitere Informationen gespeichert, die das Betriebssystem zur Positionsbestimmung heranzieht. Ähnlich aufgebaut ist die Tabelle WifiLocation. Diese speichert die BSSID von WLAN-Netzen, einen zugehörigen Zeitstempel, jeweils Längen- und Breitengrade sowie weitere Informationen zur Bestimmung des aktuellen Standorts.

Inhalt

  • Seite 1: Was ändert sich mit iOS 4.3.3
  • Seite 2: Standortdaten weiterhin lesbar
  • Seite 3: Geolocation-Gegenmaßnahmen

Standortdaten weiterhin lesbar

Verschafft sich ein Angreifer Zugriff auf ein Apple-Gerät und die Datenbank, kann er weiterhin alle benötigten Informationen auslesen und daraus grobe Bewegungsprofile erstellen. Der IT-Sicherheitsdienstleister Cirosec demonstrierte bereits seit August letzten Jahres eine Angriffsmethode, mit der bei physikalischem Zugriff auf ein Apple-Gerät alle sensitiven Informationen ausgelesen werden können.

Von dieser Angriffsmethode betroffen sind derzeit bis auf das iPad 2 alle mobilen Apple-Geräte. Fünf Minuten genügen, um ein angreifbares Apple-Gerät, das von seinem Besitzer zum Aufladen unbeobachtet zurückgelassen wurde, zu kompromittieren.

Zu den gefährdeten Daten gehört auch die unverschlüsselte „crowd-sourced“-Datenbank mit den Standortdaten, die in der aktuellen iOS-Version 4.3.3 unter dem neuen Namen cache.db weiterhin existiert. Die von der Cirosec für Demonstrationszwecke entwickelte Webapplikation Ciromap funktioniert auch weiterhin mit der neuen Datenbank cache.db und kann aus den Inhalten der Datenbank cache.db ein Bewegungsprofil erstellen (siehe Bilder 2 und 3).

Die Cirosec hat das Verfahren zum Auslesen von sensitiven Daten von einem Apple-Gerät auf verschiedenen Veranstaltungen und Fachkonferenzen vorgestellt. Dabei wurde auch stets darauf hingewiesen, dass die Speicherung von Ortungsdaten nur eines der existierenden Datenschutz-Probleme der Apple-Geräte ist.

Auf einem aktuellen Apple-Gerät werden lediglich E-Mails und deren Anhänge sowie ausgewählte Passwörter durch die sogenannte Data Protection vor Fremdzugriff geschützt. Weitere Daten wie Kontakte, Kalendereinträge, gesuchte Orte, besuchte Websites oder getätigte Eingaben auf der Bildschirmtastatur liegen weiterhin ungeschützt im Speicher. Besonders im Unternehmenseinsatz muss diese Tatsache berücksichtigt und in einer Risikoanalyse mit entsprechenden Maßnahmen adressiert werden.

Inhalt

  • Seite 1: Was ändert sich mit iOS 4.3.3
  • Seite 2: Standortdaten weiterhin lesbar
  • Seite 3: Geolocation-Gegenmaßnahmen

Geolocation-Gegenmaßnahmen

Um das Speichern von Ortungsdaten zu verhindern empfiehlt der Hersteller, die Ortungsdienste auf den Apple-Geräten vollständig zu deaktivieren. Anwender können dies in den Einstellungen im Menüpunkt Ortungsdienste vornehmen (siehe Abbildung 4).

Mit der Deaktivierung der Ortungsdienste löscht das Betriebssystem ab Version 4.3.3 alle in der Datenbank cache.db gespeicherten Ortungsdaten. Die Erstellung eines Bewegungsprofils auf Basis von WLAN-Netzen und Mobilfunkzellen ist anschließend nicht mehr möglich. Allerdings sind Applikationen, die auf die Ortungsdienste angewiesen sind, in Ihrer Funktion erheblich eingeschränkt (vgl. Abbildung 5).

Möchte sich ein Anwender vor der Speicherung von Ortungsdaten schützen, aber dennoch nicht auf die Ortungsdienste verzichten, muss er zwei bereits bekannte Verfahren miteinander kombinieren. Das Speichern von Ortungsdaten lässt sich durch sogenannte Datenbank-Trigger verhindern. Diese Trigger ermöglichen es, auf Ereignisse innerhalb einer Datenbank zu reagieren. Ein Beispiel hierfür ist das Löschen des Inhalts einer Tabelle nachdem neue Ortungsdaten eingefügt wurden. Ein solcher Datenbank-Trigger ist nachfolgend exemplarisch dargestellt:

CREATE TRIGGER privacy_in_CellLocation AFTER INSERT ON CellLocation BEGIN DELETE FROM CellLocation; END;

Mit diesem SQL-Befehl wird innerhalb der Datenbank cache.db ein neuer Trigger privay_in_CellLocation angelegt. Dieser Trigger sorgt dafür, dass nach einem neuen Eintrag in die Tabelle CellLocation alle Ortungsdaten sofort wieder gelöscht werden. Apple kann dadurch keine Positionsdaten mehr in seiner Datenbank sammeln. Allerdings geht dadurch auch die Assisted-GPS-Funktionalität verloren.

Die Positionsbestimmung erfolgt nach der Datenbank-Manipulation ausschließlich anhand des Global Positioning Systems (GPS). Dies kann etwas mehr Zeit in Anspruch nehmen, als die Positionsbestimmung anhand der WLAN- und Mobilfunkzellen. Innerhalb von Gebäuden müssen Anwender auf die Positionsbestimmung dann ganz verzichten.

Die Herausforderung für den Anwender ist nun, die Datenbank-Trigger in der auf dem Apple-Gerät gespeicherten Datenbank cache.db zu setzen. Wurde das Apple-Gerät keinem Jailbreak unterzogen, verhindern die Sicherheitsmechanismen des iOS den Zugriff und die Manipulation der Datenbank.

Workaround mit Live-iOS

Eine Alternative für Anwender ist das Booten einer Live-Betriebssystemumgebung auf dem Apple-Gerät. Diese Technik ist vergleichbar mit dem Starten eines Knoppix-Live-Systems auf einem Computer.

Zum Starten der Live-Betriebssystemumgebung muss das Apple-Gerät per USB an einen Rechner angeschlossen werden. Im ersten Schritt überträgt und startet beispielsweise ein von Cirosec entwickeltes Programm ein abgespecktes iOS im Arbeitsspeicher der Apple-Geräte. Anschließend kann das Programm über die USB-Schnittstelle auf die Live-Umgebung zugreifen und Betriebssystemkommandos absetzen.

Im zweiten Schritt bindet das Programm die lokalen Dateisysteme ein und der Anwender kann die Datenbankdatei cache.db auf den per USB angeschlossenen Rechner übertragen. Auf dem Rechner öffnet er einen Datenbankbrowser seiner Wahl und setzt mittels SQL die erforderlichen Datenbank-Trigger.

Im letzten Schritt überträgt er die modifizierte Datenbankdatei wieder auf das Apple-Gerät. Nach einem Neustart ist das Apple-Gerät wieder voll funktionsfähig und Anwender können die Ortungsdienste verwenden, ohne dass Positionsdaten auf dem Gerät gespeichert werden.

Ronny Sackmann ist Sicherheitsberater bei der Cirosec GmbH in Heilbronn

Inhalt

  • Seite 1: Was ändert sich mit iOS 4.3.3
  • Seite 2: Standortdaten weiterhin lesbar
  • Seite 3: Geolocation-Gegenmaßnahmen

(ID:2051513)