{"id":1033,"date":"2009-12-27T19:21:05","date_gmt":"2009-12-27T18:21:05","guid":{"rendered":"http:\/\/www.mitternachtshacking.de\/blog\/1033-26c3-exposing-crypto-bugs-through-reverse-engineering"},"modified":"2018-06-01T00:24:43","modified_gmt":"2018-05-31T23:24:43","slug":"26c3-exposing-crypto-bugs-through-reverse-engineering","status":"publish","type":"post","link":"https:\/\/www.mitternachtshacking.de\/blog\/1033-26c3-exposing-crypto-bugs-through-reverse-engineering","title":{"rendered":"26C3: Exposing Crypto Bugs through reverse engineering"},"content":{"rendered":"<p>Philippe Oechslin ist bekannt durch seine Crypto-Arbeit \u00fcber Rainbowtables, darum konnte man sich von diesem Vortrag viel erwarten.\u00c2\u00a0 Allerdings habe ich die ersten 10 Minuten leider verpasst.<\/p>\n<p>Eine Demo zeigte, wie schlecht Verschl\u00fcsselung regelm\u00e4\u00dfig implementiert ist. Die Software (den Namen nannte er nicht) implementiert drei Passw\u00f6rter, eins zum Zugriff auf den privaten Bereich, eins zum Zugriff auf den \u00f6ffentlichen Bereich und ein Panikpasswort zum L\u00f6schen der Verschl\u00fcsselungskeys. Die Passw\u00f6rter sind hintereinander in einem Control Block angeordnet. Wenn man nun die Reihenfolge der Passw\u00f6rter im Control Block austauscht, kann man mit dem Panikpasswort den privaten Bereich entschl\u00fcsseln.<\/p>\n<p>Die nicht mehr angebotene Software von DataBecker &#8222;PrivateSafe&#8220; ist ein anderes lustiges Programm. Es gibt zwar ein Passwort, jedes Zeichen im Passwort wird aber nur f\u00fcr ein einfaches logisches Shift verwendet um eine Pr\u00fcfsumme zu erzeugen die dann verifiziert wird. Aus diesem Shift l\u00e4sst sich einmal die L\u00e4nge des Passworts ermitteln, au\u00dferdem kann man aus der Bitfolge f\u00fcr jedes Zeichen ermitteln, ob es als letztes Bit eine 0 oder 1 hat. Damit l\u00e4sst sich der Suchraum massiv einschr\u00e4nken. Im Ergebnis k\u00f6nnen \u00fcber eine triviale Analyse die Passwortkandidaten gefunden werden, ohne die komplexe Blowfish-Berechnung zu nutzen. Mit den Passw\u00f6rtern die auf die Pr\u00fcfsumme passen probiert man dann den eigentlichen Algorithmus aus. Blowfish hat ein langsames Keysetup, darum kann man direkt nur ca. 25.000 Passw\u00f6rter pro Sekunde ausprobieren. Mit der Schwachstelle l\u00e4sst sich das Passwort \u00fcber 15.000x schneller brechen (2,5 Stunden statt 1,7 Jahre).<\/p>\n<p>Eine weitere Schwachstelle liegt in der Nutzung von Passw\u00f6rtern ohne Salt. Dadurch lassen sich Rainbowtables berechnen, die das sp\u00e4tere Cracken von Verschl\u00fcsselungssystemen stark beschleunigen.<\/p>\n<p>Fazit: Crypto ist schwer korrekt zu implementieren. Deshalb OpenSource, da ist die Implementierung verifizierbar.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Philippe Oechslin ist bekannt durch seine Crypto-Arbeit \u00fcber Rainbowtables, darum konnte man sich von diesem Vortrag viel erwarten.\u00c2\u00a0 Allerdings habe ich die ersten 10 Minuten leider verpasst. Eine Demo zeigte, wie schlecht Verschl\u00fcsselung regelm\u00e4\u00dfig implementiert ist. Die Software (den Namen nannte er nicht) implementiert drei Passw\u00f6rter, eins zum Zugriff auf den privaten Bereich, eins zum [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[13,8],"tags":[],"_links":{"self":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts\/1033"}],"collection":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/comments?post=1033"}],"version-history":[{"count":0,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts\/1033\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/media?parent=1033"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/categories?post=1033"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/tags?post=1033"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}