Ein Bluetooth-Treiber für Chips der Firma CSR installiert zwei Root-Zertifikate, mit denen der Besitzer des privaten Schlüssels HTTPS-Verbindungen angreifen könnte. Offenbar handelt es sich um Testzertifikate zur Treibersignierung während der Entwicklung.
Noch ein Zertifikat, das ungefragt bei vielen Windows-Nutzern installiert wurde: Golem.de wurde darauf hingewiesen, dass sich auf manchen PCs mit CSR-Harmony-Bluetooth-Chips unerklärbare Zertifikate im Windows-Zertifikatsspeicher befinden. Wir konnten das nachvollziehen: Ein Treiber für den CSR-Harmony-Chip, der auf der Lenovo-Webseite angeboten wird, enthielt die entsprechenden Zertifikate. Diesmal ohne privaten Schlüssel
Der Vorfall weckt natürlich Erinnerungen an den Superfish-Skandal und an die kürzlich entdeckten Zertifikate auf Dell-Laptops. Allerdings gibt es einen wichtigen Unterschied: Die hier gefundenen Zertifikate werden ohne den privaten Schlüssel installiert. Damit ist es nicht trivial für jeden möglich, diese Zertifikate für Angriffe zu nutzen. Ein Sicherheitsrisiko ist es trotzdem.
Golem.de wurde auf dieses Zertifikat von einem Moderator des Forums android-point.de hingewiesen. Bereits im Oktober hatte dieser öffentlich vor dem Zertifikat gewarnt. Testzertifikat wurde vor Release nicht entfernt
Die Firma CSR wurde im August dieses Jahres von Qualcomm übernommen. Wir hatten bei Qualcomm und Lenovo um eine Stellungnahme gebeten. Qualcomm teilte uns nach einiger Zeit mit, dass es sich bei dem Zertifikat offenbar um ein Testzertifikat handelt, das bei der Entwicklung des Treibers zum Einsatz kam. CSR hatte offenbar Hardwareherstellern wie Lenovo eine Entwicklerversion des Bluetooth-Treibers mit diesem Zertifikat zur Verfügung gestellt. Unter Windows müssen alle Treiber signiert sein.
Da der offizielle Signaturprozess einige Zeit dauert, ist es nicht ungewöhnlich, während der Entwicklung ein Testzertifikat einzusetzen und lokal zu installieren. Aber das Zertifikat hätte vor dem finalen Release entfernt werden sollen, das wurde hier offenbar versäumt. Lenovo hat bislang nicht reagiert. Unsere Anfragen wurden nicht beantwortet und der Treiber befindet sich nach wie vor auf der Webseite zum Download.
Installiert wird das Zertifikat durch eine Datei namens cert_install.bat. Diese ruft den Windows-Zertifikatsmanager (certmgr.exe) auf, um die entsprechenden Zertifikate zu installieren. Wir fanden im Microsoft Developer Network eine Anleitung, die genau das für Testzertifikate empfiehlt. Die beiden Zertifikate tragen die Namen Harmony(Test) und HarmonyNew(Test). Beide nutzen RSA-Schlüssel mit 1.024 Bit, was schon lange als nicht mehr sicher gilt. Ein finanzstarker Angreifer könnte derartige Keys theoretisch knacken, der Aufwand wäre allerdings enorm. Man-in-the-Middle-Angriffe denkbar
Besonders kritisch ist hierbei, dass es unter Windows keine klare Trennung von Zertifikaten zur Treibersignatur und Webseitenzertifikaten gibt. Wenn Root-Zertifikate im Zertifikatsspeicher von Windows entsprechend eingetragen werden, können diese für beides genutzt werden. Wer den privaten Schlüssel zu einem dieser Testzertifikate besitzt, kann damit also nicht nur Treiber signieren, sondern auch gültige Webseiten-Zertifikate für verschlüsselte HTTPS-Verbindungen generieren.
Übrig gebliebene Treiber-Testzertifikate sind offenbar kein Einzelfall: Nach der Entdeckung der Root-Zertifikate auf Dell-Laptops fand die Firma Duo Security auch ein Zertifikat von Atheros-Treibern, das war allerdings bereits abgelaufen. Atheros gehört ebenfalls zu Qualcomm. Und auf dem PC der Person, die uns auf das Qualcomm-Zertifikat hingewiesen hatte, fand sich weiterhin ein ebenfalls abgelaufenes Zertifikat mit dem Namen AsRock.
Windows-Nutzer können prüfen, ob sich in ihrem Zertifikatsspeicher unerwünschte Zertifikate befinden. Ein Tool, welches das ermöglicht, ist RCC (Root Certificate Checker). Auf Github findet man auch ein entsprechendes Powershell-Script.