Jens Dutzis Life

Linux, Server, Webhosting and more ;-)

Durchsuche Beiträge mit Schlagwörtern spyware

Normalerweise geht man ja davon aus, dass man Anwendungen, die einem vom Hersteller eines Handy geschenkt werden, auch bedenkenlos verwendet werden können. Aber zurück zum Anfang. Seit einigen Tagen verschenkt Apple an seine Kunden im 12 Tage lang zum Jahreswechsel ein Gratis-Produkt aus dem eigenen iTunes Store. Dabei handelte es sich nicht nur um Lieder oder Videos, sondern auch um Apps für den iPod Touch und dem iPhone.

Die erste Anwendung war von EA und Hasbro das Spiel Trivial Pursuite und heute das relativ bekannte Spiel Labyrinth. Bei letzterem gingen allerdings bei mir schon die Alarmglocken los. Labyrinth, war da nicht etwas mit der Lite-Version der Software?

Als ich es installiert hatte und hier innerhalb meines Wlan Netzes gestartet hab, machte ich als Kurztest ein Blick in die Firewall Logfiles. Schon irgendwie überrascht war ich, als ich folgende Einträge sehen konnte:

Jan  2 12:50:17 ipgate ulogd[1265]: OUTGOINGFW:DROP:11 IN=br0 OUT=eth0 MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=192.168.0.xxx DST=67.221.231.147 LEN=64 TOS=00 PREC=0x00 TTL=63 ID=12551 DF PROTO=KEY_TCP SPT=51013 DPT=80 SEQ=2850346608 ACK=0 WINDOW=65535 SYN URGP=0

Die IP ist auch bekannt unter dem Hostname beacon.pinchmedia.com welche bei mir zumindest im Router geblockt wird.

Also schaute ich nochmal etwas genauer in mein Anwendungsverzeichnis und prüfte die von mir neu geladenen Apps nach den typischen Pinchmedia Code-Bestandteilen “libPinchAnalytics” und “libPMAnalytics”. Dabei fand ich überraschenderweise gleich zwei Treffer:

labyrinth trivialpursuite

Bei den beiden Apps handelt es sich ausgerechnet um diejenigen, die Apple innerhalb der letzten paar Tage verschenkte.

In beiden Anwendungen kann man erkennen, dass Code-Bestandteile von Pinchmedia vorhanden sind. Bei einem genaueren Blick ist mir allerdings aufgefallen, dass augenscheinlich nur Labyrinth eine Verbindung zu der bekannten IP Adresse von Pinchmedia aufgebaut hat. Trivial Pursuite selber baute dagegen zumindest bei meinem Test-Start keine Verbindung zu dieser Adresse auf.

Klar kann man daher sagen, dass Labyrinth zumindest zu den “typischen” Anwendungen mit Pinchmedia Spyware gehört. Bei Trivial Pursuite dagegen kann man es nicht genau sagen. Es gibt zwar Anhaltspunkte hierfür, aber solange man nicht den Datenstrom ins Internet untersucht, wozu ich aktuell noch keine Zeit hatte, so kann man es nicht mit Sicherheit sagen. Da allerdings Pinchmedia, wie bereits erwähnt, auch weitere IP-Adressen und Hostnamen im Internet betreiben kann und auch der Verbindungsaufbau erst verzögert oder nur bei bestimmten Spielsituationen stattfinden kann, so ist zumindest nicht ausgeschlossen, dass es sich um Spyware handelt.

Im Endeffekt muss hier, wie bereits im letzten Artikel über Pinchmedia erwähnt, jeder selber entscheiden was er von solchen Anwendungen hält. Ich für meinen Teil habe beide Apps wieder von meinem iPhone entfernt, auch wenn beides doch recht interessante und kurzweilige Anwendungen waren.

PinchmediaCode Gestern hatte ich ja einiges über Pinchmedia Code in iPhone Anwendungen geschrieben. Dabei blieb allerdings die Frage offen, wie man Anwendungen erkennt, die Nutzerdaten an Pinchmedia senden. Da in vielen Fällen kein Softwarelizenzvertrag im Appstore zu finden ist und falls einer existiert, auch nur selten erwähnt wird, dass persönliche Daten an ein externes Unternehmen gesendet werden, besteht keine wirklich sichere Methode solche Anwendungen zu erkennen.

Auch wenn die Kommentare anderer Nutzer im Appstore kein sicherer Weg sind um Pinchmedia-Code in Anwendungen zu entdecken, so sollte man dennoch sich einmal die Kommentare vor dem Kauf genauer anschauen. Dabei sind nicht nur die aktuellen Kommentare von Interesse, sondern auch ältere. Ein Teil der Anwendungen kann man hiermit schon finden.

Da dieser Weg nicht wirklich sicher ist, so bleibt nur die Möglichkeit nach dem Kauf einer Anwendung nach verdächtigen Codestellen zu schauen, wofür mehrere Möglichkeiten zur Verfügung stehen.

Weg 1: Anwendungen automatisch prüfen unter Windows (Anfänger):

Mit der kostenlosen Anwendung IPA– Scanner von “dechavue” gibt es ein einfachen Weg um nach Pinchmedia-Code in Anwendungen zu suchen. Die Software kann im izene.com-Forum im Thread Pinchmedia späht Benutzerdaten aus/ incl HowTos zur Vermeidung heruntergeladen werden.

Die Bedienung der englischsprachigen Software ist relativ schnell erklärt. Als erstes Klickt man auf “Add Folder” und wählt den Mobile Applications von iTunes aus. In der Regel befindet sich dieser in %homepath%\Music\iTunes\Mobile Applications. Um den Ordner herauszufinden, langt aber auch in iTunes ein Klick mit der rechten Maustaste auf ein Programm und den Menüpunkt “In Windows Explorer zeigen” auszuwählen. Ob man den richtigen Ordner im IPA Scanner gewählt hat kann man daran erkennen, dass sich eine Liste aufbaut mit den verschiedenen Apps welche in dem gewählten gespeichert wurden und dem Status “Pending”.

Um die Anwendungen zu prüfen, ist nun ein Klick auf den “Scan” notwendig, wobei der Scanvorgang je nach Umfang durchaus etwas andauern kann. Ist der Scanvorgang abgeschlossen, sollten sich die Apps-Einträge farblich verändert haben.

Anhand der Farbe kann man nun erkennen, ob es sich um eine Anwendung mit Pinchmedia-Code handelt. Ist der Eintrag grün und steht in der Status-Spalte “Clean”, so ist die Anwendung mit relativer Sicherheit ungefährlich. Wird Pinchmedia-Code gefunden, so wird die Anwendungs-Zeile rot eingefärbt und als Status steht “Infected”. Hier sollte man auf jeden Fall Vorsicht walten lassen.

Weg 2: Anwendungen manuell prüfen unter Windows (Experten):

Als erstes sollte man einmal herausfinden, in welchem Ordner iTunes die mobilen Anwendungen gespeichert hat. Unter Windows Vista und 7 ist dies, sofern man die Standard-Einstellungen lässt, meistens %homepath%\Music\iTunes\Mobile Applications. Es besteht allerdings auch die Möglichkeit einfach im iTunes ein Programm mit der rechten Maustaste anzuklicken und auf “In Windows Explorer zeigen” auswählen.

In dem gesuchten Ordner sollten sich nun einige Dateien mit der Dateiendung .ipa befinden, welche für die einzelnen Anwendungen stehen. Als nächstes sollte man sich auf jeden Fall erst einmal eine Kopie des Ordners erstellen mit dem man die nachfolgenden Schritte ausführen kann.

Nachdem alle Vorbereitungen abgeschlossen sind, kann man nun mit der Suche beginnen, wobei die manuelle Suche etwas aufwendig sich darstellt. Als erstes benennt man die Dateiendung der zu prüfenden Anwendung von .ipa in .zip um, damit wir den Inhalt der Pakete ansehen können. Der zweite Schritt ist das entpacken der Datei mit seinem Lieblings-Entpacker wie 7zip. Natürlich kann hier auch die von Windows mitgelieferte Zip-Unterstützung verwendet werden. Wurde das Paketfile entpackt, so sollte man folgende Ordnerstruktur vorfinden: Payload/Anwendungsname.app/. In genau diesem Ordner findet sich meistens eine Datei, die etwas größer als die anderen ist, keine Dateiendung besitzt und deren Namen meistens Identisch ist mit dem vorherigen Ordnername (dem Teil vor “.app”).

Diese Datei öffnen wir nun in einem Editor wie NotePad++. Aber auch hier würde im Zweifel auch das Notepad von Windows ausreichen. Ist die Datei erfolgreich geöffnet worden, sollte man eine Menge kryptischer Zeichen sehen. Dabei handelt es sich um keinen Fehler, sondern ist auch so tatsächlich erwünscht. Nun nutzen wir die im Texteditor eingebaute Suchfunktion um nach libPinchAnalytics zu suchen. Findet der Texteditor dabei einen Treffer und findet eine ähnlichen Text wie: “/Users/xxxxxxx/Development/xxxxxxxxx/Classes/libPinchAnalytics.a”, dann kann man mit Sicherheit davon ausgehen, dass hier die Statistik-Funktionen von Pinchmedia verwendet werden. Wichtig: der Teil vor libPinchAnalytics.a kann je nach Anwendung unterschiedlich sein.

[Update 1]
Anscheinend gibt es auch eine zweite Datei, die auf PinchMedia schließen lässt, nachdem anscheinend die Software des Unternehmens eine „kleine” Änderung erfahren hat. Zusätzlich zu der oben genannten Datei sollte man nun auch zusätzlich nach libPMAnalytics ausschau halten, da auch diese Datei ein Hinweis auf Pinchmedia-Code ist. Der Treffer sieht hier ähnlich wie bei der ersten Datei aus: „…/pinchmedia/libs/libPMAnalytics.a”, wobei auch hier der Pfad je nach Anwendung unterschiedlich sein kann.
[/Update 1]

[Update 3]
Mittlerweile ergaben sich noch weitere Änderungen am PinchMedia Framework, sodass eine zusätzliche Suche nach PinchAnalytics notwendig wird. Die beiden Suchbegriffe die man zur Zeit verwenden sollten lauten daher: PinchAnalytics und libPMAnalytics.
[/Update 3]

Weg 3: Manuelle Suche auf einem Mac (Experten):

Im Endeffekt sind die Schritte bei einem Mac ähnlich wie die unter Windows. Ausschließlich die Pfadangaben sind hier unterschiedlich. Eine separate Anleitung ist daher eigentlich nicht notwendig. Eine Software welche automatisch nach Pinchmedia-Code sucht ist mir leider nicht bekannt.

[Update 2]
Eine leider unbekannte Person hat mir heute noch ein kleines Shellscript für Mac-Systeme zukommen lassen, mit dessen Hilfe man seine Apps ebenfalls nach PinchMedia Code untersuchen kann. Im Endeffekt entpackt das Script alle iPhone Apps in ein Temporär-Ordner und prüft dann deren Inhalt nach PinchMedia Code. Im Fall eines Treffers zeigt es dann an in welcher Datei der Code gefunden wurde. Wichtig dabei ist, dass sich um den eigentlichen Dateinamen der Anwendung handelt und dies nicht unbedingt identisch sein muss zum Namen der Anwendung. Aber in den meisten Fällen sollte man die Anwendung anhand des Dateinamens erkennen.

Für die Nutzung des Scripts sollte einem die Konsole unter MacOS nicht unbekannt sein. In der Konsole muss man eigentlich nur das unten angefügte Script z.B. in seinem Home-Verzeichnis mit dem Datennamen pinchmediascanner.sh speichern und zuerst einmal ausführbar machen. Da für die Verwendung eh die Konsole benötigt wird, kann man dies gleich in der Konsole erledigen. Hierzu wechselt man mittels cd ~ in den Home-Ordner und  mit chmod +x pinchmediascanner.sh wird die Datei ausführbar gemacht.  Danach einfach das Script mit ./pinchmediascanner.sh starten und — je nach Anzahl der Apps — erst einmal eine Tasse Kaffee besorgen. Der Scan-Vorgang kann durchaus einige Zeit andauern. Noch eine kleine Information: Während die Apps entpackt werden, erfolgt vom Script keine Ausgabe. Also nicht wundern, wenn sich erst einmal für eine längere Zeit nichts regt.

Noch ein wichtiger Hinweis. Der Pfad „$HOME/Music/iTunes/Mobile Applications” scheint laut Rückmeldungen abhängig von der MacOS Installation zu sein. Bitte kontrolliert daher unbedingt vorher, ob der Pfad im Script für euer System angepasst werden muss.

1
2
3
4
5
6
7
#!/bin/bash
cd "$HOME/Music/iTunes/Mobile Applications"
mkdir -p "$HOME/Music/iTunes/Mobile Applications/tmp"
cd "$HOME/Music/iTunes/Mobile Applications/tmp"
for i in ../*.ipa  ; do unzip -o "$i" > /dev/null ; done
egrep -i "PinchAnalytics|libPMAnalytics"  Payload/*/* 2>/dev/null
rm -rf  "$HOME/Music/iTunes/Mobile Applications/tmp"

[/Update 2]

Wie umgehen mit Anwendungen die Pinchmedia-Code enthalten?

Nun, die Frage lässt sich nicht leicht beantworten. Im Endeffekt muss jeder selber entscheiden, in wieweit es ihn stört, dass umfangreiche Daten (siehe vorherigen Blog-Eintrag) durch ein Unternehmen aufgezeichnet werden. Ich selber habe alle betroffenen Anwendungen wie OffMaps, Shazam usw. gelöscht und entsprechende Bewertungen im Appstore hinterlassen. Zeigen genügend Personen ihre Meinung über die Verwendung des Pinchmedia-Codes, so werden eventuell Softwareentwickler sich nochmals überlegen einen solchen Dienst zu verwenden.

Der erste Weihnachtsfeiertag ist fast vorbei und ich fand etwas Zeit mich wieder etwas mehr mit meinem iPhone und der Software Entwicklung für das iPhone zu beschäftigen – obwohl man eigentlich die Kalorien vom gestrigen Essen eher verbrennen sollte ;-) .

Zumindest hoffe ich, dass euer erster Weihnachtsfeiertag genauso schön war wie meiner hier und dass euer Geschenke-Korb schön gefüllt wurde ;-)

Beim Googlen im Netz viel mir heute jedenfalls wieder verstärkt auf, dass immer mehr Anwendungsentwickler bei iPhone Anwendungen auf die Vermarktung von Pinchmedia. Die Einbindung des Pinchmedia-Codes bedeutet allerdings für die Nutzer der Anwendung, dass sie absolut zum gläsernen iPhone Nutzer werden. Wer schon bei “einfachen” Werbenetzwerken und deren Cookies Angst bekommt, der sollte sich einmal anschauen, welche Daten Pinchmedia so aufzeichnet:

  • Name und Version der gestarteten Anwendung
  • Modell des Geräts auf dem die Anwendung ausgeführt wird
  • Version des Betriebssystems
  • Die dem iPhone oder iPods zugeordnete individuelle Kennnummer (UDID)
  • Wann die Anwendung gestartet wurde
  • Wann die Anwendung beendet wurde und damit auch die Laufzeit der Anwendung
  • Ob das iPhone bzw. der iPod Jailbroken wurde
  • Das Ergebnis eines Piracy Checks
  • Falls die Anwendung GPS Funktionen verwendet, auch die Position an der sich der Nutzer befindet
  • Falls Facebook Connect auf dem iPhone aktiviert wurde, das Alter und Geschlecht des Nutzers

Neben diesen Daten besteht noch für jeden Entwickler die Möglichkeit zusätzliche beliebige weitere Daten an Pinchmedia zu übermitteln. Die UDID Kennung wird übrigens direkt bei der ersten Aktivierung des iPhones oder iPods generiert und kann auch in iTunes angezeigt werden, wenn man in der Übersicht für das Gerät auf den Schriftzug “Seriennummer” klickt (ist kein sichtbarer Button, aber der Text ändert sich).

Ich meine, was soll man da noch sagen? Ich verstehe ja, wenn Entwickler – insbesondere auch von Gratis-Anwendungen – versuchen ein paar wenige Euro mit der Anwendung zu verdienen. Ich habe nichts dagegen, wenn man zum Beispiel einfache Werbung in einer Anwendung einblendet. Möglichkeiten gibt es hier genug und jeder Entwickler hat ja auch die Möglichkeit seine Software für wenige Cents anzubieten.

Wenn ein Entwickler allerdings meint mit Pinchmedia sein App versehen zu müssen, egal ob bei einer kostenlosen Anwendung (zum Beispiel Shazam), einer kostenlosen Testversion oder bei einer kostenpflichtigen Anwendung (wie zum Beispiel OffMaps), so kann ich nur jedem empfehlen um die Anwendung einen großen Bogen zu machen.

Nur wie kann der Anwender solche Software vor dem kaufen/downloaden erkennen? Genau das ist eines der größten Probleme die ich dabei sehe. In vielen Fällen ist bei iPhone Apps kein Software-Lizenzvertrag hinterlegt und selbst wenn dieser existiert, ist oft kein Hinweis auf die Auswertung von persönlichen durch Drittfirmen zu finden. Selbst nach der Installation bekommt der Nutzer absolut nichts von Pinchmedia zu sehen. Allerdings gibt es einen Weg, wie man sein eigenes Programmarchiv nach Pinchmedia Anwendungen durchsucht. Hierzu morgen mehr im Blog :-)

Im Endeffekt bleibt dem Nutzer nur die Kommentare sich vor der Installation einer Anwendung einmal ganz genau anzuschauen. Dabei gilt nicht nur die aktuellen Kommentare, sondern auch ältere anzuschauen. Nur so kann man halbwegs sicher sein eine Pinchmedia-Anwendung zu vermeiden. Leider sind wohl bei weitem nicht alle Anwendungen im iTunes Appstore gefunden worden, die mit Pinchmedia-Code versehen wurden.

Interessant wäre in dem Zusammenhang auch einmal die rechtliche Seite zu prüfen, da auch deutsche Entwickler soweit ich es sehen konnte zum Teil auf Pinchmedia setzen, wobei man sagen muss, dass die meisten Entwickler natürlich ohne solche zweifelhafte Methoden arbeiten. Vielleicht findet sich ja in der Blogsphäre jemand, der sich dem annimmt.

Nähere Informationen findet man zu diesem Thema übrigens auch auf folgender englischsprachigen Seite: http://i-phone-home.blogspot.com/