{"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 Drittanbieterkomponenten (engl. Software Composition Analysis \u2013 SCA) im Entwicklungsprozess steigt mit der Ver\u00f6ffentlichung der j\u00e4hrlichen Berichte \u00fcber Sicherheitsanf\u00e4lligkeiten von Open Source-Bibliotheken, die von Unternehmen 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 Anzahl der identifizierten Sicherheitsanf\u00e4lligkeiten in Open Source im Jahr 2019 fast um das 1,5-Fache im Vergleich zum Vorjahr zugenommen, w\u00e4hrend Open-Source-Komponenten in 60 % bis 80 % der Projekte verwendet werden. Wenn wir auf unabh\u00e4ngige Meinungen zur\u00fcckgreifen, sind die SCA-Prozesse eine separate Praxis des OWASP SAMM und BSIMM als Reifeindikator, und in der ersten H\u00e4lfte des Jahres 2020 hat OWASP den neuen Standard OWASP Software Component Verification Standard (SCVS) ver\u00f6ffentlicht, 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 aufschlussreichsten 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\/\">ereignete sich<\/a><\/noindex> mit der Firma Equifax im Mai 2017. Unbekannte Angreifer erlangten Informationen \u00fcber 143 Millionen Amerikaner, einschlie\u00dflich vollst\u00e4ndiger Namen, Adressen, Sozialversicherungsnummern und F\u00fchrerscheindaten. In 209.000 F\u00e4llen war auch Informationen \u00fcber die Bankkarten der Betroffenen in den Unterlagen enthalten. Diese Datenpanne trat aufgrund der Ausnutzung einer kritischen Sicherheitsanf\u00e4lligkeit in Apache Struts 2 (CVE-2017-5638) auf, w\u00e4hrend der Patch bereits im M\u00e4rz 2017 ver\u00f6ffentlicht worden war. Das Unternehmen hatte zwei Monate Zeit, um das Update zu installieren, aber niemand k\u00fcmmerte sich darum.<\/p>\n<p>In diesem Artikel wird die Frage der Auswahl eines Tools zur Durchf\u00fchrung von SCA aus der Perspektive der Qualit\u00e4t der Analyseergebnisse diskutiert. Au\u00dferdem wird ein funktionaler Vergleich der Tools vorgestellt. Den Integrationsprozess in CI\/CD und die Integrationsm\u00f6glichkeiten lassen wir f\u00fcr zuk\u00fcnftige Ver\u00f6ffentlichungen. Eine umfassende Liste von Tools wurde von OWASP <noindex><a rel=\"nofollow\" href=\"https:\/\/owasp.org\/www-community\/Component_Analysis\">auf seiner Website<\/a><\/noindex>, aber im Rahmen des aktuellen Reviews werden wir nur das beliebteste Open-Source-Tool Dependency Check, die etwas weniger bekannte Open-Source-Plattform Dependency Track und die Enterprise-L\u00f6sung Sonatype Nexus IQ behandeln. Zudem werden wir untersuchen, wie diese L\u00f6sungen funktionieren und die erhaltenen Ergebnisse auf Falschmeldungen 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> \u2014 ist ein Werkzeug (CLI, Maven, Jenkins-Modul, Ant), das Projektdateien analysiert, Informationsfragmente \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) ermittelt, anschlie\u00dfend wird ein einmaliger Bericht im Format HTML, JSON, XML \u2026 erstellt.<\/p>\n<p>Schauen wir uns an, wie 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>Part:<\/b> Angabe, dass die Komponente zu einer Anwendung (a), einem Betriebssystem (o) oder Hardware (h) geh\u00f6rt (Pflichtfeld)<\/li>\n<li><b>Vendor:<\/b> Name des Produktanbieters (Pflichtfeld)<\/li>\n<li><b>Product:<\/b> Name des Produkts (Pflichtfeld)<\/li>\n<li><b>Version:<\/b> Version der Komponente (veraltetes Feld)<\/li>\n<li><b>Update:<\/b> Paketaktualisierung<\/li>\n<li><b>Edition:<\/b> Herkunftsversion (veraltetes Feld)<\/li>\n<li><b>Language:<\/b> Sprache, definiert in RFC-5646<\/li>\n<li><b>SW Edition:<\/b> Softwareversion<\/li>\n<li><b>Target SW:<\/b> Software-Umgebung, in der das Produkt l\u00e4uft<\/li>\n<li><b>Target HW:<\/b> Hardware-Umgebung, in der das Produkt l\u00e4uft<\/li>\n<li><b>Other:<\/b> Informationen \u00fcber den Anbieter oder das Produkt<\/li>\n<\/ul>\n<p>\nEin Beispiel f\u00fcr CPE sieht folgenderma\u00dfen aus:<\/p>\n<pre><code class=\"plaintext\">cpe:2.3:a:pivotal_software:spring_framework:3.0.0:*:*:*:*:*:*:*<\/code><\/pre>\n<p>\nDie Zeichenfolge bedeutet, dass CPE Version 2.3 eine Anwendungs-Komponente des Anbieters 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> im NVD ansehen, k\u00f6nnen wir die Erw\u00e4hnung dieses CPE sehen. Das erste Problem, das sofort beachtet werden sollte \u2014 die CVE im NVD gibt laut CPE an, dass ein Problem im Framework besteht und nicht bei einer speziellen Komponente. Das hei\u00dft, wenn die Entwickler stark auf das Framework setzen und die gefundene Schwachstelle nicht die Module betrifft, die von den Entwicklern genutzt werden, wird der Sicherheitsspezialist sich mit dieser CVE auseinandersetzen und \u00fcber Updates nachdenken m\u00fcssen.<\/p>\n<p>Die URL wird auch von SCA-Tools verwendet. Das Format der Paket-URL lautet wie folgt:<\/p>\n<pre><code class=\"plaintext\">scheme:type\/namespace\/name@version?qualifiers#subpath<\/code><\/pre>\n<p><\/p>\n<ul>\n<li><b>Scheme: <\/b>Es wird immer \u201apkg\u2018 geben, das angibt, dass dies die URL einer Paketdatei ist (Pflichtfeld)<\/li>\n<li><b>Type:<\/b> 'Typ' des Pakets oder 'Protokoll' des Pakets, z. B. Maven, NPM, NuGet, Gem, PyPI usw. (Pflichtfeld)<\/li>\n<li><b>Namespace:<\/b> Ein gewisser Namenspr\u00e4fix, wie zum Beispiel die Maven-Gruppen-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> Version des Pakets<\/li>\n<li><b>Qualifiers:<\/b> Zus\u00e4tzliche Qualifikationsdaten f\u00fcr das Paket, wie OS, Architektur, Distribution usw. Optional und abh\u00e4ngig vom Typ des Punktes.<\/li>\n<li><b>Subpfad:<\/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 On-Premise-Webplattform, die fertige Bill of Materials (BOM) akzeptiert, 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 fertige Spezifikationen zu bestehenden Abh\u00e4ngigkeiten. Dies ist eine XML-Datei mit einer Beschreibung der Abh\u00e4ngigkeiten \u2014 Name, Hashes, Paket-URL, Herausgeber, Lizenz. Anschlie\u00dfend analysiert Dependency Track die BOM, \u00fcberpr\u00fcft die bestehenden CVEs zu den identifizierten Abh\u00e4ngigkeiten aus der Datenbank f\u00fcr Sicherheitsanf\u00e4lligkeiten (NVD, Sonatype OSS Index \u2026) und erstellt daraufhin Grafiken, berechnet Metriken und aktualisiert regelm\u00e4\u00dfig die Daten \u00fcber den Status von Sicherheitsanf\u00e4lligkeiten der Komponenten. <\/p>\n<p>Ein Beispiel, wie eine BOM im XML-Format aussehen k\u00f6nnte:<\/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>\nBOM kann nicht nur als Eingabeparameter f\u00fcr Dependency Track verwendet werden, sondern auch zur Inventarisierung von Softwarekomponenten in der Lieferkette, beispielsweise zur Bereitstellung an den Softwarekunden. Im Jahr 2014 wurde in den USA sogar ein Gesetz vorgeschlagen, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.congress.gov\/bill\/113th-congress\/house-bill\/5793\">\u201eCyber Supply Chain Management and Transparency Act of 2014\u201c<\/a><\/noindex>, das besagte, dass bei der Beschaffung von Software jede Beh\u00f6rde BOM anfordern sollte, um die Verwendung anf\u00e4lliger Komponenten zu verhindern, jedoch trat der Akt aufgrund dessen nicht in Kraft.<\/p>\n<p>Zur\u00fcck zu SCA: Dependency Track hat bereits fertige Integrationen mit Benachrichtigungsplattformen wie Slack und Schwachstellenmanagement-Systemen wie Kenna Security. Zudem ist zu sagen, dass Dependency Track auch veraltete Versionen von Paketen erkennt und Informationen \u00fcber Lizenzen bereitstellt (unterst\u00fctzt durch 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 das Projekt nicht als Eingabewert, sondern akzeptiert genau genommen BOM. Das bedeutet, dass wir, wenn wir das Projekt \u00fcberpr\u00fcfen m\u00f6chten, zuerst bom.xml generieren m\u00fcssen, zum Beispiel mit Hilfe von CycloneDX. Somit h\u00e4ngt Dependency Track direkt von CycloneDX ab. Gleichzeitig bietet es die M\u00f6glichkeit zur Anpassung. So hat das Team von OZON <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ozonru\/cyclonedx-go\">das CycloneDX-Modul<\/a><\/noindex> zum Erstellen von BOM-Dateien f\u00fcr Projekte in Golang mit dem Ziel, diese sp\u00e4ter \u00fcber Dependency Track zu scannen, entwickelt.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/sonatype.ru\/#nexusiq\">Nexus IQ<\/a><\/noindex> ist eine kommerzielle SCA-L\u00f6sung von Sonatype, die 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 das Web-Interface oder die API als auch BOM akzeptieren, falls Ihre Organisation nicht rechtzeitig von CycloneDX zu einer neuen L\u00f6sung umgestiegen ist. Im Gegensatz zu Open-Source-L\u00f6sungen greift IQ nicht nur auf CP\/PURL zur identifizierten Komponente und der entsprechenden Schwachstelle in der Datenbank zu, sondern ber\u00fccksichtigt auch eigene Recherchen, zum Beispiel den Namen der verwundbaren Funktion oder Klasse. Die Mechanismen von IQ werden sp\u00e4ter bei der Analyse der Ergebnisse n\u00e4her betrachtet.<\/p>\n<p>Lassen Sie uns einige Ergebnisse zu den funktionalen Merkmalen zusammenfassen und die unterst\u00fctzten Programmiersprachen 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\u2014<\/p>\n<p>C#<br \/>\n+<br \/>\n+<br \/>\n\u2014<\/p>\n<p>.Net<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>Erlang<br \/>\n\u2014<br \/>\n\u2014<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\u2014<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>Scala<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>Objective C<br \/>\n+<br \/>\n+<br \/>\n\u2014<\/p>\n<p>Swift<br \/>\n+<br \/>\n+<br \/>\n\u2014<\/p>\n<p>R<br \/>\n+<br \/>\n\u2014<br \/>\n\u2014<\/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>Die M\u00f6glichkeit, die in den Quellcode verwendeten Komponenten auf Lizenzreinheit zu \u00fcberpr\u00fcfen.<br \/>\n+<br \/>\n\u2014<br \/>\n+<\/p>\n<p>Die M\u00f6glichkeit, auf Schwachstellen und Lizenzreinheit f\u00fcr Docker-Images zu scannen und zu analysieren.<br \/>\n+ Integration mit Clair<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>Die M\u00f6glichkeit, Sicherheitsrichtlinien f\u00fcr die Verwendung von Open-Source-Bibliotheken festzulegen.<br \/>\n+<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>Die M\u00f6glichkeit, Open-Source-Repositories auf verwundbare Komponenten zu scannen.<br \/>\n+ RubyGems, Maven, NPM, Nuget, Pypi, Conan, Bower, Conda, Go, p2, R, Yum, Helm, Docker, CocoaPods, Git LFS<br \/>\n\u2014<br \/>\n+ Hex, RubyGems, Maven, NPM, Nuget, Pypi<\/p>\n<p>Das Vorhandensein einer spezialisierten Forschungsgruppe.<br \/>\n+<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>Arbeiten im geschlossenen Umfeld.<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>Verwendung externen 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 beim Hochladen in die Entwicklungsumgebung gem\u00e4\u00df den konfigurierten Richtlinien zu filtern.<br \/>\n+<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>Empfehlungen zur Behebung von Schwachstellen, Vorhandensein von Links zur Behebung<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>Einstufung der entdeckten Schwachstellen nach Kritikalit\u00e4t<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>Rollenbasiertes Zugriffsmodell<br \/>\n+<br \/>\n\u2014<br \/>\n+<\/p>\n<p>Unterst\u00fctzung der CLI-Benutzeroberfl\u00e4che<br \/>\n+<br \/>\n+<br \/>\n+- (nur f\u00fcr CycloneDX)<\/p>\n<p>Filterung \/ Sortierung von Schwachstellen nach definierten Kriterien<br \/>\n+<br \/>\n\u2014<br \/>\n+<\/p>\n<p>Dashboard zum Anwendungsstatus<br \/>\n+<br \/>\n\u2014<br \/>\n+<\/p>\n<p>Generierung von Berichten im PDF-Format<br \/>\n+<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>Generierung von Berichten im JSONCSV-Format<br \/>\n+<br \/>\n+<br \/>\n\u2014<\/p>\n<p>Unterst\u00fctzung der russischen Sprache<br \/>\n\u2014<br \/>\n\u2014<br \/>\n\u2014<\/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\u2014<br \/>\n+<\/p>\n<p>Integration mit dem Continuous Integration-System Bamboo<br \/>\n+<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>Integration mit dem Continuous Integration-System TeamCity<br \/>\n+<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>Integration mit dem Continuous Integration-System GitLab<br \/>\n+<br \/>\n+- (in Form eines Plugins f\u00fcr GitLab)<br \/>\n+<\/p>\n<p>Integration mit dem Continuous Integration-System 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\u2014<br \/>\n\u2014<\/p>\n<p>Unterst\u00fctzung der benutzerdefinierten Integration \u00fcber web-services (API) des Tools<br \/>\n+<br \/>\n\u2014<br \/>\n+<\/p>\n<h3>Dependency Check<\/h3>\n<p><\/p>\n<h4>Erster Start<\/h4>\n<p>\nWir werden Dependency Check auf einer absichtlich anf\u00e4lligen Anwendung ausf\u00fchren <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/appsecco\/dvja\">DVJA<\/a><\/noindex>.<\/p>\n<p>Dazu nutzen 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>\nInfolgedessen wird die Datei dependency-check-report.html im Zielverzeichnis erstellt.<\/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 \/>\nWir \u00f6ffnen die Datei. Nach der Zusammenfassung der Gesamtanzahl an Schwachstellen k\u00f6nnen wir Informationen \u00fcber Schwachstellen mit hohem Schweregrad und Vertrauen sehen, einschlie\u00dflich Paket, CPE und Anzahl der CVE.<\/p>\n<p>Darauf folgt eine detailliertere Information, insbesondere die Grundlage der Entscheidung (Evidenz), also eine Art 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 \/>\nDarauf folgen CPE, PURL und die Beschreibung der CVE. Empfehlungen zur Behebung liegen \u00fcbrigens nicht vor, da sie in der NVD-Datenbank nicht verf\u00fcgbar sind.<\/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 \/>\nF\u00fcr eine systematische Betrachtung der Scanergebnisse kann Nginx mit minimalen Einstellungen konfiguriert oder die erhaltenen Defekte in ein Defektmanagementsystem gesendet werden, das Connectoren zu Dependency Check unterst\u00fctzt, wie z.B. Defect Dojo. <\/p>\n<h3>Dependency Track<\/h3>\n<p><\/p>\n<h4>Installation<\/h4>\n<p>\nDependency Track hingegen ist eine Webplattform mit Diagrammansichten, weshalb das dringende Thema der Speicherung von Defekten in einer externen L\u00f6sung hier nicht relevant ist. <br \/>\nF\u00fcr die Installation gibt es folgende unterst\u00fctzte Szenarien: Docker, WAR, Executable WAR. <\/p>\n<h4>Erster Start<\/h4>\n<p>\nWir gehen zur URL des gestarteten Dienstes. Wir melden uns mit admin\/admin an, \u00e4ndern den Benutzernamen und das Passwort, wonach wir auf das Dashboard gelangen. Das n\u00e4chste, was wir tun werden, ist ein Projekt f\u00fcr eine Testanwendung in Java zu erstellen in<i> Home\/Projekte \u2192 Projekt erstellen <\/i>. Als Beispiel nehmen 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 als Eingabedaten akzeptieren kann, muss dieses BOM erstellt werden. Wir nutzen <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>\nWir erhalten bom.xml und laden die Datei im erstellten Projekt hoch. <i>DVJA \u2192 Abh\u00e4ngigkeiten \u2192 BOM hochladen<\/i>.<\/p>\n<p>Gehen wir zu Verwaltung \u2192 Analyzer. Wir sehen, dass nur der interne Analyzer aktiviert ist, der NVD umfasst. Lassen Sie uns auch den Sonatype OSS Index verbinden.<\/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 die folgende \u00dcbersicht 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 \/>\nIn der Liste finden wir auch eine Schwachstelle, die auf Sonatype OSS zutrifft:<\/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\">das Video<\/a><\/noindex> (und <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/IPWPISSk5rc\">hier<\/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 diesen Zweck ein Docker-Image zusammengestellt.<\/p>\n<p>Nach dem Einloggen in die Konsole m\u00fcssen wir 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 man sieht, erfolgt die Konfiguration im Fall von IQ etwas komplizierter, da wir auch Richtlinien erstellen m\u00fcssen, die f\u00fcr verschiedene \"Stufen\" (dev, build, stage, release) gelten. Dies ist notwendig, um verwundbare Komponenten w\u00e4hrend des Fortschreitens durch die Pipeline n\u00e4her zur Produktion zu blockieren oder sie zu blockieren, sobald sie beim Download durch 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 durch Nexus IQ durch, \u00e4hnlich wie durch <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>\nWir gehen zur URL des generierten Berichts in der Web-Oberfl\u00e4che IQ:<\/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 kann man alle Verst\u00f6\u00dfe gegen die Richtlinien sehen, die mit unterschiedlichen Schweregraden (von Info bis Sicherheitskritisch) gekennzeichnet sind. Der Buchstabe D neben der Komponente bedeutet, dass die Komponente eine Direkte Abh\u00e4ngigkeit ist, w\u00e4hrend der Buchstabe T neben der Komponente bedeutet, dass die Komponente eine Transitive Abh\u00e4ngigkeit ist, also transitive.<\/p>\n<p>\u00dcbrigens berichtet der Bericht <noindex><a rel=\"nofollow\" href=\"https:\/\/snyk.io\/open-source-security\/\">State of Open Source Security Report 2020<\/a><\/noindex> von Snyk, dass mehr als 70 % der in Node.js, Java und Ruby gefundenen Schwachstellen in transitive Abh\u00e4ngigkeiten fallen.<\/p>\n<p>Wenn Sie einen der Verst\u00f6\u00dfe gegen die Nexus IQ-Richtlinien \u00f6ffnen, k\u00f6nnen wir eine Beschreibung der Komponente sowie ein Version Graph sehen, der den Standort der aktuellen Version auf der zeitlichen Grafik zeigt und auch, zu welchem Zeitpunkt die Verwundbarkeit nicht mehr besteht. Die H\u00f6he der Kerzen auf der Grafik zeigt die Popularit\u00e4t 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 Bereich der Verwundbarkeiten wechseln und die CVE aufklappen, k\u00f6nnen Sie die Beschreibung dieser Verwundbarkeit, Empfehlungen zur Behebung sowie den Grund lesen, warum diese Komponente gegen die Richtlinien verst\u00f6\u00dft, n\u00e4mlich das Vorhandensein der 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 \/>\nLassen Sie uns die Ergebnisse zusammenfassen, die nur die Drittanbieter-Java-Komponenten betreffen, und die JS-Komponenten entfernen. In Klammern geben wir die Anzahl der Verwundbarkeiten an, die au\u00dferhalb der NVD gefunden wurden.<\/p>\n<p><b>Insgesamt Nexus IQ: <\/b><\/p>\n<ul>\n<li>Scannte Abh\u00e4ngigkeiten: 62<\/li>\n<li>Verwundbare Abh\u00e4ngigkeiten: 16<\/li>\n<li>Gefundene Verwundbarkeiten: 42 (8 sonatype db)<\/li>\n<\/ul>\n<p>\n<b>Insgesamt Dependency Check: <\/b><\/p>\n<ul>\n<li>Scannte Abh\u00e4ngigkeiten: 47<\/li>\n<li>Verwundbare Abh\u00e4ngigkeiten: 13<\/li>\n<li>Gefundene Verwundbarkeiten: 91 (14 sonatype oss)<\/li>\n<\/ul>\n<p>\n<b>Insgesamt Dependency Track: <\/b><\/p>\n<ul>\n<li>Scannte Abh\u00e4ngigkeiten: 59<\/li>\n<li>Verwundbare Abh\u00e4ngigkeiten: 10<\/li>\n<li>Gefundene Verwundbarkeiten: 51 (1 sonatype oss)<\/li>\n<\/ul>\n<p>\nIm n\u00e4chsten Schritt werden wir die erhaltenen Ergebnisse analysieren und herausfinden, welche dieser Verwundbarkeiten ein tats\u00e4chlicher Defekt ist und welche ein Fehlalarm.<\/p>\n<h3>Haftungsausschluss<\/h3>\n<p>\nDieses Review ist keine unbestreitbare Wahrheit. Es war nicht das Ziel des Autors, ein bestimmtes Tool hervorzuheben. Der Sinn des Reviews war es, die Arbeitsmechanismen von SCA-Tools und die Methoden zur \u00dcberpr\u00fcfung ihrer Ergebnisse zu zeigen.<\/p>\n<h3>Vergleich der Ergebnisse<\/h3>\n<p>\n<b>Bedingungen:<\/b><\/p>\n<p><b>Ein Fehlalarm in Bezug auf die Verwundbarkeiten von Drittanbieterkomponenten liegt vor bei:<\/b><\/p>\n<ul>\n<li><b>Nicht\u00fcbereinstimmung der CVE mit der identifizierten Komponente<\/b><\/li>\n<li>Wenn zum Beispiel eine Verwundbarkeit im Struts2-Framework festgestellt wird und das Tool auf die Komponente des Struts-Tiles-Frameworks hinweist, die nicht von dieser Verwundbarkeit betroffen ist, dann ist das ein Fehlalarm.<\/li>\n<li><b>Nicht\u00fcbereinstimmung der CVE mit der identifizierten Version der Komponente<\/b><\/li>\n<li>Wenn zum Beispiel die Verwundbarkeit an die Version python &gt; 3.5 gebunden ist und das Tool die Version 2.7 als verwundbar markiert, dann ist das ein Fehlalarm, da die Verwundbarkeit tats\u00e4chlich nur f\u00fcr die Produktlinie 3.x gilt. <\/li>\n<li> <b>Duplizierung der CVE<\/b><\/li>\n<li>Wenn das SCA zum Beispiel auf eine CVE hinweist, die die Durchf\u00fchrung von RCE erm\u00f6glicht, und dann das SCA f\u00fcr dieselbe Komponente eine CVE anf\u00fchrt, die f\u00fcr Produkte von Cisco gilt, die dieser RCE ausgesetzt sind. In diesem Fall lie\u00dfe sich von einem Fehlalarm sprechen.<\/li>\n<li>Zum Beispiel wurde eine CVE im spring-web-Komponenten gefunden, woraufhin die SCA auf dieselbe CVE in anderen Komponenten des Spring Framework hinweist, w\u00e4hrend die CVE f\u00fcr andere Komponenten irrelevant ist. In diesem Fall liegt ein False Positive vor. <\/li>\n<\/ul>\n<p>\nDas Forschungsobjekt ist das Open-Source-Projekt DVJA. In der Untersuchung waren nur Java-Komponenten (ohne JS) beteiligt.<\/p>\n<h3>Zusammenfassende Ergebnisse<\/h3>\n<p>\nKommen wir direkt zu den Ergebnissen der manuellen \u00dcberpr\u00fcfung der identifizierten Schwachstellen. Der vollst\u00e4ndige Bericht zu jeder CVE ist im Anhang zu finden. <\/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>F\u00e4lschlicherweise identifizierte Schwachstellen (False Positive)<br \/>\n2(4.76%)<br \/>\n62(68,13%)<br \/>\n29(56.86%)<\/p>\n<p>Nicht relevante Schwachstellen festgestellt (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 anf\u00e4llige Komponenten<br \/>\n16<br \/>\n13<br \/>\n10<\/p>\n<p>F\u00e4lschlicherweise identifizierte anf\u00e4llige Komponenten (False Positive)<br \/>\n1<br \/>\n5<br \/>\n0<\/p>\n<p>F\u00e4lschlicherweise identifizierte anf\u00e4llige Komponenten (False Positive)<br \/>\n0<br \/>\n6<br \/>\n6<\/p>\n<p>\nLassen Sie uns visuelle Grafiken erstellen, um das Verh\u00e4ltnis von False Positives und False Negatives zur Gesamtzahl der Schwachstellen zu bewerten. Die horizontalen Achsen zeigen die Komponenten an, die vertikalen Achsen die darin identifizierten Schwachstellen. <\/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 Untersuchung von Sonatype zur Analyse eines Projekts mit 1531 Komponenten mithilfe des OWASP Dependency Checks durchgef\u00fchrt. Wie wir sehen k\u00f6nnen, ist das Verh\u00e4ltnis von Rauschen zu korrekten Ausl\u00f6sungen mit unseren Ergebnissen vergleichbar.<\/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 solche Ergebnisse zu verstehen.<\/p>\n<h3>Weitere Informationen<\/h3>\n<p><\/p>\n<h4>Nr. 1<\/h4>\n<p>\nZun\u00e4chst betrachten wir einige interessante Punkte von Sonatype Nexus IQ.<\/p>\n<p>Nexus IQ weist auf ein Problem mit der Deserialisierung hin, das die M\u00f6glichkeit zur Durchf\u00fchrung von RCE im Spring Framework mehrmals zul\u00e4sst. CVE-2016-1000027 in spring-web:3.0.5 zum ersten Mal und CVE-2011-2894 in spring-context:3.0.5 und spring-core:3.0.5. Zun\u00e4chst scheint es, als ob die Schwachstelle in mehreren CVEs dupliziert wird. Wenn man die CVE-2016-1000027 und die CVE-2011-2894 in der NVD-Datenbank betrachtet, wirkt alles offensichtlich.<\/p>\n<p>Komponente<br \/>\nSchwachstelle<\/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 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 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 ist an sich recht 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 h\u00e4ufigsten anerkannt. Die Beschreibungen f\u00fcr CVE-2016-100027 sind im Grunde genommen selten in der NVD, und sie scheint nur f\u00fcr Spring Framework 4.1.4 anwendbar zu sein. Schauen wir uns an <noindex><a rel=\"nofollow\" href=\"https:\/\/www.tenable.com\/security\/research\/tra-2016-20\">Referenz<\/a><\/noindex> und es wird immer klarer. Aus <noindex><a rel=\"nofollow\" href=\"https:\/\/www.tenable.com\/security\/research\/tra-2016-20\">dem Artikel von Tenable<\/a><\/noindex> verstehen wir, dass neben der Schwachstelle in <code>RemoteInvocationSerializingExporter<\/code> eine Schwachstelle auch in CVE-2011-2894 beobachtet wird. <code>HttpInvokerServiceExporter<\/code>. Darauf weist uns Nexus IQ hin:<\/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 gibt es nichts Derartiges in NVD, weshalb Dependency Check und Dependency Track falsche negative Ergebnisse liefern.<\/p>\n<p>Aus der Beschreibung von CVE-2011-2894 kann man ebenfalls verstehen, 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 man in dem Artikel von dem, der diese Schwachstelle gefunden hat.<\/p>\n<h4>Nr. 2<\/h4>\n<p><\/p>\n<p>Komponente<br \/>\nSchwachstelle<br \/>\nErgebnis<\/p>\n<p>struts2-core:2.3.30<br \/>\nCVE-2016-4003<br \/>\nFALSCH<\/p>\n<p>\nWenn wir die Schwachstelle CVE-2016-4003 betrachten, wird deutlich, dass sie bereits in Version 2.3.28 behoben wurde, dennoch weist uns Nexus IQ darauf hin. In der Beschreibung der 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 hei\u00dft, die Schwachstelle existiert nur in Verbindung mit einer veralteten JRE-Version, wor\u00fcber wir informiert werden. Dennoch halten wir dies f\u00fcr ein False Positive, auch wenn es nicht die schlimmste ist.<\/p>\n<h4>Nr. 3<\/h4>\n<p><\/p>\n<p>Komponente<br \/>\nSchwachstelle<br \/>\nErgebnis<\/p>\n<p>xwork-core:2.3.30<br \/>\nCVE-2017-9804<br \/>\nWAHR<\/p>\n<p>xwork-core:2.3.30<br \/>\nCVE-2017-7672<br \/>\nFALSCH<\/p>\n<p>\nWenn wir die Beschreibung von CVE-2017-9804 und CVE-2017-7672 betrachten, wird klar, dass das Problem in der <code>URLValidator-Klasse<\/code>, wobei CVE-2017-9804 aus CVE-2017-7672 hervorgeht. Das Vorhandensein der zweiten Schwachstelle bringt keine n\u00fctzlichen Informationen mit sich, au\u00dfer dass ihre Schwere auf Hoch gestiegen ist, weshalb man dies als unn\u00f6tigen L\u00e4rm betrachten kann.<\/p>\n<p>Insgesamt wurden keine weiteren False Positives f\u00fcr Nexus IQ gefunden.<\/p>\n<h3>Nr. 4<\/h3>\n<p>\nEs gibt einige Punkte, die IQ von anderen L\u00f6sungen abheben.<\/p>\n<p>Komponente<br \/>\nSchwachstelle<br \/>\nErgebnis<\/p>\n<p>spring-web:3.0.5<br \/>\nCVE-2020-5398<br \/>\nWAHR<\/p>\n<p>CVE in NVD besagt, dass sie nur f\u00fcr Versionen 5.2.x bis 5.2.3, 5.1.x bis 5.1.13 und Versionen 5.0.x bis 5.0.16 gilt, dennoch, wenn wir die Beschreibung von CVE in Nexus IQ betrachten, sehen wir Folgendes:<br \/>\n<i>Advisory Deviation Notice: Das Sicherheitsteam von Sonatype hat entdeckt, 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>Darauf folgt ein PoC zu dieser Schwachstelle, der besagt, dass sie in Version 3.0.5 vorhanden ist.<\/p>\n<p>False Negative wird an Dependency Check und Dependency Track gesendet.<\/p>\n<h3>Nr. 5<\/h3>\n<p>\nBetrachten wir die False Positives f\u00fcr Dependency Check und Dependency Track.<\/p>\n<p>Dependency Check unterscheidet sich dadurch, dass es die CVEs, die dem gesamten Framework im NVD zugeordnet sind, in jene Komponenten schreibt, auf die diese CVEs nicht anwendbar sind. Dies betrifft CVE-2012-0394, CVE-2013-2115, CVE-2014-0114, CVE-2015-0899, CVE-2015-2992, CVE-2016-1181, CVE-2016-1182, die Dependency Check \"angeh\u00e4ngt\" hat an struts-taglib:1.3.8 und struts-tiles-1.3.8. Diese Komponenten haben nichts mit dem zu tun, was in den CVEs beschrieben wird \u2014 das Bearbeiten von Anfragen, die Validierung von Seiten usw. Dies liegt daran, dass das Einzige, was diese CVEs und Komponenten verbindet, das Framework ist, weshalb Dependency Check dies als Schwachstelle betrachtet hat.<\/p>\n<p>Die Situation bei spring-tx:3.0.5 ist \u00e4hnlich, und es gibt eine vergleichbare Situation mit struts-core:1.3.8. F\u00fcr struts-core fanden Dependency Check und Dependency Track viele Schwachstellen, die tats\u00e4chlich auf struts2-core zutreffen, das im Grunde genommen ein separates Framework ist. In diesem Fall hat Nexus IQ das Bild korrekt verstanden und in den ausgegebenen CVEs angegeben, dass struts-core das End of Life erreicht hat und ein Wechsel zu struts2-core notwendig ist.<\/p>\n<h3>Nr. 6<\/h3>\n<p>\nIn einigen Situationen ist es ungerecht, einen offensichtlichen Fehler von Dependency Check und Dependency Track zu interpretieren. Insbesondere CVE-2013-4152, CVE-2013-6429, CVE-2013-6430, CVE-2013-7315, CVE-2014-0054, CVE-2014-0225, die Dependency Check und Dependency Track struts-core:3.0.5 zuordnen, sind tats\u00e4chlich f\u00fcr spring-web:3.0.5 relevant. Gleichzeitig wurden einige dieser CVEs auch von Nexus IQ gefunden, dennoch hat IQ sie korrekt einem anderen Bestandteil zugeordnet. Nur weil diese Schwachstellen nicht in spring-core gefunden wurden, kann man nicht behaupten, dass sie im Framework grunds\u00e4tzlich nicht existieren; die Open-Source-Tools haben zu Recht auf diese Schwachstellen hingewiesen (sie haben nur ein wenig danebengegriffen). <\/p>\n<h3>Das DBMS Tarantool ist ein attraktives, zukunftstr\u00e4chtiges Produkt zur Erstellung von hochbelasteten Anwendungen.<\/h3>\n<p>\nWie wir sehen k\u00f6nnen, liefert die manuelle \u00dcberpr\u00fcfung keine eindeutigen Ergebnisse zur Validierung der gefundenen Schwachstellen, weshalb strittige Punkte entstehen. Die Ergebnisse sind so, dass die L\u00f6sung von Nexus IQ die geringste Rate an Fehlalarmen und die h\u00f6chste Genauigkeit aufweist. <\/p>\n<p>Prim\u00e4r liegt das daran, dass das Team von Sonatype die Beschreibung f\u00fcr jede Schwachstelle CVE aus der NVD in seinen Datenbanken erweitert hat, indem es die Schwachstellen bis hin zur Klasse oder Funktion f\u00fcr die jeweilige Version des Bauteils genau angegeben hat und zus\u00e4tzliche Forschungen durchgef\u00fchrt hat (zum Beispiel durch die \u00dcberpr\u00fcfung von Schwachstellen in \u00e4lteren Softwareversionen). <\/p>\n<p>Einen nicht unerheblichen Einfluss auf die Ergebnisse haben auch die Schwachstellen, die nicht in die NVD aufgenommen wurden, aber dennoch 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 in Open Source nicht in der NVD ver\u00f6ffentlicht. Laut der Datenbank von WhiteSource werden nur 29 % aller Schwachstellen in Open Source, die au\u00dferhalb der NVD registriert sind, letztendlich dort ver\u00f6ffentlicht. Daher ist es so wichtig, auch nach Schwachstellen in anderen Quellen zu suchen.<\/p>\n<p>Als Ergebnis gibt Dependency Check eine gro\u00dfe Menge an Rauschen aus und l\u00e4sst einige verwundbare Komponenten aus. Dependency Track erzeugt weniger Rauschen und identifiziert viele Komponenten, was visuell in der Weboberfl\u00e4che nicht ins Auge springt.<\/p>\n<p>Dennoch zeigt die Praxis, dass Open Source der erste Schritt auf dem Weg zu einem reifen DevSecOps sein sollte. Zun\u00e4chst sollten Sie dar\u00fcber nachdenken, wie SCA in den Entwicklungsprozess integriert werden kann, und zwar durch Gespr\u00e4che mit dem Management und den benachbarten Abteilungen dar\u00fcber, wie die idealen Prozesse in Ihrer Organisation aussehen sollten. M\u00f6glicherweise stellt sich heraus, dass insbesondere f\u00fcr Ihre Organisation zu Beginn Dependency Check oder Dependency Track alle gesch\u00e4ftlichen Anforderungen abdecken, w\u00e4hrend Unternehmensl\u00f6sungen aufgrund der zunehmenden Komplexit\u00e4t der entwickelten Anwendungen eine logische Fortsetzung darstellen.<\/p>\n<p>                        <b class=\"spoiler_title\">Anlage A. Ergebnisse bez\u00fcglich der Komponenten<\/b><br \/>\n                        <b>Legende:<\/b><\/p>\n<ul>\n<li>Hoch \u2014 Hoch- und kritische Verwundbarkeiten in der Komponente<\/li>\n<li>Mittel \u2014 Verwundbarkeiten mittlerer Kritikalit\u00e4t in der Komponente<\/li>\n<li>WAHR \u2014 Korrekt identifizierte Verwundbarkeit (True positive issue)<\/li>\n<li>FALSCH \u2014 Fehlalarm (False positive issue)<\/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 \/>\nWAHR<\/p>\n<p>log4j-core: 2.3<br \/>\nHoch<br \/>\nHoch<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>log4j: 1.2.14<br \/>\nHoch<br \/>\nHoch<br \/>\n\u2014<br \/>\nWAHR<\/p>\n<p>commons-collections:3.1<br \/>\nHoch<br \/>\nHoch<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>commons-fileupload:1.3.2<br \/>\nHoch<br \/>\nHoch<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>commons-beanutils:1.7.0<br \/>\nHoch<br \/>\nHoch<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>commons-codec:1:10<br \/>\nMittel<br \/>\n\u2014<br \/>\n\u2014<br \/>\nWAHR<\/p>\n<p>mysql-connector-java:5.1.42<br \/>\nHoch<br \/>\nHoch<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>spring-expression:3.0.5<br \/>\nHoch<br \/>\nKomponente nicht gefunden<\/p>\n<p>WAHR<\/p>\n<p>spring-web:3.0.5<br \/>\nHoch<br \/>\nKomponente nicht gefunden<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>spring-context:3.0.5<br \/>\nMittel<br \/>\nKomponente nicht gefunden<br \/>\n\u2014<br \/>\nWAHR<\/p>\n<p>spring-core:3.0.5<br \/>\nMittel<br \/>\nHoch<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>struts2-config-browser-plugin:2.3.30<br \/>\nMittel<br \/>\n\u2014<br \/>\n\u2014<br \/>\nWAHR<\/p>\n<p>spring-tx:3.0.5<br \/>\n\u2014<br \/>\nHoch<br \/>\n\u2014<br \/>\nFALSCH<\/p>\n<p>struts-core:1.3.8<br \/>\nHoch<br \/>\nHoch<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>xwork-core: 2.3.30<br \/>\nHoch<br \/>\n\u2014<br \/>\n\u2014<br \/>\nWAHR<\/p>\n<p>struts2-core: 2.3.30<br \/>\nHoch<br \/>\nHoch<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>struts-taglib:1.3.8<br \/>\n\u2014<br \/>\nHoch<br \/>\n\u2014<br \/>\nFALSCH<\/p>\n<p>struts-tiles-1.3.8<br \/>\n\u2014<br \/>\nHoch<br \/>\n\u2014<br \/>\nFALSCH<\/p>\n<p><\/p>\n<p>                        <b class=\"spoiler_title\">Anlage B. Ergebnisse bez\u00fcglich der Verwundbarkeiten<\/b><br \/>\n                        <b>Legende:<\/b><\/p>\n<ul>\n<li>Hoch \u2014 Hoch- und kritische Verwundbarkeiten in der Komponente<\/li>\n<li>Mittel \u2014 Verwundbarkeiten mittlerer Kritikalit\u00e4t in der Komponente<\/li>\n<li>WAHR \u2014 Korrekt identifizierte Verwundbarkeit (True positive issue)<\/li>\n<li>FALSCH \u2014 Fehlalarm (False positive issue)<\/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 \/>\nWAHR<\/p>\n<p>CVE-2020-10683<br \/>\nCVE-2020-10683<br \/>\nCVE-2020-10683<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>log4j-core: 2.3<br \/>\nCVE-2017-5645<br \/>\nCVE-2017-5645<br \/>\nCVE-2017-5645<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>CVE-2020-9488<br \/>\nCVE-2020-9488<br \/>\nCVE-2020-9488<br \/>\nNiedrig<br \/>\nWAHR<\/p>\n<p>log4j: 1.2.14<br \/>\nCVE-2019-17571<br \/>\nCVE-2019-17571<br \/>\n\u2014<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>\u2014<br \/>\nCVE-2020-9488<br \/>\n\u2014<br \/>\nNiedrig<br \/>\nWAHR<\/p>\n<p>SONATYPE-2010-0053<br \/>\n\u2014<br \/>\n\u2014<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>commons-collections:3.1<br \/>\n\u2014<br \/>\nCVE-2015-6420<br \/>\nCVE-2015-6420<br \/>\nHoch<br \/>\nFALSCH<br \/>\nDupliziert RCE(OSSINDEX)<\/p>\n<p>\u2014<br \/>\nCVE-2017-15708<br \/>\nCVE-2017-15708<br \/>\nHoch<br \/>\nFALSCH<br \/>\nDupliziert RCE(OSSINDEX)<\/p>\n<p>SONATYPE-2015-0002<br \/>\nRCE (OSSINDEX)<br \/>\nRCE(OSSINDEX)<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>commons-fileupload:1.3.2<br \/>\nCVE-2016-1000031<br \/>\nCVE-2016-1000031<br \/>\nCVE-2016-1000031<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>SONATYPE-2014-0173<br \/>\n\u2014<br \/>\n\u2014<br \/>\nMittel<br \/>\nWAHR<\/p>\n<p>commons-beanutils:1.7.0<br \/>\nCVE-2014-0114<br \/>\nCVE-2014-0114<br \/>\nCVE-2014-0114<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>\u2014<br \/>\nCVE-2019-10086<br \/>\nCVE-2019-10086<br \/>\nHoch<br \/>\nFALSCH<br \/>\nDie Verwundbarkeit gilt nur f\u00fcr Versionen 1.9.2+<\/p>\n<p>commons-codec:1:10<br \/>\nSONATYPE-2012-0050<br \/>\n\u2014<br \/>\n\u2014<br \/>\nMittel<br \/>\nWAHR<\/p>\n<p>mysql-connector-java:5.1.42<br \/>\nCVE-2018-3258<br \/>\nCVE-2018-3258<br \/>\nCVE-2018-3258<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>CVE-2019-2692<br \/>\nCVE-2019-2692<br \/>\n\u2014<br \/>\nMittel<br \/>\nWAHR<\/p>\n<p>\u2014<br \/>\nCVE-2020-2875<br \/>\n\u2014<br \/>\nMittel<br \/>\nFALSCH<br \/>\nDie gleiche Verwundbarkeit wie CVE-2019-2692, aber mit dem Hinweis \"Angriffe k\u00f6nnen erhebliche Auswirkungen auf zus\u00e4tzliche Produkte haben\"<\/p>\n<p>\u2014<br \/>\nCVE-2017-15945<br \/>\n\u2014<br \/>\nHoch<br \/>\nFALSCH<br \/>\nGilt nicht f\u00fcr mysql-connector-java<\/p>\n<p>\u2014<br \/>\nCVE-2020-2933<br \/>\n\u2014<br \/>\nNiedrig<br \/>\nFALSCH<br \/>\nDuplikat zu CVE-2020-2934<\/p>\n<p>CVE-2020-2934<br \/>\nCVE-2020-2934<br \/>\n\u2014<br \/>\nMittel<br \/>\nWAHR<\/p>\n<p>spring-expression:3.0.5<br \/>\nCVE-2018-1270<br \/>\nKomponente nicht gefunden<br \/>\n\u2014<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>CVE-2018-1257<br \/>\n\u2014<br \/>\n\u2014<br \/>\nMittel<br \/>\nWAHR<\/p>\n<p>spring-web:3.0.5<br \/>\nCVE-2016-1000027<br \/>\nKomponente nicht gefunden<br \/>\n\u2014<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>CVE-2014-0225<br \/>\n\u2014<br \/>\nCVE-2014-0225<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>CVE-2011-2730<br \/>\n\u2014<br \/>\n\u2014<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>\u2014<br \/>\n\u2014<br \/>\nCVE-2013-4152<br \/>\nMittel<br \/>\nWAHR<\/p>\n<p>CVE-2018-1272<br \/>\n\u2014<br \/>\n\u2014<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>CVE-2020-5398<br \/>\n\u2014<br \/>\n\u2014<br \/>\nHoch<br \/>\nWAHR<br \/>\nEin bemerkenswertes Beispiel f\u00fcr IQ: \"Das Sicherheitsteam von Sonatype stellte fest, dass diese Verwundbarkeit in Version 3.0.2.RELEASE und nicht in 5.0.x wie im Hinweis angegeben eingef\u00fchrt wurde.\"<\/p>\n<p>CVE-2013-6429<br \/>\n\u2014<br \/>\n\u2014<br \/>\nMittel<br \/>\nWAHR<\/p>\n<p>CVE-2014-0054<br \/>\n\u2014<br \/>\nCVE-2014-0054<br \/>\nMittel<br \/>\nWAHR<\/p>\n<p>CVE-2013-6430<br \/>\n\u2014<br \/>\n\u2014<br \/>\nMittel<br \/>\nWAHR<\/p>\n<p>spring-context:3.0.5<br \/>\nCVE-2011-2894<br \/>\nKomponente nicht gefunden<br \/>\n\u2014<br \/>\nMittel<br \/>\nWAHR<\/p>\n<p>spring-core:3.0.5<br \/>\n\u2014<br \/>\nCVE-2011-2730<br \/>\nCVE-2011-2730<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>CVE-2011-2894<br \/>\nCVE-2011-2894<br \/>\nCVE-2011-2894<br \/>\nMittel<br \/>\nWAHR<\/p>\n<p>\u2014<br \/>\n\u2014<br \/>\nCVE-2013-4152<br \/>\nMittel<br \/>\nFALSCH<br \/>\nDuplikat dieser Verwundbarkeit in spring-web<\/p>\n<p>\u2014<br \/>\nCVE-2013-4152<br \/>\n\u2014<br \/>\nMittel<br \/>\nFALSCH<br \/>\nDie Verwundbarkeit bezieht sich auf die Komponente spring-web<\/p>\n<p>\u2014<br \/>\nCVE-2013-6429<br \/>\nCVE-2013-6429<br \/>\nMittel<br \/>\nFALSCH<br \/>\nDie Verwundbarkeit bezieht sich auf die Komponente spring-web<\/p>\n<p>\u2014<br \/>\nCVE-2013-6430<br \/>\n\u2014<br \/>\nMittel<br \/>\nFALSCH<br \/>\nDie Verwundbarkeit bezieht sich auf die Komponente spring-web<\/p>\n<p>\u2014<br \/>\nCVE-2013-7315<br \/>\nCVE-2013-7315<br \/>\nMittel<br \/>\nFALSCH<br \/>\nSPLIT aus CVE-2013-4152. + Die Verwundbarkeit bezieht sich auf die Komponente spring-web<\/p>\n<p>\u2014<br \/>\nCVE-2014-0054<br \/>\nCVE-2014-0054<br \/>\nMittel<br \/>\nFALSCH<br \/>\nDie Verwundbarkeit bezieht sich auf die Komponente spring-web<\/p>\n<p>\u2014<br \/>\nCVE-2014-0225<br \/>\n\u2014<br \/>\nHoch<br \/>\nFALSCH<br \/>\nDie Verwundbarkeit bezieht sich auf die Komponente spring-web<\/p>\n<p>\u2014<br \/>\n\u2014<br \/>\nCVE-2014-0225<br \/>\nHoch<br \/>\nFALSCH<br \/>\nDuplikat dieser Verwundbarkeit in spring-web<\/p>\n<p>\u2014<br \/>\nCVE-2014-1904<br \/>\nCVE-2014-1904<br \/>\nMittel<br \/>\nFALSCH<br \/>\nDie Verwundbarkeit bezieht sich auf die Komponente spring-web-mvc<\/p>\n<p>\u2014<br \/>\nCVE-2014-3625<br \/>\nCVE-2014-3625<br \/>\nMittel<br \/>\nFALSCH<br \/>\nDie Verwundbarkeit bezieht sich auf die Komponente spring-web-mvc<\/p>\n<p>\u2014<br \/>\nCVE-2016-9878<br \/>\nCVE-2016-9878<br \/>\nHoch<br \/>\nFALSCH<br \/>\nDie Verwundbarkeit bezieht sich auf die Komponente spring-web-mvc<\/p>\n<p>\u2014<br \/>\nCVE-2018-1270<br \/>\nCVE-2018-1270<br \/>\nHoch<br \/>\nFALSCH<br \/>\nF\u00fcr spring-expression \/ spring-messages<\/p>\n<p>\u2014<br \/>\nCVE-2018-1271<br \/>\nCVE-2018-1271<br \/>\nMittel<br \/>\nFALSCH<br \/>\nDie Verwundbarkeit bezieht sich auf die Komponente spring-web-mvc<\/p>\n<p>\u2014<br \/>\nCVE-2018-1272<br \/>\nCVE-2018-1272<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>CVE-2014-3578<br \/>\nCVE-2014-3578 (OSSINDEX)<br \/>\nCVE-2014-3578<br \/>\nMittel<br \/>\nWAHR<\/p>\n<p>SONATYPE-2015-0327<br \/>\n\u2014<br \/>\n\u2014<br \/>\nNiedrig<br \/>\nWAHR<\/p>\n<p>struts2-config-browser-plugin:2.3.30<br \/>\nSONATYPE-2016-0104<br \/>\n\u2014<br \/>\n\u2014<br \/>\nMittel<br \/>\nWAHR<\/p>\n<p>spring-tx:3.0.5<br \/>\n\u2014<br \/>\nCVE-2011-2730<br \/>\n\u2014<br \/>\nHoch<br \/>\nFALSCH<br \/>\nDie Verwundbarkeit betrifft nicht spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2011-2894<br \/>\n\u2014<br \/>\nHoch<br \/>\nFALSCH<br \/>\nDie Verwundbarkeit betrifft nicht spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2013-4152<br \/>\n\u2014<br \/>\nMittel<br \/>\nFALSCH<br \/>\nDie Verwundbarkeit betrifft nicht spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2013-6429<br \/>\n\u2014<br \/>\nMittel<br \/>\nFALSCH<br \/>\nDie Verwundbarkeit betrifft nicht spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2013-6430<br \/>\n\u2014<br \/>\nMittel<br \/>\nFALSCH<br \/>\nDie Verwundbarkeit betrifft nicht spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2013-7315<br \/>\n\u2014<br \/>\nMittel<br \/>\nFALSCH<br \/>\nDie Verwundbarkeit betrifft nicht spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2014-0054<br \/>\n\u2014<br \/>\nMittel<br \/>\nFALSCH<br \/>\nDie Verwundbarkeit betrifft nicht spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2014-0225<br \/>\n\u2014<br \/>\nHoch<br \/>\nFALSCH<br \/>\nDie Verwundbarkeit betrifft nicht spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2014-1904<br \/>\n\u2014<br \/>\nMittel<br \/>\nFALSCH<br \/>\nDie Verwundbarkeit betrifft nicht spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2014-3625<br \/>\n\u2014<br \/>\nMittel<br \/>\nFALSCH<br \/>\nDie Verwundbarkeit betrifft nicht spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2016-9878<br \/>\n\u2014<br \/>\nHoch<br \/>\nFALSCH<br \/>\nDie Verwundbarkeit betrifft nicht spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2018-1270<br \/>\n\u2014<br \/>\nHoch<br \/>\nFALSCH<br \/>\nDie Verwundbarkeit betrifft nicht spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2018-1271<br \/>\n\u2014<br \/>\nMittel<br \/>\nFALSCH<br \/>\nDie Verwundbarkeit betrifft nicht spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2018-1272<br \/>\n\u2014<br \/>\nMittel<br \/>\nFALSCH<br \/>\nDie Verwundbarkeit betrifft nicht spring-tx<\/p>\n<p>struts-core:1.3.8<br \/>\n\u2014<br \/>\nCVE-2011-5057 (OSSINDEX)<\/p>\n<p>Mittel<br \/>\nFALSCH<br \/>\nVerwundbarkeit f\u00fcr Struts 2<\/p>\n<p>\u2014<br \/>\nCVE-2012-0391 (OSSINDEX)<br \/>\nCVE-2012-0391<br \/>\nHoch<br \/>\nFALSCH<br \/>\nVerwundbarkeit f\u00fcr Struts 2<\/p>\n<p>\u2014<br \/>\nCVE-2014-0094 (OSSINDEX)<br \/>\nCVE-2014-0094<br \/>\nMittel<br \/>\nFALSCH<br \/>\nVerwundbarkeit f\u00fcr Struts 2<\/p>\n<p>\u2014<br \/>\nCVE-2014-0113 (OSSINDEX)<br \/>\nCVE-2014-0113<br \/>\nHoch<br \/>\nFALSCH<br \/>\nVerwundbarkeit f\u00fcr Struts 2<\/p>\n<p>CVE-2016-1182<br \/>\n3VE-2016-1182<br \/>\n\u2014<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>\u2014<br \/>\n\u2014<br \/>\nCVE-2011-5057<br \/>\nMittel<br \/>\nFALSCH<br \/>\nVerwundbarkeit f\u00fcr Struts 2<\/p>\n<p>\u2014<br \/>\nCVE-2012-0392 (OSSINDEX)<br \/>\nCVE-2012-0392<br \/>\nHoch<br \/>\nFALSCH<br \/>\nVerwundbarkeit f\u00fcr Struts 2<\/p>\n<p>\u2014<br \/>\nCVE-2012-0393 (OSSINDEX)<br \/>\nCVE-2012-0393<br \/>\nMittel<br \/>\nFALSCH<br \/>\nVerwundbarkeit f\u00fcr Struts 2<\/p>\n<p>CVE-2015-0899<br \/>\nCVE-2015-0899<br \/>\n\u2014<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>\u2014<br \/>\nCVE-2012-0394<br \/>\nCVE-2012-0394<br \/>\nMittel<br \/>\nFALSCH<br \/>\nVerwundbarkeit f\u00fcr Struts 2<\/p>\n<p>\u2014<br \/>\nCVE-2012-0838 (OSSINDEX)<br \/>\nCVE-2012-0838<br \/>\nHoch<br \/>\nFALSCH<br \/>\nVerwundbarkeit f\u00fcr Struts 2<\/p>\n<p>\u2014<br \/>\nCVE-2013-1965 (OSSINDEX)<br \/>\nCVE-2013-1965<br \/>\nHoch<br \/>\nFALSCH<br \/>\nVerwundbarkeit f\u00fcr Struts 2<\/p>\n<p>\u2014<br \/>\nCVE-2013-1966 (OSSINDEX)<br \/>\nCVE-2013-1966<br \/>\nHoch<br \/>\nFALSCH<br \/>\nVerwundbarkeit f\u00fcr Struts 2<\/p>\n<p>\u2014<br \/>\nCVE-2013-2115<br \/>\nCVE-2013-2115<br \/>\nHoch<br \/>\nFALSCH<br \/>\nVerwundbarkeit f\u00fcr Struts 2<\/p>\n<p>\u2014<br \/>\nCVE-2013-2134 (OSSINDEX)<br \/>\nCVE-2013-2134<br \/>\nHoch<br \/>\nFALSCH<br \/>\nVerwundbarkeit f\u00fcr Struts 2<\/p>\n<p>\u2014<br \/>\nCVE-2013-2135 (OSSINDEX)<br \/>\nCVE-2013-2135<br \/>\nHoch<br \/>\nFALSCH<br \/>\nVerwundbarkeit f\u00fcr Struts 2<\/p>\n<p>CVE-2014-0114<br \/>\nCVE-2014-0114<br \/>\n\u2014<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>\u2014<br \/>\nCVE-2015-2992<br \/>\nCVE-2015-2992<br \/>\nMittel<br \/>\nFALSCH<br \/>\nVerwundbarkeit f\u00fcr Struts 2<\/p>\n<p>\u2014<br \/>\nCVE-2016-0785 (OSSINDEX)<br \/>\nCVE-2016-0785<br \/>\nHoch<br \/>\nFALSCH<br \/>\nVerwundbarkeit f\u00fcr Struts 2<\/p>\n<p>CVE-2016-1181<br \/>\nCVE-2016-1181<br \/>\n\u2014<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>\u2014<br \/>\nCVE-2016-4003 (OSSINDEX)<br \/>\nCVE-2016-4003<br \/>\nHoch<br \/>\nFALSCH<br \/>\nVerwundbarkeit f\u00fcr Struts 2<\/p>\n<p>xwork-core:2.3.30<br \/>\nCVE-2017-9804<br \/>\n\u2014<br \/>\n\u2014<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>SONATYPE-2017-0173<br \/>\n\u2014<br \/>\n\u2014<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>CVE-2017-7672<br \/>\n\u2014<br \/>\n\u2014<br \/>\nHoch<br \/>\nFALSCH<br \/>\nDuplikat zu CVE-2017-9804<\/p>\n<p>SONATYPE-2016-0127<br \/>\n\u2014<br \/>\n\u2014<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>struts2-core:2.3.30<br \/>\n\u2014<br \/>\nCVE-2016-6795<br \/>\nCVE-2016-6795<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>\u2014<br \/>\nCVE-2017-9787<br \/>\nCVE-2017-9787<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>\u2014<br \/>\nCVE-2017-9791<br \/>\nCVE-2017-9791<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>\u2014<br \/>\nCVE-2017-9793<br \/>\n\u2014<br \/>\nHoch<br \/>\nFALSCH<br \/>\nDuplikat zu CVE-2018-1327<\/p>\n<p>\u2014<br \/>\nCVE-2017-9804<br \/>\n\u2014<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>\u2014<br \/>\nCVE-2017-9805<br \/>\nCVE-2017-9805<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>CVE-2016-4003<br \/>\n\u2014<br \/>\n\u2014<br \/>\nMittel<br \/>\nFALSCH<br \/>\nAnwendbar auf Apache Struts 2.x bis 2.3.28, dies ist Version 2.3.30. Dennoch gilt laut Beschreibung CVE f\u00fcr alle Struts 2-Versionen, wenn JRE 1.7 und fr\u00fcher verwendet wird. Anscheinend wollte man auf Nummer sicher gehen, aber es sieht eher nach einem FALSE aus.<\/p>\n<p>\u2014<br \/>\nCVE-2018-1327<br \/>\nCVE-2018-1327<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>CVE-2017-5638<br \/>\nCVE-2017-5638<br \/>\nCVE-2017-5638<br \/>\nHoch<br \/>\nWAHR<br \/>\nDies ist die Sicherheitsl\u00fccke, die 2017 von Angreifern bei Equifax ausgenutzt wurde.<\/p>\n<p>CVE-2017-12611<br \/>\nCVE-2017-12611<br \/>\n\u2014<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>CVE-2018-11776<br \/>\nCVE-2018-11776<br \/>\nCVE-2018-11776<br \/>\nHoch<br \/>\nWAHR<\/p>\n<p>struts-taglib:1.3.8<br \/>\n\u2014<br \/>\nCVE-2012-0394<br \/>\n\u2014<br \/>\nMittel<br \/>\nFALSCH<br \/>\nF\u00fcr struts2-core<\/p>\n<p>\u2014<br \/>\nCVE-2013-2115<br \/>\n\u2014<br \/>\nHoch<br \/>\nFALSCH<br \/>\nF\u00fcr struts2-core<\/p>\n<p>\u2014<br \/>\nCVE-2014-0114<br \/>\n\u2014<br \/>\nHoch<br \/>\nFALSCH<br \/>\nF\u00fcr commons-beanutils<\/p>\n<p>\u2014<br \/>\nCVE-2015-0899<br \/>\n\u2014<br \/>\nHoch<br \/>\nFALSCH<br \/>\nNicht relevant f\u00fcr taglib<\/p>\n<p>\u2014<br \/>\nCVE-2015-2992<br \/>\n\u2014<br \/>\nMittel<br \/>\nFALSCH<br \/>\nRelevant f\u00fcr struts2-core<\/p>\n<p>\u2014<br \/>\nCVE-2016-1181<br \/>\n\u2014<br \/>\nHoch<br \/>\nFALSCH<br \/>\nNicht relevant f\u00fcr taglib<\/p>\n<p>\u2014<br \/>\nCVE-2016-1182<br \/>\n\u2014<br \/>\nHoch<br \/>\nFALSCH<br \/>\nNicht relevant f\u00fcr taglib<\/p>\n<p>struts-tiles-1.3.8<br \/>\n\u2014<br \/>\nCVE-2012-0394<br \/>\n\u2014<br \/>\nMittel<br \/>\nFALSCH<br \/>\nF\u00fcr struts2-core<\/p>\n<p>\u2014<br \/>\nCVE-2013-2115<br \/>\n\u2014<br \/>\nHoch<br \/>\nFALSCH<br \/>\nF\u00fcr struts2-core<\/p>\n<p>\u2014<br \/>\nCVE-2014-0114<br \/>\n\u2014<br \/>\nHoch<br \/>\nFALSCH<br \/>\nUnter commons-beanutils<\/p>\n<p>\u2014<br \/>\nCVE-2015-0899<br \/>\n\u2014<br \/>\nHoch<br \/>\nFALSCH<br \/>\nNicht relevant f\u00fcr tiles<\/p>\n<p>\u2014<br \/>\nCVE-2015-2992<br \/>\n\u2014<br \/>\nMittel<br \/>\nFALSCH<br \/>\nF\u00fcr struts2-core<\/p>\n<p>\u2014<br \/>\nCVE-2016-1181<br \/>\n\u2014<br \/>\nHoch<br \/>\nFALSCH<br \/>\nNicht relevant f\u00fcr taglib<\/p>\n<p>\u2014<br \/>\nCVE-2016-1182<br \/>\n\u2014<br \/>\nHoch<br \/>\nFALSCH<br \/>\nNicht relevant f\u00fcr 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 5.0.1.1 - 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.\" \/>\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) 5.0.1.1\" \/>\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.\" \/>\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: Arbeitsprinzipien und Vergleich von SCA. Teil eins | ProHoster","description":"Bedeutung der Analyse von Drittanbieter-Softwarekomponenten (engl.","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.","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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"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}]}}