Gestern habe ich die OpenSSL Lib in unserer iOS App gepatcht. Die verwendete Version hatte den Heartbleed.
Am Tag 2 fragen sich jetzt alle wie das nur sein kann, daß so ein eklatanter Bug jahrelang unentdeckt in einer Open Source Software versteckt bleibt. Und .. ogott jaaa.. wer den wohl schon alles für seine finsteren Machenschaften ausgenutzt hat?!
Open Source muss doch sicher sein, es ist offener Quellcode, jeder kann reinschauen und damit sollten Fehler doch sofort entdeckt werden! Das klappt aber nur dann wenn es eine kritische Masse Leute gibt, die das auch tun und die verstehen, was sie dort vorfinden. Und das ist im Fall von OpenSSL sicherlich nicht so ganz leicht. Jeder der diese Lib schon verwendet hat weiß, wie gräßlich kompliziert das Ding ist. Und ich spreche hier nur von der korrekten Verwendung, vom Griff in den Code selbst ist das meilenweit entfernt. Das ist auch, was man z.B. bei Fefe lesen kann. Der sich selbst nicht zutraut, das Ding zu auditieren, weil, tja, einfach zu kompliziert das Ganze. Lieber selbst schreiben(!). Ich nehme zwar an, daß das ironisch gemeint war aber das ist eher einer der Cracker auf dem Gebiet.
Ich stelle dasselbe Phänomen auch bei uns fest: Je komplizierter ein Code-Komponente aufgebaut ist, desto länger halten sich darin die haarsträubendsten Fehler. Sitzen einem direkt vor der Nase, aber man kann sie nicht erkennen, weil man vor lauter Bäumen den Wald nicht sieht. Aus diesem Grund kann ich immer wieder nur eins meiner Dauer-Mantras wiederholen. Warum einfach, wenns auch kompliziert geht! Ne halt, das war jetzt nicht ganz richtig..
Wer wissen will wie Heartbleed funktioniert klickt einfach mal hier.