CERT/CC baseert zich op de blog van Hanno Böck in
https://blog.hboeck.de/archives/876-Superfish-2.0-Dangerous-Certificate-on-Dell-Laptops-breaks-encrypted-HTTPS-Connections.html.
Hanno heeft zijn test-pagina bijgewerkt:
https://edell.tlsfun.de/ checkt nu op zowel de aanwezigheid van de certificaten "eDellRoot" als van "DSDTestProvider" in de Windows Certificate Store (als je beide hebt wordt dit correct gemeld).
Testen kun je in elk geval met Internet Explorer, Chrome, Chromium en Opera (deze browsers maken allen gebruik van de Windows Certificate store). Testen met Firefox is zinloos omdat deze een eigen certificate store heeft.
Als je geen browser wilt gebruiken (of niet naar die site wilt lekken dat je kwetsbaar bent), kun je certmgr.msc gebruiken, of zoeken in het register naar:
98a04e4163357790c4a79e6d713ff0af51fe6927
en
02c2d931062d7b1dc2a5c7f5f0685064081fb221
Die eerste sleutelnaam is van het certificaat is van eDellRoot, de tweede van DSDTestProvider.
Als zo'n sleutel gevonden wordt in 1 van de subkeys van:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates
anders dan:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\Disallowed
is het certificaat geïnstalleerd en is je PC waarschijnlijk kwetsbaar.
Maar ook als de sleutel gevonden wordt in 1 van de subkeys van:
HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates
anders dan:HKEY_CURRENT_USER\SOFTWARE\Microsoft\SystemCertificates\Disallowed
is
jouw account waarschijnlijk kwetsbaar.
Lastig is dat je zo niet eenvoudig ontdekt of andere accounts wellicht kwetsbaar zijn. Echter, voor zover ik weet, worden deze Dell rootcertificaten door Dell altijd op systeemniveau geïnstalleerd.
Aanvullende details voor geïnteresseerden:(A) Informatie over de (nogal verwarrende) registersleutelnamen voor opslag van certificaten (de Windows certificate store) in relatie tot certmgr.msc vind je in
http://blogs.msdn.com/b/muaddib/archive/2013/10/18/understanding-certificate-stores-and-publishing-certificates-for-smart-card-logon.aspx.
(B) Microsoft gebruikt de SHA1 hash van de
binaire representatie (met ASN.1 codering) van het certificaat om het uniek in het register op slaan. Dat is dezelfde hash die je ziet als je in Internet Explorer de details van een certificaat inspecteert; helemaal onderaan het lijstje zie je (in Engelstalige Windows) resp.:
Thumbprint algorithm sha1
Thumbprint 02 c2 d9 31 06 2d 7b 1d c2 a5 c7 f5 f0 68 50 64 08 1f b2 21
Verwarrend is dat het lijkt alsof die hash
onderdeel uitmaakt van het certificaat, maar dat is absoluut niet het geval.
(C) Nb. die hash kun je ook zelf uitrekenen door het certificaat als "DER encode binary X.509" op te slaan, en over dat bestand de SHA1 hash te berekenen.
(D) In plaats van een certificaat
te verwijderen kun je dat certificaat (of een kopie ervan)
toevoegen aan de lijst met
Untrusted Certificates. Ongeacht of (Dell) software zo'n certificaat terugplaatst als "trusted": zolang het
ook untrusted blijft zal Windows ervan uitgaan dat het niet vertrouwd mag worden en het als revoked (ingetrokken) behandelen. Dit is ook een aanrader als je niet uit kun sluiten dat zo'n fout certificaat mogelijk op
account-niveau vertrouwd wordt.
Belangrijk is wel dat je het certificaat op
systeem-niveau (dus
voor alle accounts, inclusief "onzichtbare" systeem accounts), untrusted maakt. Dat kan als volgt:
(E) In certmgr.msc kun je ook certificaten verplaatsen door ze te slepen en op een andere plaats los te laten. Als je tijdens dat proces de Ctrl toets ingedrukt houdt, wordt er gekopieerd.
(F) Als je, veiligheidshalve, de Dell rootcertificaten als untrusted wilt opnemen in het register, maar ze nog niet hebt, kun je ze hier vinden:
https://raw.githubusercontent.com/hannob/superfishy/master/certificates/eDellRoot.crthttps://raw.githubusercontent.com/hannob/superfishy/master/certificates/DSDTestProvider.crtRechtsklik op een van deze URL's, kies "save as" en zet ze bijv. in een map als C:\Temp\ (die je kunt aanmaken als deze nog niet bestaat); zorg dat de extensie .cer of .crt wordt. vanuit die map kun je ze dan vervolgens importeren in certmgr.msc zoals beschreven bij (D).
(G) Mijn indruk is dat op 64 bit machines in het register de volgende sleutels (en alles eronder) automatisch worden gesynchroniseerd (misschien dat dit met een soort symbolic link werkt o.i.d.):
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates
en
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\SystemCertificates
Weet iemand hier het fijne van?