Sicherheitsrisiken in Open-Source-Software: Erkenntnisse aus dem CAOS -Projekt für das BSI
Die digitale Welt ist stark von Software abhängig – von Open-Source-Lösungen bis hin zu maßgeschneiderter Unternehmenssoftware. Doch wie sicher sind diese Anwendungen wirklich? Im Rahmen des CAOS-Projekts (Code Analyse von Open Source Software) haben wir im Auftrag des BSI in den letzten drei Jahren sechs umfassende Sicherheitsanalysen unterschiedlicher Open-Source-Anwendungen durchgeführt. Dabei wurden zahlreiche Schwachstellen aufgedeckt, die verdeutlichen, dass Software-Sicherheit eine kontinuierliche Herausforderung darstellt.
Ergebnisse aus dem CAOS-Projekt: Sicherheitslücken fast überall
In nahezu jeder geprüften Anwendung konnten Schwachstellen identifiziert werden. Die Bandbreite der entdeckten Probleme reichte von kleineren Sicherheitslücken bis hin zu kritischen Risiken, die eine Kompromittierung von Benutzerkonten und Systemen möglich machten. Hier einige Beispiele:
Nextcloud
Die Zwei-Faktor-Authentifizierung (2FA) konnte durch einen Angreifer umgangen werden, indem Verifizierungsanfragen manipuliert wurden. Dies ermöglicht es, auch mit gestohlenen Zugangsdaten ein Konto zu kompromittieren.
Beim Dateiaustausch zwischen Nextcloud-Instanzen fehlte ein Authentifizierungsmechanismus, wodurch sich ein Angreifer als eine andere Person ausgeben und potenziell schadhafte Dateien verteilen konnte.
Integrierte externe Speicher konnten ohne erneute Authentifizierung genutzt werden, wodurch Angreifer Zugangsdaten abgreifen und missbrauchen konnten.
Vaultwarden
Ein fehlender Offboarding-Prozess führte dazu, dass ausscheidende Mitglieder einer Organisation weiterhin Zugriff auf verschlüsselte Daten hatten.
Die Sicherheitsüberprüfung für Notfallzugriffe war unzureichend, sodass ein Angreifer administrative Berechtigungen erhöhen konnte.
Mastodon
Mehrere Cross-Site-Scripting (XSS)-Schwachstellen in der Abhängigkeit zu Sidekiq ermöglichten es Angreifern, bösartigen Code einzuschleusen und auszuführen.
Fehlende Passwort-Richtlinien erlaubten es Nutzern, triviale oder leicht erratbare Passwörter zu verwenden, was Brute-Force-Angriffe erleichterte.
Rate-Limiting konnte umgangen werden, was es Angreifern erlaubte, eine Vielzahl von Anmeldeversuchen durchzuführen.
BigBlueButton
Zwei registrierte CVEs für Stored Cross-Site-Scripting-Schwachstellen ermöglichten es Angreifern, schädliche Skripte dauerhaft in die Plattform einzuschleusen.
Per Brute-Force konnten valide Raumnamen einer Instanz herausgefunden werden, worauf aufbauend weitere Angriffe denkbar sein könnten.
Jitsi
Obwohl keine schwerwiegenden Sicherheitslücken identifiziert wurden, gab es zahlreiche bekannte Schwachstellen in genutzten Abhängigkeiten, die Angriffsvektoren für zukünftige Exploits darstellen könnten.
eID-Plugins (Wordpress, Nextcloud)
Je eine, sehr begrenzt ausnutzbare, Cross-Site-Scripting-Schwachstelle, welche es in bestimmten Situationen ermöglichte, Skripte im Kontext der Nutzersitzung zur Ausführung zu bringen.
Diese Funde verdeutlichen, dass kontinuierliche Sicherheitsüberprüfungen notwendig sind, um Risiken frühzeitig zu identifizieren und zu beheben.
Sicherheitslücken sind nicht nur ein Open-Source-Problem
Oft wird angenommen, dass vor allem Open-Source-Software anfällig für Sicherheitslücken ist. Die Realität zeigt jedoch, dass auch selbst entwickelte, gekaufte oder gehostete Software denselben Risiken unterliegt. Gründe hierfür sind unter anderem:
Dynamische Entwicklungsprozesse: Ständig wachsende Codebasen und Feature-Updates erhöhen die Komplexität und das Risiko neuer Schwachstellen.
Hoher Zeitdruck: Entwickler stehen unter Druck, neue Features schnell bereitzustellen, wodurch Sicherheitsprüfungen oft vernachlässigt werden.
Komplexe Abhängigkeiten: Moderne Software-Projekte nutzen zahlreiche externe Bibliotheken, die potenziell Sicherheitslücken enthalten können.
Da Software sich kontinuierlich weiterentwickelt, müssen Sicherheitsmaßnahmen ebenfalls dynamisch und fortlaufend sein.
Kontinuierliche Überwachung vs. einmalige Überprüfung
Ein einmaliger Penetrationstest ist wie eine Momentaufnahme – die Sicherheitslage einer Anwendung kann sich jedoch innerhalb kürzester Zeit ändern. Unternehmen müssen daher auf langfristige und kontinuierliche Sicherheitsstrategien setzen, anstatt sich auf gelegentliche Prüfungen zu verlassen. Best Practices hierfür sind:
Shift-Left-Prinzip: Sicherheitsprüfungen frühzeitig in den Entwicklungsprozess integrieren, um Schwachstellen bereits in der Entwicklungsphase zu erkennen und zu beheben.
Regelmäßige Sicherheitsanalysen: Statische und dynamische Analysen kontinuierlich durchführen, um Sicherheitsrisiken frühzeitig zu erkennen.
Automatisierte Sicherheitsüberwachung: Werkzeuge wie SAST (Static Application Security Testing) und DAST (Dynamic Application Security Testing) einsetzen, um Schwachstellen automatisch zu identifizieren.
👉 Takeaways
Sicherheit ist kein Zustand, sondern ein fortlaufender Prozess.
Selbst „kleine“ Schwachstellen können gravierende Folgen haben, wenn sie nichtrechtzeitig geschlossen werden.
Sicherheitsüberprüfungen müssen ein integraler Bestandteil des SDLC sein – ähnlich wie Funktionalitäts- oder Performancetests.
Wie Sie die Kontrolle über Ihre Sicherheitslage behalten
Eine strategische Herangehensweise ist entscheidend, um Sicherheitsrisiken effektiv zu minimieren. Unternehmen sollten systematisch vorgehen und folgende Maßnahmen priorisieren:
Security Posture Management: Gesamten Sicherheitsstatus überwachen und kontinuierlich anpassen.
Automatisierte Sicherheitsüberprüfung: Regelmäßige Analysen mit spezialisierten Tools durchführen, um Schwachstellen frühzeitig zu erkennen.
Software-Supply-Chain-Security: Die gesamte Lieferkette der Software prüfen, um Schwachstellen in externen Abhängigkeiten zu minimieren.
Security Awareness: Regelmäßige Schulungen und gezielte Sensibilisierungsmaßnahmen für Entwickler und Mitarbeiter durchführen.
👉 Takeaways
Ein strukturierter Ansatz und automatisierte Überwachung helfen, Risiken frühzeitig zu minimieren.
Technische Maßnahmen allein reichen nicht aus – organisatorische Prozesse und Schulungen sind essenziell.
Sicherheitsanalysen:
Unsere Lösung: Wie wir unterstützen können
Wir bieten Unternehmen maßgeschneiderte Lösungen zur Stärkung ihrer Software-Sicherheit:
Ganzheitliche Sicht über alle erkannten Sicherheitslücken
Kontinuierliche Überwachung und regelmäßige Überprüfung
Nahtlose Integration in CI/CD-Prozesse
Unser Dienstleistungsportfolio:
Penetrationstests zur Identifikation von Schwachstellen
Kontinuierliches Application Security Testing für proaktive Sicherheitsmaßnahmen
Secure Code Reviews zur Verbesserung der Code-Qualität
Bedarfsorientierte Beratung und individuelle Sicherheitsstrategien
LAS (Lean Application Security), um Sicherheit reibungsarm in den Entwicklungsprozess zu integrieren
Zusätzliche Leistungen:
Security Awareness-Konzepte für alle Mitarbeitenden im Unternehmen
Secure Coding Trainings zur Verbesserung der Sicherheitspraktiken
Individuell angepasste Sicherheits-Konzepte für Unternehmen jeder Größe
Fazit: Sicherheitsüberprüfungen als Schlüsselfaktor für vertrauenswürdige Software
Ohne kontinuierliche Sicherheitsprüfungen wird es immer schwieriger, Software langfristig sicher und vertrauenswürdig zu halten. Unternehmen müssen Sicherheitsmaßnahmen fest in ihren Entwicklungs- und Betriebsprozess integrieren. Unsere Expertise und Tools helfen Ihnen, diese Herausforderungen erfolgreich zu bewältigen.
Ihr Ansprechpartner
Mirko Richter
Nehmen Sie Kontakt per Email auf. Oder rufen Sie uns an oder nutzen Sie unser Kontaktformular.
Application Security und Secure Coding
LAS - Lean Application Security
Ein erprobtes Konzept für inhärent sichere Anwendungen und Systeme durch frühzeitige Einbindung von Sicherheit in den Softwareentwicklungsprozess.
ATLAS - Security Testing Platform
mgm ATLAS ist die effiziente Integration von automatisierten Tests in Entwicklungsprozesse. Es ergänzt unseren Lean Application Security Ansatz optimal um eine schlanke und skalierbare Testplattform.