O.TrdP 1
Beschreibung
Der Hersteller MUSS eine zentrale und vollständige Liste von Abhängigkeiten durch externe Software, Bibliotheken und Frameworks führen.
Kurzfassung
Abhängigkeiten durch externe Software, Bibliotheken und Frameworks.
Testcharakteristik
Prüftiefe
Bezeichnung | Mindestanforderungen an die Prüfung |
---|---|
CHECK | Der Evaluator validiert (englisch „check“, analog zu Begriffsverwendung in der Common Criteria Evaluation Methodology) die vom Hersteller beschriebene Maßnahme im Hinblick auf ihre Wirksamkeit und räumt bestehende Zweifel (Plausibilitätsprüfung) aus, ob der Prüfaspekt und die damit verbundene Sicherheitsproblematik umfassend durch die beschriebenen Maßnahmen adressiert wird. Hierbei MUSS der Evaluator den aktuellen Stand der Technik für die jeweilige Plattform mitberücksichtigen. Die Validierung KANN weitergehende Schritte, wie z.B. eine Quelltextanalyse, umfassen, falls der Evaluator diese für eine umfassende Einschätzung benötigt. |
Ergänzende Informationen für Evaluatoren
Der Hersteller stellt eine Liste der eingesetzten externen Software, Frameworks und Bibliotheken inkl. der verwendeten Versionen bereit. Der Evaluator prüft die bereitgestellte Liste auf Vollständigkeit.
Lösungsansätze
Implementierung
- Tools
- Dependency Management Tools
- Verwenden Sie Dependency-Management-Tools wie npm (für JavaScript/Node.js) , pip (für Python) , Maven (für Java) , Composer (für PHP) oder andere ähnliche Tools für Ihre spezifische Sprache oder Plattform. Diese Tools ermöglichen es Entwicklern, Abhängigkeiten in ihren Projekten zu verwalten und automatisch eine Liste aller verwendeten externen Softwarebibliotheken und Frameworks zu generieren.
- Build Automation Tools
- Integrieren Sie Build-Automation-Tools wie Gradle , Apache Ant , Make oder ähnliche Tools in Ihren Build-Prozess. Diese Tools können so konfiguriert werden, dass sie automatisch eine Liste der Abhängigkeiten erstellen, wenn das Projekt kompiliert oder gebaut wird.
- Package Managers
- Verwenden Sie Paketmanager wie apt (für Linux) , Homebrew (für macOS) , Chocolatey (für Windows) oder ähnliche Paketmanager für Ihr Betriebssystem, um Abhängigkeiten zu verwalten und eine Liste aller installierten Pakete zu erstellen.
- Statische Codeanalyse-Tools
- Automatisierte Dokumentationstools
Software Bill of Materials (SBOM)
Eine Software-Bill-of-Materials (SBOM) ist eine detaillierte Liste aller Komponenten und Abhängigkeiten einer Softwareanwendung, die in der BSI-TR-03183-2 gefordert wird. Sie enthält Informationen über externe Bibliotheken, Frameworks, Module und andere Komponenten, die in der Software verwendet werden, sowie deren Versionen und Herkunft. Durch die Bereitstellung eines SBOM können Organisationen die Transparenz über die verwendeten Komponenten verbessern, Risiken besser managen, Compliance-Anforderungen erfüllen und Schwachstellen schneller identifizieren und beheben.
pom.xml (Maven)
Im Falle einer Java-Anwendung sollte zudem auf die Vollständigkeit der pom.xml (Project Object Model) geprüft werden. Die pom.xml enthält eine XML-Präsentation des Maven-Projektes.
Validierung
Tools
- OWASP Dependency Check
- OWASP Dependency-Check ist ein Open-Source-Tool, das automatisiert Schwachstellen in den Abhängigkeiten von Java-, .NET- und Ruby-Projekten identifiziert. Es kann in CI/CD-Pipelines integriert werden, um automatisch nach bekannten Sicherheitslücken in den verwendeten Bibliotheken zu suchen.
- Snyk
- Snyk ist ein Sicherheits- und Compliance-Tool, das Entwicklern dabei hilft, Schwachstellen in ihren Abhängigkeiten zu finden und zu beheben. Es unterstützt eine Vielzahl von Sprachen und Plattformen und kann in CI/CD-Pipelines integriert werden, um automatisch nach Sicherheitslücken zu suchen.
- Dependency Track
- Dependency-Track ist ein Open-Source-Tool zur Verwaltung von Anwendungsabhängigkeiten und zur Identifizierung von Sicherheitslücken in diesen Abhängigkeiten. Es bietet Funktionen wie Schwachstellenscans, Lizenzmanagement und Policy-Compliance und kann in CI/CD-Pipelines integriert werden, um Abhängigkeiten automatisch zu überprüfen.
- WhiteSource
- WhiteSource ist eine Plattform für das Open-Source-Management, die Entwicklern dabei hilft, Open-Source-Abhängigkeiten zu verwalten, Sicherheitslücken zu finden und Compliance-Richtlinien einzuhalten. Es bietet Integrationen mit verschiedenen CI/CD-Tools und kann automatisch Sicherheits- und Compliance-Scans durchführen.
- Sonatype Nexus Lifecycle
- Sonatype Nexus Lifecycle ist eine Plattform zur Automatisierung des Open-Source-Risikomanagements. Es bietet Funktionen wie automatisierte Schwachstellenscans, Lizenzüberprüfungen und Richtlinienverwaltung für Abhängigkeiten und kann in CI/CD-Pipelines integriert werden, um Sicherheits- und Compliance-Scans durchzuführen.
Prüfung SBOM auf Vollständigkeit
- Die Vollständigkeit des SBOMs kann beispielsweise mit Open-Source-Tools wie Dependency Track oder Grype geprüft werden.
Prüfung pom.xml auf Vollständigkeit
- Die Vollständigkeit der pom.xml eines Maven Projekts kann mithilfe einiger Tools, wie OWASP Dependency Check oder Snyk überprüft werden, die zudem Schwachstellen in den verwendeten Abhängigkeiten erkennen können.
Weblinks
Ressourcen und Einzelnachweise
Doug Hudson, et al.: Federal Software Inventory Bill: How to Get a Complete SBOM of Your Cloud Doug Hudson, Jason Silberman Federal: Software Inventory Bill: How to Get a Complete SBOM of Your Cloud, aufgerufen am 07.05.2024