Nein, Open Source ist natürlich nicht per se unsicher!

Zu unserem Blog-Beitrag „Open Source als Angriffsvektor“ erreichten uns mehrere kritische Kommentare, zu denen wir gerne Stellung nehmen möchten. Bei einigen Lesern ist anscheinend der Eindruck entstanden, wir würden Open Source als unsicher ablehnen. Das ist nicht der Fall.

Bereits in der Einleitung unseres Beitrags heißt es: „Hier möchten wir nur einen Aspekt dieser hochkomplexen Story beleuchten“. Nur ein Aspekt! Wir haben nie behauptet, Open Source sei per se unsicher oder sei der Hauptgrund für den gelungenen Angriff gewesen. Wir haben den Hack nur als Anlass genommen, um auf ein Detailproblem hinzuweisen, nämlich, dass bei einem vollständig offenen und öffentlichen Entwicklungsmodell Sicherheitslücken per definitionem äffentlich bekannt sind.

Daher wird es bei hundertprozentig offener Entwicklung immer einen Zeitraum geben zwischen der Veröffentlichung einer Sicherheitslücke und dem Schließen derselben bei den Anwendern. Egal, wie sehr sich Entwickler und Admins beeilen, dieser Zeitraum kann nie gleich Null sein. In diesem Zeitfenster haben Angreifer leichtes Spiel. Die Mähen, Lücken durch Fuzzing, Reverse Engineering und dergleichen aufwändige Methoden zu finden, kännen sie sich sparen und statt dessen gleich nach verwundbaren Installationen suchen.

Wir sind aber natürlich nicht die ersten, denen das auffällt. Die Open Source Community hat das Problem längst bemerkt. Und sie nutzt genau den einzigen logischen Ausweg, um ihre Benutzer zu schützen: Sie schränkt die Offenheit des Quellcodes vorübergehend ein. Die Arbeit an Sicherheitslücken findet dann in einem nichtöffentlichen Bereich statt, und erst wenn die Lücke geschlossen ist, wird der neue Quellcode wieder in den öffentlichen Bereich des Projekts überführt.

So gehen aber noch lange nicht alle Projekte vor. Und wenn wie im vorliegenden Fall eine Installation über ein Jahr mit einer veralteten Version betrieben wird, laufen auch diese Maßnahmen leider ins Leere. Und ja, veraltete Installationen sind natürlich das Hauptproblem, ganz unabhängig von Open oder Closed Source.