IoT-Sicherheit. Problem 1. Smartwatches, Fitness-Tracker und Waagen


In meinem letzten Artikel habe ich darüber gesprochen, wie ich zu DefCamp gegangen bin . Der heutige Artikel ist der erste Teil einer Veröffentlichung über meine Forschung zur Sicherheit des Internet der Dinge, die die Grundlage meiner Präsentation auf der Konferenz bildete.

Das Internet der Dinge entwickelt sich rasant: Mittlerweile gibt es mehr als 260 Unternehmen , darunter Smart Cities, Fabriken, Minen, Ölunternehmen, Einzelhändler, Gesundheitswesen, Bildung und mehr. Der Veröffentlichungszyklus wird nur Bereiche der Wearable-Technologie, der Smart Medicine und des Smart Home abdecken, einschließlich mobiler Anwendungen.

Heutzutage ist intelligente Technologie zunehmend sinnvoller als das Anschließen eines Bluetooth-Headsets an ein Telefon. Sie wird immer häufiger verwendet, um zu verstehen, für welchen Zweck intelligente Technologie verwendet wird und welche Szenarien automatisiert werden können.

Die schlechte Nachricht ist, dass viele dieser neuen Geräte Ziele für Angriffe sind. Gleichzeitig wurden Sicherheitsprobleme entweder rückwirkend oder gar nicht behoben, da alte Geräte nicht unterstützt wurden. Solche Geräte stellen ein ernstes Risiko für die Infrastruktur (zu Hause oder im Geschäft) dar, wenn sie nicht ordnungsgemäß verwaltet werden. Daher betrachten wir im Folgenden eine Reihe von Problemen im Zusammenhang mit der Sicherheit intelligenter Dinge, verfügbaren Hacking-Methoden und -Tools sowie Datenverarbeitungs- und Schutzfunktionen. Der Zweck der Untersuchung besteht nicht darin, die "schlüsselfertigen Hacking" -Methoden zu implementieren oder zu beschreiben, sondern Ansätze zu überprüfen, die unter bestimmten Bedingungen zum Zugriff auf Daten führen können, sowie Situationen zu überprüfen, in denen Entwickler aus irgendeinem Grund entscheiden, Benutzerdaten nicht zu schützen. Die Materialien werden übersichtlich präsentiert (vollständige Informationen finden Sie auf der offiziellen Website .

Wearable Technology - Intelligente Uhren


Apple Watch




MITM


Die Uhr interagiert über Bluetooth oder, falls dieser Kanal nicht verfügbar ist, über WLAN, um mit dem Telefon und den Apple-Servern zu kommunizieren. Die Netzwerkdatenübertragung zwischen der Cloud und den Telefon- / Überwachungsanwendungen ist mit TLS1.2 verschlüsselt und schützt vor MITM-Angriffen und SSL-Pinning. Gleichzeitig verfügen Uhren im Gegensatz zu Telefonen nicht über eine Schnittstelle zum Installieren benutzerdefinierter Root-SSL-Zertifikate. Unverschlüsselte Datenströme wurden nicht erkannt.

Bildschirmumgehung sperren


Die Verwendung eines Passcodes auf einer Smartwatch ist häufig optional, kann jedoch enthalten sein. Mit Apple können Sie den Passcode auf verschiedene Arten zurücksetzen , aber nur einer kann das Löschen von Daten bedingt vermeiden.

Die letztere Methode basiert auf dem Mechanismus der erneuten Verknüpfung der Uhr mit dem Gerät mit Datenwiederherstellung mit einer Änderung des Passcodes. Ein solches Szenario wird immer dann verwendet, wenn es Stunden für Reparaturen oder Verkäufe geben soll, weil Es ist erforderlich, den Aktivierungssperrmodus zu trennen. Das bedeutet, dass durch Entfernen der Bindung der Uhr an das Telefon die Daten von der Uhr entfernt werden. Das Telefon sichert jedoch die Uhrendaten , um die Daten auf der Uhr in Zukunft wiederherzustellen . Und da bei der Sicherung nicht nur die Einstellungen für Bankkarten, Passcode und Bluetooth-Uhr gespeichert werden, können Sie auf die Daten zugreifen und auch einen neuen Passcode festlegen.

Um die Methode auszuführen, müssen Sie die folgenden Schritte ausführen:

  • Uhr und Telefon sollten in der Nähe sein; Die Apple Watch App muss auf dem Telefon ausgeführt werden.
  • Auf der Registerkarte "Registerkarte" Meine Uhr "werden die erforderlichen Stunden ausgewählt und die Aktion von" Apple Watch entkoppeln "bestätigt.
  • Als Nächstes müssen Sie das Kennwort für Ihr Apple-Konto eingeben (falls das Kennwort vergessen wird, wird vorgeschlagen, es zurückzusetzen ).
  • Endgültige Bestätigung der Aktion.

Da diese Methode mit Apple-Anmeldeinformationen interagiert, können Sie auf diese zugreifen, indem Sie das Kennwort mithilfe forensischer Lösungen zurücksetzen. Auf diese Weise können Sie letztendlich den Passcode auf der Apple Watch entfernen.

Jailbreak


Jailbreak für die iOS-Plattform diente immer dazu, die Berechtigungen für verschiedene Betriebssysteme (iOS, tvOS und watchOS) zu erhöhen. Trotz seiner Beliebtheit gibt es einige bekannte Jailbreak-Uhren für Apple-Uhren (die unten aufgeführten sind aufgeführt):

Jailbreaks für USB


Gefängnis- und Bluetooth-Verbindung über SSH


Backups


Da Apple-Uhren hauptsächlich als Zusatzgerät fungieren, sind die auf der Uhr installierten Anwendungen Widgets, und alle Informationen werden in Anwendungen auf dem Telefon gespeichert. Trotzdem speichern die Überwachungsanwendungen immer noch einen bestimmten Teil für sich, sodass Sie Optionen für den Zugriff auf Daten über Sicherungen in Betracht ziehen können (wenn Sie mit einer Uhr interagieren, die bereits auf einem PC / Mac in der Cloud vorhanden ist). Es ist zu beachten, dass in Apple-Produkten viele Daten plattformübergreifend sind und zwischen allen Geräten synchronisiert werden.

Für den Zugriff auf Daten eignen sich sowohl forensische Lösungen als auch normale Anwendungen für die Arbeit mit Sicherungsdateien (im Fall von Cloud-Sicherungs- oder Zugriffsumgehungsszenarien nur forensische Lösungen oder in deren Nähe). Es ist anzumerken, dass viele Anwendungen derzeit möglicherweise keinen Zugriff zum Anzeigen des Inhalts von Sicherungsdateien haben. Daher ist eines der möglichen Tools der iPhone-Sicherungs-Extraktor (in der Basisversion des Abonnements ermöglicht er den Zugriff auf die Uhrendaten , und die Voll- und Geschäftsversionen unterstützen weiterhin 2FA Zugang zu Daten).

Die erforderlichen Informationen zum Gerät befinden sich in der Datei /mobile/Library/DeviceRegistry.state/properties.bin und umfassen die folgenden Parameter:

  • Beobachten Sie Daten, einschließlich Name, Hersteller, Modell, Betriebssystem, GUID.
  • Seriennummer, UDID, Wi-Fi-MAC-Adresse, SEID (Secure Element ID), Bluetooth-MAC-Adresse.

Die Liste der installierten Anwendungen befindet sich an zwei Stellen:

  • In der Datei "com.apple.Carousel" im Pfad /mobile/Library/DeviceRegistry/GUID/NanoPreferencesSync/NanoDomains/com.apple.Carousel
  • In Unterordnern des Ordners " / mobile / Library / DeviceRegistry / GUID "

Abhängig von den installierten Anwendungen können Sie beispielsweise zum Adressbuch gelangen, das mit dem Telefon synchronisiert ist und einen plattformübergreifenden Datentyp darstellt (die Daten befinden sich in der Datei / mobile / Library / DeviceRegistry / GUID / AddressBook / ), oder zum Sparbuch-Repository, in dem das Banking gespeichert ist Karten oder Karten von Treueprogrammen, verschiedene Sparbuch-Tickets (Daten werden in der Datei /mobile/Library/DeviceRegistry/GUID/NanoPasses/nanopasses.sqlite3 abgelegt ). Die Datenbank des letzteren in der Tabelle „Pass table“ enthält Daten in drei Teilen (das folgende Bild stammt vom Telefon und nicht von der Uhr, um die Anzeige zu vereinfachen):

  • Unique_ID
  • Type_ID (Ticket, Kundenkarte usw.)
  • Codierter Inhalt eines separaten „Passes“ (im Wert- / Datenformat)



Außerdem bietet die Apple Watch Zugriff auf die Daten der Apple Health-Anwendung und füllt die Daten dieser Anwendung aus verschiedenen Quellen, einschließlich unter denen, die der Benutzer manuell eingibt. In der Regel werden die Daten dieser Anwendung verschlüsselt, daher gelangen sie nur dann zur Sicherung, wenn ein Kennwort dafür festgelegt wurde (d. H. Sicherungsdateien werden verschlüsselt). Diese Anwendung bietet jedoch die Möglichkeit, Daten in klarer Form ohne Verschlüsselung (im Zip-Archiv) zu exportieren. Beim Exportieren von Daten ist zu berücksichtigen, dass das Archiv in jede Anwendung exportiert werden kann: Apple-Dateien, Cloud-Speicher, Sofortnachrichten usw., für die keine zusätzliche Verschlüsselung erforderlich ist. Die App wird unten im Abschnitt "Apple Health" separat analysiert.

Android Uhren


Samsung Gear



Lg Uhr



Android-Uhren werden von verschiedenen Herstellern hergestellt (Asus, Samsung, LG usw.). Im Gegensatz zu Apple-Uhren bieten sie häufig ein komplettes Set mit einem 3G-4G-Modul für die Installation einer SIM-Karte anstelle von eSIM an, da sich die Funktionalität sonst nicht unterscheidet.

Unter den Ansätzen für den Datenzugriff werden folgende unterschieden:

  • Forensische Forschung (physikalisch, logisch und Netzwerk)
  • Bildschirmumgehung sperren
  • Verwenden von Root-Datenanalyse-Tools

Beim Kopieren von Bildern, Abschnitten und Stammwerkzeugen wird im Artikel nur die erste Option berücksichtigt. Die logische Forschung (auch als Teil von Backups) unterscheidet sich nicht von bekannten Methoden. Die Online-Version der Studie gewinnt an Popularität und ist selbst im Rahmen vorgefertigter forensischer Lösungen nicht weit verbreitet. Es besteht in der Reproduktion von Interaktionsmechanismen für den Datenaustausch über Wi-Fi, Bluetooth, einschließlich MITM-Methoden, muss aber in einem separaten Artikel berücksichtigt werden.

Gerätebild kopieren


Bei der Analyse von Android-Geräten ändert sich der Ansatz nicht, nur die Tools unterscheiden sich (ein Beispiel für das Tool finden Sie im Abschnitt für Samsung / LG). Um den Inhalt des Geräts zu kopieren, kann das gesamte Gerät oder einzelne Partitionen bitweise kopiert werden. Verwendet für diese Zwecke den Entwicklermodus. Die einfachste Möglichkeit besteht darin, die Befehle adb shell und adb pull zu verwenden, um auf die Daten zuzugreifen. Je nach Hersteller, Gerätemodell und Betriebssystemversion können die ADB-, SDB- oder MTK-Toolkits verwendet werden. In den meisten Fällen wird der Benutzerabschnitt „ / dev / block / mmcblk0p12 / data “ zur Analyse kopiert. Bei Bedarf können jedoch auch andere Abschnitte kopiert werden:

  • DD if = / dev / block / mmcblk0p12 / data of = /storage/extSdCard/data.dd
  • DD if = / dev / block / mmcblk0p8 / cache von = /storage/extSdCard/cache.dd
  • DD if = / dev / block / mmcblk0p3 / efs von = /storage/extSdCard/efs.dd
  • DD if = / dev / block / mmcblk0p09 / system of = /storage/extSdCard/system.dd

Bildschirmumgehung sperren


Für Wear OS ist die Verwendung von PIN-Codes optional, sodass die Uhr häufig nicht durch einen PIN-Code geschützt ist. Es gibt mehr Möglichkeiten, die Sperre für Android-Uhren zu umgehen als für Apple.

  • Kontobasierte Passwortverwaltung.
  • Gesture.key und settings.db (Interaktion mit Sperrdateien).
  • ADB-Schlüssel

Kontobasierte Passwortverwaltung

Die am wenigsten invasive Möglichkeit, eine Sperre zu umgehen, besteht darin, ein Google-Konto und Anmeldeinformationen zu verwenden, die auf irgendeine Weise erhalten wurden. Die Methoden können unterschiedlich sein, einschließlich des Zugriffs auf das Konto über forensische Lösungen. Nach dem Zugriff können Sie das Gerät aus der Ferne entsperren oder einen neuen PIN-Code eingeben. In beiden Fällen können Sie die PIN-Sperre umgehen.

Gesture.key und settings.db

ADB oder seine Analoga sind Teil der Entwicklungswerkzeuge und arbeiten unabhängig davon. Mit diesen Dienstprogrammen können Systemdateien geändert und gelöscht werden: die Datei gesture.key, die für das Sperren des PIN-Codes verantwortlich ist, und die Datei settings.db , die für das Entsperren des gesperrten Geräts verantwortlich ist. In beiden Fällen ist ein physischer Zugriff auf das Gerät erforderlich. für die erste Datei eine Reihe von Befehlen zum Löschen der Shelladb.exe; CD / Daten / System; rm gesture.key “und der aktivierte Debugging-Modus 'Debugging-Modus' oder die Ausführung von Befehlen durch benutzerdefinierte Wiederherstellung wie ClockworkMod oder Team Win Recovery Project (TWRP).

In ähnlicher Weise sollten Sie für settings.key den Befehl " update system set value = 0 " ausführen , der zum Ersetzen der Werte der Parameter lock_pattern_autolock und lockscreen.lockedoutpermenent führt und das Gerät entsperrt, ohne den PIN-Code zu kennen.

Es ist auch erwähnenswert, dass ein gesperrter Bootloader und das Fehlen von Entsperrwerkzeugen keinen Zugriff auf Daten ermöglichen. In anderen Fällen, insbesondere wenn bereits eine benutzerdefinierte Wiederherstellung installiert ist, gibt es keine Schwierigkeiten beim Zugriff.

Adb-Schlüssel

Sehr oft führt die Verwendung von Geräten für verschiedene Szenarien zu unsicheren Einstellungen und Gerätezuständen. Insbesondere wenn ein Gerät für die Entwicklung verwendet wird, wird die Aktivierung des USB-Debugging- Modus erzwungen, und die Entwicklungsschlüssel adbkey und adbkey.pub im Verzeichnis //. Android / werden auf mit Geräten synchronisierten PCs abgelegt. Dementsprechend können Sie im Modus selbst Software von Drittanbietern installieren, die Bildschirmsperre umgehen und mit den Schlüsseln den Status "Synchronisierung" an einen neuen Speicherort übertragen.

Tragen Sie OS und Root


Für Android-Uhren wird das Android-Betriebssystem verwendet, das an die physischen Anforderungen von Geräten angepasst ist. In der Reihe der Uhren Asus Zenwatch, Huawei Watch, LG Watch und vielen anderen wird im Fall von Samsung Watches - Tizen OS das Android-Betriebssystem verwendet.

Android Wear beginnt mit 4.4W1, 4.4W2, 1.0 und endet mit der Version 2.9, die dem üblichen Android entspricht und mit 4.4 beginnt. Versionen 4.4, 5.0.1 und endend mit 7.1.1 / 8.0.0 (Februar 2018). Neue Versionen nach dem Markenwechsel unter Wear OS beginnen mit 1.0 (Android 7.1.1 / 8.0.0 - März 2018 und Version 2.1 (7.1.1 / 9.0.0 - September 2018) und höher. Das Root-Toolkit ist für Android weit verbreitet Tragen Sie Version 2.0.

Wurzel:


Wiederherstellung - Um nach den erforderlichen Versionen zu suchen, können Sie die Suche verwenden :

  • TWRP
  • Für Version 5.1.1 ist twrp-3.1.0-0.img geeignet
  • Für Version 6.0.1 und Wear 2.0 ist twrp-3.0.0-0.img geeignet
  • Für Samsung Gear & LG Watch ist Version 2.8.4 und höher geeignet

Zum Beispiel Samsung Gear Watch & LG Watch


Wenn Sie die technischen Parameter des Samsung Gear weglassen, können Sie die Möglichkeit in Betracht ziehen, Geräte im Rahmen einer physischen forensischen Studie zu untersuchen. Die Uhr unterstützt keine Wi-Fi-Verbindung, es sind nur Bluetooth- und USB-Verbindungen sowie optionaler PIN-Code-Schutz verfügbar. Bei Samsung ist eine SDB (Smart Development Bridge) erforderlich, die Teil des Tizen-SDK ist. Bei LG ist das traditionelle Android-Toolkit ADB erforderlich.

Die Datenextraktion kann in drei Schritten beschrieben werden.

Etappe Nummer 1. Root für Samsung bekommen

Um es zu erhalten, müssen Sie das entsprechende benutzerdefinierte Image finden, das universelle Dienstprogramm für Samsung-Geräte - Odin 3.0, das Gerät in den Entwicklungsmodus versetzen (durch Aktivieren von SDB), es in den Download-Modus versetzen und den Befehl " Sdb-Shell, SDB-Root " ausführen.

Etappe Nummer 1. Root für LG bekommen

Bevor Sie Root-Zugriff erhalten, müssen Sie den ADB-Debug-Modus aktivieren. Verwenden Sie danach die LG Watch Restore Tools, starten Sie den Bootloader neu und aktualisieren Sie das Image:

  • adb reboot-bootloader
  • Fastboot OEM entsperren
  • adb push SuperSU.zip / sdcard / download
  • adb reboot-bootloader
  • fastboot boot twrp.img
  • Installieren Sie SuperSu.zip und warten Sie auf den Neustart

Etappe Nummer 2. Abrufen eines Geräteabbilds

Unter den verschiedenen Android-Entwicklungstools befindet sich die beliebte Toybox , mit der Sie ein Image des Geräts erstellen können, um Daten weiter zu extrahieren und zu studieren. Das Toybox-Paket befindet sich auf einem externen Laufwerk oder im Download-Ordner des Hauptspeichers. Die Zugriffsrechte für die Ausführung der Toybox werden geändert, die Suche nach geeigneten Abschnitten zum Kopieren wird durchgeführt (durch Ausführen der Befehle „ cd / dev / block / platform / msm_sdcc.1; ls -al by-name“ ). In der Regel wird der Benutzerabschnitt (Benutzerdaten) in / dev / block / mmcblk0p21 kopiert . Anschließend wird mit toybox, dd und netcat das Bild des entsprechenden Abschnitts kopiert:

  • adb push toybox / sdcard / download
  • adb shell; su
  • mv / sdcard / download / toybox / dev /
  • chown root: root toybox;
  • chmod 755 toybox
  • cd / dev / block / platform / msm_sdcc; ls -al by-name
  • / * Image-Partition mit dd und Pipe zu Netcat, -L versetzt Netcat in den Listening-Modus * /
  • dd if = / dev / block / mmcblk0p21 | ./toybox nc -L
  • / * Portnummer, die auf der für den Benutzer angezeigten Uhr abgehört wird * /
  • 44477 / * Port angezeigt * /
  • adb forward tcp: 44867 tcp: 44867
  • / * Anfrage senden, um auf Portnummer 44867 zu schauen und sie an Bilddatei zu senden * /
  • nc 127.0.0.1 44867> Samsung.IMG



Etappe Nummer 3. Datenextraktion

Die nützlichsten Daten, die bei Samsung unabhängig in der Uhr selbst gespeichert sind, werden in folgenden Datenbanken gespeichert:

  • Nachrichten - apps.com.samsung.message.data.dbspace / msg-consumer-server.db
  • Gesundheits- / Fitnessdaten - apps.com.samsung.shealth / shealth.db
  • E-Mail - apps.com.samsung.wemail.data.dbspace / wemail.db
  • Kontakte / Adressbuch - dbspace / contactes-svc.db

Bei LG-Uhren - in der folgenden Datenbank:

  • Ereignisse / Benachrichtigungen - data.com.android.providers.calendar.databases / calendar.db
  • Kontakte / Adressbuch - data.com.android.providers.contacts.databases / contacts.db
  • Gesundheits- / Fitnessdaten - data.com.google.android.apps.fitness.databases / pedometer.db

Fitness Tracker - Xiaomi Band




Der Fitness-Tracker ist ein Zusatzgerät, und alle Daten werden in der Mi-Fit-App gesammelt, die immer über eine verschlüsselte Verbindung mit TLS1.2 mit Amazon AWS-Servern interagiert, die sich hauptsächlich in der EU befinden. Eine Reihe von Anfragen ohne Bezug zu Aktionen gehen an US-Server. Im Fall von Mi Fit verhindert die Verschlüsselung MITM-Angriffe nicht vollständig, da kein SSL-Pinning vorhanden ist und ein Stammzertifikat auf dem Gerät installiert werden kann. In diesem Fall erfolgt der Zugriff auf alle über das Netzwerk übertragenen Daten. Lokal enthält der Anwendungsordner ein detailliertes Ereignisprotokoll und Fitnessindikatoren des Benutzers, von dem diese Daten beispielsweise im Rahmen von Benutzerszenarien abgerufen wurden

Serveranforderung api-mifit.huawei.com

GET /users/-/sports?startDate=YYYY-MM-DD&endDate=YYYY-MM-DD&sportCategory=run&timezone=GMT-3%3A00 HTTP/1.1 Content-Type: application/json 

Die Antwort

 HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8 Content-Length: 716 { "items" : [ { "trackId" : "1496744715", "startTime" : 1496744715, "endTime" : 1496748315, "sportTime" : 1800, "distance" : 3600, "calories" : 3.5, "averagePace" : 2.0, "averageStepFrequency" : 39, "averageStrideLength" : 68, "timestamp" : 1496744715, "averageHeartRate" : 90, "altitudeAscend" : 20, "altitudeDescend" : 10, "secondHalfStartTime" : 600, "strokeCount" : 30, "foreHandCount" : 15, "backHandCount" : 15, "serveCount" : 30, "type" : "OUTDOOR_RUN" } ] } 

Fitness Tracker - Huawei Ehrenband




Huawei Honor Band ist wie Xiaomi Band kein eigenständiges Gerät, und alle Daten werden von der auf dem Telefon installierten Anwendung erfasst. Die Anwendung basiert auch auf einer TLS-Verbindung, verfügt jedoch im Gegensatz zu Xiaomi über eine geringe Anzahl von Verbindungen. Alle von ihnen sind ausreichend geschützt, einschließlich von MITM-Angriffen und SSL-Strip-Angriffen.

Gleichzeitig werden im Rahmen der von den Sensoren des Trackers erhaltenen Backups viele Daten lokal empfangen, die in Service-, Benutzer- und Fitnessdaten unterteilt werden können, die wiederum in Rohdaten und aggregierte Daten unterteilt werden. Die Datenliste ist für iOS, unterscheidet sich jedoch nicht von der Android-Version.

  • Gerätedaten und Protokolle befinden sich im Ordner / hms / oclog / crash, / hms / oclog / log.
  • Die aktuellen und neuesten Werte des Trackers enthalten Informationen zu Schlaf, Weckdaten, Entfernungen (Entfernung, Kilometerstand usw.), Herzfrequenz und Kalorien. Sie befinden sich in den Dateien /Documents/*.archiver.
  • Die Firmware enthält alle Daten, den Speicherort, die URL, von der sie heruntergeladen wurde, die Größe, das Änderungsprotokoll, das Flag für erzwungene Aktualisierungen und die Firmware-Datei selbst, die mit Ausnahme der frühesten Versionen im Rahmen des sicheren DFU-Updates über HTTP heruntergeladen wird.
  • Geodaten umfassen Standortinformationen mit Bezug auf Zeit und Trennung nach Tagen und Arten von Aktivitäten sowie Daten zu Geschwindigkeit und Bewegungsrichtung, falls vorhanden. Sie befinden sich auch im Ordner /*.archiver.
  • Zu den Benutzerdaten gehören grundlegende Informationen - Profilbild, Name, Geburtsdatum, Größe, Gewicht, Geschlecht, Alter und allgemeine Daten zu Schritten und Kilometerstand. Befindet sich auch im Ordner /*.archiver.
  • Zu den Kontodetails gehören UDID, Token, Benutzer-ID, Sitzungs-ID, Mac-Geräteadresse und Bluetooth-Schlüssel.



Fitness Apps - Rennrad, Mountainbike




Als Beispiel für Fitnessanwendungen wurden RoadBike- und MountainBike PRO-Versionen betrachtet, die sich in der Implementierung nicht unterscheiden.

Diese Anwendungen verfolgen Benutzererfolge, Geschwindigkeitsanzeigen, Entfernungen und können in einige physische Tracker integriert werden. Dies impliziert auch keine Internetaktivität. Speichern Sie alle aufgezeichneten Daten lokal:

  • GPS-Daten - Geolokalisierung, Entfernung, Höhe und Höhe, lokale Zeitstempel und in Bezug auf GPS-Werte.
  • Sitzungsdaten - Zeitstempel, Entfernung, Streckendauer, Durchschnitts- und Minimax-Indikatoren, Höhenunterschieds-Herzindikatoren (falls ein spezieller Tracker vorhanden ist).
  • Geschwindigkeitsdaten - Zeitstempel, Fahrzeit, Entfernung (wenn Sie zusätzliche Sensoren haben, können Sie die korrekte Geschwindigkeitsberechnung korrigieren).
  • Benutzerdaten - Anmeldeinformationen (einschließlich Passwort im Klartext), Größe, Gewicht, Geschlecht, Name und Geburtsdatum.

Alle Daten werden in database.sqlite3 abgelegt. Darüber hinaus enthält die MapOpenCycleMap.SQLite-Datenbank Informationen zur Spur, einschließlich Geolokalisierung und eine Momentaufnahme von Geolokalisierung und Route.





Intelligente Medizin


Intelligente Medizin beinhaltet die Konvergenz digitaler Technologie mit Gesundheitsproblemen innerhalb der Gesellschaft, um die Effektivität der medizinischen Versorgung zu erhöhen. Diese Technologien umfassen Hardware- und Softwarelösungen und -dienste, einschließlich Telemedizin, Mobiltelefone und Anwendungen, tragbare Geräte und feste Geräte, Kliniksensoren oder Fernüberwachung.



Die meisten Gesundheitsanwendungen lassen sich in zwei Kategorien einteilen: Quellanwendungen (Messung von Indikatoren für die menschliche Gesundheit) und Datenaggregatoranwendungen (Sammeln von Daten an einem Ort aus verschiedenen Quellen).

Apfelgesundheit


Die Apple-Anwendung sammelt Gesundheitsdaten aus einer Vielzahl von Software- und Hardwarequellen (iPhone, Apple Watch und Anwendungen von Drittanbietern), die das HealthKit-Protokoll unterstützen.

Die Daten sind in 4 Kategorien unterteilt: Aktivität, Schlaf, Achtsamkeit und Ernährung (zusammenfassende Indikatoren für Aktivität, Schlaf und Wachheit, eine unbestimmte Kategorie für iOS 11-12, ein Ernährungstagebuch). Wenn Passcode, Touch ID oder Face ID verwendet werden, werden alle Daten in dieser Anwendung sowohl auf dem Gerät als auch in der Cloud verschlüsselt, auch bei der Übertragung von Daten über das Netzwerk. Informationen zum Datenschutzvergleich von Apple Health und Google Fit finden Sie im Artikel von Elcomsoft .



Weltweit können alle Apple Health-Daten aus Sicherheitsgründen in zwei Kategorien unterteilt werden: automatisch von der Anwendung aus verschiedenen Quellen gespeichert und Daten exportiert.

Im ersten Fall werden die meisten Daten verschlüsselt, und ein bestimmter Teil ist aus Sicht von Apple für die Verschlüsselung nicht kritisch.

Im zweiten Fall werden alle Daten im Klartext im CDA-Format (Clinical Document Architecture) angezeigt - typisch für den Austausch medizinischer Daten. und in einer bekannteren Form ist dies ein Archiv mit XML-Dateien. Es ist zu beachten, dass der Datenschutz durch Apple nicht bedeutet, dass Daten in Quellanwendungen ebenfalls geschützt sind (siehe die obigen Beispiele mit Trackern und die folgenden mit Gewichten). Es wird auch nicht garantiert, dass Anwendungen keine Daten aus anderen Quellanwendungen über Apple Healthkit verwenden und keine Daten in ihrer Cloud speichern.

Es ist erwähnenswert, dass das Berechtigungsmodell bei Apple ursprünglich etwas anders war. Im Gegensatz zu früheren Versionen von Android wurden alle Anforderungen für den Zugriff auf Anwendungsdaten beim Start oder nach Bedarf (nach Abschluss von Aktionen, für die Berechtigungen erforderlich sind) angefordert. Für die Apple Health-Anwendung wird jedoch keine detaillierte Liste der Berechtigungen zum Lesen und Schreiben von Indikatoren für Herz, Druck, Masse usw. mit einer detaillierten Beschreibung dessen angezeigt, was und warum erforderlich ist (wie üblich wird sofort alles angefordert).

Letzteres führt dazu, dass die ursprüngliche Idee einer Datensandbox mit dem Aufkommen von Anwendungen wie Apple Health für den Benutzer nicht offensichtlich ist, was Apple dazu veranlasste, eine weitere Sandbox für medizinische Daten zu erstellen. Zum Beispiel hat die Anwendung nach etwas zum Lesen und Schreiben gefragt, und es enthält nichts Kriminelles, obwohl die meisten Anwendungen, die mit Apple Health arbeiten, mit Ausnahme der Basisdaten nur Daten schreiben als lesen. Wenn die Anwendung explizit zum Lesen von Daten für die Arbeit ausgelegt ist, erfordert dies eine explizite Benachrichtigung des Benutzers, sodass er einzelne Leseanforderungen ohne Konsequenzen für die Anwendung verbieten kann. Mit anderen Worten, das Lesen und Schreiben der medizinischen Daten jeder Anwendung wie in einem Schlüsselbund oder einer Sandbox sollte von anderen Anwendungen isoliert werden, obwohl Apple Health in der Lage ist, alle Daten in sich selbst zu aggregieren. Andernfalls ist es von Seiten skrupelloser Entwickler möglich, auf die Daten anderer Anwendungen zuzugreifen und diese anschließend vom Gerät zu pumpen. Apple Health ermöglicht es Ihnen übrigens, Berechtigungen separat in den Quellen zu verwalten, aber die Frage nach dem korrekten Betrieb der Anwendung, wenn der Zugriff verweigert wird, bleibt offen (wie es früher bei Android für Anwendungsberechtigungen der Fall war).

Apple hat sich auch mit dem Problem befasst, von anderen Anwendungen aufgezeichnete Daten an eine Anwendung zu senden, die Daten anfordert. Die Anwendung (bei fehlendem Zugriff) empfängt nur Daten, die zuvor von derselben Anwendung gespeichert wurden. Dies erfordert jedoch a) das Deaktivieren und Überprüfen unnötiger Zugriffsrechte; b) Es gibt keine Garantie für den ordnungsgemäßen Betrieb der Anwendung, weil Es ist nicht bekannt, ob tatsächlich Berechtigungen zum Lesen von Daten erforderlich waren. Viele Anwendungen reagieren nicht auf Berechtigungsprüfungen. So verfügt beispielsweise die PICOOC-Smart-Scale-Anwendung nicht einmal über einen Abschnitt mit Leseberechtigungen, sondern nur über das Schreiben von Daten.

Eine interessante Tatsache ist, dass in der kommenden Version von Android die Erlaubnis zum Lesen in der Zwischenablage erwartet wird .

Apple Health-Daten werden auf die folgenden Datenbankdateien verteilt:

  • HealthDomain \ MedicalID \ MedicalIDData.archive - speichert Daten in Informationen, die vom Benutzer manuell eingegeben wurden (Name, Größe, Gewicht, medizinische Implantate).
  • HealthDomain \ Health \ healthdb.sqlite - eine Liste von Quellanwendungen , mit denen Sie Daten in ihrer ursprünglichen Form und ohne zusätzlichen Schutz abrufen können; enthält auch Informationen zum Quellgerät (Name, Modell / Hersteller, Zeitstempel, allgemeine Informationen zum Softwareteil / zur Umgebung).
  • HealthDomain \ Health \ healthdb_secure.sqlite - enthält zusätzliche Informationen (Geräte-UDID, Gerätename, Zeitstempel, Größe, Geschlecht, Blutgruppe, Geburtstag, körperliche Einschränkungen, Gesamtkörpergewicht, Zeitzone und Betriebssystemversion des Telefongeräts).
  • HealthDomain \ Health \ healthdb_secure.hfd ist eine verschlüsselte Datenbank, die Informationen aus Quellanwendungen enthält.



Wenn mit einem exportierten Datenarchiv gearbeitet wird (d. H. Ohne Verschlüsselung), muss verstanden werden, dass das Exportieren des Archivs überall auf dem Gerät durchgeführt werden kann, es in den Cloud-Speicher übertragen oder in eine andere Anwendung archiviert werden kann, was an sich ein Risiko darstellen kann weil Es enthält detaillierte Informationen, einschließlich, aber nicht beschränkt auf:

  • Benutzername, Profilbild, Größe, Körpergewicht.
  • Geo-Tracking (Gastland / Stadt, Betriebssystemversion).
  • Geräte-UDID, Gerätename, Datum der letzten Datenaktualisierung in der Apple Health-App.
  • Geburtstag, Geschlecht, Blutgruppe, Hautfarbe, Größe, Gewicht, Honig. Implantate.
  • Tägliche Indikatoren und Messungen, z. B. Herzfrequenz, Gewicht, Druck, verschiedene zusätzliche Indikatoren für Geräte und Anwendungen, Kalorien- und Ernährungstagebuchdaten, Trainings- und Entfernungsdaten, Aktivitätsprotokoll mit Zeitstempeln usw.
  • Kostenloser XML-Parser

Intelligente Waage Picooc


PICOOC integriert Hardwarelösungen in Internetanwendungen und -dienste. Insbesondere werden 13 Messungen in intelligenten Skalen überwacht, wie z. B. Gewicht, Körperfettanteil und Fettindex, Körpermasse, Knochen, Muskeln, Wasser im Körper, Stoffwechselalter und Änderungen der Indikatoren.





Die folgenden Daten werden lokal veröffentlicht:

  • Bluetooth-Protokolle entstehen beim Scannen von Geräten in der Nähe. Bei allen Geräten werden der Gerätename und die Mac-Adresse gespeichert.
  • Körpermesswerte werden in der Datenbank picooc.sqlite in der Tabelle "body_indexs" gespeichert und wurden oben in der Anwendungsbeschreibung erwähnt.
  • Informationen zum Gerät enthalten Informationen zur Mac-Adresse des Geräts, zum Modellnamen, zur Benutzer-ID und zum Geräte-Image und werden auch in der Datei in der Datei picooc.sqlite gespeichert.
  • Die Liste der Freunde enthält Informationen zu Name, Telefon, Benutzer-ID und Feld - vorausgesetzt, Freunde verwenden dieselbe Anwendung - d. H. Die Anwendung bildet ein soziales Netzwerk.
  • Benutzerinformationen umfassen Spitznamen, Benutzer-ID, Größe, Alter, Geschlecht, Rasse und bestehen aus zwei Teilen am Beispiel von iOS
  • Zu den Sensordaten gehören Informationen zu Zeit, Alter, Betriebssystem, Größe, Bildschirmeinstellungen, Gerätemodell, Spracheinstellungen, Umgebung usw. und werden in der Datei "\ sensoranalytics-message-v2.plist.db" gespeichert.
  • Die Einstellungen enthalten Informationen zum lokalen Kennwort, zur Entsperrmethode und zu den letzten Aktivitäten. gespeichert in der Datei "picooc \ Library \ Preferences \ com.picooc.international.plist" am Beispiel von iOS.



Unter dem Gesichtspunkt der Datenübertragung besteht die Möglichkeit des Abfangens mit einem Stammzertifikat. Die interessantesten Daten können wie folgt betrachtet werden:

  • Die URL des Profilbildes, die über den Link ständig öffentlich verfügbar ist und tatsächlich 2 URLs hat:
  • Informationen zum Gerät und zur Umgebung.
  • Benutzerinformationen, einschließlich Benutzername, Geburtstag, Größe, Gewicht, Zeitstempel, Betriebssystem und Zeitzone.
  • Anmeldeinformationen, einschließlich Kennwort, auch beim Ändern des Kennworts von alt zu neu.



Hier endet der erste Artikel. Der zweite Teil befasst sich mit Connected Home: Smart-TV, Sprachassistenten, Smart-Küche und Beleuchtung.

Source: https://habr.com/ru/post/de440288/


All Articles