Root-Zertifikate überprüfen mit PowerShell und dem kostenlosen RCC


    Tags: ,

    Zertifikat-SymbolVorinstallierte Root-Zerti­fikate in Windows oder Firefox sorgen dafür, dass Browser und andere Pro­gramme auto­matisch alle Zertifikate als gültig anerkennen, die sie sich auf die dazu­ge­hörigen Root-CAs zurück­verfolgen lassen. Zuletzt gab es Fälle von Missbrauch (Lenovo, Dell), so dass es sinnvoll erscheint, die installierten Root-Zertifikate gelegent­lich zu prüfen.

    Digitale Zertifikate (üblicherweise nach dem X.509-Standard) enthalten neben den Namen des Inhabers oder der Gültigkeitsdauer auch den Namen einer Zertifizierungsstelle (CA, steht für Certificate Authority). Diese signiert das Zertifikat mit ihrem privaten Schlüssel und bestätigt damit die Korrektheit der darin enthaltenen Informationen.

    Root-Zertifikate als oberste Instanz

    Danach kann jeder mit dem öffentlichen Schlüssel der CA überprüfen, ob ein Zertifikat tatsächlich von dieser beglaubigt wurde. Voraussetzung dafür ist jedoch, dass die Zertifizierungs­stelle selbst ein Zertifikat besitzt. In der Praxis lassen sich CAs ein solches von einer übergeordneten Zertifizierungs­stelle signieren. Im Ergebnis entsteht so eine Hierarchie von CAs.

    Am oberen Ende der Kette steht die Root-CA, deren eigenes Zertifikat zwangsläufig von ihr selbst zertifiziert werden muss. Root-Zertifikate bestätigen zwar die Gültigkeit aller von ihnen abhängigen Zertifikate, sie selbst gelten aber per se als vertrauenswürdig.

    Anwendungen wie Web-Browser benötigen den Zugriff auf die Wurzel­zertifikate, um die von ihnen abgeleiteten Zertifikate verifizieren zu können. Daher bringen sie ihre Root-Zertifikate entweder selbst mit oder nutzen jene, die zum Lieferumfang des Betriebssystems gehören.

    Missbrauch durch OEMs

    In der Regel vertrauen Benutzer darauf, dass die Hersteller der Software nur seriöse Root-Zertifikate integriert haben. Wie jüngste Fälle zeigen, fällt es vor allem OEMs leicht, eigene Wurzelzertifikate auf dem Rechner zu installieren.

    Das wäre an sich nicht weiter tragisch, wenn dies ordnungsgemäß erfolgen würde. Im Fall von Dell enthält das Root-Zertifikat jedoch den Private Key, so dass dieser missbraucht werden kann, um etwa Zertifikate für Phishing-Sites auszustellen. Browser wie IE oder Chrome, die den Zertifikat­speicher von Windows nutzen, würden auf allen betroffenen PCs daher automatisch die Zertifikate dieser betrügerischen Seiten als vertrauenswürdig akzeptieren (siehe dazu diese detaillierte Analyse).

    Lenovo hingegen installierte auf seinen Rechnern die Adware Superfish, die SSL-Sessions kapert, um dann Websites wie Google oder Facebook ein von ihr selbst ausgestelltes Zertifikat unterzu­schieben (im Prinzip handelt es sich dabei um einen Man-in-the-Middle-Angriff). Dazu nutzt es das auf dem Rechner vorinstallierte Wurzelzertifikat (eine ausführliche Erklärung findet sich hier).

    Root-Zertifikate anzeigen

    Wenn man sich einen Überblick über die auf einem Rechner installierten Root-Zertifikate verschaffen möchte, dann eignet sich dafür die MMC. Nach ihrem Start führt man den Befehl Datei => Snap-in hinzufügen/entfernen aus und wählt in der anschließend gezeigten Liste den Eintrag Zertifikate.

    Nach dem Hinzufügen des Zertifikat-Snapins kann man die installierten Root-Zertifikate inspizieren.

    Nach dem Klicken auf Hinzufügen wird man gefragt, ob man die Zertifikate für das eigene, das Dienste- oder das Computerkonto verwalten will. Hier entscheidet man sich für den Store von Computerkonto, wo sich jene Zertifikate befinden, die das System oder Anwendungen nutzen, um festzustellen, ob Code oder Websites vertrauenswürdig sind. Schließlich kann man die installierten Wurzel­zertifikate unter Vertrauens­würdige Stamm­zertifizierungs­stellen einsehen.

    Ausgabe über PowerShell

    Einfacher geht es mit PowerShell, wo man den Certificate Store als Laufwerk ansprechen und dessen Inhalt mit Get-ChildItem ausgeben kann:

    gci -r cert:\localmachine\root | Out-GridView

    In diesem Befehl steht gci als Alias für Get-ChildItem und die Weiterleitung des Outputs an Out-GridView hat den Vorteil, dass man die Liste auf der GUI ansehen und dort nach Spalten sortieren kann.

    Mit PowerShell geht es einfacher, außerdem bietet sie mit Out-GridView ebenfalls eine grafische Ansicht.

    Standardmäßig gibt das Cmdlet die Eigenschaften Thumbprint und Subject aus. Welche weiteren Attribute (wie etwa Issuer) existieren, kann man mit Hilfe von

    gci -r cert:\localmachine\root  | Get-Member

    herausfinden.

    Abgleich mit Microsofts Root Certificate Program

    Beide Methoden informieren zwar darüber, welche Root-Zertifikate auf dem Rechner installiert sind, aber dieses Wissen hilft wenig, wenn man nicht beurteilen kann, welche davon zur Standard­ausstattung gehören und welche eventuelle Problemkandidaten sind.

    Eine Antwort darauf gibt das kostenlose RootCertificateCheck (RCC) von Sven Faw, das die installierten Root-Zertifikate mit Microsofts Root Certificate Program vergleicht. Solche, die nicht in der Microsoft-Liste enthalten sind, stuft es als mögliche Sicherheits­risiken ein. Es bleibt allerdings dem Benutzer überlassen, dies zu verifizieren.

    RCC zeigt, welche Root-Zertifikate nicht zum Microsoft-Katalog gehören. Die weitere Prüfung bleibt dem Benutzer überlassen.

    Das Kommandozeilen-Tool bringt die Datenbank mit den von Microsoft abgesegneten Wurzelzertifikaten mit, so dass es keine Internet-Verbindung für seine Prüfung benötigt. Außerdem muss man es nicht installieren, vielmehr kann man es nach dem Download einfach ausführen. RCC kann von dieser Website heruntergeladen werden.

    Täglich Know-how für IT-Pros mit unserem Newsletter

    Wir ver­wenden Ihre Mail-Adresse nur für den Ver­sand der News­letter.
    Es erfolgt keine per­sonen­be­zogene Auswertung.

    Bild von Wolfgang Sommergut

    Wolfgang Sommergut hat lang­jährige Erfahrung als Fach­autor, Berater und Kon­ferenz­sprecher zu ver­schie­denen Themen der IT. Da­ne­ben war er als System­ad­mi­ni­stra­tor und Con­sultant tätig.
    // Kontakt: E-Mail, XING, LinkedIn //

    Ähnliche Beiträge

    Weitere Links