Trackertest
Der Trackertest muss nach jedem Expo Update durchgeführt werden!
Vorbereitung:
- Download der zu testenden APK vom Playstore
- Installation/Update APKTOOL
- Installation/Update mitmproxy
Mitmproxy
mitmproxy - an interactive HTTPS proxy
Dieses Tool wird zwischen der App (Emulator/Simulator) geschalten und somit der Netzwerkverkehr mitgeschnitten. Darüber lässt sich somit prüfen, ob Trackingcalls an gesendet werden. Zur Prüfung unter iOS kann der Simulator verwendet werden, da auf nativen Geräten ggf. zusätzliche Prozesse/Apps aktiv sind. Mit dem Android Emulator konnte bisher kein erfolgreicher Test durchgeführt werden, weshalb sich die Verwendung eines echten Android Geräts empfiehlt. Hierfür muss allerdings ein gerootetes Gerät verwendet werden, da sich ohne dies das zu installierende Zertifikat nicht korrekt verwenden lässt. Mit älteren Android Versionen ist es möglich, jedoch werden diese Versionen in naher Zukunft nicht mehr supportet und werden ohnehin nur noch selten verwendet.
Starten des Mitmproxy via
mitmweb
Android
Apktool (Android only) - Verwendete Bibliotheken
Nachfolgender Befehl decodiert die angegebene APK und schreibt die Dateien in einen gleichnamigen Ordner:
apktool d <name_der_apk>.apk
Die dabei erstellte AndroidManifest.xml und apktool.yml geben Informationen zu Bibliotheken, welche in der APK enthalten sind, aber nicht zwangsweise verwendet werden.
Test über Proxy
Da wie zuvor beschrieben, ist für die Verwendung von Mitmproxy ein gerootetes Gerät notwendig. Alternativ kann für den Trackertest unter Android auch ein anderer Proxy verwendet werden. Aktuell bekannt und funktional ist Charles Proxy. Das Programm ist aber leider nur als Testversion frei erhältlich, welche nach einer gewissen Laufzeit abläuft.
Charles Web Debugging Proxy • HTTP Monitor / HTTP Proxy / HTTPS & SSL Proxy / Reverse Proxy
Wie auch bei Mitmproxy muss hierbei das Android Gerät so konfiguriert werden, dass es sich zum einen im gleichen Netzwerk wie das Gerät mit laufenden Charles Proxy befindet. Zudem muss die Netzwerkverbindung über den PC/Mac (IP Adresse) geleitet wird, auf dem Charles Proxy ausgeführt wird. Diese Einstellung können über die WLAN Einstellung auf dem Android Gerät vorgenommen werden. Hierzu muss der Proxy im verbundenen WLAN hinzugefügt werden.
iOS
iOS - Einrichtung auf iOS (reales Gerät)
- PC/Mac (mit gestarteten mitmproxy) und iPhone müssen im gleichen Netzwerk sein
- Auf dem iPhone: Einstellungen → WLAN → Info Icon neben verbundenen WLAN wählen → Scrollen zu HTTP-Proxy. Diesen auf manuell stellen und die IP Adresse des PC/Mac mit mitmproxy einstellen. Der Port muss auf 8080 eingestellt werden (Standardport mitmproxy). Eine Authentifizierung ist nicht notwendig und sollte somit deaktiviert bleiben.
- Im Safari http://mitm.it/ aufrufen. Hier sollte eine Liste von Systemen erscheinen. iOS heraussuchen, das Zertifikat herunterladen (Grüner Button) und der Anleitung (blauer Button) folgen. Danach sollte der gesamte Netzwerkverkehr in der mitmproxy Oberfläche ersichtlich sein.