Eigene installierte Zertifikate von anderen Programmen ausnutzbar Sicherheitslücke
Hallo,
Ich habe leider nicht viel Ahnung von Zertifikaten.
Wenn ein Programm wie z.b. Avast beim HTTPS oder Email TLS-Scanning oder Lenovo mit Ihrer Adware Superfish oder auch ganz einfach ich, wenn ich ein Zertifikat von einem Remote Computer den ich ansteuern will installiere, zugriff auf diese Zertifikate hat kann das Programm dann Maninthe Middle ?
Soll ja bei Superfish der Fall sein. Allerdings verstehe ich das nicht ganz.
Ein Zertifikat kommt ja von der Webseite die verschlüsselt. Dieses wird überprüft mit meinem installierten Zertifikaten. Diese wiederum durch die Root of Chain (trust of Chain) via Internet verifiziert.
Wenn nun ein Programm sagen wir mal an das Avast Zertifikat kommt (kommt es ja da es installiert ist) wie kann es dann Man in the Middle machen?
Die Webseite die ich aufrufe und verschlüsselt ist sendet mir ihr Zertifikat, das Programm nun hat das von Avast also ein Root Zertifikat, aber was bringt das? Mein Rechner überprüft das Zerti der Webseite und das hat mit dem Avast Zertifikat nichts zu tun?
Ich habe leider nicht viel Ahnung von Zertifikaten.
Wenn ein Programm wie z.b. Avast beim HTTPS oder Email TLS-Scanning oder Lenovo mit Ihrer Adware Superfish oder auch ganz einfach ich, wenn ich ein Zertifikat von einem Remote Computer den ich ansteuern will installiere, zugriff auf diese Zertifikate hat kann das Programm dann Maninthe Middle ?
Soll ja bei Superfish der Fall sein. Allerdings verstehe ich das nicht ganz.
Ein Zertifikat kommt ja von der Webseite die verschlüsselt. Dieses wird überprüft mit meinem installierten Zertifikaten. Diese wiederum durch die Root of Chain (trust of Chain) via Internet verifiziert.
Wenn nun ein Programm sagen wir mal an das Avast Zertifikat kommt (kommt es ja da es installiert ist) wie kann es dann Man in the Middle machen?
Die Webseite die ich aufrufe und verschlüsselt ist sendet mir ihr Zertifikat, das Programm nun hat das von Avast also ein Root Zertifikat, aber was bringt das? Mein Rechner überprüft das Zerti der Webseite und das hat mit dem Avast Zertifikat nichts zu tun?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 285650
Url: https://administrator.de/forum/eigene-installierte-zertifikate-von-anderen-programmen-ausnutzbar-sicherheitsluecke-285650.html
Ausgedruckt am: 15.04.2025 um 16:04 Uhr
9 Kommentare
Neuester Kommentar
Hallo,
ne, falsch.
Hier einmal ganz kurz.
Du geht auf eine Webseite.
Diese sendet Dir Ihr Zertifikat.
In diesem Zertifikat steht für welche Webseite es gilt und von wem es ausgestellt wurde.
Nun prüft Dein Computer
a) Ob das Zertifikat technisch gültig ist (Ablaufdatum und Webadresse)
b) Ob das Zertifikat von jemanden Vertrauenswürdigen ausgestellt wurde.
Für B hat jeder Browser und jedes Betriebssystem eine Liste von vertrauenswürden Zertifikatstellen.
Sogenannte CAs.
Jeder kann ein Zertifikat für google.com ausstellen an seinem Computer.
Aber es stammt halt nicht von der richtigen CA.
Nun installiert böse Software eine eigene CA in dieser Liste und kann für alle Domains Zertifikate ausstellen.
Dein Browser akzeptiert dann das Zertifikat für google.com ausgestellt von "böse Software" da "böse Software" ja eine vertrauenswürdige CA ist.
Und das führt dann zu einem Man in the middle Angriff.
Viele Grüße
Stefan
ne, falsch.
Hier einmal ganz kurz.
Du geht auf eine Webseite.
Diese sendet Dir Ihr Zertifikat.
In diesem Zertifikat steht für welche Webseite es gilt und von wem es ausgestellt wurde.
Nun prüft Dein Computer
a) Ob das Zertifikat technisch gültig ist (Ablaufdatum und Webadresse)
b) Ob das Zertifikat von jemanden Vertrauenswürdigen ausgestellt wurde.
Für B hat jeder Browser und jedes Betriebssystem eine Liste von vertrauenswürden Zertifikatstellen.
Sogenannte CAs.
Jeder kann ein Zertifikat für google.com ausstellen an seinem Computer.
Aber es stammt halt nicht von der richtigen CA.
Nun installiert böse Software eine eigene CA in dieser Liste und kann für alle Domains Zertifikate ausstellen.
Dein Browser akzeptiert dann das Zertifikat für google.com ausgestellt von "böse Software" da "böse Software" ja eine vertrauenswürdige CA ist.
Und das führt dann zu einem Man in the middle Angriff.
Viele Grüße
Stefan
Hallo,
doch.
Das böse Programm bekommt die Anfrage für google.com.
Dann stellt es ein Zertifikat für google.com und sich selbst als CA aus.
Der Browser überprüft das Zertifikat: OK
CA ist das böse Programm: OK
CA (das böse Programm) ist vertrauenswürdig: OK
Wenn der User sich das Zertifikat mit Chain anschauen würde, würde er das sehen.
Aber das schaut sich ja keiner an.
Und ja, z.B. eine UTM Firewall mit HTTPs Proxy stellt hunderte bis tausende Zertifikate aus.
Stell Dir Firma X vor.
Die hat 1000 Mitarbeiter und die sollen durch eine Firewall von Viren von Websiten geschützt werden.
Zum prüfen von HTTPs Verbindungen muss die Firewall einen ManInTheMiddle-Angriff ausführen.
Diesmal sogar gewünscht.
Stefan
doch.
Das böse Programm bekommt die Anfrage für google.com.
Dann stellt es ein Zertifikat für google.com und sich selbst als CA aus.
Der Browser überprüft das Zertifikat: OK
CA ist das böse Programm: OK
CA (das böse Programm) ist vertrauenswürdig: OK
Wenn der User sich das Zertifikat mit Chain anschauen würde, würde er das sehen.
Aber das schaut sich ja keiner an.
Und ja, z.B. eine UTM Firewall mit HTTPs Proxy stellt hunderte bis tausende Zertifikate aus.
Stell Dir Firma X vor.
Die hat 1000 Mitarbeiter und die sollen durch eine Firewall von Viren von Websiten geschützt werden.
Zum prüfen von HTTPs Verbindungen muss die Firewall einen ManInTheMiddle-Angriff ausführen.
Diesmal sogar gewünscht.
Stefan
Hallo,
im groben: Ja.
Die Firewall erstellt Zertifikate die im Prinzip 2 Informationen enthalten.
1. Die URL/Domäne der Seite
2. Sich selbst als CA
Woher soll der Browser den Unterschied wissen zwischen Symantec-CA und z.B. Gateprotect-Firewall-CA?
Beides sind vertrauenswürdige installierte CAs.
Schau Dir mal das Zertifikat von https://google.de an.
Dort ist GetTrust Global CA die vertrauenswürdige CA.
Der einzige Unterschied bei einer Https-Proxy-Firewall wäre das hier Gateprotect CA steht.
Viele Grüße
Stefan
im groben: Ja.
Die Firewall erstellt Zertifikate die im Prinzip 2 Informationen enthalten.
1. Die URL/Domäne der Seite
2. Sich selbst als CA
Woher soll der Browser den Unterschied wissen zwischen Symantec-CA und z.B. Gateprotect-Firewall-CA?
Beides sind vertrauenswürdige installierte CAs.
Schau Dir mal das Zertifikat von https://google.de an.
Dort ist GetTrust Global CA die vertrauenswürdige CA.
Der einzige Unterschied bei einer Https-Proxy-Firewall wäre das hier Gateprotect CA steht.
Viele Grüße
Stefan

Moin,
Dann kann er Zertifikate erstellen die für den Client immer gültig aussehen... solange sie nicht durch die OS oder Browser Hersteller "revoked"(zurückgezogen) werden.
, die oberste CA ist immer die letzte Instanz einer Zertifikatskette, es gibt hier nicht "das" root, sondern mehrere zertifizierte Certificate Authorities.
Ein CA könntest du theroetisch selber ins Leben rufen, nur ... damit deine CA in die gängigen Browser und Betriebsysteme aufgenommen werden müssen jede Menge Auflagen erfüllt werden die eine Stange Geld kosten (physische Sicherung der CA, etc. pp).
Ein Hacker der sich also Zugang zu einer etwas schwächer gesicherten CA verschaffen kann und sich dann mit dem erbeuteten private Key der CA (kann auch eine Intermediate CA sein) Zertifikate erstellt, hat allerbeste Voraussetzungen für MITM Angriffe, die kein Client bemerkt.
Zur praktischen Anwendung einfach das hier mal durchlesen
http://blog.philippheckel.com/2013/07/01/how-to-use-mitmproxy-to-read-a ...
Inzwischen setzen die großen der Branche wie Google etc. Public Key Pinning ein womit sie die von Ihnen verwendeten CAs in einer Liste führen und somit verhindern das von korrumpierten CAs ausgestellte Zertifikate für Ihre Domains beim Zugriff auf Ihre Domains verwendet werden können.
Aber selbst diese Listen welche über den Response-Header an den Client ausgeliefert werden, könnte ein Angreifer fälschen. Es legt die Latte halt nur wieder etwas höher.
Gruß jodel32
Wenn ein Hacker sein eigenes Zertifikat erstellt ist die Kette unterbrochen. Denn er kann nicht bis hin zum Root Fälschen.
Der Hacker muss entweder dem Client ein Stammzertifikat seiner eigenen CA unterschieben oder selber Zugang zu einer CA haben welche in den meisten Browsern der User als gültig ausgewiesen sind. Es gab ja in der Vergangenheit schon mal Fälle bei denen in eine CA eingebrochen und Keys entwendet wurden.Dann kann er Zertifikate erstellen die für den Client immer gültig aussehen... solange sie nicht durch die OS oder Browser Hersteller "revoked"(zurückgezogen) werden.
Hier Bundesnetzagentur.
Nein die hat damit gar nichts am Hut Ein CA könntest du theroetisch selber ins Leben rufen, nur ... damit deine CA in die gängigen Browser und Betriebsysteme aufgenommen werden müssen jede Menge Auflagen erfüllt werden die eine Stange Geld kosten (physische Sicherung der CA, etc. pp).
Ein Hacker der sich also Zugang zu einer etwas schwächer gesicherten CA verschaffen kann und sich dann mit dem erbeuteten private Key der CA (kann auch eine Intermediate CA sein) Zertifikate erstellt, hat allerbeste Voraussetzungen für MITM Angriffe, die kein Client bemerkt.
Zur praktischen Anwendung einfach das hier mal durchlesen
http://blog.philippheckel.com/2013/07/01/how-to-use-mitmproxy-to-read-a ...
Inzwischen setzen die großen der Branche wie Google etc. Public Key Pinning ein womit sie die von Ihnen verwendeten CAs in einer Liste führen und somit verhindern das von korrumpierten CAs ausgestellte Zertifikate für Ihre Domains beim Zugriff auf Ihre Domains verwendet werden können.
Aber selbst diese Listen welche über den Response-Header an den Client ausgeliefert werden, könnte ein Angreifer fälschen. Es legt die Latte halt nur wieder etwas höher.
Gruß jodel32
Moin,
ganz frisch zu diesem Thema.
http://www.heise.de/newsticker/meldung/SSL-Zertifizierungsstellen-stell ...
Viele Grüße
Stefan
ganz frisch zu diesem Thema.
http://www.heise.de/newsticker/meldung/SSL-Zertifizierungsstellen-stell ...
Viele Grüße
Stefan