Origin: Setup analysiert

Kurz nach dem Release von Battlefield 3 wurde bekannt, dass sich EA im Lizenzvertrag (EULA) zur benötigten Zusatzsoftware Origin das Recht zugestehen wollte, den Computer des Benutzers zu durchsuchen. Schnell wurden Belege gefunden, dass schon das Setup dem Spieler ausspioniert und als EA in einer ersten EULA-Änderung den Rechtsweg verbieten wollte, schien die Sache klar zu sein. Mittlerweile wurde die EULA entschärft, was die Software wirklich macht, ließ der Publisher aber unklar. Zwar gab es Dementis – man wolle nicht spionieren, doch was auf den Rechnern der Nutzer wirklich abgeht, wurde nicht erklärt.

Für klare Faktenlage wollen der Landesdatenschutzbeauftragte und der VDVC sorgen. Während erster sich auf rechtliche Fragestellungen und die Kommunikation des Clients konzentriert, haben wir die Festplattenzugriffe des Setups analysiert. Um entscheiden zu können, welche Informationen denn nun wirklich vom Origin-Setup genutzt werden, mussten wir einen ungewöhnlichen Weg gehen. Es reicht ja nicht festzustellen, welches Programm einen Dateizugriff angeordnet hat, man muss zudem auch wissen, was das Programm denn über den Dateizugriff erfährt. (Ein Programm, dass blind auf jede Datei auf dem Computer zugreift aber keine Information dazu erhält, auf welche Datei überhaupt zugegriffen wurde, ist ja keine Spyware…)

Wir haben uns dafür entschieden, eine Art „Grenze“ um den Origin-Setup-Prozess zu erreichten und sämtlichen Datenverkehr zu analysieren, der zwischen dem Programm und anderen Bestandteilen des Computers abläuft. Unser „virtueller Grenzposten“ muss dazu nur aufschreiben, welche information ihn passiert. Dazu gehören unter anderem sogenannte Syscalls – also Befehle an das Betriebssystem, irgendetwas zu machen. Danach passiert dann irgendetwas im System und irgendwann gibt es eine Rückmeldung. Was dazwischen passiert, weiß das Origin-Setup nicht.

Damit sich auch wirklich nichts an dieser Grenze vorbei mogelt, haben wir es zudem in die Fremde versetzt. Wir haben das Origin-Setup unter Linux ausgeführt. In dieser Umgebung braucht es einen Übersetzer – ohne diesen würden die Befehle nicht verstanden werden, und folglich auch nichts gemacht. Auf diese Weise kann sich nichts an der Grenze vorbei und unser Übersetzer – Wine – kann direkt alles mitschreiben.

Wir haben nun zunächst ein paar Dateien und Verzeichnisse vorbereitet, die gefunden werden könnten. Anschließend starteten wir das Origin-Setup. Als Ergebnis bekamen wir Textdateien von insgesamt über 6 GiB Dateigröße. Der Inhalt sind dabei alle die Aktionen, die unser „Übersetzer“ vorgenommen hat. Diese Dateien haben wir nun nach unseren „Ködern“ durchsucht. Das Ergebnis ist sowohl für die Setup-Datei auf der Battlefield-3-DVD als auch für diejenige von EAs Webseite reichlich unspektakulär:

0022:trace:file:FindFirstFileExW L”C:\\Programme (x86)\\Origin” 0 0x426e30 0 (nil) 0
0022:trace:file:RtlDosPathNameToNtPathName_U (L”C:\\Programme (x86)\\Origin”,0x34de94,0x34deac,(nil))
0022:trace:file:RtlGetFullPathName_U (L”C:\\Programme (x86)\\Origin” 520 0x34dbe8 0x34deac)
0022:trace:file:wine_nt_to_unix_file_name L”\\??\\C:\\Programme (x86)\\” -> “/home/patrik/.wine/dosdevices/c:/Programme (x86)/”
0022: create_file( access=80000000, attributes=00000040, sharing=00000003, create=1, options=00000021, attrs=00000000, objattr={rootdir=0000,sd={},name=L””}, filename=”/home/patrik/.wine/dosdevices/c:/Programme (x86)/” )
0022: create_file() = 0 { handle=005c }
0022:trace:file:NtQueryDirectoryFile (0x5c (nil) (nil) (nil) 0x34dea4 0x1426848 0x00002000 0x00000003 0x00000000 L”Origin” 0x00000001
0022:trace:file:read_directory_stat trying optimisation for file L”Origin”
0022:trace:file:read_directory_stat returning -1
0022:trace:file:append_entry long L”.” short L”” mask L”Origin”
0022:trace:file:match_filename (L”.”, L”Origin”)
0022:trace:file:append_entry long L”..” short L”” mask L”Origin”
0022:trace:file:match_filename (L”..”, L”Origin”)
0022:trace:file:append_entry long L”testverzeichnis” short L”TEST~GK5″ mask L”Origin”
0022:trace:file:match_filename (L”testverzeichnis”, L”Origin”)
0022:trace:file:match_filename (L”TEST~GK5″, L”Origin”)
0022:trace:file:append_entry long L”Gemeinsame Dateien” short L”GEME~SR3″ mask L”Origin”
0022:trace:file:match_filename (L”Gemeinsame Dateien”, L”Origin”)
0022:trace:file:match_filename (L”GEME~SR3″, L”Origin”)
0022:trace:file:NtQueryDirectoryFile => c000000f (0)
0022:trace:file:FindFirstFileExW L”C:\\Programme (x86)” 0 0x426e30 0 (nil) 0
0022:trace:file:RtlDosPathNameToNtPathName_U (L”C:\\Programme (x86)”,0x34de94,0x34deac,(nil))
0022:trace:file:RtlGetFullPathName_U (L”C:\\Programme (x86)” 520 0x34dbe8 0x34deac)

Im Klartext bedeutet das: Das Origin-Setup fragt, ob Origin schon irgendwo installiert ist – und dann geht die Suche los. Die Setupdatei löst so gesehen einen Dateizugriff auf unsere „Köder“ aus, macht aber am Ende nichts damit.

Offen bleiben drei Fragen:

  • Was macht Origin selbst? (Hier warten wir gespannt auf die Analyse des Landesdatenschutzbeauftragten NRW.)
  • Wenn auch das Programm so harmlos ist, warum schreibt EA uns dann in der EULA, dass sie unsere Computer ausspionieren wollen?
  • Warum liefert nicht EA selbst eine nachvollziehbare Erklärung, wenn sie doch mittlerweile behaupten, gar nicht spionieren zu wollen?

3 Gedanken zu “Origin: Setup analysiert

  1. Pingback: Sammelklage gegen EA wegen „Battlefield 1943″-Ankündigung | Der Almrausch

  2. Pingback: Origin spioniert nicht ? | theorigin.de

  3. Pingback: Stigma Videospiele » Blog Archive » c’t: Origin doch keine Spyware

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.