Einzelnen Beitrag anzeigen

slemke76

Registriert seit: 29. Mär 2005
Ort: Quakenbrück
146 Beiträge
 
#5

AW: Corona-App mit Delphi und fehlende Zertifikatsprüfung

  Alt 2. Apr 2020, 21:59
Hallo,

Basis ist der jeweilige Zertifikats-Speicher des Betriebssystems.
und genau da geht es los Vielleicht hat die Firma, in der man arbeitet, eine eigene CA generiert und diese dann per GPO zu den vertrauenswürdigen Zertifizierungsstellen hinzugefügt? Dann würde keine Exception geworfen werden, das CA-Zertifikat ist vetrauenswürdig und ein MITM "Angriff" wäre damit quasi unbemerkt möglich. Das wird gerne bei Firewalls für Content Scanning gemacht.

Ich habe selber eine Anwendung im Einsatz, in der auf den Fingerprint des Zertifikates geprüft wird - es wird NUR dieses eine Zertifikat akzeptiert. Das hat natürlich den Nachteil, dass ich eine neue (EXE-) Version mit jedem Zertifikatswechsel ausrollen muss. Alternativ könnte man natürlich den Fingerprint des Intermediate oder des Root-Zertifikates prüfen - bei einem Renew müsste man dann aber bei dem gleichen Aussteller bleiben (gibt es eigentlich für einen Aussteller auch ggf. mehrere Root-Zertifikate?)

Was ich ad-hoc nicht weiss ist, ob man prüfen kann, ob sich ein CA-Zertifikat in den (von Windows mitgelieferten) "Vertrauenswürdigen Stammzertifizierungsstellen" oder in "Eigene Zertifikate" des Windows-Zertifikatsspeichers befindet. Alternativ könnte man natürlich auf alle Fingerprints der (von Windows mitgelieferten) "Vertrauenswürdigen Stammzertifizierungsstellen" prüfen. Das sollte auf alle Fälle klappen.

Grüße
Sebastian

Nachtrag: zum Thema Content-Scanning - der Heise Artikel schreibt sogar, dass dem so ist ("das nicht von einer einer vertrauenswürdigen CA stammt").
Nachtrag 2: Es ist ja gar nicht schlimm, das Zertifikat muss ja nicht zwingend von einer vertrauenswürdigen CA kommen, es sollte aber kryptografisch aktuell sein und die App sollte den Fingerprint prüfen. Wenn die CA geprüft wird, wäre sogar ein Wechsel des Zertifikates kein Problem; CAs haben ja i.d.R. eine deutlich längere Gültigkeit. Es wäre ja denkbar ein Zertifikat für api.example.org mit meiner eigenen CA zu signieren und im Programm auf den Fingerprint der CA zu prüfen. Solange das sauber implementiert ist, kann keiner mitlesen und es spielt keine Rolle, ob das von einer vertrauenswürdigen CA kommt...
Nachtrag 3: Damit habe ich mich noch nicht beschäftigt, aber man könnte auch den Fingerprint des Zertifikates im DNS hinterlegen und die DNS-Abfragen mittels DNSSec sichern. Auch das sollte MITM Attacken vermeiden, eine kurze Google Recherche ergab das hier: https://kb.mailbox.org/display/MBOKB...SL-Zertifikate

Geändert von slemke76 ( 2. Apr 2020 um 22:16 Uhr) Grund: Nachtrag ergänzt
  Mit Zitat antworten Zitat