Eine Forschungsgruppe namens SMACK hat eine Sicherheitslücke namens FREAK veröffentlicht, die für Man-in-the-Middle-Angriffe (MITM) verwendet werden kann. Die Sicherheitsanfälligkeit ist auf einen alten Geist zurückzuführen, der von der US-Regierung (genauer gesagt der NSA) erstellt wurde. Vor Jahren überzeugten sie mehrere Organisationen, schwächere Schlüssel, sogenannte Exportschlüssel, für jede Software zu verwenden, die außerhalb der Grenzen verwendet werden sollte von USA. Während die Verwendung starker Schlüssel mittlerweile weit verbreitet ist, unterstützen mehrere Server die schwächeren Schlüssel immer noch.
Die Gruppe stellte fest, dass diese Sicherheitsanfälligkeit ausgenutzt werden kann, indem ein Client verwendet und eine Verbindung über einen schwachen Schlüssel hergestellt wird. Sobald der Schlüssel vom Server generiert wurde, wird er wiederverwendet, bis der Server neu gestartet wird. Dies kann möglicherweise Monate dauern. Die Gruppe konnte diesen schwachen Serverschlüssel mit Amazon EC2 in 7,5 Stunden knacken. Sobald dies geknackt ist, kann möglicherweise die gesamte Kommunikation auf schwache Schlüssel und MITM'ed heruntergestuft werden.
Der Angriff richtet sich hauptsächlich an OpenSSL-Clients (z. B. Android) und Apple TLS / SSL-Clients (Safari) in Verbindung mit anfälligen Webservern, jedoch nicht an Firefox, Chrome oder IE.
Wie kann ich einige oder alle unsicheren Cipher Suites manuell auf der Clientseite deaktivieren, indem ich z. B. einige Konfigurationsdateien in Safari bearbeite, eine geeignete Safari-Erweiterung verwende oder Binärdateien direkt ändere, um die Sicherheitsanfälligkeit sofort zu beheben, insbesondere in älteren Safari-Versionen, die wahrscheinlich nicht von Apple aktualisiert wurden ? Ist das überhaupt möglich?
Die fraglichen Cipher Suites sind:
CipherSuite TLS_RSA_EXPORT_WITH_RC4_40_MD5 = { 0x00,0x03};
CipherSuite TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 = { 0x00,0x06};
CipherSuite TLS_RSA_EXPORT_WITH_DES40_CBC_SHA = { 0x00,0x08};
CipherSuite TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA = { 0x00,0x0B};
CipherSuite TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA = { 0x00,0x0E};
CipherSuite TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA = { 0x00,0x11};
CipherSuite TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA = { 0x00,0x14};
CipherSuite TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 = { 0x00,0x17};
CipherSuite TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA = { 0x00,0x19};
und vielleicht noch mehr.