[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

SSL: unsichere Connections kappen.


Hallo zusammen,

angesichts der aktuellen SSL-Security-Diskussion (zB
http://heise.de/-1212986) stellt sich mir die Frage, ob man "nicht
vertrauenswuerdige" SSL-Connections nicht auf tcp-ebene erkennen und dort
direkt kappen kann?

Mir schwebt sowas vor, dass ein daemon-Prozess per pcap permanent
SSL-Handshakes ueberwacht und je nach "Schweregrad" Warnungen ausgibt
oder die jeweilige TCP-Session direkt blockiert, wenn ein
Server-Zertifikat von einer in Ungnade gefallenen CA signiert wurde oder
schwache Hashes wie md5 verwendet werden.

Nachteil bei browsergebundenen Checks: die laufen alle mit
Benutzerrechten, d.h. sobald der Browser einmal kompromittiert ist,
koennten am Benutzer vorbei auch gefaelschte Zertifikate oder anderweitig
problematisches Material im Browser landen mit der Folge, dass der
Browser diese kuenftig einfach so akzeptiert.

So ein Daemon koennte auch weiter reichende Funktionen anbieten, zum
Beispiel 

* Statisik fuehren, wie oft Zertifikate von verschiedenen CAs angeboten
  werden
* sich merken, welcher Server welches Zertifikat verwendet und bei
  *Aenderung* zum Beispiel neues Ablaufdatum oder andere CA das
  entsprechend vermerkt (oder blockiert), aehnlich wie "known_hosts" bei
  OpenSSH
* Asyncrones Update von Revocation-Lists, verschiedene Anbieter
* Analysieren, welche (vor kurzem noch gueltige) Zertifikate
  zwischenzeitlich zurueckgezogen wurden
* Whitelists unabhaengig vom Webbroser, d.h. der kann selbst bei einmal
  akzeptierten Zertifikaten keine Verbindung mehr dahin aufbauen, d.h.
  man muss es zusaetzlich an zentraler Stelle (im Daemon) konfigurieren
* DNS-Lookups zwecks Plausibilitaetschecks, Speicherung, Warnung bei
  IP-(Range-)Aenderung, (zB Key wurde entfuehrt und DNS kompromittiert) 
* DNS-Lookups gegen Blacklists etwa wie dnsbl?
* DNS-Lookups ueber verschiedene DNS-Server um DNS-Spooling zu erkennen
...

So ein daemon koennte auch zB Anhand einer Bookmark-Liste oder einer wie
auch immer aufgebauten Hostliste periodisch SSL-Zertifikate pruefen und
Warnungen erzeugen, falls bestimmte Zertifikate in naechster Zeit
ablaufen (zB wenn man selbst eigene SSL-Server irgendwo laufen hat),
bzw. fuer solche VIP-SSL-Zertifikate auch regelmaessig pruefen, dass es
damit keine Probleme gibt, etwa weil die (eigene?) CA zwischenzeitlich
auf der Blackliste gelandet ist oder Intermediate-Zertifikate
zurueckgezogen wurden, etc.

Die Kommunikation zwischen dem Daemon und zB einem Webbrowser koennte
mglw. ueber bestehende "safe browsing"-Schnittstellen erfolgen, etwa
indem man dort "http://localhost:10443/path/to/service"; angibt. Die
Warnung wuerde dann nicht von zB google kommen sondern von localhost.

Ueber eine Webseite koennte man per Webbrowser auf den daemon zugreifen,
aehnlich wie bei http://localhost:631/"; wenn man cups laufen hat.

Das Teil waere unabhaengig von einer bestimmten Client-Implementierung und
wuerde zB gleichmassen bei Firefox, Thunderbird (IMAPs/POP3s/...),
wget/curl/lynx/... funktionieren. Denkbar waere auch der Einsatz auf
NAT-Routern, um bspw. SSL-Pannen fuer Windows-Rechner zu verhindern.

Gibts sowas in der Art schon? Waere das nicht eine Antwort auf generische
SSL-Probleme mit Anwendungssoftware?

Gruss
Raphael

-- 
Raphael Eiselstein <rabe@xxxxxxxxx>               http://rabe.uugrn.org/
xmpp:freibyterægmx.de  | https://www.xing.com/profile/Raphael_Eiselstein   
GnuPG:                E7B2 1D66 3AF2 EDC7 9828  6D7A 9CDA 3E7B 10CA 9F2D
.........|.........|.........|.........|.........|.........|.........|..



-- 
UUGRN e.V. http://www.uugrn.org/
http://mailman.uugrn.org/mailman/listinfo/uugrn
Wiki: https://wiki.uugrn.org/UUGRN:Mailingliste
Archiv: http://lists.uugrn.org/