Jens Dutzis Life

Linux, Server, Webhosting and more ;-)

Durchsuche Beiträge, die in der Kategorie Dezember, 2009 erstellt wurden

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/

Nun, auch wenn dieses Blog vielleicht in Zukunft aus China nicht mehr zu lesen sein wird, so gab es für einigen Tagen bei der Registrierungsstelle für die chinesische TLD einige Änderungen – relativ unbemerkt von der breiten Öffentlichkeit in der “westlichen” Welt.

Wer sich die Homepage der verantwortlichen Registrierungsstelle [EN] einmal anschaut, der wird feststellen, dass nur noch Unternehmen neue Domains registrieren dürfen und auch nur dann, wann diese sich mit offiziellen Papieren ausweisen können. Wer diese Dokumente nicht innerhalb von 5 Arbeitstagen vorweisen kann, dessen Registrierungsantrag wird automatisch gelöscht.

Laut der Registrierungsstelle dient dies um die Genauigkeit der Registrierungsdaten zu verbessern. Im Endeffekt bedeutet dies aber nichts anderes, als dass seit dem 14.12.2009 für Privatpersonen die Registrierung von .cn-Domains unmöglich ist.

brief_Seite_1 Unerwünschte Werbepost kennt leider ja mittlerweile wohl jeder. Allerdings kam gestern ein Exemplar, was ich dann doch schon etwas dreist finde.

Vor einigen Tagen wurde durch die Denic zweistellige Domainnamen zur Registrierung freigegeben, wobei es dabei zu einigen Problemen kam. Die Domain “co.de” ging dabei wohl an die Websuche Search Technology GmbH & Co.KG, welche gleich einmal eine passende Idee hatte um mit der Adresse einiges an Umsatz zu generieren.

Im Gegensatz zu den .de Domains können bei anderen Toplevel-Domains wie .uk nur  Subdomains registriert werden. Der Zweck hierbei ist, dass anhand der URL bereits der Typ einer Seite zu erkennen ist. Zur Auswahl stehen dabei org.uk für nicht-kommerzielle Organisationen, .me.uk für private Seiten – aber auch co.uk für kommerzielle Unternehmen.

Diesen Umstand macht sich das Unternehmen zunutze. Mit dem Betreff “Rechtliche Klärung wegen x.co.de” versucht entsprechend Druck beim Empfänger aufzubauen. Im Anschluss ist das Schreiben in einem Stil gehalten, dass man der Meinung sein könnte, dass es sich hierbei um eine First-Level Domain handelt für Unternehmen, welches von einer offiziellen Registrierungsstelle – ähnlich der Denic – ausgegeben wird. Dieser Eindruck wird auch durch Phrasen wie “Sunrise-Phase” und “Landrush-Phase” verstärkt, da diese mit dem Start der .eu Domains vor einigen Jahren in der Presse ziemlich bekannt wurden.

Aber was bekommt man nun eigentlich? Im Endeffekt bekommt man für die 99 Eur/Jahr „nur” das Recht vorab eine einfache „private” Subdomain unterhalb von .co.de vom Inhaber der Domain, welche zur der eigentlichen Homepage weiterleitet. Im Schreiben nur indirekt angedeutet wird ist, dass es später noch eine weitere Möglichkeit geben wird an eine Subdomain zu kommen. Laut heise.de werden später die Subdomains in einer werbefinanzierten Form kostenlos ausgegeben werden. Im Endeffekt ist letzteres also nichts anderes wie das, was de.vu und viele andere Dienste wie Alpennic kostenlos anbieten – werbefrei. Das Unternehmen bietet im übrigen auch an, falls man die 99 Eur/Jahr nicht aufbringen möchte, die Subdomain sperren zu lassen. Dies bedeutet allerdings auch, dass keine kostenlose Registrierung für das eigene Unternehmen mehr möglich sein dürfte. Die Option der Sperre macht das ganze Schreiben allerdings meiner Meinung nach nicht wirklich besser.

Gehört einem dann wenigstens die Subdomain?  Nun, ich bin kein Rechtsanwalt, aber im Bestellformular behält sich die Websuche Search Technology GmbH & Co.KG das Recht vor jederzeit fristlos den Vertrag kündigen zu können. Ein solches fristlose Kündigungsrecht findet sich bei “richtigen” Domains nicht. Es ist halt im Endeffekt wirklich nur eine einfache Subdomain, die von einem normalen Domaininhaber kostenpflichtig zur Verfügung gestellt wird. Im Gegensatz zu .co.uk Domains erhält man zumindest keine Domain von einer offiziellen Vergabestelle für Länderdomains, welche auf den eigenen Namen registriert wird.

Ich kann eigentlich nur den Tipp geben den Brief einfach zu ignorieren und keine Subdomain zu bestellen. Das ganze ist schlichtweg rausgeworfenes Geld. Während in Großbritannien .co.uk absolut gängige Domainendungen sind, so hat .co.de zur Zeit in Deutschland absolut keine Bedeutung. Aber  schauen wir mal, was die Zukunft so bringt. Vielleicht lassen auch einmal ein paar Unternehmen das Schreiben von einem Gericht prüfen, ob dieses nicht zum Beispiel unlautere Werbung darstellt.

Nachdem wir im Rahmen des Router-Projekts uns bereits über den Rahmen der Hardware klar sind fehlt nun noch die passende Software. Mit der Endian Firewall Firewall existiert eine auf Linux basierende äußerst leistungsfähige Software, welche eine Menge Einsatzgebiete abdeckt und für die meisten kleineren und mittleren Büros ausreichend sein sollte.

Bei vielen Systemen, welche insbesonders auf der stromsparenden Atom-Plattform basieren, wird allerdings die Installation deutlich schwieriger. Die bei der relativ neuen Plattform verwendeten Netzwerkchipsätzen werden zum Teil noch nicht von dem bei der Endian Firewall mitgelieferten Linux-Kernel unterstützt. Wobei dies nicht nur für die Endian Firewall gilt, sondern für fast alle Ablieger der IPCop Router-Distribution.

Mit diesem Howto soll einmal grundlegend erklärt werden mit welchen Schritten ein Kernel Modul für die Endian Firwall kompiliert werden kann. Mit den Kernelmodulen für Realtek RTL8111/8168B und Intel e1000e-basierenden PCIe Gigabit-Netzwerkkarten werden für die Anleitung zwei weit verbreitete Netzwerkchipsätze verwendet.

Wie immer für meine Howtos gilt, dass sie für Personen gedacht sind denen die Linux-Konsole nicht fremd ist. Die Nutzung des Howtos und der Kernelmodule erfolgt — wie üblich — auf eigene Gefahr. Eine weitere Vorraussetzung ist diesmal ein installiertes Vmware oder Virtualbox (siehe Schritt 1). Wer Fragen oder Probleme im Zusammenhang mit diesem Howto hat, den möchte ich bitten primär die Kommentarfunktion im Blog zu verwenden.

weiter lesen