{"id":2801,"date":"2022-02-07T12:54:41","date_gmt":"2022-02-07T12:54:41","guid":{"rendered":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/?p=2801"},"modified":"2022-07-08T14:00:15","modified_gmt":"2022-07-08T14:00:15","slug":"security-und-compliance-in-softwareprojekten","status":"publish","type":"post","link":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/security-und-compliance-in-softwareprojekten\/","title":{"rendered":"Security und Compliance in Softwareprojekten \u2013 Dependencies unter Kontrolle bringen"},"content":{"rendered":"\n<figure class=\"wp-block-image size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"400\" src=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/02\/shutterstock_1051184564__1920px-600x400.jpg\" alt=\"Symbolbild: Wei\u00dfe Tastatur mit Schloss und Schl\u00fcssel\" class=\"wp-image-2874\" srcset=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/02\/shutterstock_1051184564__1920px-600x400.jpg 600w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/02\/shutterstock_1051184564__1920px-1024x683.jpg 1024w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/02\/shutterstock_1051184564__1920px-768x512.jpg 768w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/02\/shutterstock_1051184564__1920px-1536x1024.jpg 1536w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/02\/shutterstock_1051184564__1920px-640x427.jpg 640w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/02\/shutterstock_1051184564__1920px-1200x800.jpg 1200w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/02\/shutterstock_1051184564__1920px.jpg 1920w\" sizes=\"auto, (max-width: 639px) 98vw, (max-width: 1199px) 64vw, 600px\" \/><\/figure>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Dieser Blogbeitrag befasst sich mit den hohen Anspr\u00fcchen an Security und Compliance, die wir an jedes Softwareprojekt stellen. Daf\u00fcr verantwortlich ist in jedem Projekt ein ausgebildeter Security Engineer. Dabei stellen ihn insbesondere die unz\u00e4hligen Dependencies in Softwareprojekten, welche in ihrer Vielzahl von Versionen unter Kontrolle gebracht werden m\u00fcssen, vor gro\u00dfe Herausforderungen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"439\" src=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/01\/Blogbeitrag_Image1-600x439.png\" alt=\"\" class=\"wp-image-2802\" srcset=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/01\/Blogbeitrag_Image1-600x439.png 600w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/01\/Blogbeitrag_Image1-1024x749.png 1024w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/01\/Blogbeitrag_Image1-768x561.png 768w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/01\/Blogbeitrag_Image1-640x468.png 640w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/01\/Blogbeitrag_Image1.png 1138w\" sizes=\"auto, (max-width: 639px) 98vw, (max-width: 1199px) 64vw, 600px\" \/><figcaption><em>Abbildung 1: Ein Ausschnitt aus dem Abh\u00e4ngigkeits-Graph eines npm Paketes, aus npmgraph.js.org\/?q=mocha<\/em><\/figcaption><\/figure>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Herausforderungen in Softwareprojekten<\/h2>\n\n\n\n<p>Gro\u00dfe Softwareprojekte bestehen schon seit langer Zeit aus kleineren Teilen, die f\u00fcr ihr jeweiliges Gebiet wiederverwendet werden k\u00f6nnen. Komponenten, bei denen es nicht um geheime Funktionalit\u00e4t geht, werden zunehmend als \u201eFOSS (Free and Open Source Software)\u201c ver\u00f6ffentlicht. Das bedeutet \u201equelloffen\u201c (Open Source) und mit einer freien Lizenz zur Weiterverwendung.<\/p>\n\n\n\n<p>Dabei ist es f\u00fcr die Einsch\u00e4tzung und Pr\u00e4vention von Sicherheitsl\u00fccken \u00e4u\u00dferst wichtig, eine vollst\u00e4ndige \u00dcbersicht \u00fcber alle eingebundenen Drittbibliotheken zu haben. Denn jedes unserer importierten Module kann ebenfalls mit mehreren Abh\u00e4ngigkeiten verbunden sein. Schnell steigt dann die Anzahl an zu beobachtenden Abh\u00e4ngigkeiten in die Tausende und es ist nicht einfach, zwischen allen Versionen den \u00dcberblick \u00fcber Lizenzen und Sicherheitsl\u00fccken zu behalten.<\/p>\n\n\n\n<p>Die Auswirkung der Problematik wird z. B. klar, wenn man F\u00e4lle von \u201eSupply chain attacks\u201c und \u201eDependency Hijacking\u201c der letzten Jahre liest. Eine interessante Meta-Analyse ist \u201eWhat Constitutes a Software Supply Chain Attack? \u201c von Ax Sharma (https:\/\/blog.sonatype.com\/what-constitutes-a-software-supply-chain-attack). Den Umgang mit diesen Komponenten in gro\u00dfen wie kleinen Softwareprojekten aus Sicht eines Security Engineers m\u00f6chten wir weiter erl\u00e4utern.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">L\u00f6sungsm\u00f6glichkeiten mittels FOSS Scanner<\/h2>\n\n\n\n<p>\u00dcber die Zeit haben sich einige Projekte dem Problem der Kenntlichmachung von FOSS-Komponenten gewidmet. Es gibt Programme zum Erstellen von Bill of Material (BOM) und \u00dcbersichten zu Sicherheitsrisiken, welche wir verprobt haben.<\/p>\n\n\n\n<p>Weiter gibt es gro\u00dfe Kataloge wie den \u201eNode Paketmanager\u201c (npm), die selbst ausf\u00fchrliche Informationen zu den jeweils angebotenen Komponenten geben.<\/p>\n\n\n\n<p>Auch wenn es diese freien und quelloffenen Komponenten gratis gibt, so sind sie nicht ohne Aufwand, besonders in langlebigen und wichtigen Softwareprojekten.<\/p>\n\n\n\n<p>Wir haben f\u00fcr die Evaluierung den <em>OWASP-Dependency Check<\/em> (DC) und das <em>OSS Review Toolkit<\/em> als kombinierte L\u00f6sung f\u00fcr das Auffinden von Sicherheitsproblemen mit DC und \u00dcberpr\u00fcfung der Einhaltung der Lizenzbestimmungen eingesetzt. Im Vergleich zu kommerziellen L\u00f6sungen wie BlackDuck bieten diese frei und kostenlos die M\u00f6glichkeit einer \u00dcbersicht \u00fcber die FOSS-Komponenten in Projekten und die Bewertung von Risiken.<\/p>\n\n\n\n<p>Das war aber unserer&nbsp;Erfahrung nach mit Mehraufwand sowohl in der Konfiguration als auch bei der kontinuierlichen \u00dcberpr\u00fcfung, d. h. neuen Scans auf neue Sicherheitsprobleme, verbunden.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Verantwortung als Software Engineer<\/h2>\n\n\n\n<p>Unsere Richtlinien&nbsp;f\u00fcr sichere Entwicklung und den Einsatz von Open Source geben die notwendigen Prozesse und Ziele vor, an dem sich unsere Security Engineers in Vertretung der Projekte orientieren. Der vielleicht wichtigste Ausschnitt daraus wird im folgenden Abschnitt aufgef\u00fchrt:<\/p>\n\n\n\n<p>It is our responsibility that the following so <em>called Essential FOSS Requirements<\/em> are fulfilled:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>All included FOSS components have been identified and the fitness for purpose has been confirmed.<\/li><li>All licenses of the included FOSS have been identified, reviewed and compatibility to the final product\/service offering has been verified. Any FOSS without a (valid) license has been removed.<\/li><li>All license obligations have been fulfilled.<\/li><li>All FOSS are continuously \u2013 before and after release \u2013 monitored for security vulnerabilities. Any relevant vulnerability is mitigated during the whole lifecycle.<\/li><li>The FOSS Disclosure Statement is available to the user.<\/li><li>The Bill of Material is available internally.<\/li><\/ul>\n\n\n\n<p>For that it must be ensured that<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>the relevant FOSS roles are determined and nominated.<\/li><li>the executing development and procurement staff is properly trained and staffed.<\/li><\/ul>\n\n\n\n<p>Anhand dieser Richtlinien werden verpflichtende Trainings, Wissenstr\u00e4ger und Qualit\u00e4tskontrollen gebildet.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Vorstellung der Abl\u00e4ufe<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><em>Untersuchen vor Einbindung (Lizenzen, Operational Risk wie Update-H\u00e4ufigkeit)<\/em><\/li><li><em>\u00dcberwachen von Updates (Operational Risks)<\/em><\/li><\/ul>\n\n\n\n<p>Irgendwann soll eine neue Funktion zu einem Softwareprojekt hinzugef\u00fcgt werden. Oft kennen Entwickler bereits m\u00f6gliche FOSS Software, die bei der Funktionalit\u00e4t hilft.<\/p>\n\n\n\n<p>Ein wichtiger Aspekt ist, dass m\u00f6glichst jeder Entwickler den Umgang mit Paketmanagern und m\u00f6gliche Implikationen kennt, um Ergebnisse aus den Tools oder Analysen richtig einordnen zu k\u00f6nnen. Es ist z. B. sehr wichtig, sich zu veranschaulichen, aus wie vielen Teilen eine Top-Level-Abh\u00e4ngigkeit besteht \u2013 oder verschiedene Abh\u00e4ngigkeiten gleicher Funktionalit\u00e4t im Hinblick auf zuk\u00fcnftige sichere Entwicklung (Operationelle Risiken) zu bewerten. Immer \u00f6fter sehen wir das Ziel, die Zahl an Abh\u00e4ngigkeiten klein zu halten. Das sollte bei der Auswahl von Komponenten ber\u00fccksichtigt werden, um m\u00f6glichst nur das wirklich notwendige an Funktionalit\u00e4t von zus\u00e4tzlichen Abh\u00e4ngigkeiten zu erhalten.<\/p>\n\n\n\n<p>Bereits vor dem Einbinden sind durch den Security Engineer potenzielle Imports auf ihre kompatible Lizenz und bestehende Sicherheitsl\u00fccken zu \u00fcberpr\u00fcfen. Ebenso wichtig ist aber auch der Blick auf das, was unter operationale Risiken f\u00e4llt wie z. B.:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Aktualit\u00e4t<\/li><li>Lebendige Community oder aktive Instandhaltung<\/li><li>Update-Zyklus ausreichend agil, um auftretende Sicherheitsl\u00fccken zu beseitigen<\/li><li>Wird Wert auf den sicheren Umgang mit Abh\u00e4ngigkeiten gelegt?<\/li><li>Ist die Anzahl an weiteren Abh\u00e4ngigkeiten sinnvoll und wird wenn m\u00f6glich reduziert?<\/li><\/ul>\n\n\n\n<p>Im laufenden Entwicklungsprozess und sp\u00e4ter im Betrieb muss das Projektteam auch informiert werden, wenn neue Sicherheitsl\u00fccken entdeckt oder geschlossen werden. Daf\u00fcr k\u00f6nnen periodische Scans oder eine Datenbank mit Alerts f\u00fcr Sicherheitsl\u00fccken eingesetzt werden. F\u00fcr periodische Scans spricht die gr\u00f6\u00dfere Unabh\u00e4ngigkeit<a> <\/a>von der einen Datenbank \u2013 daf\u00fcr m\u00fcssen Hardware und Alerts selbst bereitgestellt werden. Diese wiederum sind einer der  Mehrwerte einer Software-Composition-Analysis-L\u00f6sung wie BlackDuck.<\/p>\n\n\n\n<p>Da der Anteil an gut gekennzeichneter FOSS steigt, wird bei neuen Versionen der Zeitaufwand f\u00fcr manuelle Kuration vergleichsweise geringer. Dazu z\u00e4hlen das Deklarieren einer Lizenz \u2013 und leicht auffindbare und formatierte Copyright-Angaben in den Komponenten, was in \u00e4lteren Komponenten oft sehr individuell formatiert oder ganz weggelassen wurde. Ist keine Lizenz angegeben, so darf dies nicht f\u00e4lschlicherweise als \u201eFreibrief\u201c verstanden werden. Ohne eine Lizenz darf eine Komponente nicht ohne Einverst\u00e4ndnis der Autoren benutzt werden!<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Beispiel einer Sicherheitsl\u00fccke<\/h2>\n\n\n\n<p>Ein Beispiel f\u00fcr eine komplizierte Sicherheitsl\u00fccke ist unter dem CVE-2021-32796 ver\u00f6ffentlicht worden. Eingebunden wird das problematische Modul xmldom indirekt \u00fcber zwei weitere Abh\u00e4ngigkeiten in unserem Beispielprojekt.<\/p>\n\n\n\n<p>BlackDuck zeigt uns zu dem Modul folgende Sicherheitswarnung:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"274\" src=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/01\/Blogbeitrag_Image2-1024x274.png\" alt=\"\" class=\"wp-image-2803\" srcset=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/01\/Blogbeitrag_Image2-1024x274.png 1024w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/01\/Blogbeitrag_Image2-600x161.png 600w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/01\/Blogbeitrag_Image2-768x206.png 768w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/01\/Blogbeitrag_Image2-640x172.png 640w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/01\/Blogbeitrag_Image2-1200x322.png 1200w, https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/01\/Blogbeitrag_Image2.png 1429w\" sizes=\"auto, (max-width: 639px) 98vw, (max-width: 1199px) 64vw, 770px\" \/><figcaption><em>Abbildung 2: BlackDuck: Beispiel Zusammenfassung einer Schwachstelle<\/em> &nbsp;<\/figcaption><\/figure>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Damit kann der Security Engineer bereits eine grobe Einsch\u00e4tzung zur Tragweite der Sicherheitsl\u00fccke vornehmen. Auch ist ein Hinweis auf dem Patch in Version 0.7.0 angegeben.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Wichtigkeit von Vorlauf f\u00fcr Updates\/Austausch von Kompetenzen<\/h2>\n\n\n\n<p>Wir haben in der Zeit bis zu der \u201efrischen Ver\u00f6ffentlichung\u201c unter @xmldom\/xmldom bereits \u00fcberpr\u00fcfen k\u00f6nnen, welchen Aufwand es bedeuten w\u00fcrde, ohne diese Abh\u00e4ngigkeit auszukommen.<\/p>\n\n\n\n<p>Um diese Zeit zu haben, ist es sehr n\u00fctzlich, bereits im Entwicklungsprozess \u2013 und mit gen\u00fcgend Vorlauf zu einer Produktver\u00f6ffentlichung \u2013 eine \u00dcbersicht \u00fcber m\u00f6gliche Probleme zu bekommen.<\/p>\n\n\n\n<p>Das erleichtert den Entwicklern das Evaluieren von Ausweichl\u00f6sungen f\u00fcr problematische Software-Bibliotheken, sei es wegen Sicherheitsl\u00fccken, inkompatiblen Lizenzen oder anderer operativer Risiken.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p>Dieser Beitrag hat einen \u00dcberblick \u00fcber unsere Arbeit mit der gro\u00dfen Vielfalt an Open Source in unseren Projekten und die Aufgaben als Security Engineer im Umgang mit Open Source gegeben. Damit bringen wir mittels moderner Werkzeuge die Vielfalt an Abh\u00e4ngigkeiten unter Kontrolle und schaffen die notwendige Transparenz und Sicherheit. Bereits vor Einbinden von Abh\u00e4ngigkeiten sollte eine Evaluierung dieser von einem geschulten Team durchgef\u00fchrt werden, und danach w\u00e4hrend des ganzen Software-Lebenszyklus \u00fcberwacht und auf Probleme reagiert werden.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dieser Blogbeitrag befasst sich mit den hohen Anspr\u00fcchen an Security und Compliance, die wir an jedes Softwareprojekt stellen. Daf\u00fcr verantwortlich ist in jedem Projekt ein ausgebildeter Security Engineer. Dabei stellen ihn insbesondere die unz\u00e4hligen Dependencies in Softwareprojekten, welche in ihrer Vielzahl von Versionen unter Kontrolle gebracht werden m\u00fcssen, vor gro\u00dfe Herausforderungen.<\/p>\n","protected":false},"author":134,"featured_media":2874,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"advgb_blocks_editor_width":"","advgb_blocks_columns_visual_guide":"","footnotes":""},"categories":[10,654],"tags":[62,149,337,570,642,643,644,645,646],"topics":[226],"class_list":["post-2801","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-qualitaetssicherung","category-software-services","tag-security","tag-softwareentwicklung","tag-editorschoice","tag-zeiss-digital-innovation","tag-compliance","tag-softwareprojekt","tag-softwareentwicklungsprojekt","tag-security-engineer","tag-foss","topics-security"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Security und Compliance in ... - ZEISS Digital Innovation Blog<\/title>\n<meta name=\"description\" content=\"Dieser Blogbeitrag befasst sich mit den hohen Anspr\u00fcchen an Security und Compliance, die wir an jedes Softwareprojekt stellen.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/security-und-compliance-in-softwareprojekten\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Security und Compliance in ... - ZEISS Digital Innovation Blog\" \/>\n<meta property=\"og:description\" content=\"Dieser Blogbeitrag befasst sich mit den hohen Anspr\u00fcchen an Security und Compliance, die wir an jedes Softwareprojekt stellen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/security-und-compliance-in-softwareprojekten\/\" \/>\n<meta property=\"og:site_name\" content=\"Digital Innovation Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ZEISSDigitalInnovation\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-02-07T12:54:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-08T14:00:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/02\/shutterstock_1051184564__1920px.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1280\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Martin R\u00f6bke\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Security und Compliance in Softwareprojekten\" \/>\n<meta name=\"twitter:description\" content=\"Dieser Blogbeitrag befasst sich mit den hohen Anspr\u00fcchen an Security und Compliance, die wir an jedes Softwareprojekt stellen.\" \/>\n<meta name=\"twitter:creator\" content=\"@ZEISS_di\" \/>\n<meta name=\"twitter:site\" content=\"@ZEISS_di\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Martin R\u00f6bke\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"7\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/security-und-compliance-in-softwareprojekten\/\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/security-und-compliance-in-softwareprojekten\/\",\"name\":\"Security und Compliance in ... - ZEISS Digital Innovation Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/security-und-compliance-in-softwareprojekten\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/security-und-compliance-in-softwareprojekten\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/02\/shutterstock_1051184564__1920px.jpg\",\"datePublished\":\"2022-02-07T12:54:41+00:00\",\"dateModified\":\"2022-07-08T14:00:15+00:00\",\"author\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/5f5e8dc6cd95d27f2aceb1b0d347f73c\"},\"description\":\"Dieser Blogbeitrag befasst sich mit den hohen Anspr\u00fcchen an Security und Compliance, die wir an jedes Softwareprojekt stellen.\",\"breadcrumb\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/security-und-compliance-in-softwareprojekten\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/security-und-compliance-in-softwareprojekten\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/security-und-compliance-in-softwareprojekten\/#primaryimage\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/02\/shutterstock_1051184564__1920px.jpg\",\"contentUrl\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/02\/shutterstock_1051184564__1920px.jpg\",\"width\":1920,\"height\":1280},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/security-und-compliance-in-softwareprojekten\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Security und Compliance in Softwareprojekten \u2013 Dependencies unter Kontrolle bringen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#website\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/\",\"name\":\"Digital Innovation Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/5f5e8dc6cd95d27f2aceb1b0d347f73c\",\"name\":\"Martin R\u00f6bke\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/01\/roebke_martin-150x150.jpg\",\"contentUrl\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/01\/roebke_martin-150x150.jpg\",\"caption\":\"Martin R\u00f6bke\"},\"description\":\"Martin R\u00f6bke ist als Software Developer bei ZEISS Digital Innovation t\u00e4tig. Er studierte Informatik an der Technischen Universit\u00e4t Dresden und befasst sich im beruflichen Umfeld schwerpunktm\u00e4\u00dfig mit Java-\/Typescript-Entwicklung, Azure DevOps und Application Security. Seine fachlichen Interessen liegen v. a. auf den Themen Software Security, Python\/Powershell, Visualisierung und Graph-Datenbanken.\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/author\/martinroebke\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Security und Compliance in ... - ZEISS Digital Innovation Blog","description":"Dieser Blogbeitrag befasst sich mit den hohen Anspr\u00fcchen an Security und Compliance, die wir an jedes Softwareprojekt stellen.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/security-und-compliance-in-softwareprojekten\/","og_locale":"de_DE","og_type":"article","og_title":"Security und Compliance in ... - ZEISS Digital Innovation Blog","og_description":"Dieser Blogbeitrag befasst sich mit den hohen Anspr\u00fcchen an Security und Compliance, die wir an jedes Softwareprojekt stellen.","og_url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/security-und-compliance-in-softwareprojekten\/","og_site_name":"Digital Innovation Blog","article_publisher":"https:\/\/www.facebook.com\/ZEISSDigitalInnovation\/","article_published_time":"2022-02-07T12:54:41+00:00","article_modified_time":"2022-07-08T14:00:15+00:00","og_image":[{"width":1920,"height":1280,"url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/02\/shutterstock_1051184564__1920px.jpg","type":"image\/jpeg"}],"author":"Martin R\u00f6bke","twitter_card":"summary_large_image","twitter_title":"Security und Compliance in Softwareprojekten","twitter_description":"Dieser Blogbeitrag befasst sich mit den hohen Anspr\u00fcchen an Security und Compliance, die wir an jedes Softwareprojekt stellen.","twitter_creator":"@ZEISS_di","twitter_site":"@ZEISS_di","twitter_misc":{"Verfasst von":"Martin R\u00f6bke","Gesch\u00e4tzte Lesezeit":"7\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/security-und-compliance-in-softwareprojekten\/","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/security-und-compliance-in-softwareprojekten\/","name":"Security und Compliance in ... - ZEISS Digital Innovation Blog","isPartOf":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/security-und-compliance-in-softwareprojekten\/#primaryimage"},"image":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/security-und-compliance-in-softwareprojekten\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/02\/shutterstock_1051184564__1920px.jpg","datePublished":"2022-02-07T12:54:41+00:00","dateModified":"2022-07-08T14:00:15+00:00","author":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/5f5e8dc6cd95d27f2aceb1b0d347f73c"},"description":"Dieser Blogbeitrag befasst sich mit den hohen Anspr\u00fcchen an Security und Compliance, die wir an jedes Softwareprojekt stellen.","breadcrumb":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/security-und-compliance-in-softwareprojekten\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.zeiss.com\/digital-innovation\/de\/security-und-compliance-in-softwareprojekten\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/security-und-compliance-in-softwareprojekten\/#primaryimage","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/02\/shutterstock_1051184564__1920px.jpg","contentUrl":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/02\/shutterstock_1051184564__1920px.jpg","width":1920,"height":1280},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/security-und-compliance-in-softwareprojekten\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/"},{"@type":"ListItem","position":2,"name":"Security und Compliance in Softwareprojekten \u2013 Dependencies unter Kontrolle bringen"}]},{"@type":"WebSite","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#website","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/","name":"Digital Innovation Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/5f5e8dc6cd95d27f2aceb1b0d347f73c","name":"Martin R\u00f6bke","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/image\/","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/01\/roebke_martin-150x150.jpg","contentUrl":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/01\/roebke_martin-150x150.jpg","caption":"Martin R\u00f6bke"},"description":"Martin R\u00f6bke ist als Software Developer bei ZEISS Digital Innovation t\u00e4tig. Er studierte Informatik an der Technischen Universit\u00e4t Dresden und befasst sich im beruflichen Umfeld schwerpunktm\u00e4\u00dfig mit Java-\/Typescript-Entwicklung, Azure DevOps und Application Security. Seine fachlichen Interessen liegen v. a. auf den Themen Software Security, Python\/Powershell, Visualisierung und Graph-Datenbanken.","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/author\/martinroebke\/"}]}},"author_meta":{"display_name":"Martin R\u00f6bke","author_link":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/author\/martinroebke\/"},"featured_img":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2022\/02\/shutterstock_1051184564__1920px-600x400.jpg","coauthors":[],"tax_additional":{"categories":{"linked":["<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/qualitaetssicherung\/\" class=\"advgb-post-tax-term\">Qualit\u00e4tssicherung<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/software-services\/\" class=\"advgb-post-tax-term\">Software Services<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">Qualit\u00e4tssicherung<\/span>","<span class=\"advgb-post-tax-term\">Software Services<\/span>"]},"tags":{"linked":["<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/software-services\/\" class=\"advgb-post-tax-term\">Security<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/software-services\/\" class=\"advgb-post-tax-term\">Softwareentwicklung<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/software-services\/\" class=\"advgb-post-tax-term\">Editor&#039;s Choice<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/software-services\/\" class=\"advgb-post-tax-term\">ZEISS Digital Innovation<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/software-services\/\" class=\"advgb-post-tax-term\">Compliance<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/software-services\/\" class=\"advgb-post-tax-term\">Softwareprojekt<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/software-services\/\" class=\"advgb-post-tax-term\">Softwareentwicklungsprojekt<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/software-services\/\" class=\"advgb-post-tax-term\">Security Engineer<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/software-services\/\" class=\"advgb-post-tax-term\">FOSS<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">Security<\/span>","<span class=\"advgb-post-tax-term\">Softwareentwicklung<\/span>","<span class=\"advgb-post-tax-term\">Editor&#039;s Choice<\/span>","<span class=\"advgb-post-tax-term\">ZEISS Digital Innovation<\/span>","<span class=\"advgb-post-tax-term\">Compliance<\/span>","<span class=\"advgb-post-tax-term\">Softwareprojekt<\/span>","<span class=\"advgb-post-tax-term\">Softwareentwicklungsprojekt<\/span>","<span class=\"advgb-post-tax-term\">Security Engineer<\/span>","<span class=\"advgb-post-tax-term\">FOSS<\/span>"]}},"comment_count":"0","relative_dates":{"created":"Posted 4\u00a0Jahren ago","modified":"Updated 4\u00a0Jahren ago"},"absolute_dates":{"created":"Posted on Februar 7, 2022","modified":"Updated on Juli 8, 2022"},"absolute_dates_time":{"created":"Posted on Februar 7, 2022 12:54 p.m.","modified":"Updated on Juli 8, 2022 2:00 p.m."},"featured_img_caption":"","series_order":"","_links":{"self":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/posts\/2801","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/users\/134"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/comments?post=2801"}],"version-history":[{"count":9,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/posts\/2801\/revisions"}],"predecessor-version":[{"id":2915,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/posts\/2801\/revisions\/2915"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/media\/2874"}],"wp:attachment":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/media?parent=2801"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/categories?post=2801"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/tags?post=2801"},{"taxonomy":"topics","embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/topics?post=2801"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}