{"id":993,"date":"2022-07-29T00:00:00","date_gmt":"2022-07-29T00:00:00","guid":{"rendered":"https:\/\/decareto-test.qivoro.han-solo.net\/2022\/07\/29\/find-data-protection-gaps-in-mobile-apps\/"},"modified":"2025-01-16T12:54:22","modified_gmt":"2025-01-16T12:54:22","slug":"datenschutzlucken-in-mobile-apps-finden","status":"publish","type":"post","link":"https:\/\/decareto.com\/de\/datenschutzlucken-in-mobile-apps-finden\/","title":{"rendered":"Datenschutzl\u00fccken in mobile Apps finden &#8211; Schritt-f\u00fcr-Schritt-Anleitung"},"content":{"rendered":"\n<p>Eine Website auf die unerlaubte Verwendung von externen Diensten zu untersuchen ist nicht sehr schwer, denn jeder Web-Browser hat eingebaute Entwicklertools, mit denen man Schn\u00fcffel-Dienste erkennen kann (Vollst\u00e4ndige Beschreibung&nbsp;<a href=\"https:\/\/decareto.com\/de\/ebook\/\">in unserem E-Book<\/a>&nbsp;).<\/p>\n\n\n\n<p>Mobile apps are a bit different &#8211; they also use external services, but this goes under the radar of most privacy advocates, because it&#8217;s less obvious how to investigate apps (and that it&#8217;s even possible). So in this article, you&#8217;ll learn the following with detailed step-by-step instructions:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Welche kosteng\u00fcnstige Software Sie verwenden k\u00f6nnen, um eine App zu untersuchen<\/strong><\/li>\n\n\n\n<li><strong>Wie Sie Ihr iPhone so konfigurieren, dass alle Netzwerkaufrufe durch diese Software \u00fcberwacht werden<\/strong><\/li>\n\n\n\n<li><strong>Wie Sie schlie\u00dflich damit die externen Dienste, die die App verwendet, identifizieren<\/strong><\/li>\n\n\n\n<li><strong>Und welche Datenschutzverletzungen wir am Beispiel der App von Miles &amp; More gefunden haben<\/strong><\/li>\n<\/ul>\n\n\n\n<p>Dabei fokussieren wir uns zun\u00e4chst auf iPhone-Apps und betrachten Android in einem separaten Artikel, denn die Android-Plattform hat gewisse technische Eigenheiten.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Schritt 1: Datenverkehr umleiten<\/h2>\n\n\n\n<p>Eine App greift im Normalbetrieb entweder \u00fcber ein WLAN oder das mobile Netz auf das Internet zu. F\u00fcr unsere \u00dcberpr\u00fcfung unterbrechen wir diese direkte Verbindung und schalten einen sogenannten \u201cIntercepting Proxy\u201d dazwischen. Dieser Proxy (der auf Ihrem Desktop oder Notebook l\u00e4uft) erlaubt es dann, einzelne Netzwerkaufrufe zu erkennen, und durch diese den Datentransfer zu externen Diensten nachzuweisen.<\/p>\n\n\n\n<p>Zum Start ben\u00f6tigen Sie ein WLAN-Netzwerk mit dem sich Ihr Smartphone verbinden kann, au\u00dferdem muss der Computer das gleiche Netzwerk verwenden (also bspw. im gleichen WLAN-Hotspot angemeldet sein \u2013 aber auch eine Kabelverbindung funktioniert).<\/p>\n\n\n\n<p>Sie m\u00fcssen im ersten Schritt die IP-Adresse Ihres Computers ermitteln. Wenn es sich um einen Mac handelt, dann finden Sie diese Information in der Systemsteuerung unter \u201cNetzwerk\u201d. Bei Windows \u00f6ffnen Sie im Startmen\u00fc den Punkt \u201cNetzwerkeigenschaften\u201d:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/decareto.com\/wp-content\/uploads\/2023\/01\/network_mac.jpg\" alt=\"\" class=\"wp-image-433\"\/><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/decareto.com\/wp-content\/uploads\/2023\/01\/network_windows.jpg\" alt=\"\" class=\"wp-image-436\"\/><\/figure>\n<\/div>\n\n\n<p>Diese IP-Adresse k\u00f6nnen Sie nun verwenden, um Ihr Smartphone zu zwingen, allen Datenverkehr \u00fcber Ihren Computer abzuwickeln. \u00d6ffnen Sie dazu die Einstellungen des iPhones und w\u00e4hlen Sie den Punkt \u201cWLAN\u201d.<\/p>\n\n\n\n<p>Klicken Sie das Info-Icon neben dem gerade verbundenen WLAN-Hotspot an.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/decareto.com\/wp-content\/uploads\/2023\/01\/iphone_1.jpg\" alt=\"\" class=\"wp-image-404\"\/><\/figure>\n<\/div>\n\n\n<p>Gehen Sie ans Ende des Dialogs und w\u00e4hlen Sie \u201cProxy konfigurieren\u201d.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/decareto.com\/wp-content\/uploads\/2023\/01\/iphone_2.jpg\" alt=\"\" class=\"wp-image-407\"\/><\/figure>\n<\/div>\n\n\n<p>Geben Sie dort folgende Angaben ein:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Wechseln Sie von \u201cAus\u201d in \u201cManuell\u201d<\/li>\n\n\n\n<li>F\u00fcr \u201cServer\u201d geben Sie die IP-Adresse Ihres Computers ein<\/li>\n\n\n\n<li>F\u00fcr \u201cPort\u201d geben Sie 8888 ein<\/li>\n\n\n\n<li>Vergessen Sie nicht, am Schluss mit \u201cSichern\u201d zu best\u00e4tigen.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/decareto.com\/wp-content\/uploads\/2023\/01\/iphone_3.jpg\" alt=\"\" class=\"wp-image-410\"\/><\/figure>\n<\/div>\n\n\n<p>Ihr iPhone hat nun zun\u00e4chst keine Verbindung mehr zum Internet \u2013 wir m\u00fcssen im zweiten Schritt den Proxy installieren.<\/p>\n\n\n\n<p>Wenn Sie Ihr iPhone wieder \u201cnormal\u201d verwenden m\u00f6chten, d\u00fcrfen Sie nicht vergessen, diesen Dialog noch einmal aufzurufen und von \u201cManuell\u201d auf \u201cAus\u201d zu wechseln, und zu sichern. Denn sobald Sie Ihren Computer ausschalten, h\u00e4tte Ihr iPhone sonst keine Verbindung mehr zum Internet.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Schritt 2: Charles Proxy installieren<\/h2>\n\n\n\n<p>Es gibt verschiedene Tools, die als Intercepting Proxy eingesetzt werden k\u00f6nnen. Ich selber verwende das kommerzielle Produkt \u201cCharles\u201d, denn es hat den Vorteil, dass es leicht bedienbar ist und sowohl f\u00fcr Windows als auch Mac erh\u00e4ltlich ist. Es gibt eine kostenfreie Testversion, die Vollversion kostet erschwingliche 50$. Laden Sie den Installer hier herunter und folgen Sie den Hinweisen f\u00fcr die Installation:&nbsp;<a href=\"https:\/\/www.charlesproxy.com\/download\/\">https:\/\/www.charlesproxy.com\/download\/<\/a><\/p>\n\n\n\n<p>Unmittelbar nach dem Installieren werden Sie bereits sehen, wie Netzwerk-Requests einlaufen und angezeigt werden. Das liegt daran, dass Charles automatisch auch den gesamten Netzwerkverkehr des Mac- bzw. Windows-Computers umleitet, was f\u00fcr unseren Zweck eher st\u00f6rend ist. Klicken Sie deshalb im Men\u00fc auf \u201cProxy\u201d und entfernen Sie das H\u00e4kchen bei \u201cWindows Proxy\u201d bzw. \u201cmacOS Proxy\u201d.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/decareto.com\/wp-content\/uploads\/2023\/01\/charles_1.jpg\" alt=\"\" class=\"wp-image-276\"\/><\/figure>\n<\/div>\n\n\n<p>Wenn Sie nun eine App im iPhone verwenden (etwa Safari), dann zeigt Charles zun\u00e4chst einen warnenden Dialog. Klicken Sie auf \u201cAllow\u201d, um dem Smartphone den Zugriff auf Charles zu erlauben.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/decareto.com\/wp-content\/uploads\/2023\/01\/charles_2.jpg\" alt=\"\" class=\"wp-image-279\"\/><\/figure>\n<\/div>\n\n\n<p>Nun sollten Sie sehen k\u00f6nnen, wie zus\u00e4tzliche Requests in die Liste einlaufen \u2013 aber die App wird auf dem Smartphone vermutlich Fehler anzeigen und nicht korrekt funktionieren. Der Grund daf\u00fcr ist, dass ein zwischengeschalteter Proxy von Ihrem Smartphone als \u201cMan-in-the-Middle\u201d-Angriff eingestuft wird, wie er auch von Hackern eingesetzt wird. Um exakt solche Angriffe abzuwehren, wurden SSL-Zertifikate entwickelt. Sie m\u00fcssen deshalb Ihr Smartphone dazu bringen, den Charles-Proxy als vertrauensw\u00fcrdig einzustufen, oder technischer: Sie m\u00fcssen das Root-Zertifikat von Charles zu den vertrauensw\u00fcrdigen Zertifikaten im iPhone hinzuf\u00fcgen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Schritt 3: Dem Charles-Root-Zertifikat vertrauen<\/h2>\n\n\n\n<p>Eine Beschreibung finden Sie auch auf der Charles-Website (&nbsp;<a href=\"https:\/\/www.charlesproxy.com\/documentation\/using-charles\/ssl-certificates\/\">https:\/\/www.charlesproxy.com\/documentation\/using-charles\/ssl-certificates\/<\/a>&nbsp;) , wir spielen den Prozess hier Schritt f\u00fcr Schritt durch:<\/p>\n\n\n\n<p>\u00d6ffnen Sie im Safari auf dem iPhone die URL&nbsp;<a href=\"https:\/\/chls.pro\/ssl\">https:\/\/chls.pro\/ssl<\/a>&nbsp;. Es \u00f6ffnet sich ein Download-Dialog f\u00fcr ein Konfigurationsprofil, den Sie mit Klick auf \u201cZulassen\u201d best\u00e4tigen m\u00fcssen.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/decareto.com\/wp-content\/uploads\/2023\/01\/iphone_4.jpg\" alt=\"\" class=\"wp-image-413\"\/><\/figure>\n<\/div>\n\n\n<p>Wechseln Sie dann zu \u201cEinstellungen\u201d, und dort zu \u201cAllgemein \/ VPN &amp; Ger\u00e4teverwaltung\u201d. Klicken Sie dort auf das geladene Profil von Charles Proxy.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/decareto.com\/wp-content\/uploads\/2023\/01\/iphone_5.jpg\" alt=\"\" class=\"wp-image-416\"\/><\/figure>\n<\/div>\n\n\n<p>Klicken Sie auf \u201cInstallieren\u201d. Sie m\u00fcssen dann den Ger\u00e4te-Code eingeben und in dem dann erscheinenden Dialog noch einmal auf \u201cInstallieren\u201d klicken.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/decareto.com\/wp-content\/uploads\/2023\/01\/iphone_6.jpg\" alt=\"\" class=\"wp-image-418\"\/><\/figure>\n<\/div>\n\n\n<p>Wechseln Sie dann zu \u201cEinstellungen \/ Info \/ Zertifikatsvertrauenseinstellungen\u201d. Klicken Sie auf den Schiebeschalter bei \u201cCharles Proxy CA\u201d so dass dieser gr\u00fcn wird und im dann erscheinenden Warndialog auf \u201cWeiter\u201d \u2013 damit ist die Konfiguration auf Seite des iPhones abgeschlossen.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/decareto.com\/wp-content\/uploads\/2023\/01\/iphone_7.jpg\" alt=\"\" class=\"wp-image-422\"\/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Schritt 4: Charles Proxy konfigurieren<\/h2>\n\n\n\n<p>Es m\u00fcssen nun noch einige Einstellungen im Charles Proxy durchgef\u00fchrt werden, damit Sie Charles optimal nutzen k\u00f6nnen.<\/p>\n\n\n\n<p>Um zu verhindern, dass Netzwerkzugriffe des Computers von Charles angezeigt werden, \u00f6ffnen Sie in Charles zun\u00e4chst den Men\u00fcpunkt \u201cProxy \/ Proxy Settings\u201d. Klicken Sie dort auf den Button \u201cmacOS\u201d bzw. \u201cWindows\u201d.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/decareto.com\/wp-content\/uploads\/2023\/01\/charles_3.jpg\" alt=\"\" class=\"wp-image-283\"\/><\/figure>\n<\/div>\n\n\n<p>Entfernen Sie dort alle Haken.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/decareto.com\/wp-content\/uploads\/2023\/01\/charles_4.jpg\" alt=\"\" class=\"wp-image-286\"\/><\/figure>\n<\/div>\n\n\n<p>Damit Sie die Details der SSL-verschl\u00fcsselten Netzwerkzugriffe sehen k\u00f6nnen \u00f6ffnen Sie nun den Men\u00fcpunkt \u201cProxy \/ SSL Proxy Settings\u201d. Klicken Sie dort den Button \u201cAdd\u201d und geben Sie in dem kleinen Dialog, der sich \u00f6ffnet, die Eingabe wie im Bild unten ein. Best\u00e4tigen Sie mit \u201cOK\u201d.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/decareto.com\/wp-content\/uploads\/2023\/01\/charles_5.jpg\" alt=\"\" class=\"wp-image-289\"\/><\/figure>\n<\/div>\n\n\n<p>Damit st\u00f6rende Zugriffe des Smartphones zu Apple-Servern unterdr\u00fcckt werdem \u00f6ffnen Sie dann den Men\u00fcpunkt \u201cProxy \/ Recording Settings \/ Exclude\u201d. F\u00fcgen Sie dort zwei Eintr\u00e4ge hinzu f\u00fcr\u00a0<em>*.apple.com<\/em>\u00a0und\u00a0<em>*.icloud.com<\/em>\u00a0indem Sie auf \u201cAdd\u201d klicken und den Dialog wie unten im Bild ausf\u00fcllen.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/decareto.com\/wp-content\/uploads\/2023\/01\/charles_8.jpg\" alt=\"\" class=\"wp-image-302\"\/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Schritt 5: Die Charles Proxy Oberfl\u00e4che<\/h2>\n\n\n\n<p>Jetzt kann es endlich losgehen. Die Oberfl\u00e4che von Charles Proxy sieht auf den ersten Blick sehr technisch und dementsprechend abschreckend aus, Sie k\u00f6nnen sich aber auf einige wenige Punkte beschr\u00e4nken.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/decareto.com\/wp-content\/uploads\/2023\/01\/charles_6-1024x600.jpg\" alt=\"\" class=\"wp-image-292\"\/><\/figure>\n<\/div>\n\n\n<ol class=\"wp-block-list\">\n<li>Ein Klick auf das Besen-Symbol leert die Liste der Requests. Das ist n\u00fctzlich um den \u00dcberblick in einer Testsitzung zu behalten.<\/li>\n\n\n\n<li>Ein Klick auf den roten Kreis stoppt die Aufnahme, ein weiterer Klick startet sie wieder.<\/li>\n\n\n\n<li>Dieser Umschalter schaltet zwischen zwei Darstellungsweisen der einlaufenden Requests hin und her. Wir lassen in unserem Beispielen den Schalter auf \u201cSequence\u201d weil dann der zeitliche Zusammenhang besser erkennbar ist.<\/li>\n\n\n\n<li>Im oberen Bereich des Inhaltsfenster ist die Liste der Netzwerkrequests zu sehen, wobei oben die \u00e4lteren und unten die neueren stehen. F\u00fcr die Auswertung ist die Spalte \u201cHost\u201d am relevantesten.<\/li>\n\n\n\n<li>Diese Men\u00fcleiste erlaubt unterschiedliche Darstellungsweisen der Ergebnisse. Sie erscheint, sobald ein Request durch Anklicken ausgew\u00e4hlt wurde (im Screenshot blau hinterlegt). W\u00e4hlen Sie am besten \u201cContents\u201d aus<\/li>\n\n\n\n<li>\u2013 9.: Wenn Sie \u201cContents\u201d ausgw\u00e4hlt haben, dann werden hier die Inhalte der Netzwerkanfrage und der Antwort des Servers angezeigt. In den Men\u00fcs 6. und 8. kann man das Anzeigeformat ausw\u00e4hlen.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Einige praktische Tipps<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Beobachten Sie zum Start, ob Netzwerkrequests einlaufen, ohne dass das iPhone mit dem Computer verbunden ist, indem Sie im iPhone-Men\u00fc \u201cEinstellungen \/ WLAN\u201d die Proxyeinstellungen aus Schritt 1 r\u00fcckg\u00e4ngig machen und auf \u201cAus\u201d stellen. L\u00f6schen Sie die Liste und warten Sie einen Moment. In der Liste sollten keine weiteren Requests auftauchen \u2013 damit k\u00f6nnen Sie sicherstellen, dass keine Aufrufe aus dem Computer zwischen die aus dem Smartphone geraten.<\/li>\n\n\n\n<li>Vermutlich k\u00f6nnen Sie nur Apps aus dem Appstore installieren, wenn die Proxyeinstellungen im iPhone auf \u201cAus\u201d stehen (zumindest ist das bei mir so). Laden Sie also zun\u00e4chst die Apps, die Sie ben\u00f6tigen, und konfigurieren Sie dann den Proxy im iPhone wie am Ende von Schritt 1. beschrieben.<\/li>\n\n\n\n<li>Es ist leider nicht m\u00f6glich, nur den Netzwerkverkehr einer bestimmten App zu \u00fcberwachen, vielmehr sehen Sie in Charles alles, was insgesamt vom Smartphone aufgerufen wird. Sie sollten deshalb zun\u00e4chst s\u00e4mtliche Apps beenden und beobachten, welche Aufrufe das Smartphone trotzdem noch macht \u2013 etwa weil automatisch Mails abgerufen werden.<\/li>\n\n\n\n<li>Sie m\u00fcssen die Ergebnisse mit einer gewissen Skepsis betrachten, weil jederzeit Requests an Mailserver o.\u00c4. dazwischengeraten k\u00f6nnen. Wiederholen Sie eine Untersuchung am besten um Ergebnisse zu verifizieren.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Schritt 6: Eine App untersuchen<\/h2>\n\n\n\n<p>Nach der zugegebenerma\u00dfen etwas umst\u00e4ndlichen Vorbereitungsphase (die Sie zum Gl\u00fcck nur einmalig durchlaufen m\u00fcssen) k\u00f6nnen Sie nun endlich eine mobile App testen. Als Beispiel schauen wir uns in diese Artikel die&nbsp;<strong>Miles &amp; More app<\/strong>&nbsp;aus dem Lufthansa-Konzern an.<\/p>\n\n\n\n<p>Laden Sie dazu die App aus dem Appstore (wenn Sie sie nicht ohnehin schon haben), \u00f6ffnen Sie sie aber noch nicht. Konfigurieren Sie dann den Proxy im iPhone wie in Schritt 1. beschrieben, so dass das iPhone mit dem Computer verbunden wird. \u00d6ffnen Sie als kurzen Test den Safari und laden Sie eine Seite \u2013 Sie sollten dann Requests einlaufen sehen. Beenden Sie Safari (und alle anderen Apps) wieder.<\/p>\n\n\n\n<p>L\u00f6schen Sie nun die Liste in Charles durch Klick auf den Button 1. und \u00f6ffnen Sie die Miles &amp; More App. Es erscheint ein Startfenster, in dem Sie sich als Gast einloggen k\u00f6nnen. W\u00e4hlen Sie diese Option, und die App \u00f6ffnet eine \u00dcbersichtsseite.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/decareto.com\/wp-content\/uploads\/2023\/01\/iphone_8.jpg\" alt=\"\" class=\"wp-image-424\"\/><\/figure>\n<\/div>\n\n\n<p>Stoppen Sie die Aufnahme in Charles durch Klick auf den roten Button (2.). Die Liste sieht in meinem Fall nun wie folgt aus:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/decareto.com\/wp-content\/uploads\/2023\/01\/charles_9-1024x289.jpg\" alt=\"\" class=\"wp-image-305\"\/><\/figure>\n<\/div>\n\n\n<p>Es sind insgesamt 4 verschiedene Hostnamen zu sehen. W\u00fcrden wir weitere Funktionen der App aufrufen, bspw. Registrierung, Login oder Kauf, so w\u00fcrden vermutlich weitere Hosts dazukommen. F\u00fcr einen ersten Check sollen diese vier aber gen\u00fcgen.<\/p>\n\n\n\n<p>Ob hier eine Verbindung zu externen Diensten aufgebaut wird (und zu welchen) kann nun durch Betrachten der Hosts bzw. der Domains ermittelt werden. Was man schon ohne weitere Pr\u00fcfung feststellen kann: Der Verbindungsaufbau zu den Diensten (und damit das \u00dcbertragen personenbezogener Daten in Form mindestens der IP-Adresse) geschah ohne Einwilligung, denn es wurde kein Consent-Banner oder eine Information zu externen Diensten angezeigt.<\/p>\n\n\n\n<p>Schauen wir uns die einzelnen Hosts von oben nach unten an:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">assets.adobedtm.com<\/h4>\n\n\n\n<p>\u00d6ffnen Sie im Browser auf dem Computer eine Suchmaschine Ihrer Wahl (im Beispiel verwende ich Google) und geben Sie im Suchschlitz \u201cassets.adobedtm.com\u201d ein, und zwar mit Anf\u00fchrungszeichen, wie im Screenshot zu sehen:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/decareto.com\/wp-content\/uploads\/2023\/01\/google_1.jpg\" alt=\"\" class=\"wp-image-382\"\/><\/figure>\n<\/div>\n\n\n<p>In Google erscheinen eine Reihe von Suchergebnissen, unter anderem eine Diskussion aus einem Forum von Adobe:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/decareto.com\/wp-content\/uploads\/2023\/01\/google_2.jpg\" alt=\"\" class=\"wp-image-385\"\/><\/figure>\n<\/div>\n\n\n<p>Mit ein wenig weiterer Recherche ist leicht zu ermitteln, dass DTM f\u00fcr \u201cAdobe Dynamic Tag Management\u201d steht, den Tag Manager von Adobe, vergleichbar mit dem Google Tag Manager. Man k\u00f6nnte diesen Dienst als \u201cFunktional\u201d einstufen, allerdings ist Adobe ein Unternehmen aus den USA, es werden hier also Daten in einen unsicheren Drittstaat \u00fcbertragen.<\/p>\n\n\n\n<p>Die Datenschutzerkl\u00e4rung ist in der App nicht ganz leicht zu finden (3 Klicks vom Homescreen entfernt) und auf mehrere Seiten verteilt, ein Hinweis auf den Dienst ist in der Datenschutzerkl\u00e4rung nicht zu finden.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">dpm.demdex.net<\/h4>\n\n\n\n<p>Eine analoge Suche nach dieser Domain zeigt, dass demdex.net f\u00fcr den \u201cAdobe Audience Manager\u201d steht. Folgende Beschreibung l\u00e4sst sich daf\u00fcr finden:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Audience Manager helps you bring your audience data assets together, making it easy to collect commercially relevant information about site visitors, create marketable segments, and serve targeted advertising and content to the right audience.<\/p>\n<\/blockquote>\n\n\n\n<p>Dieser Dienst dient also zum personalisierten Ausspielen von Werbung \u2013 also keinesfalls funktional, und wieder verbunden mit einer Datenverarbeitung in unsicherem Drittstaat. Ein Hinweis auf den Dienst ist in der Datenschutzerkl\u00e4rung nicht zu finden.<\/p>\n\n\n\n<p>Wenn man den Aufruf in der Liste anklickt, dann zeigt sich auch, dass kryptisch aussehende Daten im Request zum Dienst \u00fcbertragen werden, und dieser mit Daten antwortet (was die Werte bedeuten k\u00f6nnte man durch eine Google-Recherche sicher ebenfalls ermitteln):<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/decareto.com\/wp-content\/uploads\/2023\/01\/charles_10-1024x735.jpg\" alt=\"\" class=\"wp-image-310\"\/><\/figure>\n<\/div>\n\n\n<h4 class=\"wp-block-heading\">firebaselogging-pa.googleapis.com<\/h4>\n\n\n\n<p>Dieser Aufruf geh\u00f6rt, wie unschwer zu erkennen ist, zu Google. Eine Recherche zeigt auch schnell, dass Firebase ein Paket von Diensten f\u00fcr die Entwicklung von mobilen Apps ist. Einen exakten Treffer, der diesen Aufruf erkl\u00e4rt, konnte ich nicht finden, deshalb habe ich ihn etwas vereinfacht und versuchsweise nach&nbsp;<em>firebaselogging.googleapis.com<\/em>&nbsp;. Daf\u00fcr gab es folgenden Treffer in einem Google-Diskussionsforum:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/decareto.com\/wp-content\/uploads\/2023\/01\/google_3.jpg\" alt=\"\" class=\"wp-image-389\"\/><\/figure>\n<\/div>\n\n\n<p>Hier geht es also um \u201cCrashdetection\u201d, d.h. der Dienst protokolliert zum Zweck der Qualit\u00e4tssicherung abgest\u00fcrzte Apps. Das kann als funktional eingestuft werden, aber leider findet auch hierbei eine Daten\u00fcbertragung aus der EU heraus statt. Ein Hinweis auf den Dienst ist in der Datenschutzerkl\u00e4rung nicht zu finden.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">milesandmore.sc.omtrdc.net<\/h4>\n\n\n\n<p>F\u00fcr diesen Hostnamen gibt es keinen exakten Treffer, deshalb suchen wir versuchsweise nach&nbsp;<em>sc.omtrdc.net<\/em>&nbsp;was sich sehr schnell als \u201cAdobe Analytics\u201d herausstellt, den Webanalyse-Dienst von Adobe. Nicht wirklich notwendig, und auch hier findet eine Daten\u00fcbertragung in die USA statt. Die Datenschtzerkl\u00e4rung informiert \u00fcber Adobe Analytics, ein Hinweis, auf welcher Rechtsgrundlage die Verarbeitung erfolgt, fehlt aber.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Und was ist mit Cookies?<\/h2>\n\n\n\n<p>Das Speichern und Lesen von Daten auf dem Endger\u00e4t l\u00e4uft bei nativen mobilen Apps anders ab als im Web-Browser. In den Netzwerkrequests werden Daten als \u201cNutzlast\u201d \u00fcbergeben, die typischerweise in einer Datenbank auf dem Smartphone gespeichert werden. Das Speichern kann aber nicht ohne Weiteres mit Charles beobachtet und nachgewiesen werden.<\/p>\n\n\n\n<p>Es gibt eine Ausnahme: eine App kann ein Browserfenster einbinden, einen sogenannten \u201cWebview\u201d. Dieser verh\u00e4lt sich genau so wie ein Browser, auch was Cookies angeht. Man kann das Setzen und Lesen von Cookies in den Netzwerkrequests sehen, es ist aber etwas umst\u00e4ndlich \u2013 und man kann davon ausgehen, dass im nativen Teil, wie oben beschrieben, deutlich mehr Daten gespeichert werden als durch Cookies im Webview. Da wir also ohnehin nie das gesamte Bild \u00fcberblicken k\u00f6nnen, verzichten wir hier auf eine Untersuchung der Cookies.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p class=\"has-text-align-left has-medium-font-size\">Die App von Miles &amp; More l\u00e4dt allein beim \u00d6ffnen der Startseite ohne Einwilligung vier Dienste aus den USA, davon zwei aus dem Bereich Werbung bzw. Analytics. Ob sich diese Zahl erh\u00f6ht wenn weitere Funktionen der App untersucht werden ist offen (aber nicht unwahrscheinlich). Hier w\u00fcrde man auf jeden Fall ein vorgeschaltetes Consent-Banner erwarten. Auch was die Erf\u00fcllung von Informationspflichten angeht gibt es jede Menge Luft nach oben. Insgesamt also ein eher m\u00e4\u00dfiges Eregbnis f\u00fcr die Miles &amp; More App (Stand 28. Juli 2022).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Eine Website auf die unerlaubte Verwendung von externen Diensten zu untersuchen ist nicht sehr schwer, denn jeder Web-Browser hat eingebaute Entwicklertools, mit denen man Schn\u00fcffel-Dienste erkennen kann (Vollst\u00e4ndige Beschreibung&nbsp;in unserem E-Book&nbsp;). Mobile apps are a bit different &#8211; they also use external services, but this goes under the radar of most privacy advocates, because it&#8217;s [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":2388,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_seopress_robots_primary_cat":"none","_seopress_titles_title":"Datenschutzl\u00fccken in mobile Apps finden - Schritt-f\u00fcr-Schritt-Anleitung","_seopress_titles_desc":"So finden Sie Datenschutzl\u00fccken in mobilen Apps - Arbeiten mit Charles Proxy - Apps gr\u00fcndlich pr\u00fcfen","_seopress_robots_index":"","footnotes":""},"categories":[10],"tags":[],"class_list":["post-993","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials-and-know-how"],"acf":[],"_links":{"self":[{"href":"https:\/\/decareto.com\/de\/wp-json\/wp\/v2\/posts\/993","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/decareto.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/decareto.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/decareto.com\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/decareto.com\/de\/wp-json\/wp\/v2\/comments?post=993"}],"version-history":[{"count":3,"href":"https:\/\/decareto.com\/de\/wp-json\/wp\/v2\/posts\/993\/revisions"}],"predecessor-version":[{"id":2101,"href":"https:\/\/decareto.com\/de\/wp-json\/wp\/v2\/posts\/993\/revisions\/2101"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/decareto.com\/de\/wp-json\/wp\/v2\/media\/2388"}],"wp:attachment":[{"href":"https:\/\/decareto.com\/de\/wp-json\/wp\/v2\/media?parent=993"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/decareto.com\/de\/wp-json\/wp\/v2\/categories?post=993"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/decareto.com\/de\/wp-json\/wp\/v2\/tags?post=993"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}