Die von Apple mit iOS 8 eingeführte Health App ermöglicht eine umfangreiche Überwachung von Gesundheits- und Fitnessdaten in den Kategorien Aktivität, Schlaf, Achtsamkeit und Ernährung. Die Health App bezieht ihre Daten aus unterschiedlichen Quellen:

  • Apple Watch
  • Apps zu den verschiedenen Kategorien, bspw. Fitness Apps wie Runtastic oder Apps zum Verfolgen von Ernährungsgewohnheiten wie MyFitnessPal

Intern speichert die Health App umfangreiche Nutzerdaten in der Datenbank healthdb_secure.sqlite. Die Datenbank besitzt eine Vielzahl von Tabellen, die untereinander in Relation stehen und forensisch interessante Informationen beinhalten.

Anwender können sich in den Betriebssystemen macOS und iOS Suchvorschläge in Safari oder von Spotlight anzeigen lassen. Hierbei nehmen die Betriebssysteme die Nutzeranfragen entgegen, leiten diese an Apple weiter und erhalten entsprechende Suchvorschläge zur Anfrage zurück. 

Die Safari und Spotlight Anfragen werden lokal in der Datenbank 

/mobile/Library/Caches/com.apple.parsecd/Cache.db (iOS)

/Library/Caches/com.apple.parsecd/Cache.db (macOS)

gespeichert. Die Datenbank besitzt dabei zwei aus forensischer Sicht interessante Tabellen:

  • cfurl_cache_receiver_data: Die Spalte 'receiver_data' enthält Safari & Spotlight Suchanfragen des Nutzers (jede Tastatureingabe wird protokolliert)

  • cfurl_cache_response: Die Spalte 'request_key' enthält u.a. Standortdaten des Nutzers (macOS wifi, iOS wifi/cell), sowie in der Spalte 'time_stamp' Zeitstempel der Anfragen

Das Python Skript PyCache.py parst die Standortdaten und exportiert diese als CSV- oder KML-Datei. 

Das Script kann über GitHub/MarcBrandt/Cache.db bezogen werden. zur Ausführung sollte die Datenbank Cache.db exportiert werden und sich im gleichen Verzeichnis wie das Python Skript befinden. Die Ausführung kann dann unter Python 3 erfolgen:

$ python 3 PyCache.py