{"id":92519,"date":"2020-08-28T07:42:26","date_gmt":"2020-08-28T05:42:26","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/devsecops-princzipy-raboty-i-sravnenie-sca-chast-pervaya"},"modified":"2020-08-28T07:42:26","modified_gmt":"2020-08-28T05:42:26","slug":"devsecops-princzipy-raboty-i-sravnenie-sca-chast-pervaya","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/devsecops-princzipy-raboty-i-sravnenie-sca-chast-pervaya","title":{"rendered":"DevSecOps: Arbeitsprinzipien und Vergleich von SCA. Teil eins","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Die Bedeutung der Analyse von Drittanbieter-Softwarekomponenten (engl. Software Composition Analysis \u2014 SCA) im Entwicklungsprozess w\u00e4chst. Dies zeigt sich in den j\u00e4hrlichen Berichten \u00fcber Schwachstellen in Open-Source-Bibliotheken, die von Firmen wie Synopsys, Sonatype, Snyk und White Source ver\u00f6ffentlicht werden. Laut dem Bericht <noindex><a rel=\"nofollow\" href=\"https:\/\/www.whitesourcesoftware.com\/open-source-vulnerability-management-report\/\">The State of Open Source Security Vulnerabilities 2020<\/a><\/noindex> hat die Zahl der entdeckten Schwachstellen in Open Source im Jahr 2019 fast um das 1,5-Fache im Vergleich zum Vorjahr zugenommen, w\u00e4hrend Komponenten mit offenem Code in 60 % bis 80 % der Projekte verwendet werden. Laut unabh\u00e4ngiger Meinung sind SCA-Prozesse eine eigenst\u00e4ndige Praxis in OWASP SAMM und BSIMM als Indikator f\u00fcr die Reife. In der ersten H\u00e4lfte des Jahres 2020 ver\u00f6ffentlichte OWASP den neuen Standard OWASP Software Component Verification Standard (SCVS), der Best Practices zur \u00dcberpr\u00fcfung von Drittanbieterkomponenten in der Software-Lieferkette bereitstellt.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: Arbeitsprinzipien und Vergleich von SCA. Teil eins\" src=\"\/wp-content\/uploads\/2020\/08\/2a82121d42f9d317f3862a2d7869fdd6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nEiner der beeindruckendsten F\u00e4lle <noindex><a rel=\"nofollow\" href=\"https:\/\/xakep.ru\/2017\/09\/14\/equifax-dejstvitelno-vzlomali-cherez-bag-v-apache-struts-no-uyazvimost-okazalas-staroj\/\">geschah<\/a><\/noindex> Im Mai 2017 kam es zu einem Vorfall mit der Firma Equifax. Unbekannte Angreifer erlangten Zugriff auf die Daten von 143 Millionen Amerikanern, einschlie\u00dflich vollst\u00e4ndiger Namen, Adressen, Sozialversicherungsnummern und F\u00fchrerscheindaten. In 209.000 F\u00e4llen waren auch Informationen zu den Bankkarten der Betroffenen betroffen. Diese Datenpanne resultierte aus der Ausnutzung einer kritischen Schwachstelle in Apache Struts 2 (CVE-2017-5638), w\u00e4hrend das Patch bereits im M\u00e4rz 2017 ver\u00f6ffentlicht wurde. Das Unternehmen hatte zwei Monate Zeit, um das Update zu implementieren, doch diese Frist wurde nicht eingehalten.<\/p>\n<p>In diesem Artikel wird die Auswahl eines Tools f\u00fcr die Durchf\u00fchrung von SCA aus der Perspektive der Analysequalit\u00e4t diskutiert. Au\u00dferdem wird ein funktionaler Vergleich der Tools vorgestellt. Den Prozess der Integration in CI\/CD und die Integrationsm\u00f6glichkeiten lassen wir f\u00fcr zuk\u00fcnftige Ver\u00f6ffentlichungen offen. Eine umfangreiche Liste von Tools wurde von OWASP ver\u00f6ffentlicht. <noindex><a rel=\"nofollow\" href=\"https:\/\/owasp.org\/www-community\/Component_Analysis\">auf ihrer Website<\/a><\/noindex>, aber in diesem \u00dcberblick konzentrieren wir uns nur auf das am weitesten verbreitete Open-Source-Tool Dependency Check, die etwas weniger bekannte Open-Source-Plattform Dependency Track und die Enterprise-L\u00f6sung Sonatype Nexus IQ. Wir werden auch untersuchen, wie diese L\u00f6sungen funktionieren und die Ergebnisse hinsichtlich falsch-positiver Meldungen vergleichen.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: Arbeitsprinzipien und Vergleich von SCA. Teil eins\" src=\"\/wp-content\/uploads\/2020\/08\/0580758082abd9950aa9c483d546f1ca.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Funktionsweise<\/h3>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/jeremylong.github.io\/DependencyCheck\/\">Dependency Check<\/a><\/noindex> ist ein Tool (CLI, Maven, Jenkins-Modul, Ant), das die Projektdateien analysiert, Informationen \u00fcber Abh\u00e4ngigkeiten (Paketname, GroupID, Spezifikationstitel, Version\u2026) sammelt, eine CPE-Zeichenfolge (Common Platform Enumeration), Package URL (PURL) erstellt und f\u00fcr CPE\/PURL Schwachstellen aus Datenbanken (NVD, Sonatype OSS Index, NPM Audit API\u2026) identifiziert, wonach ein einmaliger Bericht im Format HTML, JSON, XML\u2026 erstellt wird.<\/p>\n<p>Schauen wir uns an, wie eine CPE aussieht:<\/p>\n<pre><code class=\"plaintext\">cpe:2.3:part:vendor:product:version:update:edition:language:sw_edition:target_sw:target_hw:other<\/code><\/pre>\n<p><\/p>\n<ul>\n<li><b>Teil:<\/b> Die Angabe, dass die Komponente zu einer Anwendung (a), einem Betriebssystem (o) oder Hardware (h) geh\u00f6rt (Pflichtfeld)<\/li>\n<li><b>Hersteller:<\/b> Der Name des Herstellers des Produkts (Pflichtfeld)<\/li>\n<li><b>Produkt:<\/b> Der Name des Produkts (Pflichtfeld)<\/li>\n<li><b>Version:<\/b> Die Version der Komponente (veraltetes Feld)<\/li>\n<li><b>Update:<\/b> Paketaktualisierung<\/li>\n<li><b>Ausgabe:<\/b> Die vererbte Version (veraltetes Feld)<\/li>\n<li><b>Sprache:<\/b> Die Sprache, definiert in RFC-5646<\/li>\n<li><b>SW-Version:<\/b> Die Softwareversion<\/li>\n<li><b>Ziel-SW:<\/b> Programmierumgebung, in der das Produkt l\u00e4uft<\/li>\n<li><b>Ziel-HW:<\/b> Hardwareumgebung, in der das Produkt l\u00e4uft<\/li>\n<li><b>Andere:<\/b> Informationen \u00fcber den Anbieter oder das Produkt<\/li>\n<\/ul>\n<p>\nEin Beispiel f\u00fcr CPE sieht wie folgt aus:<\/p>\n<pre><code class=\"plaintext\">cpe:2.3:a:pivotal_software:spring_framework:3.0.0:*:*:*:*:*:*:*<\/code><\/pre>\n<p>\nDie Zeile bedeutet, dass CPE Version 2.3 ein Anwendungsmodul des Herstellers beschreibt <code>pivotal_software <\/code>mit dem Namen <code>spring_framework<\/code> in der Version 3.0.0. Wenn wir die Schwachstelle <noindex><a rel=\"nofollow\" href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2014-0225\">CVE-2014-0225<\/a><\/noindex> in NVD \u00f6ffnen, k\u00f6nnen wir einen Verweis auf dieses CPE sehen. Das erste Problem, auf das man sofort achten sollte \u2014 CVE in NVD berichtet gem\u00e4\u00df CPE \u00fcber ein Problem im Framework und nicht in einem spezifischen Modul. Das hei\u00dft, wenn die Entwickler stark vom Framework abh\u00e4ngen und die entdeckte Schwachstelle nicht die Module betrifft, die die Entwickler verwenden, muss der Sicherheitsspezialist sich mit dieser CVE auseinandersetzen und \u00fcber ein Update nachdenken.<\/p>\n<p>Die URL wird auch von SCA-Tools verwendet. Das Format der Paket-URL sieht folgenderma\u00dfen aus:<\/p>\n<pre><code class=\"plaintext\">scheme:type\/namespace\/name@version?qualifiers#subpath<\/code><\/pre>\n<p><\/p>\n<ul>\n<li><b>S\u0441heme: <\/b>Immer wird es &#8216;pkg&#8217; geben, das angibt, dass dies die URL-Adresse des Pakets ist (Pflichtfeld)<\/li>\n<li><b>Type:<\/b> Der 'Typ' des Pakets oder das 'Protokoll' des Pakets, z. B. maven, npm, nuget, gem, pypi usw. (Pflichtfeld)<\/li>\n<li><b>Namespace:<\/b> Ein gewisser Namenspr\u00e4fix, wie die Maven-Gruppe-ID, der Besitzer des Docker-Images, ein Benutzer oder eine Organisation auf GitHub. Optional und abh\u00e4ngig vom Typ.<\/li>\n<li><b>Name:<\/b> Name des Pakets (Pflichtfeld)<\/li>\n<li><b>Version:<\/b> Versionsnummer des Pakets<\/li>\n<li><b>Qualifiers:<\/b> Zus\u00e4tzliche Qualifikatoren f\u00fcr das Paket, wie Betriebssystem, Architektur, Distribution usw. Optional und typabh\u00e4ngig.<\/li>\n<li><b>Subpath:<\/b> Zus\u00e4tzlicher Pfad im Paket relativ zum Paketstamm<\/li>\n<\/ul>\n<p>\nZum Beispiel:<\/p>\n<pre><code class=\"plaintext\">pkg:golang\/google.golang.org\/genproto#googleapis\/api\/annotations\npkg:maven\/org.apache.commons\/io@1.3.4\npkg:pypi\/django-package@1.11.1.dev1<\/code><\/pre>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/dependencytrack.org\/\">Dependency Track<\/a><\/noindex> \u2014 eine lokale Webplattform, die fertiggestellte St\u00fccklisten (Bill of Materials, BOM) verarbeitet, die erstellt wurden <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/CycloneDX\">CycloneDX<\/a><\/noindex> und <noindex><a rel=\"nofollow\" href=\"https:\/\/spdx.org\/licenses\/\">SPDX<\/a><\/noindex>, also fertiggestellte Spezifikationen \u00fcber vorhandene Abh\u00e4ngigkeiten. Dies ist eine XML-Datei mit einer Beschreibung der Abh\u00e4ngigkeiten \u2014 Name, Hashes, Paket-URL, Publisher, Lizenz. Anschlie\u00dfend analysiert Dependency Track die BOM, \u00fcberpr\u00fcft die ermittelten Abh\u00e4ngigkeiten auf CVEs aus der Datenbank f\u00fcr Schwachstellen (NVD, Sonatype OSS Index \u2026), erstellt Diagramme, berechnet Metriken und aktualisiert regelm\u00e4\u00dfig die Informationen zum Status der Schwachstellen von Komponenten. <\/p>\n<p>Beispiel, wie eine BOM im XML-Format aussehen kann:<\/p>\n<pre><code class=\"xml\">Apache\n      org.apache.tomcat\n      tomcat-catalina\n      9.0.14\n      \n        3942447fac867ae5cdb3229b658f4d48\n        e6b1000b94e835ffd37f4c6dcbdad43f4b48a02a\n        f498a8ff2dd007e29c2074f5e4b01a9a01775c3ff3aeaf6906ea503bc5791b7b\n        e8f33e424f3f4ed6db76a482fde1a5298970e442c531729119e37991884bdffab4f9426b7ee11fccd074eeda0634d71697d6f88a460dce0ac8d627a29f7d1282\n      \n      \n        \n          Apache-2.0\n        \n      \n      pkg:maven\/org.apache.tomcat\/tomcat-catalina@9.0.14\n    \n      <!-- More components here --><\/code><\/pre>\n<p>\nDie BOM kann nicht nur als Eingabeparameter f\u00fcr Dependency Track verwendet werden, sondern auch zur Inventarisierung von Softwarekomponenten in der Lieferkette, beispielsweise zur Bereitstellung f\u00fcr den Softwarekunden. Im Jahr 2014 wurde in den USA sogar ein Gesetz zur Diskussion gestellt, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.congress.gov\/bill\/113th-congress\/house-bill\/5793\">\u201eCyber Supply Chain Management and Transparency Act von 2014\u201c<\/a><\/noindex>, der besagte, dass beim Erwerb von Software jede staatliche Einrichtung eine BOM anfordern muss, um die Verwendung verwundbarer Komponenten zu verhindern. Allerdings ist dieser Akt nie in Kraft getreten.<\/p>\n<p>Zur\u00fcck zu SCA: Dependency Track bietet bereits Integrationen mit Benachrichtigungsplattformen wie Slack sowie mit Schwachstellenmanagementsystemen wie Kenna Security. Es ist auch erw\u00e4hnenswert, dass Dependency Track zus\u00e4tzlich veraltete Versionen von Paketen identifiziert und Lizenzinformationen bereitstellt (dank der Unterst\u00fctzung von SPDX).<\/p>\n<p>Wenn es um die Qualit\u00e4t von SCA geht, gibt es hier einen grundlegenden Unterschied.<\/p>\n<p>Dependency Track akzeptiert nicht das Projekt als Eingabedaten, sondern nimmt tats\u00e4chlich die BOM entgegen. Das bedeutet, dass wir, wenn wir ein Projekt \u00fcberpr\u00fcfen wollen, zuerst eine bom.xml erstellen m\u00fcssen, beispielsweise mit CycloneDX. Somit ist Dependency Track direkt von CycloneDX abh\u00e4ngig. Gleichzeitig bietet dies M\u00f6glichkeiten zur Anpassung. So hat das OZON-Team <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ozonru\/cyclonedx-go\">ein CycloneDX-Modul<\/a><\/noindex> zur Erstellung von BOM-Dateien f\u00fcr Projekte in Golang entwickelt, um sie anschlie\u00dfend \u00fcber Dependency Track zu scannen.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/sonatype.ru\/#nexusiq\">Nexus IQ<\/a><\/noindex> \u2014 kommerzieles SCA-Angebot von Sonatype, das Teil des Sonatype-\u00d6kosystems ist, zu dem auch der Nexus Repository Manager geh\u00f6rt. Nexus IQ kann sowohl WAR-Archive (f\u00fcr Java-Projekte) \u00fcber die Web-Oberfl\u00e4che oder API als auch BOM-Daten akzeptieren, falls Ihre Organisation nicht rechtzeitig von CycloneDX auf die neue L\u00f6sung umgestiegen ist. Im Gegensatz zu Open-Source-L\u00f6sungen ber\u00fccksichtigt IQ nicht nur CP\/PURL f\u00fcr die identifizierte Komponente und die entsprechenden Schwachstellen in der Datenbank, sondern auch eigene Untersuchungen, wie den Namen der verwundbaren Funktion oder Klasse. Die Mechanismen von IQ werden sp\u00e4ter bei der Analyse der Ergebnisse behandelt.<\/p>\n<p>Lassen Sie uns einige Schlussfolgerungen zu den funktionalen Merkmalen ziehen und die unterst\u00fctzten Sprachen f\u00fcr die Analyse betrachten:<\/p>\n<p>Sprache<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nDependency Track<\/p>\n<p>Java<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>C\/C++<br \/>\n+<br \/>\n+<br \/>\n&#8212;<\/p>\n<p>C#<br \/>\n+<br \/>\n+<br \/>\n&#8212;<\/p>\n<p>.Net<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>Erlang<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\n+<\/p>\n<p>JavaScript (NodeJS)<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>PHP<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>Python<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>Ruby<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>Perl<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\n&#8212;<\/p>\n<p>Scala<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>Objective C<br \/>\n+<br \/>\n+<br \/>\n&#8212;<\/p>\n<p>Swift<br \/>\n+<br \/>\n+<br \/>\n&#8212;<\/p>\n<p>R<br \/>\n+<br \/>\n&#8212;<br \/>\n&#8212;<\/p>\n<p>Go<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>\nFunktionale M\u00f6glichkeiten<\/p>\n<p>Funktionale M\u00f6glichkeiten<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nDependency Track<\/p>\n<p>M\u00f6glichkeit zur \u00dcberpr\u00fcfung der Lizenztreue von Komponenten, die im Quellcode verwendet werden<br \/>\n+<br \/>\n&#8212;<br \/>\n+<\/p>\n<p>M\u00f6glichkeit zur Scannung und Analyse von Docker-Images auf Schwachstellen und Lizenztreue<br \/>\n+ Integration mit Clair<br \/>\n&#8212;<br \/>\n&#8212;<\/p>\n<p>M\u00f6glichkeit zur Anpassung von Sicherheitsrichtlinien f\u00fcr die Verwendung von Open-Source-Bibliotheken<br \/>\n+<br \/>\n&#8212;<br \/>\n&#8212;<\/p>\n<p>Die M\u00f6glichkeit zur Analyse von Open-Source-Repositories auf verwundbare Komponenten<br \/>\n+ RubyGems, Maven, NPM, Nuget, Pypi, Conan, Bower, Conda, Go, p2, R, Yum, Helm, Docker, CocoaPods, Git LFS<br \/>\n&#8212;<br \/>\n+ Hex, RubyGems, Maven, NPM, Nuget, Pypi<\/p>\n<p>Vorhandensein einer spezialisierten Forschungsgruppe<br \/>\n+<br \/>\n&#8212;<br \/>\n&#8212;<\/p>\n<p>Arbeiten in einem gesch\u00fctzten Umfeld<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>Verwendung von Drittanbieter-Datenbanken<br \/>\n+ Geschlossene Datenbank von Sonatype<br \/>\n+ Sonatype OSS, NPM Public Advisors<br \/>\n+ Sonatype OSS, NPM Public Advisors, RetireJS, VulnDB, Unterst\u00fctzung einer eigenen Schwachstellendatenbank<\/p>\n<p>Die M\u00f6glichkeit, Open-Source-Komponenten bei dem Versuch, in die Entwicklungsumgebung hochzuladen, gem\u00e4\u00df den konfigurierten Richtlinien zu filtern<br \/>\n+<br \/>\n&#8212;<br \/>\n&#8212;<\/p>\n<p>Empfehlungen zur Behebung von Schwachstellen, einschlie\u00dflich Links zu Patches<br \/>\n+<br \/>\n+- (abh\u00e4ngig von der Beschreibung in \u00f6ffentlichen Datenbanken)<br \/>\n+- (abh\u00e4ngig von der Beschreibung in \u00f6ffentlichen Datenbanken)<\/p>\n<p>Bewertung der entdeckten Schwachstellen nach Kritikalit\u00e4t<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>Rollenbasismodell f\u00fcr den Zugriff<br \/>\n+<br \/>\n&#8212;<br \/>\n+<\/p>\n<p>Unterst\u00fctzung einer Kommandozeilen-Schnittstelle (CLI)<br \/>\n+<br \/>\n+<br \/>\n+- (nur f\u00fcr CycloneDX)<\/p>\n<p>Filtern \/ Sortieren von Schwachstellen nach definierten Kriterien<br \/>\n+<br \/>\n&#8212;<br \/>\n+<\/p>\n<p>Dashboard zum Status der Anwendungen<br \/>\n+<br \/>\n&#8212;<br \/>\n+<\/p>\n<p>Erstellung von Berichten im PDF-Format<br \/>\n+<br \/>\n&#8212;<br \/>\n&#8212;<\/p>\n<p>Erstellung von Berichten im JSONCSV-Format<br \/>\n+<br \/>\n+<br \/>\n&#8212;<\/p>\n<p>Unterst\u00fctzung der russischen Sprache<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\n&#8212;<\/p>\n<p>\nIntegrationsm\u00f6glichkeiten<\/p>\n<p>Integration<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nDependency Track<\/p>\n<p>Integration mit LDAP \/ Active Directory<br \/>\n+<br \/>\n&#8212;<br \/>\n+<\/p>\n<p>Integration mit dem Continuous Integration System (Continous Integration) Bamboo<br \/>\n+<br \/>\n&#8212;<br \/>\n&#8212;<\/p>\n<p>Integration mit dem Continuous Integration System (Continous Integration) TeamCity<br \/>\n+<br \/>\n&#8212;<br \/>\n&#8212;<\/p>\n<p>Integration mit dem Continuous Integration System (Continous Integration) GitLab<br \/>\n+<br \/>\n+- (als Plugin f\u00fcr GitLab)<br \/>\n+<\/p>\n<p>Integration mit dem Continuous Integration System (Continous Integration) Jenkins<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>Verf\u00fcgbarkeit von Plugins f\u00fcr IDEs<br \/>\n+ IntelliJ, Eclipse, Visual Studio<br \/>\n&#8212;<br \/>\n&#8212;<\/p>\n<p>Unterst\u00fctzung f\u00fcr benutzerdefinierte Integrationen \u00fcber Web-Services (API) des Tools<br \/>\n+<br \/>\n&#8212;<br \/>\n+<\/p>\n<h3>Dependency Check<\/h3>\n<p><\/p>\n<h4>Erster Start<\/h4>\n<p>\nWir starten das Dependency Check f\u00fcr eine absichtlich verwundbare Anwendung <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/appsecco\/dvja\">DVJA<\/a><\/noindex>.<\/p>\n<p>Dazu verwenden wir <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jeremylong\/DependencyCheck\">Dependency Check Maven Plugin<\/a><\/noindex>:<\/p>\n<pre><code class=\"plaintext\">mvn org.owasp:dependency-check-maven:check<\/code><\/pre>\n<p>\nDas Ergebnis wird die Datei dependency-check-report.html im Verzeichnis target erscheinen.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: Arbeitsprinzipien und Vergleich von SCA. Teil eins\" src=\"\/wp-content\/uploads\/2020\/08\/d5b9fe5a8eb68569387dd0bfd38af459.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00d6ffnen Sie die Datei. Nach der Zusammenfassung \u00fcber die Gesamtzahl der Schwachstellen sehen wir Informationen \u00fcber Schwachstellen mit hohem Schweregrad und Vertrauen, einschlie\u00dflich Paket, CPE und der Anzahl der CVE.<\/p>\n<p>Anschlie\u00dfend folgen detailliertere Informationen, insbesondere die Gr\u00fcnde f\u00fcr die Entscheidungen (Evidenz), also gewisserma\u00dfen ein BOM.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: Arbeitsprinzipien und Vergleich von SCA. Teil eins\" src=\"\/wp-content\/uploads\/2020\/08\/53dd89b0ff20c4c51aaf7412399e7fd9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDar\u00fcber hinaus gibt es CPE, PURL und die Beschreibung der CVE. Empfehlungen zur Behebung sind \u00fcbrigens nicht enthalten, da diese in der NVD-Datenbank fehlen.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: Arbeitsprinzipien und Vergleich von SCA. Teil eins\" src=\"\/wp-content\/uploads\/2020\/08\/ba2021aa8b6bf175383298b2c2a71670.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUm eine systematische \u00dcberpr\u00fcfung der Scan-Ergebnisse zu erm\u00f6glichen, kann Nginx mit minimalen Einstellungen konfiguriert werden, oder die gefundenen Defekte k\u00f6nnen in ein Defektmanagementsystem gesendet werden, das Connectoren zu Dependency Check unterst\u00fctzt. Zum Beispiel Defect Dojo. <\/p>\n<h3>Dependency Track<\/h3>\n<p><\/p>\n<h4>Installation von<\/h4>\n<p>\nDependency Track hingegen ist eine Webplattform mit grafischen Darstellungen, sodass die Frage des Speicherns von Defekten in einer externen L\u00f6sung hier nicht relevant ist. <br \/>\nF\u00fcr die Installation sind die folgenden unterst\u00fctzten Szenarien verf\u00fcgbar: Docker, WAR, ausf\u00fchrbare WAR. <\/p>\n<h4>Erster Start<\/h4>\n<p>\nGehen Sie zur URL des gestarteten Dienstes. Melden Sie sich mit admin\/admin an, \u00e4ndern Sie den Benutzername und das Passwort, und gelangen Sie dann zum Dashboard. Als n\u00e4chstes erstellen wir ein Projekt f\u00fcr eine Testanwendung in Java in<i> Home\/Projects \u2192 Projekt erstellen <\/i>. Als Beispiel verwenden wir DVJA.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: Arbeitsprinzipien und Vergleich von SCA. Teil eins\" src=\"\/wp-content\/uploads\/2020\/08\/338aaa1c9ca0ac99f2e857f8ce001a02.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDa Dependency Track nur BOM-Daten als Eingabe akzeptieren kann, muss dieses BOM beschafft werden. Lassen Sie uns <noindex><a rel=\"nofollow\" href=\"https:\/\/github.coam\/CycloneDX\/cyclonedx-maven-plugin\">CycloneDX Maven Plugin<\/a><\/noindex>:<\/p>\n<pre><code class=\"plaintext\">mvn org.cyclonedx:cyclonedx-maven-plugin:makeAggregateBom<\/code><\/pre>\n<p>\nDas bom.xml wird erstellt und die Datei in dem erstellten Projekt hochgeladen. <i>DVJA \u2192 Abh\u00e4ngigkeiten \u2192 BOM hochladen<\/i>.<\/p>\n<p>Gehen Sie zu Verwaltung \u2192 Analysatoren. Wir stellen fest, dass nur der interne Analysator aktiviert ist, der NVD umfasst. Lassen Sie uns auch den Sonatype OSS Index aktivieren.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: Arbeitsprinzipien und Vergleich von SCA. Teil eins\" src=\"\/wp-content\/uploads\/2020\/08\/3879a9a3d5f227d9740a984e7b1b91b2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSo erhalten wir das folgende Bild f\u00fcr unser Projekt:<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: Arbeitsprinzipien und Vergleich von SCA. Teil eins\" src=\"\/wp-content\/uploads\/2020\/08\/004f2ab3383acb87e3d5e8c0fba1f3c3.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAuch in der Liste findet sich eine Schwachstelle, die f\u00fcr Sonatype OSS anwendbar ist:<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: Arbeitsprinzipien und Vergleich von SCA. Teil eins\" src=\"\/wp-content\/uploads\/2020\/08\/e459f08218f890b46fb4050c30da63c8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDie gr\u00f6\u00dfte Entt\u00e4uschung war, dass Dependency Track keine XML-Berichte von Dependency Check mehr akzeptiert. Die letzten unterst\u00fctzten Integrationsversionen mit Dependency Check waren 1.0.0 \u2013 4.0.2, w\u00e4hrend ich 5.3.2 getestet habe.<\/p>\n<p>Hier <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/d2WMONyBbTw\">Video<\/a><\/noindex> (und <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/IPWPISSk5rc\">hier ist<\/a><\/noindex>), als dies noch m\u00f6glich war. <\/p>\n<h3>Nexus IQ <\/h3>\n<p><\/p>\n<h4>Erster Start<\/h4>\n<p>\nDie Installation von Nexus IQ erfolgt aus Archiven \u00fcber <noindex><a rel=\"nofollow\" href=\"https:\/\/help.sonatype.com\/iqserver\/installing\/iq-server-installation\">Dokumentation.<\/a><\/noindex>, aber wir haben uns f\u00fcr diese Zwecke ein Docker-Image erstellt.<\/p>\n<p>Nach dem Einloggen in die Konsole m\u00fcssen Sie eine Organisation und eine Anwendung erstellen.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: Arbeitsprinzipien und Vergleich von SCA. Teil eins\" src=\"\/wp-content\/uploads\/2020\/08\/4c6df91bad77e87ea066ff3514a03644.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"DevSecOps: Arbeitsprinzipien und Vergleich von SCA. Teil eins\" src=\"\/wp-content\/uploads\/2020\/08\/d8580ba46852e4d97625a22e215c21d3.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"DevSecOps: Arbeitsprinzipien und Vergleich von SCA. Teil eins\" src=\"\/wp-content\/uploads\/2020\/08\/d99ce4e47218001fd1a76722e2633bea.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWie zu sehen ist, gestaltet sich die Konfiguration im Fall von IQ etwas komplizierter, da wir auch Richtlinien erstellen m\u00fcssen, die f\u00fcr verschiedene \u201eStufen\u201c (dev, build, stage, release) anwendbar sind. Dies ist notwendig, um anf\u00e4llige Komponenten w\u00e4hrend des Fortschritts im Pipeline n\u00e4her zur Produktion zu blockieren oder sofort zu blockieren, sobald sie beim Herunterladen durch die Entwickler in das Nexus Repo gelangen.<\/p>\n<p>Um den Unterschied zwischen Open Source und Enterprise zu sp\u00fcren, f\u00fchren wir einen \u00e4hnlichen Scan \u00fcber Nexus IQ durch, der dem entspricht <noindex><a rel=\"nofollow\" href=\"https:\/\/help.sonatype.com\/integrations\/sonatype-clm-for-maven\">Maven-Plugin<\/a><\/noindex>, nachdem wir zuvor eine Testanwendung im NexusIQ-Interface erstellt haben <code>dvja-test-and-compare<\/code>:<\/p>\n<pre><code class=\"plaintext\">mvn com.sonatype.clm:clm-maven-plugin:evaluate -Dclm.applicationId=dvja-test-and-compare -Dclm.serverUrl= -Dclm.username= -Dclm.password=\n<\/code><\/pre>\n<p>\nGehen Sie \u00fcber die URL zum generierten Bericht im IQ-Webinterface:<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: Arbeitsprinzipien und Vergleich von SCA. Teil eins\" src=\"\/wp-content\/uploads\/2020\/08\/f81f998037ba53ef62298955077d044d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHier k\u00f6nnen Sie alle Verst\u00f6\u00dfe gegen die Richtlinien sehen, die nach verschiedenen Schweregraden (von Info bis Security Critical) gekennzeichnet sind. Der Buchstabe D neben einer Komponente bedeutet, dass es sich um eine direkte Abh\u00e4ngigkeit handelt, und der Buchstabe T neben einer Komponente zeigt an, dass es sich um eine transitive Abh\u00e4ngigkeit handelt.<\/p>\n<p>\u00dcbrigens, der Bericht <noindex><a rel=\"nofollow\" href=\"https:\/\/snyk.io\/open-source-security\/\">State of Open Source Security Report 2020<\/a><\/noindex> von Snyk berichtet, dass \u00fcber 70 % der in Node.js, Java und Ruby entdeckten Open-Source-Sicherheitsanf\u00e4lligkeiten in transitiven Abh\u00e4ngigkeiten liegen.<\/p>\n<p>Wenn wir eine der Richtlinienverletzungen in Nexus IQ \u00f6ffnen, k\u00f6nnen wir die Beschreibung der Komponente sowie das Versionsdiagramm sehen, das den aktuellen Stand der Version im zeitlichen Verlauf darstellt und zeigt, wann die Sicherheitsanf\u00e4lligkeit nicht mehr besteht. Die H\u00f6he der Kerzen im Diagramm zeigt die Beliebtheit der Nutzung dieser Komponente an.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: Arbeitsprinzipien und Vergleich von SCA. Teil eins\" src=\"\/wp-content\/uploads\/2020\/08\/d33968a5ce5904da6f50133f882521fe.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWenn Sie zum Abschnitt der Schwachstellen wechseln und die CVE aufklappen, k\u00f6nnen Sie die Beschreibung dieser Schwachstelle, Empfehlungen zur Behebung sowie den Grund lesen, warum diese Komponente unter einen Versto\u00df f\u00e4llt, das hei\u00dft, das Vorhandensein einer Klasse. <code>DiskFileitem.class<\/code>.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: Arbeitsprinzipien und Vergleich von SCA. Teil eins\" src=\"\/wp-content\/uploads\/2020\/08\/6d91b98a9a9a1a62264f1b4194f33ca4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"DevSecOps: Arbeitsprinzipien und Vergleich von SCA. Teil eins\" src=\"\/wp-content\/uploads\/2020\/08\/c9e580ad178a9c0307ed1e63d6dd244d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nFassen wir nur die externen Java-Komponenten zusammen, indem wir die js-Komponenten entfernen. In Klammern geben wir die Anzahl der Schwachstellen an, die au\u00dferhalb der NVD gefunden wurden.<\/p>\n<p><b>Insgesamt Nexus IQ: <\/b><\/p>\n<ul>\n<li>Durchsuchte Abh\u00e4ngigkeiten: 62<\/li>\n<li>Verletzbare Abh\u00e4ngigkeiten: 16<\/li>\n<li>Gefundene Schwachstellen: 42 (8 sonatype db)<\/li>\n<\/ul>\n<p>\n<b>Insgesamt Dependency Check: <\/b><\/p>\n<ul>\n<li>Durchsuchte Abh\u00e4ngigkeiten: 47<\/li>\n<li>Verletzbare Abh\u00e4ngigkeiten: 13<\/li>\n<li>Gefundene Schwachstellen: 91 (14 sonatype oss)<\/li>\n<\/ul>\n<p>\n<b>Insgesamt Dependency Track: <\/b><\/p>\n<ul>\n<li>Durchsuchte Abh\u00e4ngigkeiten: 59<\/li>\n<li>Verletzbare Abh\u00e4ngigkeiten: 10<\/li>\n<li>Gefundene Schwachstellen: 51 (1 sonatype oss)<\/li>\n<\/ul>\n<p>\nIm n\u00e4chsten Schritt analysieren wir die Ergebnisse und untersuchen, welche dieser Schwachstellen ein tats\u00e4chlicher Defekt ist und welche ein Fehlalarm.<\/p>\n<h3>Haftungsausschluss<\/h3>\n<p>\nDiese \u00dcberpr\u00fcfung ist keine unumst\u00f6\u00dfliche Wahrheit. Der Autor hatte nicht das Ziel, ein bestimmtes Werkzeug herauszuheben. Sinn der \u00dcberpr\u00fcfung war es, die Funktionsweisen von SCA-Tools und die Methoden zur \u00dcberpr\u00fcfung ihrer Ergebnisse aufzuzeigen.<\/p>\n<h3>Vergleich der Ergebnisse<\/h3>\n<p>\n<b>Bedingungen:<\/b><\/p>\n<p><b>Ein Fehlalarm in Bezug auf Schwachstellen von Drittanbieter-Komponenten ist:<\/b><\/p>\n<ul>\n<li><b>CVE-Unstimmigkeit mit dem identifizierten Bauteil<\/b><\/li>\n<li>Wenn zum Beispiel eine Schwachstelle im Framework struts2 entdeckt wird und das Tool auf das Bauteil struts-tiles hinweist, zu dem diese Schwachstelle nicht geh\u00f6rt, ist das ein False Positive.<\/li>\n<li><b>CVE-Unstimmigkeit mit der identifizierten Version des Bauteils<\/b><\/li>\n<li>Wenn eine Schwachstelle an die Version python &gt; 3.5 gebunden ist und das Tool die verwundbare Version 2.7 anzeigt, ist das ein False Positive, da die Schwachstelle tats\u00e4chlich nur die Produktreihe 3.x betrifft. <\/li>\n<li> <b>CVE-Duplizierung<\/b><\/li>\n<li>Wenn beispielsweise das SCA auf eine CVE hinweist, die RCE erm\u00f6glicht, und danach dasselbe SCA f\u00fcr dieses Bauteil eine CVE angibt, die f\u00fcr Cisco-Produkte gilt, die dieser RCE ausgesetzt sind, w\u00e4re das ein False Positive.<\/li>\n<li>Wenn beispielsweise eine CVE im Bauteil spring-web gefunden wurde, und das SCA dann auf dieselbe CVE in anderen Bauteilen des Spring Framework hinweist, w\u00e4hrend diese CVE nichts mit anderen Bauteilen zu tun hat, w\u00e4re das ein False Positive. <\/li>\n<\/ul>\n<p>\nGegenstand der Untersuchung ist das Open Source-Projekt DVJA. An der Untersuchung nahmen nur Java-Komponenten (ohne JS) teil.<\/p>\n<h3>Zusammenfassende Ergebnisse<\/h3>\n<p>\nLassen Sie uns direkt zu den Ergebnissen der manuellen \u00dcberpr\u00fcfung der identifizierten Schwachstellen \u00fcbergehen. Den vollst\u00e4ndigen Bericht zu jeder CVE finden Sie im Anhang. <\/p>\n<p><i>Zusammenfassende Ergebnisse zu allen Schwachstellen:<\/i><\/p>\n<p>Parameter<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nDependency Track<\/p>\n<p>Insgesamt identifizierte Schwachstellen<br \/>\n42<br \/>\n91<br \/>\n51<\/p>\n<p>Falsch identifizierte Schwachstellen (false positive)<br \/>\n2(4.76%)<br \/>\n62(68,13%)<br \/>\n29(56.86%)<\/p>\n<p>Keine relevanten Schwachstellen gefunden (false negative)<br \/>\n10<br \/>\n20<br \/>\n27<\/p>\n<p>\n<i>Zusammenfassende Ergebnisse nach Komponenten:<\/i><\/p>\n<p>Parameter<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nDependency Track<\/p>\n<p>Insgesamt identifizierte Komponenten<br \/>\n62<br \/>\n47<br \/>\n59<\/p>\n<p>Insgesamt verwundbare Komponenten<br \/>\n16<br \/>\n13<br \/>\n10<\/p>\n<p>Falsch identifizierte verwundbare Komponenten (false positive)<br \/>\n1<br \/>\n5<br \/>\n0<\/p>\n<p>Falsch identifizierte verwundbare Komponenten (false positive)<br \/>\n0<br \/>\n6<br \/>\n6<\/p>\n<p>\nWir werden visuelle Diagramme erstellen, um das Verh\u00e4ltnis von false positives und false negatives zur Gesamtzahl der Schwachstellen zu bewerten. Auf der horizontalen Achse sind die Komponenten und auf der vertikalen Achse die darin identifizierten Schwachstellen dargestellt. <\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: Arbeitsprinzipien und Vergleich von SCA. Teil eins\" src=\"\/wp-content\/uploads\/2020\/08\/967b8e168383299d4a1bf4065f1905ca.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"DevSecOps: Arbeitsprinzipien und Vergleich von SCA. Teil eins\" src=\"\/wp-content\/uploads\/2020\/08\/2e128ee59e551894c25e4c9e28997008.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"DevSecOps: Arbeitsprinzipien und Vergleich von SCA. Teil eins\" src=\"\/wp-content\/uploads\/2020\/08\/585d7bcef052ef24e4de6c7e1a4e7c0b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZum Vergleich wurde eine \u00e4hnliche Studie vom Sonatype-Team durchgef\u00fchrt, die ein Projekt mit 1531 Komponenten mithilfe des OWASP Dependency Checks getestet hat. Wie wir sehen k\u00f6nnen, steht das Verh\u00e4ltnis von St\u00f6rger\u00e4uschen zu korrekten Ausl\u00f6sungen im Einklang mit unseren Ergebnissen.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: Arbeitsprinzipien und Vergleich von SCA. Teil eins\" src=\"\/wp-content\/uploads\/2020\/08\/286c34b84f1400af0285b711b3fe87f2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Quelle: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.sonatype.com\/why-precision-matters-ebook\">www.sonatype.com\/why-precision-matters-ebook<\/a><\/noindex><\/i><\/p>\n<p>Lassen Sie uns einige CVEs aus den Ergebnissen unseres Scans betrachten, um die Gr\u00fcnde f\u00fcr diese Ergebnisse zu verstehen.<\/p>\n<h3>Mehr erfahren<\/h3>\n<p><\/p>\n<h4>Nr. 1<\/h4>\n<p>\nZuerst betrachten wir einige interessante Aspekte von Sonatype Nexus IQ.<\/p>\n<p>Nexus IQ weist auf ein Deserialisierungsproblem hin, das in der Spring Framework mehrfach RCE erm\u00f6glichen kann. CVE-2016-1000027 in spring-web:3.0.5 erstmals und CVE-2011-2894 in spring-context:3.0.5 sowie spring-core:3.0.5. Zun\u00e4chst scheint es, dass eine Schwachstelle in mehreren CVEs dupliziert wird. Denn wenn wir CVE-2016-1000027 und CVE-2011-2894 in der NVD-Datenbank betrachten, scheint alles offensichtlich.<\/p>\n<p>Komponente<br \/>\nSicherheitsanf\u00e4lligkeit<\/p>\n<p>spring-web:3.0.5<br \/>\nCVE-2016-1000027<\/p>\n<p>spring-context:3.0.5<br \/>\nCVE-2011-2894<\/p>\n<p>spring-core:3.0.5<br \/>\nCVE-2011-2894<\/p>\n<p>\nBeschreibung <noindex><a rel=\"nofollow\" href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2011-2894\">CVE-2011-2894<\/a><\/noindex> aus der NVD:<br \/>\n<img decoding=\"async\" alt=\"DevSecOps: Arbeitsprinzipien und Vergleich von SCA. Teil eins\" src=\"\/wp-content\/uploads\/2020\/08\/31b403eca6d7541c766c9a560bfbe6b7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBeschreibung <noindex><a rel=\"nofollow\" href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2016-1000027\">CVE-2016-1000027<\/a><\/noindex> aus der NVD:<br \/>\n<img decoding=\"async\" alt=\"DevSecOps: Arbeitsprinzipien und Vergleich von SCA. Teil eins\" src=\"\/wp-content\/uploads\/2020\/08\/d5b54a6ac15070b12f013eaacd2878f2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCVE-2011-2894 selbst ist ziemlich bekannt. Im Bericht <noindex><a rel=\"nofollow\" href=\"http:\/\/www.pwntester.com\/blog\/2013\/12\/16\/cve-2011-2894-deserialization-spring-rce\/\">von White Source aus dem Jahr 2011<\/a><\/noindex> wurde diese CVE als eine der am h\u00e4ufigsten vorkommenden angesehen. Beschreibung f\u00fcr CVE-2016-100027 gibt es in NVD nur wenige, und sie scheint nur f\u00fcr die Spring Framework 4.1.4 anwendbar zu sein. Lassen Sie uns <noindex><a rel=\"nofollow\" href=\"https:\/\/www.tenable.com\/security\/research\/tra-2016-20\">Referenz<\/a><\/noindex> betrachten, und dann wird alles mehr oder weniger klar. Aus der <noindex><a rel=\"nofollow\" href=\"https:\/\/www.tenable.com\/security\/research\/tra-2016-20\">Tenable-Artikels<\/a><\/noindex> verstehen wir, dass neben der Schwachstelle in der <code>RemoteInvocationSerializingExporter<\/code> in CVE-2011-2894 eine Schwachstelle auch in der <code>HttpInvokerServiceExporter<\/code>. Dar\u00fcber informiert uns Nexus IQ:<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: Arbeitsprinzipien und Vergleich von SCA. Teil eins\" src=\"\/wp-content\/uploads\/2020\/08\/a33f0853ce892d28eafafe2c8e7b2228.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDennoch ist nichts Derartiges in der NVD vorhanden, was dazu f\u00fchrt, dass Dependency Check und Dependency Track falsche Negative erhalten.<\/p>\n<p>Au\u00dferdem kann aus der Beschreibung von CVE-2011-2894 entnommen werden, dass die Schwachstelle tats\u00e4chlich sowohl in spring-context:3.0.5 als auch in spring-core:3.0.5 vorhanden ist. Eine Best\u00e4tigung hierf\u00fcr findet sich in einem Artikel des Entdeckers dieser Schwachstelle.<\/p>\n<h4>Nr.2<\/h4>\n<p><\/p>\n<p>Komponente<br \/>\nSicherheitsanf\u00e4lligkeit<br \/>\nErgebnis<\/p>\n<p>struts2-core:2.3.30<br \/>\nCVE-2016-4003<br \/>\nFALSE<\/p>\n<p>\nWenn wir die Schwachstelle CVE-2016-4003 betrachten, stellen wir fest, dass sie bereits in Version 2.3.28 behoben wurde. Dennoch informiert uns Nexus IQ dar\u00fcber. Im Beschreibungstext zur Schwachstelle gibt es einen Hinweis:<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: Arbeitsprinzipien und Vergleich von SCA. Teil eins\" src=\"\/wp-content\/uploads\/2020\/08\/081f9006748083727e424b709a338d60.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDas bedeutet, dass die Schwachstelle nur in Verbindung mit einer veralteten Version der JRE besteht, und darauf wollten wir hingewiesen werden. Wir betrachten dies trotzdem als False Positive, auch wenn es nicht die schlimmste ist.<\/p>\n<h4>Nr. 3<\/h4>\n<p><\/p>\n<p>Komponente<br \/>\nSicherheitsanf\u00e4lligkeit<br \/>\nErgebnis<\/p>\n<p>xwork-core:2.3.30<br \/>\nCVE-2017-9804<br \/>\nTRUE<\/p>\n<p>xwork-core:2.3.30<br \/>\nCVE-2017-7672<br \/>\nFALSE<\/p>\n<p>\nWenn wir die Beschreibung von CVE-2017-9804 und CVE-2017-7672 betrachten, verstehen wir, dass das Problem in der <code>URLValidator-Klasse<\/code>liegt, wobei CVE-2017-9804 aus CVE-2017-7672 resultiert. Das Vorhandensein der zweiten Schwachstelle hat keinen praktischen Nutzen, au\u00dfer dass ihre Schwere auf Hoch gestiegen ist, weshalb wir dies als \u00fcberfl\u00fcssigen L\u00e4rm betrachten k\u00f6nnen.<\/p>\n<p>Insgesamt wurden keine weiteren False Positives f\u00fcr Nexus IQ gefunden.<\/p>\n<h3>Nr. 4<\/h3>\n<p>\nEs gibt mehrere Punkte, die IQ von anderen L\u00f6sungen abheben.<\/p>\n<p>Komponente<br \/>\nSicherheitsanf\u00e4lligkeit<br \/>\nErgebnis<\/p>\n<p>spring-web:3.0.5<br \/>\nCVE-2020-5398<br \/>\nTRUE<\/p>\n<p>Das CVE im NVD berichtet, dass es nur f\u00fcr die Versionen 5.2.x bis 5.2.3, 5.1.x bis 5.1.13 und die Versionen 5.0.x bis 5.0.16 zutrifft. Wenn wir jedoch die Beschreibung des CVE in Nexus IQ betrachten, sehen wir Folgendes:<br \/>\n<i>Advisory Deviation Notice: Das Sicherheitsteam von Sonatype hat festgestellt, dass diese Schwachstelle in Version 3.0.2.RELEASE und nicht in 5.0.x, wie im Advisory angegeben, eingef\u00fchrt wurde.<\/i><\/p>\n<p>Danach folgt ein PoC zu dieser Schwachstelle, das meldet, dass sie in Version 3.0.5 vorhanden ist.<\/p>\n<p>Ein False Negative wird an den Dependency Check und Dependency Track gesendet.<\/p>\n<h3>Nr. 5<\/h3>\n<p>\nBetrachten wir das False Positive f\u00fcr Dependency Check und Dependency Track.<\/p>\n<p>Der Dependency Check hebt hervor, dass die CVEs, die in der NVD zum gesamten Framework geh\u00f6ren, auf die Komponenten angewendet werden, auf die diese CVEs nicht zutreffen. Dies betrifft CVE-2012-0394, CVE-2013-2115, CVE-2014-0114, CVE-2015-0899, CVE-2015-2992, CVE-2016-1181, CVE-2016-1182, die der Dependency Check mit struts-taglib:1.3.8 und struts-tiles-1.3.8 verkn\u00fcpft hat. Diese Komponenten haben nichts mit dem in den CVEs beschriebenen zu tun \u2014 Anfragebearbeitung, Seitenvalidierung und so weiter. Das Einzige, was diese CVEs und Komponenten gemeinsam haben, ist das Framework, weshalb der Dependency Check dies als Schwachstelle gewertet hat.<\/p>\n<p>Die gleiche Situation gilt f\u00fcr spring-tx:3.0.5, und eine \u00e4hnliche Situation gibt es mit struts-core:1.3.8. F\u00fcr struts-core hat der Dependency Check und Dependency Track viele Schwachstellen gefunden, die tats\u00e4chlich auf struts2-core zutreffen, das im Grunde ein eigenst\u00e4ndiges Framework ist. In diesem Fall hat Nexus IQ das Bild richtig verstanden und in den CVEs, die es ausgegeben hat, angegeben, dass struts-core das Ende seiner Lebensdauer erreicht hat und auf struts2-core umgestiegen werden muss.<\/p>\n<h3>Nr. 6<\/h3>\n<p>\nIn einigen F\u00e4llen ist es ungerecht, die offensichtlichen Fehler von Dependency Check und Dependency Track zu interpretieren. Insbesondere die CVEs CVE-2013-4152, CVE-2013-6429, CVE-2013-6430, CVE-2013-7315, CVE-2014-0054, CVE-2014-0225, die von Dependency Check und Dependency Track als zu spring-core:3.0.5 geh\u00f6rend eingestuft wurden, geh\u00f6ren tats\u00e4chlich zu spring-web:3.0.5. Einige dieser CVEs wurden auch in Nexus IQ gefunden, dort jedoch korrekt einer anderen Komponente zugeordnet. Nur weil diese Sicherheitsanf\u00e4lligkeiten nicht in spring-core gefunden wurden, kann nicht behauptet werden, dass sie im Framework grunds\u00e4tzlich nicht existieren; die Open-Source-Tools haben diese Schwachstellen schlichtweg etwas daneben eingeordnet. <\/p>\n<h3>Fazit<\/h3>\n<p>\nWie wir sehen k\u00f6nnen, f\u00fchrt die manuelle \u00dcberpr\u00fcfung zur Bestimmung der Verl\u00e4sslichkeit der entdeckten Schwachstellen nicht zu eindeutigen Ergebnissen, wodurch umstrittene Punkte entstehen. Die Resultate zeigen, dass die L\u00f6sung von Nexus IQ die geringste Rate an Fehlalarmen und die h\u00f6chste Genauigkeit aufweist. <\/p>\n<p>Zun\u00e4chst einmal liegt es daran, dass das Team von Sonatype die Beschreibung f\u00fcr jede CVE-Schwachstelle aus dem NVD in seinen Datenbanken erweitert hat, indem es pr\u00e4zise nach Klassifizierung oder Funktion der Schwachstelle f\u00fcr die jeweilige Version des Komponenten recherchiert hat, einschlie\u00dflich zus\u00e4tzlicher Untersuchungen (zum Beispiel durch \u00dcberpr\u00fcfung von Schwachstellen in \u00e4lteren Softwareversionen). <\/p>\n<p>Ein ebenfalls bedeutender Einfluss auf die Ergebnisse sind die Schwachstellen, die nicht in den NVD aufgenommen wurden, jedoch in der Sonatype-Datenbank mit dem Vermerk SONATYPE vorhanden sind. Laut dem Bericht <noindex><a rel=\"nofollow\" href=\"https:\/\/www.whitesourcesoftware.com\/open-source-vulnerability-management-report\/\">The State of Open Source Security Vulnerabilities 2020<\/a><\/noindex> werden 45 % der entdeckten Schwachstellen mit offenem Quellcode nicht im NVD gemeldet. Laut der WhiteSource-Datenbank werden nur 29 % aller Schwachstellen mit offenem Quellcode, die au\u00dferhalb des NVD registriert sind, letztendlich in diesem ver\u00f6ffentlicht, weshalb es wichtig ist, auch in anderen Quellen nach Schwachstellen zu suchen.<\/p>\n<p>Zusammenfassend erzeugt Dependency Check eine gro\u00dfe Menge an Rauschen und \u00fcbersieht dabei einige verwundbare Komponenten. Dependency Track erzeugt weniger Rauschen und identifiziert eine gr\u00f6\u00dfere Anzahl von Komponenten, was visuell angenehmer im Web-Interface ist.<\/p>\n<p>Dennoch zeigt die Praxis, dass Open Source der erste Schritt auf dem Weg zu einem reifen DevSecOps sein sollte. Der erste Aspekt, \u00fcber den man nachdenken sollte, um SCA in die Entwicklung zu integrieren, sind die Prozesse. Dabei sollte man gemeinsam mit der F\u00fchrungsebene und den angrenzenden Abteilungen \u00fcberlegen, wie die idealen Prozesse in Ihrer Organisation aussehen sollten. M\u00f6glicherweise stellt sich heraus, dass f\u00fcr Ihre Organisation zu Beginn Dependency Check oder Dependency Track alle gesch\u00e4ftlichen Anforderungen erf\u00fcllen, w\u00e4hrend Enterprise-L\u00f6sungen eine logische Fortsetzung aufgrund der zunehmenden Komplexit\u00e4t der entwickelten Anwendungen darstellen.<\/p>\n<p>                        <b class=\"spoiler_title\">Anhang A. Ergebnisse zu den Komponenten<\/b><br \/>\n                        <b>Bezeichner:<\/b><\/p>\n<ul>\n<li>Hoch \u2014 Schwachstellen hoher und kritischer Stufen in der Komponente<\/li>\n<li>Mittel \u2014 Schwachstellen mittlerer Kritikalit\u00e4t in der Komponente<\/li>\n<li>WAHR \u2014 Eindeutig identifizierte Schwachstelle (Wahrer Positivfall)<\/li>\n<li>FALSCH \u2014 Fehlalarm (Falscher Positivfall)<\/li>\n<\/ul>\n<p><\/p>\n<p>Komponente<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nDependency Track<br \/>\nErgebnis<\/p>\n<p>dom4j: 1.6.1<br \/>\nHoch<br \/>\nHoch<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>log4j-core: 2.3<br \/>\nHoch<br \/>\nHoch<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>log4j: 1.2.14<br \/>\nHoch<br \/>\nHoch<br \/>\n&#8212;<br \/>\nTRUE<\/p>\n<p>commons-collections: 3.1<br \/>\nHoch<br \/>\nHoch<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>commons-fileupload: 1.3.2<br \/>\nHoch<br \/>\nHoch<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>commons-beanutils: 1.7.0<br \/>\nHoch<br \/>\nHoch<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>commons-codec: 1:10<br \/>\nMedium<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nTRUE<\/p>\n<p>mysql-connector-java: 5.1.42<br \/>\nHoch<br \/>\nHoch<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>spring-expression: 3.0.5<br \/>\nHoch<br \/>\nKomponente nicht gefunden<\/p>\n<p>TRUE<\/p>\n<p>spring-web:3.0.5<br \/>\nHoch<br \/>\nKomponente nicht gefunden<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>spring-context:3.0.5<br \/>\nMedium<br \/>\nKomponente nicht gefunden<br \/>\n&#8212;<br \/>\nTRUE<\/p>\n<p>spring-core:3.0.5<br \/>\nMedium<br \/>\nHoch<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>struts2-config-browser-plugin: 2.3.30<br \/>\nMedium<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nTRUE<\/p>\n<p>spring-tx: 3.0.5<br \/>\n&#8212;<br \/>\nHoch<br \/>\n&#8212;<br \/>\nFALSE<\/p>\n<p>struts-core: 1.3.8<br \/>\nHoch<br \/>\nHoch<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>xwork-core: 2.3.30<br \/>\nHoch<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nTRUE<\/p>\n<p>struts2-core: 2.3.30<br \/>\nHoch<br \/>\nHoch<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>struts-taglib: 1.3.8<br \/>\n&#8212;<br \/>\nHoch<br \/>\n&#8212;<br \/>\nFALSE<\/p>\n<p>struts-tiles-1.3.8<br \/>\n&#8212;<br \/>\nHoch<br \/>\n&#8212;<br \/>\nFALSE<\/p>\n<p><\/p>\n<p>                        <b class=\"spoiler_title\">Anhang B. Ergebnisse zu den Schwachstellen<\/b><br \/>\n                        <b>Bezeichner:<\/b><\/p>\n<ul>\n<li>Hoch \u2014 Schwachstellen hoher und kritischer Stufen in der Komponente<\/li>\n<li>Mittel \u2014 Schwachstellen mittlerer Kritikalit\u00e4t in der Komponente<\/li>\n<li>WAHR \u2014 Eindeutig identifizierte Schwachstelle (Wahrer Positivfall)<\/li>\n<li>FALSCH \u2014 Fehlalarm (Falscher Positivfall)<\/li>\n<\/ul>\n<p><\/p>\n<p>Komponente<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nDependency Track<br \/>\nSchweregrad<br \/>\nErgebnis<br \/>\nKommentar<\/p>\n<p>dom4j: 1.6.1<br \/>\nCVE-2018-1000632<br \/>\nCVE-2018-1000632<br \/>\nCVE-2018-1000632<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>CVE-2020-10683<br \/>\nCVE-2020-10683<br \/>\nCVE-2020-10683<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>log4j-core: 2.3<br \/>\nCVE-2017-5645<br \/>\nCVE-2017-5645<br \/>\nCVE-2017-5645<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>CVE-2020-9488<br \/>\nCVE-2020-9488<br \/>\nCVE-2020-9488<br \/>\nNiedrig<br \/>\nTRUE<\/p>\n<p>log4j: 1.2.14<br \/>\nCVE-2019-17571<br \/>\nCVE-2019-17571<br \/>\n&#8212;<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\nCVE-2020-9488<br \/>\n&#8212;<br \/>\nNiedrig<br \/>\nTRUE<\/p>\n<p>SONATYPE-2010-0053<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>commons-collections: 3.1<br \/>\n&#8212;<br \/>\nCVE-2015-6420<br \/>\nCVE-2015-6420<br \/>\nHoch<br \/>\nFALSE<br \/>\nDoppelt zu RCE(OSSINDEX)<\/p>\n<p>&#8212;<br \/>\nCVE-2017-15708<br \/>\nCVE-2017-15708<br \/>\nHoch<br \/>\nFALSE<br \/>\nDoppelt zu RCE(OSSINDEX)<\/p>\n<p>SONATYPE-2015-0002<br \/>\nRCE (OSSINDEX)<br \/>\nRCE(OSSINDEX)<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>commons-fileupload: 1.3.2<br \/>\nCVE-2016-1000031<br \/>\nCVE-2016-1000031<br \/>\nCVE-2016-1000031<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>SONATYPE-2014-0173<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>commons-beanutils: 1.7.0<br \/>\nCVE-2014-0114<br \/>\nCVE-2014-0114<br \/>\nCVE-2014-0114<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\nCVE-2019-10086<br \/>\nCVE-2019-10086<br \/>\nHoch<br \/>\nFALSE<br \/>\nDie Schwachstelle ist nur f\u00fcr Versionen 1.9.2+ relevant<\/p>\n<p>commons-codec: 1:10<br \/>\nSONATYPE-2012-0050<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>mysql-connector-java: 5.1.42<br \/>\nCVE-2018-3258<br \/>\nCVE-2018-3258<br \/>\nCVE-2018-3258<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>CVE-2019-2692<br \/>\nCVE-2019-2692<br \/>\n&#8212;<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\nCVE-2020-2875<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nDie gleiche Schwachstelle wie CVE-2019-2692, jedoch mit dem Hinweis \u201eAngriffe k\u00f6nnen zus\u00e4tzlich andere Produkte erheblich beeinflussen\u201c<\/p>\n<p>&#8212;<br \/>\nCVE-2017-15945<br \/>\n&#8212;<br \/>\nHoch<br \/>\nFALSE<br \/>\nGilt nicht f\u00fcr mysql-connector-java<\/p>\n<p>&#8212;<br \/>\nCVE-2020-2933<br \/>\n&#8212;<br \/>\nNiedrig<br \/>\nFALSE<br \/>\nDuplikat zu CVE-2020-2934<\/p>\n<p>CVE-2020-2934<br \/>\nCVE-2020-2934<br \/>\n&#8212;<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>spring-expression: 3.0.5<br \/>\nCVE-2018-1270<br \/>\nKomponente nicht gefunden<br \/>\n&#8212;<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>CVE-2018-1257<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>spring-web:3.0.5<br \/>\nCVE-2016-1000027<br \/>\nKomponente nicht gefunden<br \/>\n&#8212;<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>CVE-2014-0225<br \/>\n&#8212;<br \/>\nCVE-2014-0225<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>CVE-2011-2730<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\n&#8212;<br \/>\nCVE-2013-4152<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>CVE-2018-1272<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>CVE-2020-5398<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nHoch<br \/>\nTRUE<br \/>\nEin anschauliches Beispiel f\u00fcr IQ: \u201eDas Sicherheitsteam von Sonatype hat erkannt, dass diese Schwachstelle in Version 3.0.2.RELEASE und nicht in 5.0.x, wie im Berater angegeben, eingef\u00fchrt wurde.\u201c<\/p>\n<p>CVE-2013-6429<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>CVE-2014-0054<br \/>\n&#8212;<br \/>\nCVE-2014-0054<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>CVE-2013-6430<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>spring-context:3.0.5<br \/>\nCVE-2011-2894<br \/>\nKomponente nicht gefunden<br \/>\n&#8212;<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>spring-core:3.0.5<br \/>\n&#8212;<br \/>\nCVE-2011-2730<br \/>\nCVE-2011-2730<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>CVE-2011-2894<br \/>\nCVE-2011-2894<br \/>\nCVE-2011-2894<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\n&#8212;<br \/>\nCVE-2013-4152<br \/>\nMedium<br \/>\nFALSE<br \/>\nDuplikat dieser Schwachstelle in spring-web<\/p>\n<p>&#8212;<br \/>\nCVE-2013-4152<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nDie Schwachstelle betrifft die Komponente spring-web<\/p>\n<p>&#8212;<br \/>\nCVE-2013-6429<br \/>\nCVE-2013-6429<br \/>\nMedium<br \/>\nFALSE<br \/>\nDie Schwachstelle betrifft die Komponente spring-web<\/p>\n<p>&#8212;<br \/>\nCVE-2013-6430<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nDie Schwachstelle betrifft die Komponente spring-web<\/p>\n<p>&#8212;<br \/>\nCVE-2013-7315<br \/>\nCVE-2013-7315<br \/>\nMedium<br \/>\nFALSE<br \/>\nSPALTE aus CVE-2013-4152. + Die Schwachstelle betrifft die Komponente spring-web<\/p>\n<p>&#8212;<br \/>\nCVE-2014-0054<br \/>\nCVE-2014-0054<br \/>\nMedium<br \/>\nFALSE<br \/>\nDie Schwachstelle betrifft die Komponente spring-web<\/p>\n<p>&#8212;<br \/>\nCVE-2014-0225<br \/>\n&#8212;<br \/>\nHoch<br \/>\nFALSE<br \/>\nDie Schwachstelle betrifft die Komponente spring-web<\/p>\n<p>&#8212;<br \/>\n&#8212;<br \/>\nCVE-2014-0225<br \/>\nHoch<br \/>\nFALSE<br \/>\nDuplikat dieser Schwachstelle in spring-web<\/p>\n<p>&#8212;<br \/>\nCVE-2014-1904<br \/>\nCVE-2014-1904<br \/>\nMedium<br \/>\nFALSE<br \/>\nDie Schwachstelle betrifft die Komponente spring-web-mvc<\/p>\n<p>&#8212;<br \/>\nCVE-2014-3625<br \/>\nCVE-2014-3625<br \/>\nMedium<br \/>\nFALSE<br \/>\nDie Schwachstelle betrifft die Komponente spring-web-mvc<\/p>\n<p>&#8212;<br \/>\nCVE-2016-9878<br \/>\nCVE-2016-9878<br \/>\nHoch<br \/>\nFALSE<br \/>\nDie Schwachstelle betrifft die Komponente spring-web-mvc<\/p>\n<p>&#8212;<br \/>\nCVE-2018-1270<br \/>\nCVE-2018-1270<br \/>\nHoch<br \/>\nFALSE<br \/>\nF\u00fcr spring-expression \/ spring-messages<\/p>\n<p>&#8212;<br \/>\nCVE-2018-1271<br \/>\nCVE-2018-1271<br \/>\nMedium<br \/>\nFALSE<br \/>\nDie Schwachstelle betrifft die Komponente spring-web-mvc<\/p>\n<p>&#8212;<br \/>\nCVE-2018-1272<br \/>\nCVE-2018-1272<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>CVE-2014-3578<br \/>\nCVE-2014-3578 (OSSINDEX)<br \/>\nCVE-2014-3578<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>SONATYPE-2015-0327<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nNiedrig<br \/>\nTRUE<\/p>\n<p>struts2-config-browser-plugin: 2.3.30<br \/>\nSONATYPE-2016-0104<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>spring-tx: 3.0.5<br \/>\n&#8212;<br \/>\nCVE-2011-2730<br \/>\n&#8212;<br \/>\nHoch<br \/>\nFALSE<br \/>\nDie Schwachstelle betrifft nicht spring-tx<\/p>\n<p>&#8212;<br \/>\nCVE-2011-2894<br \/>\n&#8212;<br \/>\nHoch<br \/>\nFALSE<br \/>\nDie Schwachstelle betrifft nicht spring-tx<\/p>\n<p>&#8212;<br \/>\nCVE-2013-4152<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nDie Schwachstelle betrifft nicht spring-tx<\/p>\n<p>&#8212;<br \/>\nCVE-2013-6429<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nDie Schwachstelle betrifft nicht spring-tx<\/p>\n<p>&#8212;<br \/>\nCVE-2013-6430<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nDie Schwachstelle betrifft nicht spring-tx<\/p>\n<p>&#8212;<br \/>\nCVE-2013-7315<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nDie Schwachstelle betrifft nicht spring-tx<\/p>\n<p>&#8212;<br \/>\nCVE-2014-0054<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nDie Schwachstelle betrifft nicht spring-tx<\/p>\n<p>&#8212;<br \/>\nCVE-2014-0225<br \/>\n&#8212;<br \/>\nHoch<br \/>\nFALSE<br \/>\nDie Schwachstelle betrifft nicht spring-tx<\/p>\n<p>&#8212;<br \/>\nCVE-2014-1904<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nDie Schwachstelle betrifft nicht spring-tx<\/p>\n<p>&#8212;<br \/>\nCVE-2014-3625<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nDie Schwachstelle betrifft nicht spring-tx<\/p>\n<p>&#8212;<br \/>\nCVE-2016-9878<br \/>\n&#8212;<br \/>\nHoch<br \/>\nFALSE<br \/>\nDie Schwachstelle betrifft nicht spring-tx<\/p>\n<p>&#8212;<br \/>\nCVE-2018-1270<br \/>\n&#8212;<br \/>\nHoch<br \/>\nFALSE<br \/>\nDie Schwachstelle betrifft nicht spring-tx<\/p>\n<p>&#8212;<br \/>\nCVE-2018-1271<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nDie Schwachstelle betrifft nicht spring-tx<\/p>\n<p>&#8212;<br \/>\nCVE-2018-1272<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nDie Schwachstelle betrifft nicht spring-tx<\/p>\n<p>struts-core: 1.3.8<br \/>\n&#8212;<br \/>\nCVE-2011-5057 (OSSINDEX)<\/p>\n<p>Medium<br \/>\nFALSCH<br \/>\nSchwachstelle in Struts 2<\/p>\n<p>&#8212;<br \/>\nCVE-2012-0391 (OSSINDEX)<br \/>\nCVE-2012-0391<br \/>\nHoch<br \/>\nFALSE<br \/>\nSchwachstelle in Struts 2<\/p>\n<p>&#8212;<br \/>\nCVE-2014-0094 (OSSINDEX)<br \/>\nCVE-2014-0094<br \/>\nMedium<br \/>\nFALSE<br \/>\nSchwachstelle in Struts 2<\/p>\n<p>&#8212;<br \/>\nCVE-2014-0113 (OSSINDEX)<br \/>\nCVE-2014-0113<br \/>\nHoch<br \/>\nFALSE<br \/>\nSchwachstelle in Struts 2<\/p>\n<p>CVE-2016-1182<br \/>\n3VE-2016-1182<br \/>\n&#8212;<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\n&#8212;<br \/>\nCVE-2011-5057<br \/>\nMedium<br \/>\nFALSE<br \/>\nSchwachstelle in Struts 2<\/p>\n<p>&#8212;<br \/>\nCVE-2012-0392 (OSSINDEX)<br \/>\nCVE-2012-0392<br \/>\nHoch<br \/>\nFALSE<br \/>\nSchwachstelle in Struts 2<\/p>\n<p>&#8212;<br \/>\nCVE-2012-0393 (OSSINDEX)<br \/>\nCVE-2012-0393<br \/>\nMedium<br \/>\nFALSE<br \/>\nSchwachstelle in Struts 2<\/p>\n<p>CVE-2015-0899<br \/>\nCVE-2015-0899<br \/>\n&#8212;<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\nCVE-2012-0394<br \/>\nCVE-2012-0394<br \/>\nMedium<br \/>\nFALSE<br \/>\nSchwachstelle in Struts 2<\/p>\n<p>&#8212;<br \/>\nCVE-2012-0838 (OSSINDEX)<br \/>\nCVE-2012-0838<br \/>\nHoch<br \/>\nFALSE<br \/>\nSchwachstelle in Struts 2<\/p>\n<p>&#8212;<br \/>\nCVE-2013-1965 (OSSINDEX)<br \/>\nCVE-2013-1965<br \/>\nHoch<br \/>\nFALSE<br \/>\nSchwachstelle in Struts 2<\/p>\n<p>&#8212;<br \/>\nCVE-2013-1966 (OSSINDEX)<br \/>\nCVE-2013-1966<br \/>\nHoch<br \/>\nFALSCH<br \/>\nSchwachstelle in Struts 2<\/p>\n<p>&#8212;<br \/>\nCVE-2013-2115<br \/>\nCVE-2013-2115<br \/>\nHoch<br \/>\nFALSCH<br \/>\nSchwachstelle in Struts 2<\/p>\n<p>&#8212;<br \/>\nCVE-2013-2134 (OSSINDEX)<br \/>\nCVE-2013-2134<br \/>\nHoch<br \/>\nFALSCH<br \/>\nSchwachstelle in Struts 2<\/p>\n<p>&#8212;<br \/>\nCVE-2013-2135 (OSSINDEX)<br \/>\nCVE-2013-2135<br \/>\nHoch<br \/>\nFALSCH<br \/>\nSchwachstelle in Struts 2<\/p>\n<p>CVE-2014-0114<br \/>\nCVE-2014-0114<br \/>\n&#8212;<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\nCVE-2015-2992<br \/>\nCVE-2015-2992<br \/>\nMedium<br \/>\nFALSE<br \/>\nSchwachstelle in Struts 2<\/p>\n<p>&#8212;<br \/>\nCVE-2016-0785 (OSSINDEX)<br \/>\nCVE-2016-0785<br \/>\nHoch<br \/>\nFALSE<br \/>\nSchwachstelle in Struts 2<\/p>\n<p>CVE-2016-1181<br \/>\nCVE-2016-1181<br \/>\n&#8212;<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\nCVE-2016-4003 (OSSINDEX)<br \/>\nCVE-2016-4003<br \/>\nHoch<br \/>\nFALSE<br \/>\nSchwachstelle in Struts 2<\/p>\n<p>xwork-core:2.3.30<br \/>\nCVE-2017-9804<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>SONATYPE-2017-0173<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>CVE-2017-7672<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nHoch<br \/>\nFALSE<br \/>\nDuplikat zu CVE-2017-9804<\/p>\n<p>SONATYPE-2016-0127<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>struts2-core:2.3.30<br \/>\n&#8212;<br \/>\nCVE-2016-6795<br \/>\nCVE-2016-6795<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\nCVE-2017-9787<br \/>\nCVE-2017-9787<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\nCVE-2017-9791<br \/>\nCVE-2017-9791<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\nCVE-2017-9793<br \/>\n&#8212;<br \/>\nHoch<br \/>\nFALSE<br \/>\nDuplikat zu CVE-2018-1327<\/p>\n<p>&#8212;<br \/>\nCVE-2017-9804<br \/>\n&#8212;<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\nCVE-2017-9805<br \/>\nCVE-2017-9805<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>CVE-2016-4003<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nAnwendbar auf Apache Struts 2.x bis 2.3.28; dies ist Version 2.3.30. Basierend auf der Beschreibung scheint CVE jedoch auf alle Struts 2-Versionen anzuwenden zu sein, wenn JRE 1.7 oder niedriger verwendet wird. Wir wollten uns hier eher absichern, aber es wirkt mehr wie ein FALSE.<\/p>\n<p>&#8212;<br \/>\nCVE-2018-1327<br \/>\nCVE-2018-1327<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>CVE-2017-5638<br \/>\nCVE-2017-5638<br \/>\nCVE-2017-5638<br \/>\nHoch<br \/>\nTRUE<br \/>\nDie Schwachstelle, die von den Angreifern bei Equifax 2017 ausgenutzt wurde.<\/p>\n<p>CVE-2017-12611<br \/>\nCVE-2017-12611<br \/>\n&#8212;<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>CVE-2018-11776<br \/>\nCVE-2018-11776<br \/>\nCVE-2018-11776<br \/>\nHoch<br \/>\nTRUE<\/p>\n<p>struts-taglib: 1.3.8<br \/>\n&#8212;<br \/>\nCVE-2012-0394<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nF\u00fcr struts2-core<\/p>\n<p>&#8212;<br \/>\nCVE-2013-2115<br \/>\n&#8212;<br \/>\nHoch<br \/>\nFALSE<br \/>\nF\u00fcr struts2-core<\/p>\n<p>&#8212;<br \/>\nCVE-2014-0114<br \/>\n&#8212;<br \/>\nHoch<br \/>\nFALSE<br \/>\nF\u00fcr commons-beanutils<\/p>\n<p>&#8212;<br \/>\nCVE-2015-0899<br \/>\n&#8212;<br \/>\nHoch<br \/>\nFALSE<br \/>\nNicht zutreffend auf taglib<\/p>\n<p>&#8212;<br \/>\nCVE-2015-2992<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nZutreffend f\u00fcr struts2-core<\/p>\n<p>&#8212;<br \/>\nCVE-2016-1181<br \/>\n&#8212;<br \/>\nHoch<br \/>\nFALSE<br \/>\nNicht zutreffend auf taglib<\/p>\n<p>&#8212;<br \/>\nCVE-2016-1182<br \/>\n&#8212;<br \/>\nHoch<br \/>\nFALSE<br \/>\nNicht zutreffend auf taglib<\/p>\n<p>struts-tiles-1.3.8<br \/>\n&#8212;<br \/>\nCVE-2012-0394<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nF\u00fcr struts2-core<\/p>\n<p>&#8212;<br \/>\nCVE-2013-2115<br \/>\n&#8212;<br \/>\nHoch<br \/>\nFALSE<br \/>\nF\u00fcr struts2-core<\/p>\n<p>&#8212;<br \/>\nCVE-2014-0114<br \/>\n&#8212;<br \/>\nHoch<br \/>\nFALSE<br \/>\nUnter commons-beanutils<\/p>\n<p>&#8212;<br \/>\nCVE-2015-0899<br \/>\n&#8212;<br \/>\nHoch<br \/>\nFALSE<br \/>\nNicht zutreffend auf tiles<\/p>\n<p>&#8212;<br \/>\nCVE-2015-2992<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nF\u00fcr struts2-core<\/p>\n<p>&#8212;<br \/>\nCVE-2016-1181<br \/>\n&#8212;<br \/>\nHoch<br \/>\nFALSE<br \/>\nNicht zutreffend auf taglib<\/p>\n<p>&#8212;<br \/>\nCVE-2016-1182<br \/>\n&#8212;<br \/>\nHoch<br \/>\nFALSE<br \/>\nNicht zutreffend auf taglib<\/p>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/516660\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0417\u043d\u0430\u0447\u0438\u043c\u043e\u0441\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u041f\u041e (\u0430\u043d\u0433\u043b. Software Composition Analysis \u2014 SCA) \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0440\u0430\u0441\u0442\u0435\u0442 \u043f\u043e \u043c\u0435\u0440\u0435 \u0432\u044b\u0445\u043e\u0434\u0430 \u0435\u0436\u0435\u0433\u043e\u0434\u043d\u044b\u0445 \u043e\u0442\u0447\u0435\u0442\u043e\u0432 \u043e\u0431 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044f\u0445 open source \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u044e\u0442\u0441\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u043c\u0438 Synopsys, Sonatype, Snyk, White Source. \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043e\u0442\u0447\u0435\u0442\u0443 The State of Open Source Security Vulnerabilities 2020 \u0447\u0438\u0441\u043b\u043e \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 open source \u0432 2019 \u0432\u044b\u0440\u043e\u0441\u043b\u043e \u043f\u043e\u0447\u0442\u0438 \u0432 1.5 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":92520,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-92519","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0417\u043d\u0430\u0447\u0438\u043c\u043e\u0441\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u041f\u041e (\u0430\u043d\u0433\u043b. Software Composition Analysis \u2014 SCA) \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0440\u0430\u0441\u0442\u0435\u0442 \u043f\u043e \u043c\u0435\u0440\u0435 \u0432\u044b\u0445\u043e\u0434\u0430 \u0435\u0436\u0435\u0433\u043e\u0434\u043d\u044b\u0445 \u043e\u0442\u0447\u0435\u0442\u043e\u0432 \u043e\u0431 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044f\u0445 open source \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u044e\u0442\u0441\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u043c\u0438 Synopsys, Sonatype, Snyk, White Source. \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043e\u0442\u0447\u0435\u0442\u0443 The State of Open Source Security Vulnerabilities 2020 \u0447\u0438\u0441\u043b\u043e \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 open source \u0432 2019 \u0432\u044b\u0440\u043e\u0441\u043b\u043e \u043f\u043e\u0447\u0442\u0438 \u0432 1.5\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/devsecops-princzipy-raboty-i-sravnenie-sca-chast-pervaya\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47DevSecOps: \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u0438 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 SCA. \u0427\u0430\u0441\u0442\u044c \u043f\u0435\u0440\u0432\u0430\u044f | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0417\u043d\u0430\u0447\u0438\u043c\u043e\u0441\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u041f\u041e (\u0430\u043d\u0433\u043b. Software Composition Analysis \u2014 SCA) \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0440\u0430\u0441\u0442\u0435\u0442 \u043f\u043e \u043c\u0435\u0440\u0435 \u0432\u044b\u0445\u043e\u0434\u0430 \u0435\u0436\u0435\u0433\u043e\u0434\u043d\u044b\u0445 \u043e\u0442\u0447\u0435\u0442\u043e\u0432 \u043e\u0431 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044f\u0445 open source \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u044e\u0442\u0441\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u043c\u0438 Synopsys, Sonatype, Snyk, White Source. \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043e\u0442\u0447\u0435\u0442\u0443 The State of Open Source Security Vulnerabilities 2020 \u0447\u0438\u0441\u043b\u043e \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 open source \u0432 2019 \u0432\u044b\u0440\u043e\u0441\u043b\u043e \u043f\u043e\u0447\u0442\u0438 \u0432 1.5\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/devsecops-princzipy-raboty-i-sravnenie-sca-chast-pervaya\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-08-28T05:42:26+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-08-28T05:42:26+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47DevSecOps: Funktionsprinzipien und Vergleich von SCA. Teil eins | ProHoster","description":"Die Bedeutung der Analyse von Softwarekomponenten (engl. Software Composition Analysis \u2014 SCA) im Entwicklungsprozess steigt mit den j\u00e4hrlichen Berichten \u00fcber Schwachstellen in Open-Source-Bibliotheken, die von Unternehmen wie Synopsys, Sonatype, Snyk und White Source ver\u00f6ffentlicht werden. Laut dem Bericht \"The State of Open Source Security Vulnerabilities 2020\" hat sich die Anzahl der entdeckten Schwachstellen in Open Source im Jahr 2019 nahezu verdoppelt.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/devsecops-princzipy-raboty-i-sravnenie-sca-chast-pervaya","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47DevSecOps: \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u0438 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 SCA. \u0427\u0430\u0441\u0442\u044c \u043f\u0435\u0440\u0432\u0430\u044f | ProHoster","og:description":"\u0417\u043d\u0430\u0447\u0438\u043c\u043e\u0441\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u041f\u041e (\u0430\u043d\u0433\u043b. Software Composition Analysis \u2014 SCA) \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0440\u0430\u0441\u0442\u0435\u0442 \u043f\u043e \u043c\u0435\u0440\u0435 \u0432\u044b\u0445\u043e\u0434\u0430 \u0435\u0436\u0435\u0433\u043e\u0434\u043d\u044b\u0445 \u043e\u0442\u0447\u0435\u0442\u043e\u0432 \u043e\u0431 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044f\u0445 open source \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u044e\u0442\u0441\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u043c\u0438 Synopsys, Sonatype, Snyk, White Source. \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043e\u0442\u0447\u0435\u0442\u0443 The State of Open Source Security Vulnerabilities 2020 \u0447\u0438\u0441\u043b\u043e \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 open source \u0432 2019 \u0432\u044b\u0440\u043e\u0441\u043b\u043e \u043f\u043e\u0447\u0442\u0438 \u0432 1.5","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/devsecops-princzipy-raboty-i-sravnenie-sca-chast-pervaya","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-08-28T05:42:26+00:00","article:modified_time":"2020-08-28T05:42:26+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"92519","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 12:06:40","updated":"2022-10-01 01:38:08"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/92519","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=92519"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/92519\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/92520"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=92519"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=92519"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=92519"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}