{"id":22149,"date":"2022-11-03T11:55:00","date_gmt":"2022-11-03T10:55:00","guid":{"rendered":"https:\/\/www.sysbus.eu\/?p=22149"},"modified":"2022-10-24T10:13:30","modified_gmt":"2022-10-24T08:13:30","slug":"sicherheit-und-compliance-auf-codeebene-was-sie-ueber-die-software-bill-of-materials-sbom-wissen-muessen","status":"publish","type":"post","link":"https:\/\/www.sysbus.eu\/?p=22149","title":{"rendered":"Sicherheit und Compliance auf Codeebene &#8211; Was Sie \u00fcber die Software-Bill-of-Materials (SBOM) wissen m\u00fcssen"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Autorin\/Redakteur: <a href=\"https:\/\/www.revenera.de\/\">Nicole Segerer, SVP and General Manager bei Revenera<\/a>\/gg<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wer seine Software sch\u00fctzen will, muss wissen, was in ihr steckt. Tats\u00e4chlich haben Softwareanbieter jedoch oft wenig Einblick in die Nutzung von Open Source Software-Komponenten (OSS) und Drittanbieter-Code in ihren Anwendungen. Sicherheits- und Compliance-Risiken sind da vorprogrammiert. Die Software-Bill-of-Materials (SBOM) soll das \u00e4ndern.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Revenera_CodeStockbildOSS.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Revenera_CodeStockbildOSS-1024x768.jpg\" alt=\"\" class=\"wp-image-22154\" srcset=\"https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Revenera_CodeStockbildOSS-1024x768.jpg 1024w, https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Revenera_CodeStockbildOSS-300x225.jpg 300w, https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Revenera_CodeStockbildOSS-768x576.jpg 768w, https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Revenera_CodeStockbildOSS-1320x990.jpg 1320w, https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Revenera_CodeStockbildOSS.jpg 1344w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>Quelle: Revenera<\/figcaption><\/figure>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\">Die Software-St\u00fcckliste gilt als Kernelement von Compliance- und Sicherheitsprogrammen rund um Open Source. Die detaillierte Auflistung aller in einer Software eingesetzten Code-Komponenten einschlie\u00dflich Lizenzierung, Versionen und Herkunft soll Anbietern wie K\u00e4ufern gleicherma\u00dfen helfen, den \u00dcberblick zu bewahren und die Software Supply Chain sicherer zu machen. Die formale und klar strukturierte SBOM gibt dabei nicht nur Aufschluss \u00fcber die jeweiligen Codebasen. Auch die Beziehungen innerhalb der Softwarelieferkette werden offengelegt. Aufgef\u00fchrt finden sich Pakete und Abh\u00e4ngigkeiten, Bin\u00e4rdateien ohne Manifest-Dateien, Multimedia-Dateien, Bilder\/Icons, Codecs und Copy\/Paste-Codes sowie die von den Entwicklern genutzten Source Libraries und Drittanbieter-Bibliotheken.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Code-Verzeichnis f\u00fcr mehr Sicherheit und Compliance<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Inventarliste hilft, zwei Fliegen mit einer Klappe zu schlagen: Zum einen l\u00e4sst sich anhand der SBOM genau einsehen, wo und wie der betroffene Code in die Software-Supply-Chain gelangt ist, welche Lizenzierung f\u00fcr die jeweiligen Komponenten vorliegen und wo die Verwendung eventuell zu Compliance-Problemen f\u00fchren kann. Zum andern k\u00f6nnen Sicherheitsteam schneller \u00fcberpr\u00fcfen, ob eine Anwendung von neu ver\u00f6ffentlichten Sicherheitsl\u00fccken und Exploits betroffen ist. Log4j bleibt hier ein abschreckendes Beispiel: Die Bedrohung durch die kritische Sicherheitsl\u00fccke wurde zum Teil dadurch versch\u00e4rft, dass viele Unternehmen nicht einmal wussten, ob sie betroffen waren.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Beide Use Cases der SBOM sind dringend notwendig. Nach einem <a href=\"https:\/\/info.revenera.com\/SCA-RPT-OSS-License-Compliance-2022\/?lead_source=PR\">Report von Revenera<\/a> hat sich die Zahl der Sicherheitsl\u00fccken auf Codeebene mehr als verdreifacht. Die Analysten identifizierten pro Audit durchschnittlich 282 Schwachstellen, ein Anstieg von 217 Prozent (2021: 89). Von den aufgedeckten Schwachstellen stellten 27 Prozent ein \u201ehohes\u201c CVSS-Risiko dar (Common Vulnerability Scoring System) und damit eine unmittelbare Bedrohung f\u00fcr IT-Sicherheit und Cyberschutz. Wenig besser sieht es bei den in Audits aufgesp\u00fcrten Compliance-Verst\u00f6\u00dfen aus. Hier wuchs die Zahl der als kritisch eingestuften Risiken mit 9.500 um 6 Prozent (2021: 9.000), w\u00e4hrend Vorf\u00e4lle der Priorit\u00e4tsstufe 2 (zum Beispiel sekund\u00e4re Probleme mit kommerziellen Lizenzen) sogar um ganze 50 Prozent zulegten.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Was geh\u00f6rt in eine SBOM?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Welche Informationen in welchem Umfang in einer SBOM aufgelistet h\u00e4ngt von der Anwendung selbst und von Faktoren wie Branche (zum Beispiel KRITIS), der Open Source Governance-Strategie des Anbieters sowie den Kundenanforderungen ab. Beim Erstellen einer SBOM empfiehlt es sich, zun\u00e4chst mit einem Basissatz an Daten zu beginnen, um so schnell zentrale Informationen mit anderen Stakeholdern (beispielsweise IT Sicherheit) teilen zu k\u00f6nnen. Im weiteren Verlauf wird die Liste dann kontinuierlich mit weiteren Daten angereichert und ausgebaut.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Im Allgemeinen enth\u00e4lt die St\u00fcckliste Details zu Softwarekomponenten und -versionen, den Namen des Verfassers sowie des Anbieters\/Herstellers, Schwachstellen, Lizenzen, Bekanntmachungen von Dritten, Nutzungsdaten, Alerts und Meldungen sowie Aufgaben. Um die Komponenten eindeutig zuzuordnen und innerhalb der SBOM zu identifizieren, k\u00f6nnen Unternehmen zus\u00e4tzlich sogenannte Unique Identifiers (UI) wie kryptografischen Hashes hinzuf\u00fcgen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Revenera_SBOM_Kreislauf.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"779\" src=\"https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Revenera_SBOM_Kreislauf-1024x779.jpg\" alt=\"\" class=\"wp-image-22151\" srcset=\"https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Revenera_SBOM_Kreislauf-1024x779.jpg 1024w, https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Revenera_SBOM_Kreislauf-300x228.jpg 300w, https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Revenera_SBOM_Kreislauf-768x584.jpg 768w, https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Revenera_SBOM_Kreislauf.jpg 1308w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>SBOM-Bestandposten (Quelle: Revenera)<\/figcaption><\/figure>\n\n\n\n<!--nextpage-->\n\n\n\n<p class=\"wp-block-paragraph\"><strong>R\u00fcckverfolgbarkeit in der Software Supply Chain<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ein Ziel der SBOM ist es, den Weg jeder einzelnen der Komponenten entlang der Software Supply Chain l\u00fcckenlos zur\u00fcckverfolgen zu k\u00f6nnen und die komplexen Lieferketten in transparenter Art abzubilden. Neben den Basisinformationen m\u00fcssen daher auch die Verbindungen sowie direkte und transitive Abh\u00e4ngigkeiten zwischen den Komponenten erfasst und dokumentiert werden. Welche Subkomponenten sind in einer Komponenten enthalten (Child\/Parent Component)? Und von welchem Autor oder aus welcher Source Library stammen diese?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bei Erstellen einer SBOM beginnen Softwareanbieter und Entwicklerteams daher oft mit einer&nbsp; einfachen Liste der Top-Level-Komponenten, die sich dann weiter nach unten verzweigt und die jeweiligen Subkomponenten einschlie\u00dflich ihrer Lizenzen und Schwachstellen auff\u00fchrt. Dabei ist es nicht unbedingt entscheidend, ob eine Subkomponenten im vollen Umfang oder nur teilweise, das hei\u00dft f\u00fcr bestimmte Funktionalit\u00e4ten in einer Anwendung, genutzt wird. Unabh\u00e4ngig von ihrer Rolle f\u00fcr die Software k\u00f6nnen auch ungenutzte Subkomponenten beispielsweise Sicherheitsschwachstellen enthalten, die sich auf die \u00fcbergeordnete Komponente auswirken. In der Fertigung, aus der die Bill-of-Material urspr\u00fcnglich stammt, werden solche mehrstufigen St\u00fccklisten auch als Multi-Level BOM bezeichnet.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Revenera_SBOMInsights_Screenshot.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"542\" src=\"https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Revenera_SBOMInsights_Screenshot-1024x542.png\" alt=\"\" class=\"wp-image-22152\" srcset=\"https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Revenera_SBOMInsights_Screenshot-1024x542.png 1024w, https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Revenera_SBOMInsights_Screenshot-300x159.png 300w, https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Revenera_SBOMInsights_Screenshot-768x407.png 768w, https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Revenera_SBOMInsights_Screenshot-1536x814.png 1536w, https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Revenera_SBOMInsights_Screenshot-390x205.png 390w, https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Revenera_SBOMInsights_Screenshot-1320x699.png 1320w, https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Revenera_SBOMInsights_Screenshot.png 1856w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>Beispiel SBOM (Quelle: Revenera)<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Standardformate f\u00fcr mehr Durchblick<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Strukturierte Datenformate und Austauschprotokolle sind ein weiteres wichtiges Merkmal einer funktionalen SBOM. Einheitliche Formate bilden die Voraussetzung f\u00fcr Maschinenlesbarkeit von SBOMs und damit eine h\u00f6here Automatisierung bei der Analyse des Codes und der Aufdeckung von Sicherheits- und Compliance-Risiken. Die konsistente Notation von Informationen schafft nicht nur Transparenz und st\u00e4rkt das Vertrauen in den Code, sie reduziert auch den Arbeitsaufwand f\u00fcr Entwicklerteams und vereinfach die Zusammenarbeit zwischen Anbietern. Den einen Standard f\u00fcr den formalen Aufbau einer Software-St\u00fcckliste, das von allen Entwicklern und Anbietern einheitlich verwendet wird, gibt es leider nicht. In den letzten Jahren haben sich in der Branche jedoch einige Formate besonders stark etabliert. Dazu geh\u00f6ren SPDX, CycloneDX und SWID.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Das quelloffene, maschinenlesbare Standardformat <a href=\"https:\/\/spdx.org\/\">Software Package Data Exchange (SPDX)<\/a> wurde von einer Arbeitsgruppe der Linux Foundation im Rahmen des \u201eOpen Compliance Program\u201c entwickelt und 2011 eingef\u00fchrt. Neben eindeutigen Informationen zum Softwarepaket sowie den Lizenz- und Urheberrechtsinformationen auf Paket- und Dateiebene liefert SPDX auch Metadaten \u00fcber Verfasser des Codes und Zeitpunkt der Programmierung. Damit liegt der Fokus der SPDX auf dem Handling von OSS und dem Management von Lizenzen und Copyrights. Liegen beispielsweise f\u00fcr Top-Level und Subkomponenten unterschiedliche Lizenzen vor, k\u00f6nnen Entwickler diese Abweichungen einfacher erkennen und s\u00e4mtliche Compliance-Vorgaben auf Dateiebene in einer einzigen Datei zusammenzufassen.<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/cyclonedx.org\/\">CycloneDX<\/a> ist eine Weiterentwicklung von SPDX und wurde 2017 von einer Arbeitsgruppe des Open Web Application Security Project&nbsp;(OWASP) vorgestellt. \u00c4hnlich wie SPDX ist auch bei diesem Format das Ziel, Lizenzbestimmungen einfacher einsehen und einhalten zu k\u00f6nnen. Ein prim\u00e4rer Use Case von CycloneDX ist jedoch dar\u00fcber hinaus die Identifizierung von Schwachstellen sowie die die Analyse veralteter Komponenten. Zus\u00e4tzliche Funktionen wurden in sp\u00e4teren Versionen der Spezifikation hinzugef\u00fcgt.<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>SWIDs sind Software-Identifikations-Tags, die nach ISO\/IEC 19770-2 definiert sind und in Form von XML-Dateien gemeinsam mit den jeweiligen Softwareprodukten ausgeliefert werden. Die Tags enthalten produktbezogene Metadaten (wie etwa Name, Version, Artefakte und Distributionsweg). Dank ihrer standardisierten Form lassen sich SWIDs von Inventory-Tools auslesen und f\u00fcr das IT-Asset-Managements sowie das Vulnerability Management nutzen. Doch auch im Rahmen der Software Composition Analysis (SCA) liefern sie wichtige Informationen.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Automatisierte Tools f\u00fcr konsolidierte Sicht <\/strong><strong><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Softwareanbieter m\u00fcssen je nach Anwendung und Produkt-Portfolio gro\u00dfe Mengen an Daten zusammenziehen, um Software-St\u00fccklisten zu erstellen und kontinuierlich anzupassen. Die Code-Komponenten beschr\u00e4nken sich dabei keineswegs nur auf intern erstellte SBOMs, sondern m\u00fcssen vorgelagerte Upstream-Partner und Drittanbieter abdecken. Hinzu kommen Daten aus SCA-Scans, Open Source Software-Libraries und anderen Data Services.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ohne automatisierte Tools ist das Sammeln, Erstellen und Managen von SBOM-Informationen eigentlich kaum noch m\u00f6glich. Daf\u00fcr ist die Software Supply Chain schlichtweg zu komplex und der Umfang an Softwarecode zu gro\u00df. Automatisierte SBOM-L\u00f6sungen aggregieren Daten ganzheitlich \u00fcber unterschiedliche Quellen hinweg und unabh\u00e4ngig ihrer Formate, um sie anschlie\u00dfend abzugleichen, zu normalisieren und in eine Software-St\u00fccklisten zu \u00fcberf\u00fchren. Idealerweise entsteht so eine konsolidierte Sicht auf den Code einer Anwendung, um potentielle Sicherheits- und Compliance-Risiken proaktiv zu verwalten.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Nicole-Segerer_Revenera.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"500\" src=\"https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Nicole-Segerer_Revenera.jpg\" alt=\"\" class=\"wp-image-22153\" srcset=\"https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Nicole-Segerer_Revenera.jpg 500w, https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Nicole-Segerer_Revenera-300x300.jpg 300w, https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Nicole-Segerer_Revenera-150x150.jpg 150w, https:\/\/www.sysbus.eu\/wp-content\/uploads\/2022\/10\/Nicole-Segerer_Revenera-120x120.jpg 120w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><figcaption>Quelle: Nicole Segerer<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Diese vollst\u00e4ndige Transparenz wird f\u00fcr Sicherheitsteams, Rechtsabteilungen sowie die die nachgelagerten Lieferkettenpartner angesichts der wachsenden Anforderungen an Sicherheit und Compliance immer zentraler. Es ist letztendlich auch der Grund, warum viele Organisationen bei Verhandlungen mit Softwareanbietern die Software-St\u00fcckliste mittlerweile sogar vertraglich festsetzen. Beh\u00f6rden und Branchenverb\u00e4nde wie die FDA (<a href=\"https:\/\/www.fda.gov\/downloads\/AboutFDA\/CentersOffices\/OfficeofMedicalProductsandTobacco\/CDRH\/CDRHReports\/UCM604690.pdf\">The Food and Drug Administration)<\/a> sowie die GENIVI Alliance und die Automotive Grade Linux (AGL) machen sich schon seit Jahren f\u00fcr eine bessere Dokumentation im Umgang mit Open Source stark. In der EU steckt die Open-Source-Software-Strategie 2020-2023 genau ab, unter welchen Voraussetzungen freie und offene Software zum Einsatz kommen darf. Und auch die US-Regierung nimmt seit einer Executive Order im Jahr 2021 Softwareanbieter und Entwickler st\u00e4rker in die Verantwortung, was die Transparenz der Software Supply Chain angeht. In all diesen F\u00e4llen nimmt die Software-BOM einen zentralen Platz ein und schafft damit die Grundvoraussetzung f\u00fcr Anwendungssicherheit und Compliance.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wer seine Software sch\u00fctzen will, muss wissen, was in ihr steckt. Tats\u00e4chlich haben Softwareanbieter jedoch oft wenig Einblick in die Nutzung von Open Source Software-Komponenten (OSS) und Drittanbieter-Code in ihren Anwendungen. Sicherheits- und Compliance-Risiken sind da vorprogrammiert. Die Software-Bill-of-Materials (SBOM) soll das \u00e4ndern.<\/p>\n","protected":false},"author":1,"featured_media":22154,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[8,37],"tags":[4297,1016,1027,13738,16789],"class_list":["post-22149","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-artikel","category-security","tag-code","tag-compliance","tag-open-source","tag-revenera","tag-sbom"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=\/wp\/v2\/posts\/22149","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=22149"}],"version-history":[{"count":2,"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=\/wp\/v2\/posts\/22149\/revisions"}],"predecessor-version":[{"id":22156,"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=\/wp\/v2\/posts\/22149\/revisions\/22156"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=\/wp\/v2\/media\/22154"}],"wp:attachment":[{"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=22149"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=22149"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sysbus.eu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=22149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}