Schon seit langer Zeit gehen mir manche, viele OSS-Verteidiger auf die Nerven, einfach weil sie (also die, die mir auf die Nerven gehen) komplett blauäugig sind.
Da wird ad infinitum wiederholt: “OSS ist besser, weil da jeder in den Quellcode reinsehen kann und jeder den Code verbessern kann.”
Ja, natürlich stimmt das — nur macht es den Code nicht besser, solange es nicht auch passiert. Karl Marx, elfte Feuerbach-These: “Die Philosophen haben die Welt nur verschieden interpretiert, es kommt aber darauf an, sie zu verändern.” Mit anderen Worten: vom bloßen Reinsehen ändert sich gar nichts.
Und schließlich muß man auch kompetent sein. Hatte OpenBSD eine FBI-Backdoor im IPSEC? Am Ende hat man sich wohl auf “Wir haben jedenfalls nix gefunden” geeinigt. Und wer sagt, daß das Debian-Desaster mit vorhersehbarem Zufall in openssl heute unmöglich ist? Heartbleed?
Ich komme darauf wegen Squid. 35 Zerodays seit Jahren!!! Und warum? Darum:
However, they (das Squid-Team) are effectively understaffed, and simply do not have the resources to fix the discovered issues.
Nun hat hier jemand mit sehr viel Ahnung sich den Code nicht nur angesehen, sondern ihn auch begutachtet. Bugs sogar gemeldet — hat alles nichts genützt, bis heute scheinbar nicht. Was ist jetzt besser? Ein squid mit 35 allen Bösen (TLAs, Blackhats) bekannten Zerodays, oder ein IIS mit 350 nur den TLAs und Microsoft bekannten Zerodays?
Ein anderes Problem: Was, wenn die Sicherheitslücken in den Algorithmen liegen? Ein offeneres Verfahren als die Kürung von NIST-Standards kann es ja kaum geben — und doch war lange Zeit auch den besten Fachleuten nicht klar, ob die NSA nicht in Dual_EC_DRBG eine Hintertür eingebaut hat (sie hat es)
Habt ihr alle ed25519 reviewed? 😛
Und die Welt bricht gleich ganz zusammen, wenn der Compiler Backdoors einbaut. Da kann man dann noch so intensiv es geht den Quelltext analysieren — er wird keine Backdoor haben, jedenfalls nicht die, die der Compiler eingebaut hat.
Open source ist nicht besser als closed source, nur weil sie open ist. Es muß sich jemand kümmern, und ich bezweifle, daß der Anteil der OSS-Verfechter, die wirklich a) in den Code gesehen und b) ihn auch verstanden haben, über der Meßbarkeitsgrenze liegt.
Oh, und: “Ja, aber bei closed source weißt du gar nichts, kannst gar nichts wissen!” ist natürlich richtig, aber Whataboutism. Denn es ändert an Open source gar nichts, wenn Closed source noch kaputter ist.
Einen Lösungsvorschlag habe ich auch nicht, aber vielleicht dies: Dort, wo Software für die Infrastruktur essentiell ist (aus der Grabbelkiste: openssl, libcurl) sollte der Staat Code Review und Pentesting bezahlen.