Codeanalyse von Open Source Software (Projekt CAOS)
Projekt 486
Das Bundesamt für Sicherheit in der Informationstechnik (BSI) hat die Aufgabe, Informationssicherheit in der Digitalisierung unter anderem durch Prävention für Staat, Wirtschaft und Gesellschaft zu gestalten. Im Zuge dessen hat das BSI 2021 das Projekt „Codeanalyse von Open Source Software“ (kurz CAOS) ins Leben gerufen. Ziel des Projekts ist es, verschiedene Open Source Software einer Codeanalyse zu unterziehen. Dabei wird der Fokus auf Anwendersoftware gelegt, die vermehrt durch Behörden oder die Gesellschaft genutzt wird. Die Codeanalyse soll das Vertrauen in die Sicherheitseigenschaften des Produkts stärken und etwaige Zweifel an der Korrektheit der Funktionsbeschreibungen ausräumen.
Erfolgreiche Angriffe lassen sich häufig auf Fehler im Programmcode betroffener Anwendungen zurückführen. Eine statische Codeanalyse kann unterstützend dazu beitragen, frühzeitig Fehler zu erkennen und zu beheben. Sie kann bereits im Entwicklungsprozess, aber auch vor Installation und Nutzung der Software, vorgenommen werden. Die statische Codeanalyse erfolgt als Whitebox Test und bietet einen vollständigen Überblick über die Anwendung. Als Whitebox Test wird ein Test bezeichnet, der Einblicke in den Quellcode der Software bietet.
Innerhalb des Projektes CAOS werden die folgenden Leistungen erbracht:
- Identifizierung von Schwachstellen im Quellcode
- Überprüfung eingebundener Funktionen auf deren Konformität und Überprüfung auf Aktualität der verwendeten Bibliotheken
- Identifizierung nicht dokumentierter Zugangsmöglichkeiten
- Überprüfung der Anwendung auf sichere Übertragung von Formulardaten
- Ermittlung möglicher Gefährdungen und deren Auswirkungen auf Grundlage der festgestellten Mängel im Quellcode bei einem Schutzbedarf der Anwendungen von "hoch" und "sehr hoch"
- Durchführung der Codeanalysen als Kombination aus Static Application Security Testing (SAST), Dynamic Application Security Testing (DAST), Interactive Application Security Testing (IAST) und Software Composition Analysis (SCA), sowie einer Kontrolle in den Bereichen Netzwerkschnittstellen, Protokolle und Standards
Die Ergebnisse der Codeanalyse werden im Anschluss an das Projekt den Software-Entwickelnden zur Behebung der Schwachstellen zugänglich gemacht. Nach einer angemessenen Wartezeit im Rahmen eines „Responsible Disclosure“-Verfahrens veröffentlicht das BSI die Ergebnisse.
Zukünftige Codeanalysen
Um die Sicherheit in der Gesellschaft und im Behördenumfeld verbreiteter Open Source Software weiter zu unterstützen, sind weitere Codeanalysen beauftragt. Die dabei gefundenen Ergebnisse werden nach der Fehlerbehebung durch die Entwickelnden auf dieser Seite veröffentlicht.
Codeanalyse Nextcloud
Für die digitale Zusammenarbeit sind Kollaborationsplattformen ein essenzielles Werkzeug. Nextcloud ist eine Open Source Software, welche das Teilen und Verwalten von Dateien, sowie die digitale Zusammenarbeit ermöglicht. Die Sicherheit des Datenaustauschs über solche Plattformen ist grundlegend von der Sicherheit der zugrunde liegenden Software abhängig. Die Anwendung kann zudem um zusätzliche Funktionen erweitert werden. Die dafür benötigten Erweiterungen ("Plugins") sind dabei selbst wiederum kleine Anwendungen, welche ebenfalls Schwachstellen enthalten können.
Die Untersuchung umfasste neben der Software Nextcloud die Erweiterungen "Two-Factor Admin Support", "Two-Factor Email", "Two-Factor TOTP Provider" und "Two-Factor Webauthn". Der Entwickler der Erweiterung "Two-Factor Email" verweist auf das zugehörige Github-Repository, in dem eine nachfolgende Version entwickelt wird. Diese soll die gefundenen Mängel beheben.
Im Rahmen des Projektes CAOS wurde die Anwendung Nextcloud, inklusive einiger häufig genutzter Erweiterungen, auf Schwachstellen geprüft. Die gefundenen Schwachstellen wurden in einem Responsible-Disclosure-Verfahren den betroffenen Entwicklern mitgeteilt. Diese haben die Schwachstellen analysiert und bereits reagiert.
Ergebnisse der Studie zur statischen Codeanalyse ausgewählter Opensource Software: Nextcloud Server
Anhänge zur Codeanalyse "Nextcloud"
Codeanalyse Passwort-Manager- KeePass und Vaultwarden
Sichere Passwörter für alle Onlinekonten und digitalen Dienste sind essenziell. Die sicherste Option ist es, für jeden Account ein individuelles, starkes Passwort zu verwenden – wenngleich das bedeutet, viele verschiedene Zugangsdaten zu verwalten. Ein Passwort-Manager kann hier Abhilfe schaffen, um den Überblick nicht zu verlieren. Im Rahmen des Projektes CAOS wurden gefundene Schwachstellen in einem Responsible-Disclosure-Verfahren den betroffenen Entwicklern mitgeteilt. Diese haben die Schwachstellen analysiert und bereits reagiert.
Ergebnisse der Studie zur statischen Codeanalyse des Passwortmanagers KeePass
Anhänge zur Codeanalyse "KeePass“
Ergebnisse der Studie zur statischen Codeanalyse des Passwortmanagers Vaultwarden
Anhänge zur Codeanalyse "Vaultwarden“
Codeanalyse Kommunikationssoftware - Matrix
Bedingt durch die Corona-Pandemie wurden in vielen Unternehmen und Behörden eine Vielzahl von Schritten unternommen, um Kommunikationssysteme einschließlich der erforderlichen Software in Betrieb zu nehmen. Hierbei wurde festgestellt, dass Arbeitnehmer wie Arbeitgeber auf diese Systeme angewiesen sind, um ihre Arbeit sinnvoll und vollständig erledigen zu können. Im Rahmen des Projektes CAOS wurden gefundene Schwachstellen in einem Responsible-Disclosure-Verfahren den betroffenen Entwicklern mitgeteilt. Diese haben die Schwachstellen analysiert und bereits reagiert.
Ergebnisse der Studie zur statischen Codeanalyse der Kommunikationssoftware Matrix
Anhänge zur Codeanalyse "Kommunikationssoftware“
Codeanalyse Social Media Micro Blogging Software - Mastodon
In der Vergangenheit ist offenbar geworden, wie wichtig in der heutigen Zeit Kurznachrichtendienste sind. Viele Informationen werden über diese Schnittstelle zuerst verbreitet und erreichen unter Umständen eine sehr schnelle und hohe Verbreitung. Im Rahmen des Projektes CAOS wurden gefundene Schwachstellen in einem Responsible-Disclosure-Verfahren den betroffenen Entwicklern mitgeteilt. Diese haben die Schwachstellen analysiert und bereits reagiert.
Ergebnisse der Studie zur statischen Codeanalyse der Social Media Micro Blogging Software Mastodon
Anhänge zur Codeanalyse "Social Media Micro Blogging System"
Codeanalyse Videokonferenzsysteme - BigBlueButton und Jitsi
Videokonferenzsysteme sind spätestens seit der Corona Pandemie für die Kommunikation zwischen räumlich verteilten Teilnehmenden unerlässlich geworden. Die verstärkte Nutzung von Home-Office ebenso wie Besprechungen über weit entfernte Standorte hinweg macht sie zu einem wichtigen Medium. Im Rahmen des Projektes CAOS wurden gefundene Schwachstellen in einem Responsible-Disclosure-Verfahren den betroffenen Entwicklern mitgeteilt. Diese haben die Schwachstellen analysiert und bereits reagiert.
Anhänge zur Codeanalyse "Videokonferenzsysteme" AP3
Codeanalyse eID-Templates
Zur Nutzung der Online-Ausweisfunktion benötigt der Dienstanbieter einen Service für elektronische Identitäten (eID), um seinen Dienst in die zugrundeliegende eID-Infrastruktur zu integrieren. In diesem Zusammenhang wurden mehrere Templates im Rahmen eines weiteren BSI-Projekts entwickelt und einer Codeanalyse unterzogen. Die Templates sollen Nutzenden die Authentifizierung bei Wordpress- oder Nextcloud-Installationen mit hohem Schutzbedarf ermöglichen. Der Einsatz der Templates ist im Zusammenhang mit der „eID-Card“ geplant.
Ergebnisse der Studie zur statischen Codeanalyse ausgewählter Opensource Software: eID-Templates