mecker. mecker. mecker.

Der facebook-„Leak“

Seit gestern früh gibt es einen gewaltigen Torrent in der Pi­ra­ten­bucht (hatten die nicht mal ihr Verfahren verloren?), lus­ti­ger­wei­se gibt es eine Liste mit zu­rück­ver­folg­ten IP-Adressen auf dem Szene-Portal gulli.com. Darunter tummeln sich so Firmen wie Apple, BBC, IBM, Intel und die Vereinten Nationen (?).

Ich hab lang überlegt, ob ich mir den Torrent ziehe – legal wäre es ja – aber da waren teilweise 5000-6000 Peers auf 2000-3000 Seeder. Das dauert immer sehr lange und stra­pa­ziert den Uplink unnötig. Hab mich dann aber doch für ein aria2 Facebook_directory_-_personal_details_for_100_million_users.torrent ent­schie­den; und der Download war schon nach zwei Stunden fertig!

Der Torrent

Der Torrent wiegt knapp 2,8 GiB, fast die Hälfte belegt facebook-urls.txt.bz2. Amü­s­an­ter­wei­se ist alles bzip-kom­pri­miert, was schon den einen oder anderen Windows-Kommentar in der Pi­ra­ten­bucht erzeugt hat (neben dem Crash von notepad).

[unix@localhost]~/Downloads/Facebook_directory_-_personal_details_for_100_million_users
16:15:47::$ ls -1s
insgesamt 2,8G
36M facebook-first.l-withcount.txt.bz2
16M facebook-firstnames-withcount.txt.bz2
64M facebook-f.last-withcount.txt.bz2
21M facebook-lastnames-withcount.txt.bz2
481M facebook-names-original.txt.bz2
458M facebook-names-unique.txt.bz2
456M facebook-names-withcount.txt.bz2
4,0K facebook.nse
4,0K facebook.rb
1,3G facebook-urls.txt.bz2
4,0K README

Der Autor hat eine kurze Readme zu den Inhalten verfasst:

This was generated around July 15, 2010, by Ron Bowes.
Check out http://www.skullsecurity.org for more information.

Filename                        Description
-------------------------------------------------------------------------
facebook.rb                     The script used to generate these files (v1)
facebook.nse                    The script that will be used for the second pass (v2)
facebook-urls                   The full URLs to every profile
facebook-names-original         All names, including duplicates
facebook-names-unique           All names, no duplicates
facebook-names-withcount        All names, no duplicates but with a count
facebook-firstnames-withcount   All first names (with count)
facebook-lastnames-withcount    All last names (with count)
facebook-f.last-withcount       All first initial last name (with count)
facebook-first.l-withcount      All first name last initial (with count)

Laien-Analyse

Ich habe mal aus Spaß an der Freude den Leak mal mit wc, less und grep kurz analysiert. Während facebook-names-unique entpackt mit 1,6 GiB noch human ist, sieht das bei facebook-urls nicht mehr lustig aus: ganze 9,7 GiB belegt die Datei.

Erstellen wir uns zunächst mal ein Da­tei­sys­tem im RAM, es macht nämlich echt keinen Spaß, das von der Platte aus zu ana­ly­sie­ren: mount -t tmpfs -o size=2G,mode=777 tmpfs /mnt/ erzeugt uns ein 2G Medium unter /mnt. Dort enptacken wir facebook-names-unique mittels bzcat -d ./facebook-names-unique /mnt/facebook-names-unique nach /mnt.

Nun können wir mit wc -l facebook-names-unique sehen, dass doch tatsäch­lich 100128460 unique Profile gescannt wurden! Wenn wir uns die Dateien mal über less angucken, sieht das so aus:

# facebook-names-unique
john smith
david smith
michael smith

# facebook-urls
http://en-us.facebook.com/people/-A-Madiun/100000486053610
http://en-us.facebook.com/people/-A-Man-Hamid-/100000837194060
http://en-us.facebook.com/people/-A-Muhammad-Jauhari-Saealal/1639893205

# facebook-lastnames-withcount
913465 smith
571819 johnson
512312 jones
# facebook-firstnames-withcount
977014 michael
963693 john
924816 david

Der Rest ist nur eine Kom­bi­na­ti­on aus den anderen. Die Nummer bei withcount hat übrigens nichts mit Facebook zu tun und ist vollkommen zufällig. Nicht einmal zuordnen kann man damit. Reduziert kann man also sagen, dass von den 2,8 GiB ein ganzes Gigabyte Müll sind. Das nochmal abstrakt gesehen, kann darauf reduziert werden, dass dieser „Leak“ absolut sinnfrei ist. Damit lassen sich maximal Na­mens­häu­fig­kei­ten ana­ly­sie­ren und nachgucken, ob gewisse Personen dort zum Zeitpunkt des Crawlens angemeldet waren und auch von dem Skript erfasst wurden.

Das Skript kann jeder zu­sam­men­schrei­ben, das ist jetzt nicht die Kunst. Viel eher wäre es aber in­ter­es­sant gewesen, wenn z.B. Ver­knüp­fun­gen von Freund­schaf­ten, diverse offene Pro­fil­de­tails und Fotos mit erfasst würden. So ist das alles nutzlos.

blog comments powered by Disqus