{"id":62,"date":"2009-01-01T21:42:27","date_gmt":"2009-01-01T21:42:27","guid":{"rendered":"http:\/\/blog.benny-baumann.de\/?p=62"},"modified":"2009-01-01T21:42:27","modified_gmt":"2009-01-01T21:42:27","slug":"firefox-und-ssl","status":"publish","type":"post","link":"https:\/\/blog.benny-baumann.de\/?p=62","title":{"rendered":"Firefox und SSL"},"content":{"rendered":"<p>Erstmal hoffe ich, dass alle meine LEser gut in&#8217;s neue Jahr 1984v2 gekommen sind und man sich nun nach den etwas stressigen letzten Tagen des alten Jahres gut erholt hat. Aber halt! Da war ja der 25C3 mit einer ganzen Reihe interessanter Vortr\u00e4ge zum Thema Sicherheit, u.a. in Bezug auf verschiedene Protokolle wie <a href=\"http:\/\/events.ccc.de\/congress\/2008\/Fahrplan\/events\/2906.en.html\">DNS<\/a> und <a href=\"http:\/\/events.ccc.de\/congress\/2008\/Fahrplan\/events\/2909.en.html\">TCP<\/a>, aber auch in Bezug auf eine ganze Reihe neuer Angriffe, die wie eigentlich in jedem Jahr, auf dem Kongress vorgestellt wurden, darunter <a href=\"http:\/\/events.ccc.de\/congress\/2008\/Fahrplan\/events\/2922.en.html\">Cold Boot Attacks<\/a> gegen den Speicher frisch ausgeschalteter Computer, Angriffe gegen <a href=\"http:\/\/events.ccc.de\/congress\/2008\/Fahrplan\/events\/2893.en.html\">Web Services<\/a>, aber auch <a href=\"http:\/\/events.ccc.de\/congress\/2008\/Fahrplan\/events\/2678.en.html\">Angriffe gegen verschl\u00fcsselte PHP-Anwendungen<\/a>.<\/p>\n<p>Nein, ich m\u00f6chte jetzt nicht den gesamten Kongress im Detail wiedergeben &#8211; zu dem ich ohnehin aus verschiedenen Gr\u00fcnden leider nicht fahren konnte: ich m\u00f6chtee eher ein anderes Problem hervorheben, wo der Kongress einmal mehr \u00fcberaus deutlich gezeigt hat, dass ein Umdenken und eine alternative L\u00f6sung mehr als notwendig ist, da die vorhandenen Mittel auf lange Sicht nicht weiter vor einer Katastrophe sch\u00fctzen k\u00f6nnen, wie der <a href=\"http:\/\/events.ccc.de\/congress\/2008\/Fahrplan\/events\/3023.en.html\">Vortrag zu SSL und der Erstellung eines g\u00fcltig-unterschriebenen CA-Zertifikates<\/a> gezeigt haben.<!--more--><\/p>\n<p>SSL ist eine Abk\u00fcrzung f\u00fcr Secure Socket Layer und dient im Normalfall dazu, eine Transport-Verschl\u00fcsslung von Datenstr\u00f6men, in erster Linie aber eine Authentifizierung der Gespr\u00e4chspartner zu erm\u00f6glichen. W\u00e4hrend die Transport-Verschl\u00fcsslung das mit am h\u00e4ufigsten genutzte Feature der meisten SSL-Bibliotheken sein d\u00fcrfte, wird die Authentifizierung von Gespr\u00e4chspartnern oftmals nur Stiefm\u00fctterlich bis gar nicht genutzt. So war in mehreren Vortr\u00e4gen wiederholt zu h\u00f6ren, dass eine ganze Reihe von Anwendungen die via SSL vorgenommene Authentifizierung nur unzureichend bis gar nicht \u00fcberpr\u00fcft: Bei manchen Programmen (darunter einige IRC-Clients) soll es bereits reichen, \u00fcberhaupt SSL zu sprechen. Das ist weit von dem entfernt, wozu SSL gedacht ist.<\/p>\n<p>Der Einsatzzweck von SSL ist prim\u00e4r, eine Platform f\u00fcr vertrauensw\u00fcrdige Authentifizierung von Diensten zu erm\u00f6glichen. Das hierf\u00fcr vorgesehene Konzept sieht dabei die Nutzung sogenannter Certification Chains vor, die ausgehend von einer Root-CA einen eindeutigen Vertrauenspfad f\u00fcr einen Dienst bereitstellen. Hierbei steht an erster Stelle eine Certification Authority wie <a href=\"http:\/\/www.verisign.com\/ssl\/index.html\">VeriSign<\/a> oder <a href=\"http:\/\/www.cacert.org\/\">CAcert<\/a>, die einem Antragsteller seine Identit\u00e4t beglaubigt und somit f\u00fcr die Richtigkeit der von ihr zertifizierten Dienste birgt. Und genau hier haben manche Anbieter \u00fcber Jahre hinweg geschlampt, denn wie sonst ist es zu erkl\u00e4ren, dass <a href=\"http:\/\/blog.fefe.de\/?ts=b7affdb9\">Comondo mal eben ohne Nachfrage *.com zertifiziert<\/a>. Das Vertrauen in CAs ist somit schon einmal futsch &#8211; genauso wie die Berechtigung von Comondo, in meinem Browser irgendetwas als sicher zu zertifizieren.<\/p>\n<p>Aber gut, wenn die CAs schon nicht vertrauensw\u00fcrdig sind, dann doch aber wenigstens die Zertifikate? Weit gefehlt, denn auch hier hat sich inzwischen einiges getan. Bereits seit 2004 war bekannt, dass MD5 <a href=\"http:\/\/www.schneier.com\/crypto-gram-0409.html#3\">wahrscheinlich<\/a> <a href=\"http:\/\/www.schneier.com\/blog\/archives\/2005\/03\/more_hash_funct.html\">nicht<\/a> <a href=\"http:\/\/www.schneier.com\/blog\/archives\/2005\/06\/more_md5_collis.html\">sicher<\/a> ist, was aber bis vor kurzem scheinbar keine Zertifizierungsstelle ernsthaft beunruhig zu haben scheint, da immer noch ein Gro\u00dfteil der Zertifikate mit MD5 ausgestellt werden.<\/p>\n<p>Dies ist insbesondere dann verwunderlich, wenn bereits 2006 und darauf aufbauend 2007 weitere Attacken vorgestellt wurden, die gezeigt haben, dass ein Angriff auf einen MD5-Hash praktisch durchf\u00fchrbar ist &#8211; es bedurfte aber der auf dem Kongress vorgestellten Demonstration, um auch endlich Bewegung in die Geschichte zu bringen.<\/p>\n<p>Und wer jetzt denkt, dass er sich einen Gefallen tut, wenn er auf eine Zertifizierungsstelle ganz verzichtet und stattdessen Self-Signed seine Zertifikate verteilt, der schafft insbesondere bei aktuellen Browsern wie dem Firefox 3 ein \u00dcbel, welches er gerade bek\u00e4mpfen wollte. Ich hasse Self-Signed Zertifikate und jede Seite, die solche nutzt, darf mich auch zuk\u00fcnftig nicht als Besucher erwarten &#8211; gerade nicht, wenn self-signed genommen wird &#8222;weil es egal ist, ob man ein CA-Zertifikat oder eine eigene Root im Browser importiert&#8220;. Danke, aber auf diesen Webmaster kann ich gern verzichten!<\/p>\n<p>Aber auch die Browser sind an vielen Stellen nicht besser. Gerade, wenn es um Sicherheit geht. Hier hat der Firefox einfach noch nachholbedarf, was nicht nur ich, sondern <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=471798\">auch andere<\/a> so sehen. So fehlt dem Firefox eine M\u00f6glichkeit, den User zu warnen, wenn sich das SSL-Zertifikat einer Website ge\u00e4ndert hat, obwohl dieses weder abgelaufen, noch zur\u00fcckgezogen wurde. Dieser Schutz ist zwar False-Positive-behaftet, jedoch kann er, bei richtiger Implementierung dem User eine gute Unterst\u00fctzung beim Erkennen von Man-in-the-Middle-Angriffen bieten.<\/p>\n<p>Aber es muss ja nicht immer ganz so Hightech sein. Firefox bietet bereits seit der 2er Version die M\u00f6glichkeit, in der Adressbar nicht nur die gr\u00fcne Best\u00e4tigung bei Class 3-Zertifikaten anzuzeigen, sondern auch bei Class 1-Zertifikaten die Identit\u00e4t darzustellen. Was gut gemeint ist, wurde aber <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=471802\">sinnfrei implementiert<\/a>, so dass auch bei unterschiedlichen Zertifikaten das gleiche Zertifizierungsobjekt angezeigt werden, was einem Angreifer n\u00fctzt, um bestimmte Angriffe einfacher zu verschleiern.<\/p>\n<p>Firefox ist da aber auch f\u00fcr eine ganze Reihe anderer Fehler bekannt. Wenn also mal nicht die GUI defekt ist, so ist&#8217;s die <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=450280\">API<\/a>. Was will man machen???<\/p>\n<p>Somit bleibt eigentlich, den Vortragenden folgend, festzustellen:<br \/>\nThe Internet is broken!<\/p>\n<p class=\"wp-flattr-button\"><a href=\"https:\/\/blog.benny-baumann.de\/?flattrss_redirect&amp;id=62&amp;md5=4ea79289cec62ee6da4af064762714cc\" title=\"Flattr\" target=\"_blank\"><img src=\"http:\/\/blog.benny-baumann.de\/wp-content\/plugins\/flattr\/img\/flattr-badge-large.png\" srcset=\"http:\/\/blog.benny-baumann.de\/wp-content\/plugins\/flattr\/img\/flattr-badge-large.png\" alt=\"Flattr this!\"\/><\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Erstmal hoffe ich, dass alle meine LEser gut in&#8217;s neue Jahr 1984v2 gekommen sind und man sich nun nach den etwas stressigen letzten Tagen des alten Jahres gut erholt hat. Aber halt! Da war ja der 25C3 mit einer ganzen Reihe interessanter Vortr\u00e4ge zum Thema Sicherheit, u.a. in Bezug auf verschiedene Protokolle wie DNS und [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[29],"tags":[48,15,51,21,52,50,49],"class_list":["post-62","post","type-post","status-publish","format-standard","hentry","category-software","tag-dns","tag-firefox","tag-md5","tag-php","tag-security","tag-ssl","tag-tcp"],"_links":{"self":[{"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/posts\/62","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=62"}],"version-history":[{"count":2,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/posts\/62\/revisions"}],"predecessor-version":[{"id":64,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/posts\/62\/revisions\/64"}],"wp:attachment":[{"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=62"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=62"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=62"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}