{"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\/sv\/blog\/administrirovanie\/devsecops-princzipy-raboty-i-sravnenie-sca-chast-pervaya","title":{"rendered":"DevSecOps: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Betydelsen av analys av tredjepartsprogramvara (p\u00e5 engelska Software Composition Analysis \u2014 SCA) under utvecklingsprocessen \u00f6kar i takt med \u00e5rliga rapporter om s\u00e5rbarheter i \u00f6ppen k\u00e4llkod som publiceras av f\u00f6retag som Synopsys, Sonatype, Snyk, White Source. Enligt rapporten <noindex><a rel=\"nofollow\" href=\"https:\/\/www.whitesourcesoftware.com\/open-source-vulnerability-management-report\/\">Tillst\u00e5ndet f\u00f6r s\u00e5rbarheter inom \u00f6ppen k\u00e4llkod 2020<\/a><\/noindex> \u00f6kar antalet identifierade s\u00e5rbarheter inom \u00f6ppen k\u00e4llkod 2019 n\u00e4stan 1,5 g\u00e5nger j\u00e4mf\u00f6rt med f\u00f6reg\u00e5ende \u00e5r, medan komponenter med \u00f6ppen k\u00e4llkod anv\u00e4nds i 60 % till 80 % av projekten. Om man h\u00e4nvisar till oberoende \u00e5sikter \u00e4r SCA-processer en separat praxis inom OWASP SAMM och BSIMM som en indikator f\u00f6r mognad, och under f\u00f6rsta halvan av 2020 publicerade OWASP en ny standard, OWASP Software Component Verification Standard (SCVS), som tillhandah\u00e5ller b\u00e4sta praxis f\u00f6r kontroll av tredjeparts komponenter i mjukvaruleveranskedjan.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett\" 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 \/>\nEtt av de mest illustrativa fallen <noindex><a rel=\"nofollow\" href=\"https:\/\/xakep.ru\/2017\/09\/14\/equifax-dejstvitelno-vzlomali-cherez-bag-v-apache-struts-no-uyazvimost-okazalas-staroj\/\">intr\u00e4ffade<\/a><\/noindex> med f\u00f6retaget Equifax i maj 2017. Ok\u00e4nda angripare fick tillg\u00e5ng till information om 143 miljoner amerikaner, inklusive fullst\u00e4ndiga namn, adresser, socialf\u00f6rs\u00e4kringsnummer och k\u00f6rkort. I 209 000 fall f\u00f6rekom \u00e4ven information om de drabbades bankkort i dokumenten. Denna l\u00e4cka intr\u00e4ffade till f\u00f6ljd av utnyttjandet av en kritisk s\u00e5rbarhet i Apache Struts 2 (CVE-2017-5638), trots att en fix hade sl\u00e4ppts redan i mars 2017. F\u00f6retaget hade tv\u00e5 m\u00e5nader p\u00e5 sig att installera uppdateringen, men ingen tog sig an detta.<\/p>\n<p>I denna artikel kommer vi att diskutera fr\u00e5gan om val av verktyg f\u00f6r att genomf\u00f6ra SCA ur perspektivet av analysens kvalitet. Vi kommer ocks\u00e5 att ge en funktionell j\u00e4mf\u00f6relse av verktygen. Processen f\u00f6r integration i CI\/CD och integrationsm\u00f6jligheterna l\u00e4mnar vi \u00e5t framtida publikationer. En omfattande lista med verktyg presenterades av OWASP <noindex><a rel=\"nofollow\" href=\"https:\/\/owasp.org\/www-community\/Component_Analysis\">p\u00e5 sin webbplats<\/a><\/noindex>, men inom ramen f\u00f6r denna \u00f6versikt kommer vi att ber\u00f6ra endast det mest popul\u00e4ra open source-verktyget Dependency Check, den n\u00e5got mindre k\u00e4nda open source-plattformen Dependency Track och f\u00f6retagsl\u00f6sningen Sonatype Nexus IQ. Vi kommer ocks\u00e5 att unders\u00f6ka hur dessa l\u00f6sningar fungerar och j\u00e4mf\u00f6ra resultaten g\u00e4llande falska positiva resultat.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett\" src=\"\/wp-content\/uploads\/2020\/08\/0580758082abd9950aa9c483d546f1ca.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Arbetsprincip.<\/h3>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/jeremylong.github.io\/DependencyCheck\/\">Dependency Check<\/a><\/noindex> \u2014 \u00e4r ett verktyg (CLI, maven, jenkins modul, ant) som analyserar projektfiler, samlar fragment av information om beroenden (paketnamn, groupid, specifications titel, version\u2026), bygger en CPE-str\u00e4ng \u2014 (Common Platform Enumeration), Package URL (PURL) och identifierar s\u00e5rbarheter f\u00f6r CPE\/PURL fr\u00e5n databaser (NVD, Sonatype OSS Index, NPM Audit API\u2026), och skapar en eng\u00e5ngsrapport i formatet HTML, JSON, XML\u2026<\/p>\n<p>L\u00e5t oss titta p\u00e5 hur en CPE ser ut:<\/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> Ange om komponenten tillh\u00f6r en applikation (a), operativsystem (o), h\u00e5rdvara (h) (Obligatoriskt f\u00e4lt)<\/li>\n<li><b>Vendor:<\/b> Namnet p\u00e5 produktens tillverkare (Obligatoriskt f\u00e4lt)<\/li>\n<li><b>Product:<\/b> Produktnamn (Obligatoriskt f\u00e4lt)<\/li>\n<li><b>Version:<\/b> Version av komponenten (Utdaterat f\u00e4lt)<\/li>\n<li><b>Update:<\/b> Paketuppdatering<\/li>\n<li><b>Edition:<\/b> Arvversion (Utdaterat f\u00e4lt)<\/li>\n<li><b>Language:<\/b> Spr\u00e5k som definieras i RFC-5646<\/li>\n<li><b>SW Edition:<\/b> Programvaruversion<\/li>\n<li><b>Target SW:<\/b> Den programmilj\u00f6 d\u00e4r produkten k\u00f6rs<\/li>\n<li><b>Target HW:<\/b> Den h\u00e5rdvarumilj\u00f6 d\u00e4r produkten k\u00f6rs<\/li>\n<li><b>Other:<\/b> Information om leverant\u00f6ren eller produkten<\/li>\n<\/ul>\n<p>\nExemplet p\u00e5 CPE ser ut s\u00e5 h\u00e4r:<\/p>\n<pre><code class=\"plaintext\">cpe:2.3:a:pivotal_software:spring_framework:3.0.0:*:*:*:*:*:*:*<\/code><\/pre>\n<p>\nStr\u00e4ngen betyder att CPE version 2.3 beskriver en applikationskomponent fr\u00e5n tillverkaren <code>pivotal_software <\/code>med namnet <code>spring_framework<\/code> version 3.0.0. Om vi \u00f6ppnar s\u00e5rbarheten <noindex><a rel=\"nofollow\" href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2014-0225\">CVE-2014-0225<\/a><\/noindex> i NVD kan vi se referensen till denna CPE. Det f\u00f6rsta problemet som omedelbart b\u00f6r m\u00e4rkas \u2014 CVE i NVD, enligt CPE, meddelar om ett problem i ramverket, inte i den specifika komponenten. Det inneb\u00e4r att om utvecklarna \u00e4r starkt kopplade till ramverket och den identifierade s\u00e5rbarheten inte r\u00f6r de moduler som utvecklarna anv\u00e4nder, kommer s\u00e4kerhetsspecialisten p\u00e5 n\u00e5got s\u00e4tt att beh\u00f6va granska denna CVE och t\u00e4nka p\u00e5 en uppdatering.<\/p>\n<p>URL:en anv\u00e4nds ocks\u00e5 av SCA-verktyg. Formatet f\u00f6r paketets URL \u00e4r som f\u00f6ljer:<\/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>Det kommer alltid att finnas en 'pkg' som anger att detta \u00e4r en paket-URL (Obligatorisk punkt)<\/li>\n<li><b>Type:<\/b> \"Typ\" av paket eller \"protokoll\" av paket, till exempel maven, npm, nuget, gem, pypi osv. (Obligatoriskt f\u00e4lt)<\/li>\n<li><b>Namespace:<\/b> Ett visst prefix av namn, s\u00e5som Maven-grupp-ID, \u00e4gare av Docker-bild, anv\u00e4ndare eller organisation p\u00e5 GitHub. Valfritt och varierar beroende p\u00e5 typ.<\/li>\n<li><b>Namn:<\/b> Paketnamn (Obligatoriskt f\u00e4lt)<\/li>\n<li><b>Version:<\/b> Paketversion<\/li>\n<li><b>Qualifiers:<\/b> Ytterligare kvalifikationsuppgifter f\u00f6r paketet, s\u00e5som operativsystem, arkitektur, distribution osv. Obligatorisk och beroende av typ av punkt.<\/li>\n<li><b>Underkatalog:<\/b> Ytterligare s\u00f6kv\u00e4g i paketet i f\u00f6rh\u00e5llande till paketets rot<\/li>\n<\/ul>\n<p>\nTill exempel:<\/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 en plattform f\u00f6r lokala installationer som tar emot f\u00e4rdiga Bill of Materials (BOM) skapade <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/CycloneDX\">CycloneDX<\/a><\/noindex> och <noindex><a rel=\"nofollow\" href=\"https:\/\/spdx.org\/licenses\/\">SPDX<\/a><\/noindex>, det vill s\u00e4ga f\u00e4rdiga specifikationer \u00f6ver befintliga beroenden. Detta \u00e4r en XML-fil med beskrivning av beroenden \u2014 namn, hash, paket-url, utgivare, licens. D\u00e4refter analyserar Dependency Track BOM:en, kontrollerar f\u00f6rekomsten av identifierade beroenden mot CVE-databasen (NVD, Sonatype OSS Index\u2026), d\u00e4refter bygger den grafer, ber\u00e4knar m\u00e4tv\u00e4rden och uppdaterar kontinuerligt information om s\u00e5rbarhetsstatusen f\u00f6r komponenterna. <\/p>\n<p>Exempel p\u00e5 hur en BOM kan se ut i XML-format:<\/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 kan anv\u00e4ndas inte bara som inparametrar f\u00f6r Dependency Track, utan ocks\u00e5 f\u00f6r att inventera programkomponenter i leveranskedjan, till exempel f\u00f6r att tillhandah\u00e5lla programvara till kunden. \u00c5r 2014 lades till och med ett lagf\u00f6rslag fram i USA <noindex><a rel=\"nofollow\" href=\"https:\/\/www.congress.gov\/bill\/113th-congress\/house-bill\/5793\">\u00abCyber Supply Chain Management and Transparency Act of 2014\u00bb<\/a><\/noindex>, vilket angav att n\u00e4r programvara k\u00f6ptes skulle varje statlig myndighet beg\u00e4ra en BOM f\u00f6r att f\u00f6rhindra anv\u00e4ndning av s\u00e5rbara komponenter, men p\u00e5 grund av detta tr\u00e4dde lagen aldrig i kraft.<\/p>\n<p>\u00c5terkommande till SCA har Dependency Track f\u00e4rdiga integrationer med meddelandeplattformar som Slack och s\u00e5rbarhetshanteringssystem som Kenna Security. Det b\u00f6r ocks\u00e5 n\u00e4mnas att Dependency Track dessutom identifierar f\u00f6r\u00e5ldrade versioner av paket och tillhandah\u00e5ller information om licenser (genom st\u00f6d f\u00f6r SPDX).<\/p>\n<p>N\u00e4r det g\u00e4ller kvaliteten p\u00e5 SCA finns det en grundl\u00e4ggande skillnad.<\/p>\n<p>Dependency Track tar inte emot projekt som indata, utan tar emot BOM. Det inneb\u00e4r att om vi vill kontrollera projektet m\u00e5ste vi f\u00f6rst generera bom.xml, till exempel med hj\u00e4lp av CycloneDX. P\u00e5 s\u00e5 s\u00e4tt \u00e4r Dependency Track direkt beroende av CycloneDX. Samtidigt ger det m\u00f6jligheter till anpassning. Till exempel har OZON-teamet skrivit <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ozonru\/cyclonedx-go\">modulen CycloneDX<\/a><\/noindex> f\u00f6r att bygga BOM-filer f\u00f6r projekt i Golang med syfte att senare skanna via Dependency Track.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/sonatype.ru\/#nexusiq\">Nexus IQ<\/a><\/noindex> \u00e4r en kommersiell SCA-l\u00f6sning fr\u00e5n Sonatype, som \u00e4r en del av Sonatype-ekosystemet d\u00e4r \u00e4ven Nexus Repository Manager ing\u00e5r. Nexus IQ kan ta emot b\u00e5de war-arkiv (f\u00f6r Java-projekt) via webbgr\u00e4nssnitt eller API, samt BOM, om din organisation inte har f\u00e5tt tid att omstrukturera fr\u00e5n CycloneDX till den nya l\u00f6sningen. Till skillnad fr\u00e5n open source-l\u00f6sningar tar IQ h\u00e4nsyn till inte bara CP\/PURL f\u00f6r den identifierade komponenten och motsvarande s\u00e5rbarhet i databasen, utan \u00e4ven egna unders\u00f6kningar, till exempel namnet p\u00e5 den s\u00e5rbara funktionen eller klassen. Mekanismerna f\u00f6r IQ kommer att behandlas senare n\u00e4r vi analyserar resultaten.<\/p>\n<p>L\u00e5t oss sammanfatta n\u00e5gra slutsatser ang\u00e5ende funktionella egenskaper samt g\u00e5 igenom de st\u00f6dda spr\u00e5ken f\u00f6r analys:<\/p>\n<p>Spr\u00e5k<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>\nFunktionella m\u00f6jligheter<\/p>\n<p>Funktionella m\u00f6jligheter<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nDependency Track<\/p>\n<p>M\u00f6jlighet att s\u00e4kerst\u00e4lla granskning av komponenter som anv\u00e4nds i k\u00e4llkoden f\u00f6r licensrenhet<br \/>\n+<br \/>\n\u2014<br \/>\n+<\/p>\n<p>M\u00f6jlighet till skanning och analys av s\u00e5rbarheter och licensrenhet f\u00f6r Docker-avbilder<br \/>\n+ Integration med Clair<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>M\u00f6jlighet att konfigurera s\u00e4kerhetspolicyer f\u00f6r att anv\u00e4nda bibliotek med \u00f6ppen k\u00e4llkod<br \/>\n+<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>M\u00f6jlighet att skanna offentliga k\u00e4llkodsf\u00f6rvar efter s\u00e5rbara komponenter<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>N\u00e4rvaro av en specialiserad forskargrupp<br \/>\n+<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>Arbete i ett slutet system<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>Anv\u00e4ndning av externa databaser<br \/>\n+ Sluten databas fr\u00e5n Sonatype<br \/>\n+ Sonatype OSS, NPM Public Advisors<br \/>\n+ Sonatype OSS, NPM Public Advisors, RetireJS, VulnDB, st\u00f6d f\u00f6r egen s\u00e5rbarhetsdatabas<\/p>\n<p>M\u00f6jlighet att filtrera komponenter med \u00f6ppen k\u00e4llkod vid f\u00f6rs\u00f6k att ladda upp till utvecklingskonturen enligt konfigurerade policyer<br \/>\n+<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>Rekommendationer f\u00f6r att \u00e5tg\u00e4rda s\u00e5rbarheter, inklusive l\u00e4nkar f\u00f6r \u00e5tg\u00e4rder<br \/>\n+<br \/>\n+- (beror p\u00e5 beskrivningen i offentliga databaser)<br \/>\n+- (beror p\u00e5 beskrivningen i offentliga databaser)<\/p>\n<p>Rankning av uppt\u00e4ckta s\u00e5rbarheter efter kritikalitet<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>Rollmodell f\u00f6r \u00e5tkomst<br \/>\n+<br \/>\n\u2014<br \/>\n+<\/p>\n<p>St\u00f6d f\u00f6r kommandoradsgr\u00e4nssnitt (CLI)<br \/>\n+<br \/>\n+<br \/>\n+- (endast f\u00f6r CycloneDX)<\/p>\n<p>Utdragning \/ sortering av s\u00e5rbarheter enligt angivna kriterier<br \/>\n+<br \/>\n\u2014<br \/>\n+<\/p>\n<p>Dashboard f\u00f6r appstatus<br \/>\n+<br \/>\n\u2014<br \/>\n+<\/p>\n<p>Generera rapporter i PDF-format<br \/>\n+<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>Generera rapporter i JSONCSV-format<br \/>\n+<br \/>\n+<br \/>\n\u2014<\/p>\n<p>St\u00f6d f\u00f6r ryska spr\u00e5ket<br \/>\n\u2014<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>\nIntegrationsm\u00f6jligheter<\/p>\n<p>Integration<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nDependency Track<\/p>\n<p>Integration med LDAP\/Active Directory<br \/>\n+<br \/>\n\u2014<br \/>\n+<\/p>\n<p>Integration med kontinuerlig integrationssystem (continous integration) Bamboo<br \/>\n+<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>Integration med kontinuerlig integrationssystem (continous integration) TeamCity<br \/>\n+<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>Integration med kontinuerlig integrationssystem (continous integration) GitLab<br \/>\n+<br \/>\n+- (i form av en plugin f\u00f6r GitLab)<br \/>\n+<\/p>\n<p>Integration med kontinuerlig integrationssystem (continous integration) Jenkins<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>Tillg\u00e5ng till plugins f\u00f6r IDE<br \/>\n+ IntelliJ, Eclipse, Visual Studio<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>St\u00f6d f\u00f6r anpassad integration via webbtj\u00e4nster (API)<br \/>\n+<br \/>\n\u2014<br \/>\n+<\/p>\n<h3>Dependency Check<\/h3>\n<p><\/p>\n<h4>F\u00f6rsta k\u00f6rning<\/h4>\n<p>\nVi k\u00f6r Dependency Check p\u00e5 en avsiktligt s\u00e5rbar applikation <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/appsecco\/dvja\">DVJA<\/a><\/noindex>.<\/p>\n<p>F\u00f6r detta anv\u00e4nder vi <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>\nSom ett resultat kommer dependency-check-report.html att visas i target-katalogen.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett\" src=\"\/wp-content\/uploads\/2020\/08\/d5b9fe5a8eb68569387dd0bfd38af459.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVi \u00f6ppnar filen. Efter sammanfattningen av det totala antalet s\u00e5rbarheter kan vi se information om s\u00e5rbarheter med h\u00f6g severitet och f\u00f6rtroende med referens till paket, CPE, och antal CVE.<\/p>\n<p>D\u00e4refter f\u00f6ljer mer detaljerad information, s\u00e4rskilt den grund p\u00e5 vilken beslutet fattades (evidence), det vill s\u00e4ga n\u00e5gon form av BOM.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett\" src=\"\/wp-content\/uploads\/2020\/08\/53dd89b0ff20c4c51aaf7412399e7fd9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVidare finns CPE, PURL och beskrivning av CVE. Rekommendationer f\u00f6r \u00e5tg\u00e4rder h\u00e4rmed bifogas tyv\u00e4rr inte p\u00e5 grund av deras fr\u00e5nvaro i NVD-databasen.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett\" src=\"\/wp-content\/uploads\/2020\/08\/ba2021aa8b6bf175383298b2c2a71670.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nF\u00f6r att systematiskt granska resultaten av skanningen kan Nginx konfigureras med minimala inst\u00e4llningar, eller s\u00e5 kan de uppt\u00e4ckta defekterna skickas till ett defektstyrningssystem som har anslutningar till Dependency Check. Till exempel, Defect Dojo. <\/p>\n<h3>Dependency Track<\/h3>\n<p><\/p>\n<h4>Installation<\/h4>\n<p>\nDependency Track \u00e4r i sin tur en webbplattform med visande grafer, s\u00e5 den br\u00e4nnande fr\u00e5gan om lagring av defekter i en extern l\u00f6sning \u00e4r h\u00e4r inte aktuell. <br \/>\nF\u00f6r installation finns f\u00f6ljande st\u00f6dda scenarier: Docker, WAR, Executable WAR. <\/p>\n<h4>F\u00f6rsta k\u00f6rning<\/h4>\n<p>\nVi g\u00e5r till URL:en f\u00f6r den startade tj\u00e4nsten. Loggar in med admin\/admin, \u00e4ndrar sitt anv\u00e4ndarnamn och l\u00f6senord, och hamnar p\u00e5 Dashboard. N\u00e4sta steg \u00e4r att skapa ett projekt f\u00f6r den testapplikationen p\u00e5 Java i<i> Home\/Projects \u2192 Create Project <\/i>. Som exempel tar vi DVJA.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett\" src=\"\/wp-content\/uploads\/2020\/08\/338aaa1c9ca0ac99f2e857f8ce001a02.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEftersom Dependency Track endast kan ta emot BOM som indata m\u00e5ste vi f\u00e5 tag p\u00e5 denna BOM. Vi anv\u00e4nder <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>\nVi f\u00e5r bom.xml och laddar upp filen i det skapade projektet <i>DVJA \u2192 Dependencies \u2192 Ladda upp BOM<\/i>.<\/p>\n<p>Vi g\u00e5r till Administration \u2192 Analyzers. Vi inser att endast Internal Analyzer \u00e4r aktiverad, som inkluderar NVD. Vi kopplar \u00e4ven in Sonatype OSS Index.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett\" src=\"\/wp-content\/uploads\/2020\/08\/3879a9a3d5f227d9740a984e7b1b91b2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00e5 s\u00e5 s\u00e4tt f\u00e5r vi f\u00f6ljande bild f\u00f6r v\u00e5rt projekt:<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett\" src=\"\/wp-content\/uploads\/2020\/08\/004f2ab3383acb87e3d5e8c0fba1f3c3.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nI listan finns ocks\u00e5 en s\u00e5rbarhet kopplad till Sonatype OSS:<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett\" src=\"\/wp-content\/uploads\/2020\/08\/e459f08218f890b46fb4050c30da63c8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDen st\u00f6rsta besvikelsen var att Dependency Track inte l\u00e4ngre accepterar xml-rapporter fr\u00e5n Dependency Check. De senaste st\u00f6dda versionerna f\u00f6r integration med Dependency Check var 1.0.0 \u2013 4.0.2, medan jag testade 5.3.2.<\/p>\n<p>H\u00e4r \u00e4r <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/d2WMONyBbTw\">video<\/a><\/noindex> (och <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/IPWPISSk5rc\">h\u00e4r<\/a><\/noindex>), n\u00e4r detta fortfarande var m\u00f6jligt. <\/p>\n<h3>Nexus IQ <\/h3>\n<p><\/p>\n<h4>F\u00f6rsta k\u00f6rning<\/h4>\n<p>\nInstallation av Nexus IQ sker fr\u00e5n arkiv genom <noindex><a rel=\"nofollow\" href=\"https:\/\/help.sonatype.com\/iqserver\/installing\/iq-server-installation\">dokumentationen<\/a><\/noindex>, men f\u00f6r dessa \u00e4ndam\u00e5l har vi byggt en Docker-bild.<\/p>\n<p>Efter inloggning i konsolen m\u00e5ste en Organisation och en Applikation skapas.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett\" src=\"\/wp-content\/uploads\/2020\/08\/4c6df91bad77e87ea066ff3514a03644.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"DevSecOps: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett\" src=\"\/wp-content\/uploads\/2020\/08\/d8580ba46852e4d97625a22e215c21d3.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"DevSecOps: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett\" src=\"\/wp-content\/uploads\/2020\/08\/d99ce4e47218001fd1a76722e2633bea.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSom man kan se \u00e4r inst\u00e4llningarna f\u00f6r IQ n\u00e5got mer komplicerade, eftersom vi ocks\u00e5 m\u00e5ste skapa policyer som \u00e4r till\u00e4mpliga f\u00f6r olika 'steg' (dev, build, stage, release). Detta \u00e4r n\u00f6dv\u00e4ndigt f\u00f6r att blockera s\u00e5rbara komponenter n\u00e4r vi g\u00e5r fram\u00e5t i pipelinen mot produktion, eller blockera dem s\u00e5 snart de hamnar i Nexus Repo vid nedladdning av utvecklarna.<\/p>\n<p>F\u00f6r att f\u00f6rst\u00e5 skillnaden mellan \u00f6ppen k\u00e4llkod och enterprise, kommer vi att g\u00f6ra en liknande skanning genom Nexus IQ som vi gjorde genom <noindex><a rel=\"nofollow\" href=\"https:\/\/help.sonatype.com\/integrations\/sonatype-clm-for-maven\">Maven-plugin<\/a><\/noindex>, efter att f\u00f6rst ha skapat en testapplikation i NexusIQ-gr\u00e4nssnittet <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>\nVi g\u00e5r till URL:en f\u00f6r den genererade rapporten i IQ:s webbgr\u00e4nssnitt:<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett\" src=\"\/wp-content\/uploads\/2020\/08\/f81f998037ba53ef62298955077d044d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nH\u00e4r kan vi se alla policy\u00f6vertr\u00e4delser med angivande av olika niv\u00e5er av allvarlighet (fr\u00e5n Info till Security Critical). Bokstaven D bredvid komponenten inneb\u00e4r att komponenten \u00e4r en Direct Dependency, medan bokstaven T bredvid komponenten betyder att den \u00e4r en Transitive Dependency.<\/p>\n<p>F\u00f6rresten, rapporten <noindex><a rel=\"nofollow\" href=\"https:\/\/snyk.io\/open-source-security\/\">State of Open Source Security Report 2020<\/a><\/noindex> fr\u00e5n Snyk rapporterar att \u00f6ver 70% av de \u00f6ppen k\u00e4llkods-s\u00e5rbarheter som uppt\u00e4ckts i Node.js, Java och Ruby finns i transitiva beroenden.<\/p>\n<p>Om vi \u00f6ppnar ett av brotten mot Nexus IQs policy kan vi se en beskrivning av komponenten samt Version Graph, som visar var den aktuella versionen ligger p\u00e5 tidslinjen, samt n\u00e4r s\u00e5rbarheten slutar vara s\u00e5rbar. H\u00f6jden p\u00e5 staplarna i grafen visar populariteten av att anv\u00e4nda denna komponent.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett\" src=\"\/wp-content\/uploads\/2020\/08\/d33968a5ce5904da6f50133f882521fe.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOm vi g\u00e5r till avsnittet f\u00f6r s\u00e5rbarheter och vecklar ut CVE, kan vi l\u00e4sa beskrivningen av denna s\u00e5rbarhet, rekommendationerna f\u00f6r \u00e5tg\u00e4rd samt orsaken till att denna komponent klassificerades som ett brott, det vill s\u00e4ga f\u00f6rekomsten av klassen <code>DiskFileitem.class<\/code>.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett\" src=\"\/wp-content\/uploads\/2020\/08\/6d91b98a9a9a1a62264f1b4194f33ca4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"DevSecOps: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett\" src=\"\/wp-content\/uploads\/2020\/08\/c9e580ad178a9c0307ed1e63d6dd244d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nL\u00e5t oss sammanfatta enbart de som r\u00f6r tredjeparts Java-komponenter och ta bort js-komponenterna. I parentes anger vi antalet s\u00e5rbarheter som har hittats utanf\u00f6r NVD.<\/p>\n<p><b>Totalt Nexus IQ: <\/b><\/p>\n<ul>\n<li>Genomg\u00e5ngna beroenden: 62<\/li>\n<li>S\u00e5rbara beroenden: 16<\/li>\n<li>Hittade s\u00e5rbarheter: 42 (8 sonatype db)<\/li>\n<\/ul>\n<p>\n<b>Totalt Dependency Check: <\/b><\/p>\n<ul>\n<li>Genomg\u00e5ngna beroenden: 47<\/li>\n<li>S\u00e5rbara beroenden: 13<\/li>\n<li>Hittade s\u00e5rbarheter: 91 (14 sonatype oss)<\/li>\n<\/ul>\n<p>\n<b>Totalt Dependency Track: <\/b><\/p>\n<ul>\n<li>Genomg\u00e5ngna beroenden: 59<\/li>\n<li>S\u00e5rbara beroenden: 10<\/li>\n<li>Hittade s\u00e5rbarheter: 51 (1 sonatype oss)<\/li>\n<\/ul>\n<p>\nI n\u00e4sta steg kommer vi att analysera de resultat vi har f\u00e5tt och ta reda p\u00e5 vilka av dessa s\u00e5rbarheter som \u00e4r verkliga defekter och vilka som \u00e4r falska positiva.<\/p>\n<h3>Disclaimer<\/h3>\n<p>\nDenna granskning \u00e4r inte en oemots\u00e4glig sanning. F\u00f6r f\u00f6rfattaren var m\u00e5let inte att lyfta fram ett enskilt verktyg i f\u00f6rh\u00e5llande till andra. Syftet med granskningen var att visa hur SCA-verktygen fungerar och hur man verifierar deras resultat.<\/p>\n<h3>J\u00e4mf\u00f6relse av resultat<\/h3>\n<p>\n<b>Villkor:<\/b><\/p>\n<p><b>En falsk positiv i f\u00f6rh\u00e5llande till s\u00e5rbarheter i tredjeparts komponenter \u00e4r:<\/b><\/p>\n<ul>\n<li><b>Mismatch mellan CVE och den identifierade komponenten<\/b><\/li>\n<li>Till exempel, om en s\u00e5rbarhet har identifierats i struts2-ramverket, men verktyget pekar p\u00e5 komponenten struts-tiles, som inte \u00e4r relevant f\u00f6r denna s\u00e5rbarhet, d\u00e5 \u00e4r det en falsk positiv.<\/li>\n<li><b>Mismatch mellan CVE och den identifierade versionen av komponenten<\/b><\/li>\n<li>Till exempel, om s\u00e5rbarheten \u00e4r knuten till versionen python &gt; 3.5 och verktyget markerar version 2.7 som s\u00e5rbar, \u00e4r det en falsk positiv, eftersom s\u00e5rbarheten faktiskt enbart g\u00e4ller produktversionen 3.x. <\/li>\n<li> <b>Duplicering av CVE<\/b><\/li>\n<li>Till exempel, om SCA pekade p\u00e5 en CVE som m\u00f6jligg\u00f6r RCE och sedan anger samma komponent med en CVE som \u00e4r till\u00e4mplig p\u00e5 Cisco-produkter som \u00e4r s\u00e5rbara f\u00f6r denna RCE, d\u00e5 \u00e4r det en falsk positiv.<\/li>\n<li>Till exempel, CVE hittades i komponenten spring-web, varefter SCA pekar p\u00e5 samma CVE i andra komponenter av ramverket Spring Framework, medan CVE inte har n\u00e5got att g\u00f6ra med andra komponenter. I s\u00e5 fall blir det en falsk positiv. <\/li>\n<\/ul>\n<p>\nForskningsobjektet valdes till Open Source-projektet DVJA. Endast java-komponenter deltog i studien (utan js).<\/p>\n<h3>Sammanfattande resultat<\/h3>\n<p>\nL\u00e5t oss g\u00e5 direkt till resultaten av den manuella genomg\u00e5ngen av de identifierade s\u00e5rbarheterna. Den fullst\u00e4ndiga rapporten f\u00f6r varje CVE kan ses i Bilagan. <\/p>\n<p><i>Sammanfattande resultat f\u00f6r alla s\u00e5rbarheter:<\/i><\/p>\n<p>Parameter<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nDependency Track<\/p>\n<p>Totalt uppt\u00e4ckta s\u00e5rbarheter<br \/>\n42<br \/>\n91<br \/>\n51<\/p>\n<p>Felaktigt identifierade s\u00e5rbarheter (falsk positiv)<br \/>\n2(4.76%)<br \/>\n62(68,13%)<br \/>\n29(56.86%)<\/p>\n<p>Inga relevanta s\u00e5rbarheter uppt\u00e4cktes (falsk negativ)<br \/>\n10<br \/>\n20<br \/>\n27<\/p>\n<p>\n<i>Sammanfattande resultat per komponent:<\/i><\/p>\n<p>Parameter<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nDependency Track<\/p>\n<p>Totalt uppt\u00e4ckta komponenter<br \/>\n62<br \/>\n47<br \/>\n59<\/p>\n<p>Totalt s\u00e5rbara komponenter<br \/>\n16<br \/>\n13<br \/>\n10<\/p>\n<p>Felaktigt identifierade s\u00e5rbara komponenter (falska positiva)<br \/>\n1<br \/>\n5<br \/>\n0<\/p>\n<p>Felaktigt identifierade s\u00e5rbara komponenter (falska positiva)<br \/>\n0<br \/>\n6<br \/>\n6<\/p>\n<p>\nVi bygger visuella grafer f\u00f6r att bed\u00f6ma f\u00f6rh\u00e5llandet mellan falska positiva och falska negativa i f\u00f6rh\u00e5llande till det totala antalet s\u00e5rbarheter. Horisontellt visas komponenterna, och vertikalt de identifierade s\u00e5rbarheterna. <\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett\" src=\"\/wp-content\/uploads\/2020\/08\/967b8e168383299d4a1bf4065f1905ca.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"DevSecOps: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett\" src=\"\/wp-content\/uploads\/2020\/08\/2e128ee59e551894c25e4c9e28997008.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"DevSecOps: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett\" src=\"\/wp-content\/uploads\/2020\/08\/585d7bcef052ef24e4de6c7e1a4e7c0b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nF\u00f6r j\u00e4mf\u00f6relse har ett liknande forskningsprojekt genomf\u00f6rts av Sonatype f\u00f6r att testa ett projekt som best\u00e5r av 1531 komponenter med hj\u00e4lp av OWASP Dependency Check. Som vi kan se \u00e4r f\u00f6rh\u00e5llandet mellan brus och korrekta tr\u00e4ffar \u00f6verensst\u00e4mmande med v\u00e5ra resultat.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett\" src=\"\/wp-content\/uploads\/2020\/08\/286c34b84f1400af0285b711b3fe87f2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>K\u00e4lla: <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>L\u00e5t oss titta p\u00e5 n\u00e5gra CVE fr\u00e5n resultaten av v\u00e5r skanning f\u00f6r att f\u00f6rst\u00e5 orsaken till dessa resultat.<\/p>\n<h3>L\u00e4s mer<\/h3>\n<p><\/p>\n<h4>Nr 1<\/h4>\n<p>\nL\u00e5t oss f\u00f6rst g\u00e5 igenom n\u00e5gra intressanta punkter fr\u00e5n Sonatype Nexus IQ.<\/p>\n<p>Nexus IQ indikerar ett problem med deserialisering som m\u00f6jligg\u00f6r RCE i Spring Framework flera g\u00e5nger. CVE-2016-1000027 i spring-web:3.0.5 f\u00f6r f\u00f6rsta g\u00e5ngen, och CVE-2011-2894 i spring-context:3.0.5 och spring-core:3.0.5. Inledningsvis verkar det som om s\u00e5rbarheten duppliceras \u00f6ver flera CVE. Om man tittar p\u00e5 CVE-2016-1000027 och CVE-2011-2894 i NVD-databasen verkar allt uppenbart.<\/p>\n<p>Komponent<br \/>\nS\u00e5rbarhet<\/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>\nBeskrivning <noindex><a rel=\"nofollow\" href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2011-2894\">CVE-2011-2894<\/a><\/noindex> fr\u00e5n NVD:<br \/>\n<img decoding=\"async\" alt=\"DevSecOps: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett\" src=\"\/wp-content\/uploads\/2020\/08\/31b403eca6d7541c766c9a560bfbe6b7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBeskrivning <noindex><a rel=\"nofollow\" href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2016-1000027\">CVE-2016-1000027<\/a><\/noindex> fr\u00e5n NVD:<br \/>\n<img decoding=\"async\" alt=\"DevSecOps: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett\" src=\"\/wp-content\/uploads\/2020\/08\/d5b54a6ac15070b12f013eaacd2878f2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCVE-2011-2894 \u00e4r ganska k\u00e4nd i sig. I rapporten <noindex><a rel=\"nofollow\" href=\"http:\/\/www.pwntester.com\/blog\/2013\/12\/16\/cve-2011-2894-deserialization-spring-rce\/\">White Source f\u00f6r 2011<\/a><\/noindex> erk\u00e4ndes denna CVE som en av de vanligaste. Det finns ganska lite information f\u00f6r CVE-2016-100027 i NVD, och den verkar bara vara till\u00e4mplig p\u00e5 Spring Framework 4.1.4. L\u00e5t oss titta p\u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.tenable.com\/security\/research\/tra-2016-20\">referens<\/a><\/noindex> och h\u00e4r blir det mer eller mindre klart. Fr\u00e5n <noindex><a rel=\"nofollow\" href=\"https:\/\/www.tenable.com\/security\/research\/tra-2016-20\">artikeln Tenable<\/a><\/noindex> f\u00f6rst\u00e5r vi att ut\u00f6ver s\u00e5rbarheten i <code>RemoteInvocationSerializingExporter<\/code> i CVE-2011-2894 finns det ocks\u00e5 en s\u00e5rbarhet i <code>HttpInvokerServiceExporter<\/code>. Det h\u00e4r s\u00e4ger Nexus IQ till oss:<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett\" src=\"\/wp-content\/uploads\/2020\/08\/a33f0853ce892d28eafafe2c8e7b2228.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00c4nd\u00e5 finns inget liknande i NVD, vilket g\u00f6r att Dependency Check och Dependency Track f\u00e5r falska negativa.<\/p>\n<p>\u00c4ven fr\u00e5n beskrivningen av CVE-2011-2894 kan vi f\u00f6rst\u00e5 att s\u00e5rbarheten faktiskt finns i spring-context:3.0.5 och spring-core:3.0.5. Bekr\u00e4ftelse p\u00e5 detta kan hittas i artikeln av den som uppt\u00e4ckte s\u00e5rbarheten.<\/p>\n<h4>Nr 2<\/h4>\n<p><\/p>\n<p>Komponent<br \/>\nS\u00e5rbarhet<br \/>\nResultat<\/p>\n<p>struts2-core:2.3.30<br \/>\nCVE-2016-4003<br \/>\nFALSK<\/p>\n<p>\nOm vi studerar s\u00e5rbarheten CVE-2016-4003, s\u00e5 f\u00f6rst\u00e5r vi att den \u00e5tg\u00e4rdades redan i version 2.3.28, men \u00e4nd\u00e5 rapporterar Nexus IQ om den. I s\u00e5rbarhetsbeskrivningen finns en anm\u00e4rkning:<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett\" src=\"\/wp-content\/uploads\/2020\/08\/081f9006748083727e424b709a338d60.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDet vill s\u00e4ga, s\u00e5rbarheten finns endast i samband med en f\u00f6r\u00e5ldrad version av JRE, vilket vi fick information om. \u00c4nd\u00e5 anser vi att detta \u00e4r en falsk positiv, \u00e4ven om det inte \u00e4r det mest alarmerande.<\/p>\n<h4>Nr 3<\/h4>\n<p><\/p>\n<p>Komponent<br \/>\nS\u00e5rbarhet<br \/>\nResultat<\/p>\n<p>xwork-core:2.3.30<br \/>\nCVE-2017-9804<br \/>\nSANN<\/p>\n<p>xwork-core:2.3.30<br \/>\nCVE-2017-7672<br \/>\nFALSK<\/p>\n<p>\nOm vi tittar p\u00e5 beskrivningen f\u00f6r CVE-2017-9804 och CVE-2017-7672, s\u00e5 f\u00f6rst\u00e5r vi att problemet ligger i <code>URLValidator class<\/code>, och CVE-2017-9804 h\u00e4rstammar fr\u00e5n CVE-2017-7672. F\u00f6rekomsten av den andra s\u00e5rbarheten medf\u00f6r ingen nyttig belastning f\u00f6rutom att dess allvarlighetsgrad \u00f6kade till h\u00f6g, s\u00e5 detta kan ses som on\u00f6dig st\u00f6rning.<\/p>\n<p>Generellt har inga andra falska positiva f\u00f6r Nexus IQ hittats.<\/p>\n<h3>Nr 4<\/h3>\n<p>\nDet finns n\u00e5gra punkter som s\u00e4rskiljer IQ fr\u00e5n andra l\u00f6sningar.<\/p>\n<p>Komponent<br \/>\nS\u00e5rbarhet<br \/>\nResultat<\/p>\n<p>spring-web:3.0.5<br \/>\nCVE-2020-5398<br \/>\nSANN<\/p>\n<p>CVE i NVD rapporterar att det endast \u00e4r till\u00e4mpligt f\u00f6r versioner 5.2.x upp till 5.2.3, 5.1.x upp till 5.1.13, och versioner 5.0.x upp till 5.0.16, men om vi ser p\u00e5 CVE-beskrivningen i Nexus IQ kommer vi att se f\u00f6ljande:<br \/>\n<i>Advisory Deviation Notice: Sonatype s\u00e4kerhetsforskningsgrupp uppt\u00e4ckte att denna s\u00e5rbarhet introducerades i version 3.0.2.RELEASE och inte 5.0.x som anges i meddelandet.<\/i><\/p>\n<p>Efter detta f\u00f6ljer en PoC f\u00f6r denna s\u00e5rbarhet, som rapporterar att den finns i version 3.0.5.<\/p>\n<p>Falska negativa skickas till Dependency Check och Dependency Track.<\/p>\n<h3>Nr 5<\/h3>\n<p>\nL\u00e5t oss titta p\u00e5 falska positiva f\u00f6r Dependency Check och Dependency Track.<\/p>\n<p>Dependency Check framh\u00e4vs av att den speglar de CVE som g\u00e4ller f\u00f6r hela ramverket i NVD, i de komponenter d\u00e4r dessa CVE inte \u00e4r till\u00e4mpliga. Detta g\u00e4ller CVE-2012-0394, CVE-2013-2115, CVE-2014-0114, CVE-2015-0899, CVE-2015-2992, CVE-2016-1181, CVE-2016-1182, som Dependency Check \"kopplade\" till struts-taglib:1.3.8 och struts-tiles-1.3.8. Dessa komponenter har inget att g\u00f6ra med vad som beskrivs i CVE \u2014 hantering av f\u00f6rfr\u00e5gningar, validering av sidor och s\u00e5 vidare. Detta beror p\u00e5 att det enda som f\u00f6renar dessa CVE och komponenterna \u00e4r ramverket, vilket \u00e4r anledningen till att Dependency Check bed\u00f6mde detta som en s\u00e5rbarhet.<\/p>\n<p>Samma situation med spring-tx:3.0.5, och en liknande situation med struts-core:1.3.8. F\u00f6r struts-core har Dependency Check och Dependency Track hittat m\u00e5nga s\u00e5rbarheter som egentligen g\u00e4ller struts2-core, som i grund och botten \u00e4r ett separat ramverk. I detta fall f\u00f6rstod Nexus IQ bilden korrekt och angav i de CVE som den gav att struts-core har n\u00e5tt slutet av livet och att man b\u00f6r \u00f6verg\u00e5 till struts2-core.<\/p>\n<h3>\u21166<\/h3>\n<p>\nI vissa situationer \u00e4r det or\u00e4ttvist att tolka den uppenbara felet i Dependency Check och Dependency Track. S\u00e4rskilt CVE-2013-4152, CVE-2013-6429, CVE-2013-6430, CVE-2013-7315, CVE-2014-0054, CVE-2014-0225, CVE-2014-0225, som Dependency Check och Dependency Track h\u00e4nf\u00f6r till spring-core:3.0.5, g\u00e4ller faktiskt spring-web:3.0.5. Samtidigt har Nexus IQ hittat n\u00e5gra av dessa CVE, men IQ har korrekt identifierat dem f\u00f6r en annan komponent. Det faktum att dessa s\u00e5rbarheter inte hittades i spring-core inneb\u00e4r inte att de inte finns i ramverket i allm\u00e4nhet, och open source-verktyg har rimligt nog pekat p\u00e5 dessa s\u00e5rbarheter (de missade bara lite). <\/p>\n<h3>Slutsatser<\/h3>\n<p>\nSom vi kan se ger en manuell granskning av riktigheten av de identifierade s\u00e5rbarheterna inget entydigt resultat, vilket skapar tvetydiga situationer. Resultaten visar att Nexus IQ-l\u00f6sningen har den l\u00e4gsta graden av falska positiva och den st\u00f6rsta noggrannheten. <\/p>\n<p>Detta beror fr\u00e4mst p\u00e5 att Sonatype-teamet har ut\u00f6kat beskrivningen f\u00f6r varje CVE-s\u00e5rbarhet fr\u00e5n NVD i sina databaser, och angivit med exakthet till klass eller funktion av s\u00e5rbarheten f\u00f6r varje version av komponenten, efter att ha genomf\u00f6rt ytterligare forskning (till exempel genom att kontrollera s\u00e5rbarheter i \u00e4ldre versioner av programvaran). <\/p>\n<p>\u00c4ven s\u00e5rbarheterna som inte har kommit in i NVD, men \u00e4nd\u00e5 finns i Sonatype-databasen med SONATYPE-m\u00e4rkning, har en betydande inverkan p\u00e5 resultaten. Enligt rapporten <noindex><a rel=\"nofollow\" href=\"https:\/\/www.whitesourcesoftware.com\/open-source-vulnerability-management-report\/\">Tillst\u00e5ndet f\u00f6r s\u00e5rbarheter inom \u00f6ppen k\u00e4llkod 2020<\/a><\/noindex> ang\u00e5ende 45 % av de uppt\u00e4ckta s\u00e5rbarheterna med \u00f6ppen k\u00e4llkod rapporteras inte i NVD. Enligt WhiteSources databas publiceras endast 29 % av alla s\u00e5rbarheter med \u00f6ppen k\u00e4llkod, registrerade utanf\u00f6r NVD, i slut\u00e4ndan i den, s\u00e5 det \u00e4r viktigt att ocks\u00e5 s\u00f6ka efter s\u00e5rbarheter i andra k\u00e4llor.<\/p>\n<p>Som ett resultat ger Dependency Check en stor m\u00e4ngd brus, d\u00e4r den missar en del s\u00e5rbara komponenter. Dependency Track ger mindre brus och identifierar ett stort antal komponenter, vilket visuellt \u00e4r mindre st\u00f6rande i webbgr\u00e4nssnittet.<\/p>\n<p>\u00c4nd\u00e5 visar praktiken att det \u00e4r open source som b\u00f6r vara det f\u00f6rsta steget mot en mogen DevSecOps. Det f\u00f6rsta man b\u00f6r \u00f6verv\u00e4ga f\u00f6r att integrera SCA i utvecklingen \u00e4r processerna, det vill s\u00e4ga att tillsammans med ledningen och ber\u00f6rda avdelningar diskutera hur de ideala processerna b\u00f6r se ut i organisationen. Det kan h\u00e4nda att det visar sig att Dependency Check eller Dependency Track till en b\u00f6rjan kommer att m\u00f6ta alla aff\u00e4rens behov, medan f\u00f6retagsl\u00f6sningar kommer att vara en logisk forts\u00e4ttning p\u00e5 grund av den v\u00e4xande komplexiteten hos de utvecklade applikationerna.<\/p>\n<p>                        <b class=\"spoiler_title\">Bilaga A. Resultat relaterade till komponenterna<\/b><br \/>\n                        <b>Beteckningar:<\/b><\/p>\n<ul>\n<li>High \u2014 s\u00e5rbarheter av h\u00f6g och kritisk niv\u00e5 i komponenten<\/li>\n<li>Medium \u2014 s\u00e5rbarheter av medelh\u00f6g kritikalitet i komponenten<\/li>\n<li>TRUE \u2014 Korrekt identifierad s\u00e5rbarhet (True positive issue)<\/li>\n<li>FALSE \u2014 Falsk positiv (False positive issue)<\/li>\n<\/ul>\n<p><\/p>\n<p>Komponent<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nDependency Track<br \/>\nResultat<\/p>\n<p>dom4j: 1.6.1<br \/>\nH\u00f6g<br \/>\nH\u00f6g<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>log4j-core: 2.3<br \/>\nH\u00f6g<br \/>\nH\u00f6g<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>log4j: 1.2.14<br \/>\nH\u00f6g<br \/>\nH\u00f6g<br \/>\n\u2014<br \/>\nSANN<\/p>\n<p>commons-collections:3.1<br \/>\nH\u00f6g<br \/>\nH\u00f6g<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>commons-fileupload:1.3.2<br \/>\nH\u00f6g<br \/>\nH\u00f6g<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>commons-beanutils:1.7.0<br \/>\nH\u00f6g<br \/>\nH\u00f6g<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>commons-codec:1:10<br \/>\nMedium<br \/>\n\u2014<br \/>\n\u2014<br \/>\nSANN<\/p>\n<p>mysql-connector-java:5.1.42<br \/>\nH\u00f6g<br \/>\nH\u00f6g<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>spring-expression:3.0.5<br \/>\nH\u00f6g<br \/>\nkomponenten hittades inte<\/p>\n<p>SANN<\/p>\n<p>spring-web:3.0.5<br \/>\nH\u00f6g<br \/>\nkomponenten hittades inte<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>spring-context:3.0.5<br \/>\nMedium<br \/>\nkomponenten hittades inte<br \/>\n\u2014<br \/>\nSANN<\/p>\n<p>spring-core:3.0.5<br \/>\nMedium<br \/>\nH\u00f6g<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>struts2-config-browser-plugin:2.3.30<br \/>\nMedium<br \/>\n\u2014<br \/>\n\u2014<br \/>\nSANN<\/p>\n<p>spring-tx:3.0.5<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\n\u2014<br \/>\nFALSK<\/p>\n<p>struts-core:1.3.8<br \/>\nH\u00f6g<br \/>\nH\u00f6g<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>xwork-core: 2.3.30<br \/>\nH\u00f6g<br \/>\n\u2014<br \/>\n\u2014<br \/>\nSANN<\/p>\n<p>struts2-core: 2.3.30<br \/>\nH\u00f6g<br \/>\nH\u00f6g<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>struts-taglib:1.3.8<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\n\u2014<br \/>\nFALSK<\/p>\n<p>struts-tiles-1.3.8<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\n\u2014<br \/>\nFALSK<\/p>\n<p><\/p>\n<p>                        <b class=\"spoiler_title\">Bilaga B. Resultat relaterade till s\u00e5rbarheterna<\/b><br \/>\n                        <b>Beteckningar:<\/b><\/p>\n<ul>\n<li>High \u2014 s\u00e5rbarheter av h\u00f6g och kritisk niv\u00e5 i komponenten<\/li>\n<li>Medium \u2014 s\u00e5rbarheter av medelh\u00f6g kritikalitet i komponenten<\/li>\n<li>TRUE \u2014 Korrekt identifierad s\u00e5rbarhet (True positive issue)<\/li>\n<li>FALSE \u2014 Falsk positiv (False positive issue)<\/li>\n<\/ul>\n<p><\/p>\n<p>Komponent<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nDependency Track<br \/>\nSv\u00e5righetsgrad<br \/>\nResultat<br \/>\nKommentar<\/p>\n<p>dom4j: 1.6.1<br \/>\nCVE-2018-1000632<br \/>\nCVE-2018-1000632<br \/>\nCVE-2018-1000632<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>CVE-2020-10683<br \/>\nCVE-2020-10683<br \/>\nCVE-2020-10683<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>log4j-core: 2.3<br \/>\nCVE-2017-5645<br \/>\nCVE-2017-5645<br \/>\nCVE-2017-5645<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>CVE-2020-9488<br \/>\nCVE-2020-9488<br \/>\nCVE-2020-9488<br \/>\nL\u00e5g<br \/>\nSANN<\/p>\n<p>log4j: 1.2.14<br \/>\nCVE-2019-17571<br \/>\nCVE-2019-17571<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>\u2014<br \/>\nCVE-2020-9488<br \/>\n\u2014<br \/>\nL\u00e5g<br \/>\nSANN<\/p>\n<p>SONATYPE-2010-0053<br \/>\n\u2014<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>commons-collections:3.1<br \/>\n\u2014<br \/>\nCVE-2015-6420<br \/>\nCVE-2015-6420<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nDubbelkopiering av RCE(OSSINDEX)<\/p>\n<p>\u2014<br \/>\nCVE-2017-15708<br \/>\nCVE-2017-15708<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nDubbelkopiering av RCE(OSSINDEX)<\/p>\n<p>SONATYPE-2015-0002<br \/>\nRCE (OSSINDEX)<br \/>\nRCE(OSSINDEX)<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>commons-fileupload:1.3.2<br \/>\nCVE-2016-1000031<br \/>\nCVE-2016-1000031<br \/>\nCVE-2016-1000031<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>SONATYPE-2014-0173<br \/>\n\u2014<br \/>\n\u2014<br \/>\nMedium<br \/>\nSANN<\/p>\n<p>commons-beanutils:1.7.0<br \/>\nCVE-2014-0114<br \/>\nCVE-2014-0114<br \/>\nCVE-2014-0114<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>\u2014<br \/>\nCVE-2019-10086<br \/>\nCVE-2019-10086<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nS\u00e5rbarheten g\u00e4ller endast versioner 1.9.2+<\/p>\n<p>commons-codec:1:10<br \/>\nSONATYPE-2012-0050<br \/>\n\u2014<br \/>\n\u2014<br \/>\nMedium<br \/>\nSANN<\/p>\n<p>mysql-connector-java:5.1.42<br \/>\nCVE-2018-3258<br \/>\nCVE-2018-3258<br \/>\nCVE-2018-3258<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>CVE-2019-2692<br \/>\nCVE-2019-2692<br \/>\n\u2014<br \/>\nMedium<br \/>\nSANN<\/p>\n<p>\u2014<br \/>\nCVE-2020-2875<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSK<br \/>\nSamma s\u00e5rbarhet som CVE-2019-2692, men med till\u00e4gget \"attacker kan betydligt p\u00e5verka ytterligare produkter\"<\/p>\n<p>\u2014<br \/>\nCVE-2017-15945<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nG\u00e4ller inte mysql-connector-java<\/p>\n<p>\u2014<br \/>\nCVE-2020-2933<br \/>\n\u2014<br \/>\nL\u00e5g<br \/>\nFALSK<br \/>\nDubbelkopiering av CVE-2020-2934<\/p>\n<p>CVE-2020-2934<br \/>\nCVE-2020-2934<br \/>\n\u2014<br \/>\nMedium<br \/>\nSANN<\/p>\n<p>spring-expression:3.0.5<br \/>\nCVE-2018-1270<br \/>\nkomponenten hittades inte<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>CVE-2018-1257<br \/>\n\u2014<br \/>\n\u2014<br \/>\nMedium<br \/>\nSANN<\/p>\n<p>spring-web:3.0.5<br \/>\nCVE-2016-1000027<br \/>\nkomponenten hittades inte<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>CVE-2014-0225<br \/>\n\u2014<br \/>\nCVE-2014-0225<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>CVE-2011-2730<br \/>\n\u2014<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>\u2014<br \/>\n\u2014<br \/>\nCVE-2013-4152<br \/>\nMedium<br \/>\nSANN<\/p>\n<p>CVE-2018-1272<br \/>\n\u2014<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>CVE-2020-5398<br \/>\n\u2014<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nSANN<br \/>\nEtt exempel som st\u00f6djer IQ: \"Sonatype s\u00e4kerhetsforskningsgrupp uppt\u00e4ckte att denna s\u00e5rbarhet introducerades i version 3.0.2.RELEASE och inte 5.0.x som anges i meddelandet.\"<\/p>\n<p>CVE-2013-6429<br \/>\n\u2014<br \/>\n\u2014<br \/>\nMedium<br \/>\nSANN<\/p>\n<p>CVE-2014-0054<br \/>\n\u2014<br \/>\nCVE-2014-0054<br \/>\nMedium<br \/>\nSANN<\/p>\n<p>CVE-2013-6430<br \/>\n\u2014<br \/>\n\u2014<br \/>\nMedium<br \/>\nSANN<\/p>\n<p>spring-context:3.0.5<br \/>\nCVE-2011-2894<br \/>\nkomponenten hittades inte<br \/>\n\u2014<br \/>\nMedium<br \/>\nSANN<\/p>\n<p>spring-core:3.0.5<br \/>\n\u2014<br \/>\nCVE-2011-2730<br \/>\nCVE-2011-2730<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>CVE-2011-2894<br \/>\nCVE-2011-2894<br \/>\nCVE-2011-2894<br \/>\nMedium<br \/>\nSANN<\/p>\n<p>\u2014<br \/>\n\u2014<br \/>\nCVE-2013-4152<br \/>\nMedium<br \/>\nFALSK<br \/>\nDubbelkopiering av samma s\u00e5rbarhet i spring-web<\/p>\n<p>\u2014<br \/>\nCVE-2013-4152<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSK<br \/>\nS\u00e5rbarheten g\u00e4ller komponenten spring-web<\/p>\n<p>\u2014<br \/>\nCVE-2013-6429<br \/>\nCVE-2013-6429<br \/>\nMedium<br \/>\nFALSK<br \/>\nS\u00e5rbarheten g\u00e4ller komponenten spring-web<\/p>\n<p>\u2014<br \/>\nCVE-2013-6430<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSK<br \/>\nS\u00e5rbarheten g\u00e4ller komponenten spring-web<\/p>\n<p>\u2014<br \/>\nCVE-2013-7315<br \/>\nCVE-2013-7315<br \/>\nMedium<br \/>\nFALSK<br \/>\nSPLIT fr\u00e5n CVE-2013-4152. + S\u00e5rbarheten g\u00e4ller komponenten spring-web<\/p>\n<p>\u2014<br \/>\nCVE-2014-0054<br \/>\nCVE-2014-0054<br \/>\nMedium<br \/>\nFALSK<br \/>\nS\u00e5rbarheten g\u00e4ller komponenten spring-web<\/p>\n<p>\u2014<br \/>\nCVE-2014-0225<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nS\u00e5rbarheten g\u00e4ller komponenten spring-web<\/p>\n<p>\u2014<br \/>\n\u2014<br \/>\nCVE-2014-0225<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nDubbelkopiering av samma s\u00e5rbarhet i spring-web<\/p>\n<p>\u2014<br \/>\nCVE-2014-1904<br \/>\nCVE-2014-1904<br \/>\nMedium<br \/>\nFALSK<br \/>\nS\u00e5rbarheten g\u00e4ller komponenten spring-web-mvc<\/p>\n<p>\u2014<br \/>\nCVE-2014-3625<br \/>\nCVE-2014-3625<br \/>\nMedium<br \/>\nFALSK<br \/>\nS\u00e5rbarheten g\u00e4ller komponenten spring-web-mvc<\/p>\n<p>\u2014<br \/>\nCVE-2016-9878<br \/>\nCVE-2016-9878<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nS\u00e5rbarheten g\u00e4ller komponenten spring-web-mvc<\/p>\n<p>\u2014<br \/>\nCVE-2018-1270<br \/>\nCVE-2018-1270<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nF\u00f6r spring-expression \/ spring-messages<\/p>\n<p>\u2014<br \/>\nCVE-2018-1271<br \/>\nCVE-2018-1271<br \/>\nMedium<br \/>\nFALSK<br \/>\nS\u00e5rbarheten g\u00e4ller komponenten spring-web-mvc<\/p>\n<p>\u2014<br \/>\nCVE-2018-1272<br \/>\nCVE-2018-1272<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>CVE-2014-3578<br \/>\nCVE-2014-3578 (OSSINDEX)<br \/>\nCVE-2014-3578<br \/>\nMedium<br \/>\nSANN<\/p>\n<p>SONATYPE-2015-0327<br \/>\n\u2014<br \/>\n\u2014<br \/>\nL\u00e5g<br \/>\nSANN<\/p>\n<p>struts2-config-browser-plugin:2.3.30<br \/>\nSONATYPE-2016-0104<br \/>\n\u2014<br \/>\n\u2014<br \/>\nMedium<br \/>\nSANN<\/p>\n<p>spring-tx:3.0.5<br \/>\n\u2014<br \/>\nCVE-2011-2730<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nS\u00e5rbarheten g\u00e4ller inte spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2011-2894<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nS\u00e5rbarheten g\u00e4ller inte spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2013-4152<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSK<br \/>\nS\u00e5rbarheten g\u00e4ller inte spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2013-6429<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSK<br \/>\nS\u00e5rbarheten g\u00e4ller inte spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2013-6430<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSK<br \/>\nS\u00e5rbarheten g\u00e4ller inte spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2013-7315<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSK<br \/>\nS\u00e5rbarheten g\u00e4ller inte spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2014-0054<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSK<br \/>\nS\u00e5rbarheten g\u00e4ller inte spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2014-0225<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nS\u00e5rbarheten g\u00e4ller inte spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2014-1904<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSK<br \/>\nS\u00e5rbarheten g\u00e4ller inte spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2014-3625<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSK<br \/>\nS\u00e5rbarheten g\u00e4ller inte spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2016-9878<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nS\u00e5rbarheten g\u00e4ller inte spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2018-1270<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nS\u00e5rbarheten g\u00e4ller inte spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2018-1271<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSK<br \/>\nS\u00e5rbarheten g\u00e4ller inte spring-tx<\/p>\n<p>\u2014<br \/>\nCVE-2018-1272<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSK<br \/>\nS\u00e5rbarheten g\u00e4ller inte spring-tx<\/p>\n<p>struts-core:1.3.8<br \/>\n\u2014<br \/>\nCVE-2011-5057 (OSSINDEX)<\/p>\n<p>Medium<br \/>\nFASLE<br \/>\nS\u00e5rbarhet ang\u00e5ende Struts 2<\/p>\n<p>\u2014<br \/>\nCVE-2012-0391 (OSSINDEX)<br \/>\nCVE-2012-0391<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nS\u00e5rbarhet ang\u00e5ende Struts 2<\/p>\n<p>\u2014<br \/>\nCVE-2014-0094 (OSSINDEX)<br \/>\nCVE-2014-0094<br \/>\nMedium<br \/>\nFALSK<br \/>\nS\u00e5rbarhet ang\u00e5ende Struts 2<\/p>\n<p>\u2014<br \/>\nCVE-2014-0113 (OSSINDEX)<br \/>\nCVE-2014-0113<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nS\u00e5rbarhet ang\u00e5ende Struts 2<\/p>\n<p>CVE-2016-1182<br \/>\n3VE-2016-1182<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>\u2014<br \/>\n\u2014<br \/>\nCVE-2011-5057<br \/>\nMedium<br \/>\nFALSK<br \/>\nS\u00e5rbarhet ang\u00e5ende Struts 2<\/p>\n<p>\u2014<br \/>\nCVE-2012-0392 (OSSINDEX)<br \/>\nCVE-2012-0392<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nS\u00e5rbarhet ang\u00e5ende Struts 2<\/p>\n<p>\u2014<br \/>\nCVE-2012-0393 (OSSINDEX)<br \/>\nCVE-2012-0393<br \/>\nMedium<br \/>\nFALSK<br \/>\nS\u00e5rbarhet ang\u00e5ende Struts 2<\/p>\n<p>CVE-2015-0899<br \/>\nCVE-2015-0899<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>\u2014<br \/>\nCVE-2012-0394<br \/>\nCVE-2012-0394<br \/>\nMedium<br \/>\nFALSK<br \/>\nS\u00e5rbarhet ang\u00e5ende Struts 2<\/p>\n<p>\u2014<br \/>\nCVE-2012-0838 (OSSINDEX)<br \/>\nCVE-2012-0838<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nS\u00e5rbarhet ang\u00e5ende Struts 2<\/p>\n<p>\u2014<br \/>\nCVE-2013-1965 (OSSINDEX)<br \/>\nCVE-2013-1965<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nS\u00e5rbarhet ang\u00e5ende Struts 2<\/p>\n<p>\u2014<br \/>\nCVE-2013-1966 (OSSINDEX)<br \/>\nCVE-2013-1966<br \/>\nH\u00f6g<br \/>\nFASLE<br \/>\nS\u00e5rbarhet ang\u00e5ende Struts 2<\/p>\n<p>\u2014<br \/>\nCVE-2013-2115<br \/>\nCVE-2013-2115<br \/>\nH\u00f6g<br \/>\nFASLE<br \/>\nS\u00e5rbarhet ang\u00e5ende Struts 2<\/p>\n<p>\u2014<br \/>\nCVE-2013-2134 (OSSINDEX)<br \/>\nCVE-2013-2134<br \/>\nH\u00f6g<br \/>\nFASLE<br \/>\nS\u00e5rbarhet ang\u00e5ende Struts 2<\/p>\n<p>\u2014<br \/>\nCVE-2013-2135 (OSSINDEX)<br \/>\nCVE-2013-2135<br \/>\nH\u00f6g<br \/>\nFASLE<br \/>\nS\u00e5rbarhet ang\u00e5ende Struts 2<\/p>\n<p>CVE-2014-0114<br \/>\nCVE-2014-0114<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>\u2014<br \/>\nCVE-2015-2992<br \/>\nCVE-2015-2992<br \/>\nMedium<br \/>\nFALSK<br \/>\nS\u00e5rbarhet ang\u00e5ende Struts 2<\/p>\n<p>\u2014<br \/>\nCVE-2016-0785 (OSSINDEX)<br \/>\nCVE-2016-0785<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nS\u00e5rbarhet ang\u00e5ende Struts 2<\/p>\n<p>CVE-2016-1181<br \/>\nCVE-2016-1181<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>\u2014<br \/>\nCVE-2016-4003 (OSSINDEX)<br \/>\nCVE-2016-4003<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nS\u00e5rbarhet ang\u00e5ende Struts 2<\/p>\n<p>xwork-core:2.3.30<br \/>\nCVE-2017-9804<br \/>\n\u2014<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>SONATYPE-2017-0173<br \/>\n\u2014<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>CVE-2017-7672<br \/>\n\u2014<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nDubbel till CVE-2017-9804<\/p>\n<p>SONATYPE-2016-0127<br \/>\n\u2014<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>struts2-core:2.3.30<br \/>\n\u2014<br \/>\nCVE-2016-6795<br \/>\nCVE-2016-6795<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>\u2014<br \/>\nCVE-2017-9787<br \/>\nCVE-2017-9787<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>\u2014<br \/>\nCVE-2017-9791<br \/>\nCVE-2017-9791<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>\u2014<br \/>\nCVE-2017-9793<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nDuplikat till CVE-2018-1327<\/p>\n<p>\u2014<br \/>\nCVE-2017-9804<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>\u2014<br \/>\nCVE-2017-9805<br \/>\nCVE-2017-9805<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>CVE-2016-4003<br \/>\n\u2014<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSK<br \/>\nTill\u00e4mpligt f\u00f6r Apache Struts 2.x upp till 2.3.28, men detta \u00e4r version 2.3.30. \u00c4nd\u00e5, enligt beskrivningen, g\u00e4ller CVE f\u00f6r alla versioner av Struts 2 om JRE 1.7 eller l\u00e4gre anv\u00e4nds. Det verkar som att man ville vara p\u00e5 den s\u00e4kra sidan, men det k\u00e4nns mer som en FALSE<\/p>\n<p>\u2014<br \/>\nCVE-2018-1327<br \/>\nCVE-2018-1327<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>CVE-2017-5638<br \/>\nCVE-2017-5638<br \/>\nCVE-2017-5638<br \/>\nH\u00f6g<br \/>\nSANN<br \/>\nDen s\u00e5rbarhet som utnyttjades av angriparna i Equifax 2017<\/p>\n<p>CVE-2017-12611<br \/>\nCVE-2017-12611<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>CVE-2018-11776<br \/>\nCVE-2018-11776<br \/>\nCVE-2018-11776<br \/>\nH\u00f6g<br \/>\nSANN<\/p>\n<p>struts-taglib:1.3.8<br \/>\n\u2014<br \/>\nCVE-2012-0394<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSK<br \/>\nF\u00f6r struts2-core<\/p>\n<p>\u2014<br \/>\nCVE-2013-2115<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nF\u00f6r struts2-core<\/p>\n<p>\u2014<br \/>\nCVE-2014-0114<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nF\u00f6r commons-beanutils<\/p>\n<p>\u2014<br \/>\nCVE-2015-0899<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nInte relaterat till taglib<\/p>\n<p>\u2014<br \/>\nCVE-2015-2992<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSK<br \/>\nRelaterat till struts2-core<\/p>\n<p>\u2014<br \/>\nCVE-2016-1181<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nInte relaterat till taglib<\/p>\n<p>\u2014<br \/>\nCVE-2016-1182<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nInte relaterat till taglib<\/p>\n<p>struts-tiles-1.3.8<br \/>\n\u2014<br \/>\nCVE-2012-0394<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSK<br \/>\nF\u00f6r struts2-core<\/p>\n<p>\u2014<br \/>\nCVE-2013-2115<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nF\u00f6r struts2-core<\/p>\n<p>\u2014<br \/>\nCVE-2014-0114<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nUnder commons-beanutils<\/p>\n<p>\u2014<br \/>\nCVE-2015-0899<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nInte relaterat till tiles<\/p>\n<p>\u2014<br \/>\nCVE-2015-2992<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSK<br \/>\nF\u00f6r struts2-core<\/p>\n<p>\u2014<br \/>\nCVE-2016-1181<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nInte relaterat till taglib<\/p>\n<p>\u2014<br \/>\nCVE-2016-1182<br \/>\n\u2014<br \/>\nH\u00f6g<br \/>\nFALSK<br \/>\nInte relaterat till taglib<\/p>\n<p>K\u00e4lla: <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.4 - 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\/sv\/blog\/administrirovanie\/devsecops-princzipy-raboty-i-sravnenie-sca-chast-pervaya\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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: arbetsprinciper och j\u00e4mf\u00f6relse av SCA. Del ett | ProHoster","description":"Betydelsen av att analysera tredjepartsprogramvara (eng.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/devsecops-princzipy-raboty-i-sravnenie-sca-chast-pervaya","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/92519","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=92519"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/92519\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/92520"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=92519"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=92519"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=92519"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}