E-mail senden E-Mail Adresse kopieren

2022-09-06
Annabelle Theobald

Sicherheit von Open-Source-Software

Open-Source-Code steckt in vielen Softwaresystemen und gilt vielen als sicherer als nicht öffentlicher Code in herstellergebundener Software. Die Hoffnung: Viele Augen sehen mehr – auch in puncto Fehler und Probleme. Doch das Vertrauen in quelloffene Software ist in der jüngsten Vergangenheit durch Sicherheitslücken wie Log4J oder durch zu Protestzwecken manipulierte Open-Source-Software (OSS) ins Wanken geraten. Um eine Grundlage für eine umfassende Sicherheitsanalyse von OSS zu legen, hat der CISPA-Forscher Dominik Wermke eine qualitative Interviewstudie mit Mitwirkenden an OSS-Projekten durchgeführt. Sein Paper „Committed to Trust: A Qualitative Study on Security & Trust in Open Source Software Projects” hat der Forscher auf der renommierten Sicherheitskonferenz IEEE S&P präsentiert und dafür einen Distinguished Paper Award erhalten.

Peace, not war: Hinter diesem Motto können sich wohl prinzipiell viele Menschen versammeln. Die Mittel, die der US-Entwickler Brandon Miller genutzt hat, um im März 2022 nach Beginn des Ukraine-Krieges ebendiese Forderung zu verbreiten, trafen dennoch eher auf Unverständnis. Er versteckte in dem von ihm verwalteten und weltweit genutzten OSS-Software-Modul namens Node-ipc Sabotagecode, der auf Rechnern mit russischer und belarussischer IP-Adresse Dateien löschte und diese durch Herz-Emojis ersetzte. Der Name der Updateversion des rund 24 Stunden downloadbaren Software-Moduls lautete: peacenotwar. Über den Hack berichteten unter anderem das Nachrichtenmagazin Der Spiegel sowie das IT-Fachmagazin Heise. „Dieser Vorgang hat leider viel Vertrauen in Open-Source-Software gekostet“, sagt CISPA-Forscher Dominik Wermke.

Open-Source-Software (OSS) ist Software, deren Quellcode öffentlich einsehbar ist, erklärt der Forscher. Meist kann er auch beliebig kopiert, genutzt und verändert werden. „Dienste wie GitHub und GitLab machen Open-Source aber längst auch zu einem sozialen Phänomen.“  GitHub und GitLab sind Plattformen, auf denen OS-Software-Projekte in der Entwicklung verwaltet werden können. „Teilweise liegen dort kleine Hobbyprojekte, an denen nur wenige Entwickler:innen arbeiten, teilweise wirken mehrere Hunderte oder gar Tausende Menschen an Projekten mit“, sagt Wermke. So entstehen eigenständig nutzbare und oft kostenlose Programme. Manchmal werden aber auch nur Teile des quelloffenen Codes genutzt und von anderen Projekten oder Unternehmen in ihre Programme eingebettet. „Oft entscheiden sich aber auch große Unternehmen ganz bewusst, den Quellcode von Teilen ihrer Programme öffentlich zu machen und erhoffen sich, dass so viele Entwickler:innen daran mitarbeiten und Fehler aufdecken.“

Mittlerweile macht OSS einen großen Teil der Infrastruktur des Internets aus. So beruhen etwa die Webbrowser Mozilla Firefox oder Google Chromium – die kleine Schwester von Google Chrome – und das Android-Betriebssystem darauf. Ein guter Grund, sich genauer anzuschauen, wie OSS-Projekte organisiert sind. „Wir wollten uns ursprünglich direkt mit der Sicherheit von OSS-Projekten befassen und Kriterien festlegen, um diese zu messen. Wir haben aber schnell festgestellt, dass es dafür noch keine ausreichende Datenbasis gibt.“ Eine qualitative Studie, in der Wermke und Kolleg:innen insgesamt 27 Mitwirkende an OSS-Projekten, von Projektgründer:innen über Betreuer:innen und Code-Beitragende befragt haben, liefert ihnen nun gute Anhaltspunkte für die weitere Forschung.

„Wir wollten im Gespräch mit Projektbeteiligten herausfinden, wie genau die Projekte strukturiert sind, ob es Leitfäden und Richtlinien für Entwickler:innen gibt und wie die Projekte mit Sicherheits- und Vertrauensfragen umgehen.“ Die Antworten fielen je nach Art und Größe der Projekte, an denen die Beteiligten arbeiten, sehr unterschiedlich aus. „Je größer der Umfang der Projekte und die Zahl der Mitwirkenden ist, desto größer ist auch ihr Bedarf an Sicherheits- und Vertrauensprozessen. Kleinere Projekte scheinen Sicherheits- und Vertrauensvorfälle erst zu behandeln, wenn sie auftreten.“ Auch wer Code beitragen darf und wie genau neue Beiträge geprüft werden, bevor sie in die OSS-Projekte fließen, variierte. Die meisten Befragten gaben an, sich der Gefahr bewusst zu sein, die von verdächtigen oder minderwertigen Code-Beiträgen ausgeht. In einigen Projekten gibt es ganze Sicherheitsteams, die sich mit Vorfällen und der Prüfung von Code-Beiträgen beschäftigen. In anderen, zumeist kleineren und jüngeren Projekten wird in der Regel zumindest ein:e Ansprechpartner:in für Sicherheitsfragen benannt.

Die Studie zeigt aber auch, dass für die Projekte elementar ist, die Hürden für eine Beteiligung so gering wie möglich gehalten werden. Zudem mangelt es oft an personeller Besetzung und finanziellen Mitteln, um Richtlinien und Leitfäden zu erarbeiten oder komplizierte Prüf-Prozesse einzuführen. Wermke sagt: „Wir plädieren dafür, Open-Source-Projekte auf eine Art und Weise zu unterstützen, die ihre individuellen Stärken und Grenzen besser berücksichtigt, insbesondere im Falle kleinerer Projekte mit einer geringen Anzahl von Mitwirkenden und begrenztem Zugang zu Ressourcen.“ Wie genau diese Unterstützung aussehen könnte, erfordert weitere Forschung. Ein Thema, das bald auf seiner Forschungsagenda auftauchen könnte, hat Wermke bereits identifiziert: „Es wäre spannend, sich anzuschauen, wie kleine Projekte mit verdächtigen Code-Beiträgen umgehen. Ihnen fehlt oft das Personal und die Zeit, solchen Code gründlich zu durchleuchten. Vielleicht gibt es Wege, ihnen mit Richtlinien oder Checklisten zu helfen.“

Wie sicher OSS ist, lässt sich noch nicht sagen und kann so pauschal wahrscheinlich aufgrund der Diversität der Projekte nie für den gesamten Bereich beantwortet werden. „Aber wir können mit unserer Forschung hoffentlich helfen, neue und hilfreiche Sicherheitsstandards einzuführen.“