Das Facebook-SSL-Massacker
Passend zu der x.509-Bullshit-Debatte über fallende CAs und die allgemeine Sinnhaftigkeit eines solchen zentralisierten Vertrauensmodells muss ich mir seit gestern mal ein bisschen über Facebook fazialpalmieren.
Ich benutze ja sowieso HTTPS Everywhere (das solltet ihr auch tun), und gesern habe ich mir auch endlich mal wieder Certificate Patrol installiert, ein sehr nützliches Addon, das vor ausgetauschten Zertifikaten und Ähnlichem warnt.
Und dann flog mir plötzlich das hier um die Ohren:
Was ist hier passiert?
Das ist noch relativ einfach. Beim letzten Seitenaufruf hat der Server pixel.facebook.com ein Wildcard-Zertifikat, ausgestellt von DigiCert, vorgezeigt. Das ist eine laut Mozilla vertrauenswürdige CA, und offenbar ist da auch noch nichts gegenteiliges öffentlich geworden, ich habe sie nur gestern mit jemandem verwechselt.
Und dann ist da plötzlich ein anderes Zertifikat, nämlich ausgestellt von VeriSign. Da kommen ein paar Fragen auf:
- Wieso ersetzt Facebook sein Zertifikat plötzlich durch ein VeriSign-Zertifikat? Gut, können sie ja tun, aber …
- … wieso tun sie das JETZT, wo sie das doch (siehe Screenshot) schon seit fast einem halben Jahr rum liegen haben?
So weit so gut, kann ja mal sein, verplante Admins gibt’s immer, oder vielleicht hatten sie sogar einen guten Grund. Aber dann fliegt mir heute das hier entgegen:
Huch, wie jetzt? Facebook ersetzt das Zertifikat für pixel.facebook.com von VeriSign durch DigiCert? (In diesem Screenshot blöderweise das gleiche wie oben, zwischendurch hatte ich da noch ein anderes drin aber leider vergessen zu speichern).
Was ist da los? Nach kurzem Nachdenken ganz einfach:
pixel.facebook.com ist ein Alias für einen Haufen Webserver, die dann per DNS-Round-Robin ausgewürfelt werden:
nik@keks:~$ host pixel.facebook.com pixel.facebook.com is an alias for star.facebook.com. star.facebook.com has address 69.171.229.39 nik@keks:~$ host pixel.facebook.com pixel.facebook.com is an alias for star.facebook.com. star.facebook.com has address 69.63.190.29
Gut, kann man machen. Nur: ist es sinnvoll, die Server dann auf SSL-Ebene völlig asynchron zu halten? Ich kann mir vorstellen, dass man sich da eigentlich nur selber mit ins Knie schießt. Und bei einigermaßen gut informierten Benutzern löst es auch ein bisschen Verwirrung aus.
Aber pixel.facebook.com liefert ja auch nur Werbung aus, also, äh, die personalisierte Werbung, die das Bewegungsprofil der Benutzer in Form von personalisierten Anzeigen nach außen aggregiert. Ist kein digitales Vertrauen notwendig da!
Update: Ach, auf ihren Haupt-Servern können die das auch. Ich schreib jetzt mal an den Support …




Januar 3rd, 2012 at 17:05
Das ist doch (leider) Usus. Passiert bei vielen größeren Sites, u. a. auch Twitter.