Dienstag, 3. April 2007

Der fünfte Partyguide-Hack

Korrigendum: Huch, wir sind ja schon bei Nummer FÜNF angekommen. Danke, Shift, für den Hinweis.

Hinweis: Es ist – wie immer wenn es um die Sicherheit von Partyguide geht – übertrieben, von einem Hack zu sprechen. Viel eher handelt es sich um ein Datenleck, durch das mit minimalsten Kenntnissen von Web-Programmierung vertrauliche Daten von Benutzern des Portals eingesehen werden konnten.

Das Problem wurde mittlerweile beseitigt, weshalb ich keine Bedenken mehr habe, das Leck öffentlich zu machen.

Wie immer: Geschwätzig!

Das Leck offenbarte sich im angesprochenen Fall über das PHP-Script, das Staff-Mitglieder mit Foto anzeigt:

Oliver Walzer alias thematrix

Irgend ein spielerisch veranlagter Zeitgenossen war vor einiger Zeit auf die Idee gekommen, eine beliebige Benutzer-ID in die URL einzufügen. Und siehe da – das Script frass die neue ID ohne Überprüfung, ob es sich beim angefragten User tatsächlich um ein Staff-Mitglied handelte. Nicht weiter schlimm, mag man denken – doch blöderweise stand auf der ausgelieferten HTML-Seite auch der reale Namen des Users.

Obwohl die Macher hinter Partyguide erst kürzlich in einem grossen Schweizer Wochenmagazin behaupteten, seit dem „Hackerangriff vom letzten Sommer“ Sicherheit einen höheren Stellenwert zu geben, scheint von diesem Vorhaben nicht viel in Praxis umgesetzt worden zu sein. Auch weiterhin galt bei diesem Script (wie wohl auch bei Dutzend anderem auf dem Server) das Motto: „Wir trauen jeglichen Anfragen, die von Besuchern unserer Seite eintreffen.“ Tragisch, aber wahr.

Data Mining

Natürlich reizt dieser Datenfundus, um mit statistischen Methoden Untersuchungen anzustellen. Nachfolgend zwei interessante Entdeckungen:

Hauptkritikpunkt: Registration nur mit plausiblen Angaben? Nicht bei uns!

Bei Partyguide kann Mitglied werden, wessen Namen „. .“ lautet. Dies öffnet Tor und Riegel, um sich in Kürze unzählige Fake-Accounts zuzulegen. Als positiver Nebeneffekt kann sich Partyguide dann damit brüsten, so und soviele hunderttausend Benutzer registriert zu haben.

Der Beweis für die Laxheit der Überprüfung von Formular-Angaben mit einer Auflistung von komischen Benutzerangaben (die Zeichenlänge von Vor- und Nachnamen beträgt maximal 8 Zeichen):

1. 89 A B
2. 20 M S
3. 18 Ich Du
4. 15 Ale Ela
5. 14 John Doe
6. 13 X Y
7. 13 Marco
8. 12 Patrick
9. 12 A S
10. 11 M G
11. 11 S M
12. 10 A M
13. 9 Stefan
14. 9 D B
15. 9 Sandra
16. 9 Jenny
17. 9 Daniel
18. 8 M B
19. 8 Nadine
20. 8 Laura
21. 8 M W
22. 8 S F
23. 8 M K
24. 7 Vanessa
25. 7 Nadja
26. 7 Michael
27. 7 A D
28. 7 Mike
29. 7 S B
30. 6 P G
31. 6 Sarah
32. 6 R F
33. 6 Pascal
34. 6 Nicole
35. 6 F S
36. 6 Abc Def
37. 6 Lisa
38. 6 N Z
39. 6 P M
40. 6 M A
41. 6 Sabrina
42. 6 M R
43. 6 Dsf Sdf
44. 5 A H
45. 5 Nina
46. 5 Asd Asdf
47. 5 Adrian
48. 5 Melanie
49. 5 J W
50. 5 Don Juan

Das andere Problem ist, dass eine Registrierung auch dann zugelassen wird, wenn man in das Feld für Vor- und Nachnamen dieselben Angaben eingibt:

1. 243 – –
2. 94 A A
3. 78 Asdf Asdf
4. 51 … …
5. 45 . .
6. 42 D D
7. 38 X X
8. 32 S S
9. 32 Bla Bla
10. 31 Xxx Xxx
11. 23 H H
12. 21 Asd Asd
13. 20 F F
14. 20 M M
15. 18 Dd Dd
16. 18 .. ..
17. 16 Test Test
18. 15 R R
19. 14 L L
20. 13 Hans Hans
21. 13 Xx Xx
22. 12 Anonym Anonym
23. 12 * *
24. 12 Sdf Sdf
25. 12 Lala Lala
26. 11 Xy Xy
27. 10 T T
28. 10 B B
29. 10 J J
30. 10 Marco Marco
31. 9 Ss Ss
32. 9 Tom Tom
33. 9 Mike Mike
34. 9 Lol Lol
35. 9 Asdasd Asdasd
36. 9 …. ….
37. 9 Gg Gg
38. 9 K K
39. 8 W W
40. 8 Ff Ff
41. 8 Hallo Hallo
42. 8 Crazy Crazy
43. 8 Toni Toni
44. 8 G G
45. 7 Muster Muster
46. 7 Alex Alex
47. 7 ??? ???
48. 7 E E
49. 7 Unbekannt Unbekannt
50. 7 Sam Sam

Ratschläge

Die Daten liegen zu euren Füssen – säubert die Benutzer-Tabelle doch endlich mal! Mit ein paar Zeilen PHP-Code lässt sich die ganze Chose automatisieren.

Im gleichen Anlauf fände ich eine noch porentiefere Säuberung sinnvoll: Benutzer, die sich seit x Monaten nicht mehr eingeloggt haben, wird ein Mail gesendet, das sie auffordert, sich in den nächsten x Tagen einzuloggen. Ist die Mail-Adresse ungültig oder geschieht bis zum angedrohten Termin kein Login, wird der Account gelöscht.

In Zukunft bitte ich euch, eine anständige Plausibilitätsprüfung bei Neuanmeldungen durchzuführen.

Und last, but not least: Der Sicherheitsaudit wäre immer noch fällig. Solche Datenlecks dürfen einfach nicht auftreten!

Für die Konkurrenz

Bei ca. 30% der untersuchten Accounts wurde kein Namen zurückgeliefert (unter der angefragten User-ID scheinen keine Daten mehr vorhanden zu sein). Vermutlich handelt es sich hierbei um gelöschte Benutzer.

Wissenswertes

Die häufigsten Familiennamen der Schweizer Jugend resp. der Partyguide-Benutzer? Seht selbst:

1. Müller
2. Meier
3. Schmid
4. Gerber
5. Keller
6. Schneider
7. Weber
8. Moser
9. Meyer
10. Berger

Und hier dasselbe mit den Vornamen:

1. Michael
2. Daniel
3. Thomas
4. Marco
5. Stefan
6. Patrick
7. Sandra
8. Marc
9. Simon
10. Pascal

Es scheint symptomatisch für Partyguide zu sein, dass unter den zehn häufigsten Vornamen nur gerade ein weiblicher Name auftaucht …

Liked this post? Follow this blog to get more. 

Tags:
Labels: Allgemein

Kommentar erfassen