{"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\/et\/blog\/administrirovanie\/devsecops-princzipy-raboty-i-sravnenie-sca-chast-pervaya","title":{"rendered":"DevSecOps: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Kolmanda osapoole tarkvara komponente anal\u00fc\u00fcsimise t\u00e4htsus (ingl. k. Software Composition Analysis \u2014 SCA) arendusprotsessis kasvab koos iga-aastaste aruannetega avatud l\u00e4htekoodi teeki seonduvatest haavatavustest, mida avaldavad ettev\u00f5tted Synopsys, Sonatype, Snyk, White Source. Vastavalt aruande... <noindex><a rel=\"nofollow\" href=\"https:\/\/www.whitesourcesoftware.com\/open-source-vulnerability-management-report\/\">Avatud L\u00e4htekoodi Julgeoleku Haavatavuste Oleku Aruanne 2020<\/a><\/noindex> avastatud haavatuste arv avatud l\u00e4htekoodis 2019. aastal kasvas peaaegu 1,5 korda v\u00f5rreldes eelmise aastaga, samas kui avatud l\u00e4htetekstiga komponente kasutatakse 60% kuni 80% projektidest. Kui tugineda s\u00f5ltumatule arvamusele, on SCA protsessid OWASP SAMM ja BSIMM eraldi praktikad, mis n\u00e4itavad k\u00fcpsuse taset, ja 2020. aasta esimeses pooles avaldas OWASP uue standardi OWASP Software Component Verification Standard (SCVS), mis pakub parimaid tavasid kolmandate isikute komponentide kontrollimiseks tarkvara tarneahelas.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa\" 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 \/>\n\u00dcks k\u00f5ige iseloomulikumaid juhtumeid <noindex><a rel=\"nofollow\" href=\"https:\/\/xakep.ru\/2017\/09\/14\/equifax-dejstvitelno-vzlomali-cherez-bag-v-apache-struts-no-uyazvimost-okazalas-staroj\/\">leidis aset<\/a><\/noindex> ettev\u00f5tte Equifax juures mai 2017. aastal. Teadmata kurjategijad said k\u00e4tte 143 miljoni ameeriklase isikuandmed, sealhulgas t\u00e4isnimesid, aadresse, sotsiaalhoolekande numbreid ja juhilube. 209 000 juhul sisaldasid dokumendid ka ohvrite pangakaarditeavet. See lekke juhtum toimus kritilise haavatavuse t\u00f5ttu Apache Struts 2-s (CVE-2017-5638), samas kui parandust\u00f6\u00f6tlus oli avaldatud juba m\u00e4rtsis 2017. Ettev\u00f5ttel oli kaks kuud uuenduse installimiseks, kuid keegi ei olnud sellega mures.<\/p>\n<p>K\u00e4esolevas artiklis arutatakse t\u00f6\u00f6riista valimise k\u00fcsimust SCA l\u00e4biviimiseks anal\u00fc\u00fcsi tulemuste kvaliteedi seisukohalt. Samuti tuuakse esile t\u00f6\u00f6riistade funktsionaalne v\u00f5rdlus. CI\/CD-sse integreerimise protsessi ja v\u00f5imalusi k\u00e4sitleme j\u00e4rgmistes v\u00e4ljaannetes. Lai t\u00f6\u00f6riistade nimekiri on esitatud OWASP <noindex><a rel=\"nofollow\" href=\"https:\/\/owasp.org\/www-community\/Component_Analysis\">oma veebilehe kaudu<\/a><\/noindex>, kuid praeguses \u00fclevaates k\u00e4sitleme vaid k\u00f5ige populaarsemaid avatud l\u00e4htekoodi t\u00f6\u00f6riistu Dependency Check, veidi v\u00e4hem tuntud avatud l\u00e4htekoodi platvormi Dependency Track ja ettev\u00f5tte lahendust Sonatype Nexus IQ. Samuti uurime, kuidas need lahendused t\u00f6\u00f6tavad ja v\u00f5rdleme saadud tulemusi valeh\u00e4irete osas.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa\" src=\"\/wp-content\/uploads\/2020\/08\/0580758082abd9950aa9c483d546f1ca.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>T\u00f6\u00f6 \u043f\u0440\u0438\u043d\u0446\u0438\u043f<\/h3>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/jeremylong.github.io\/DependencyCheck\/\">Dependency Check<\/a><\/noindex> \u2014 see on utiliit (CLI, maven, jenkins moodul, ant), mis anal\u00fc\u00fcsib projekti faile, kogub teavet s\u00f5ltuvuste kohta (paketi nimi, grupp, spetsifikatsiooni pealkiri, versioon...), koostab CPE (Common Platform Enumeration) stringi, pakendi URL (PURL) ja tuvastab CPE\/PURL jaoks haavatavused andmebaasidest (NVD, Sonatype OSS Index, NPM Audit API...), millele j\u00e4rgneb \u00fchekordse aruande koostamine HTML, JSON, XML vormingus...<\/p>\n<p>Vaatame, kuidas CPE v\u00e4lja n\u00e4eb:<\/p>\n<pre><code class=\"plaintext\">cpe:2.3:part:tootja:toode:versioon:uuendus:v\u00e4ljaanne:keel:sw_edition:target_sw:target_hw:muu<\/code><\/pre>\n<p><\/p>\n<ul>\n<li><b>Osa:<\/b> M\u00e4rkus, et komponent kuulub rakendusse (a), operatsioonis\u00fcsteemi (o), riistvarasse (h) (kohustuslik punkt)<\/li>\n<li><b>Tootja:<\/b> Toote tootja nimi (kohustuslik punkt)<\/li>\n<li><b>Toode:<\/b> Toote nimi (kohustuslik punkt)<\/li>\n<li><b>Versioon:<\/b> Komponendi versioon (aegunud punkt)<\/li>\n<li><b>Uuendus:<\/b> Paketi uuendus<\/li>\n<li><b>V\u00e4ljaanne:<\/b> P\u00e4randversioon (aegunud punkt)<\/li>\n<li><b>Keel:<\/b> Keel, m\u00e4\u00e4ratletud RFC-5646-s<\/li>\n<li><b>SW v\u00e4ljaanne:<\/b> Tarkvara versioon<\/li>\n<li><b>Kaasnevad SW:<\/b> Tarkvarakeskkond, kus toode t\u00f6\u00f6tab<\/li>\n<li><b>Kaasnevad HW:<\/b> Riistvara keskkond, kus toode t\u00f6\u00f6tab<\/li>\n<li><b>Muu:<\/b> Teave teenusepakkuja v\u00f5i toote kohta<\/li>\n<\/ul>\n<p>\nCPE n\u00e4ide n\u00e4eb v\u00e4lja j\u00e4rgmiselt:<\/p>\n<pre><code class=\"plaintext\">cpe:2.3:a:pivotal_software:spring_framework:3.0.0:*:*:*:*:*:*:*<\/code><\/pre>\n<p>\nString n\u00e4itab, et CPE versioon 2.3 kirjeldab rakenduse komponenti tootjalt <code>pivotal_software <\/code>nimega <code>spring_framework<\/code> versiooniga 3.0.0. Kui avame haavatavuse <noindex><a rel=\"nofollow\" href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2014-0225\">CVE-2014-0225<\/a><\/noindex> NVD-s, siis n\u00e4eme selle CPE ametlikku mainimist. Esimene probleem, millele kohe t\u00e4helepanu p\u00f6\u00f6rata \u2014 CVE NVD-s, vastavalt CPE-le, teatab raamistikus olevast probleemist, mitte konkreetses komponendis. See t\u00e4hendab, et kui arendajad on tihedalt seotud raamistikuga ja tuvastatud haavatavus ei puuduta neid mooduleid, mida arendajad kasutavad, peab turvaspetsialist \u00f5igel v\u00f5i v\u00e4\u00e4ral tingimusel selle CVE l\u00e4bi vaatama ja v\u00e4rskendamise \u00fcle j\u00e4rele m\u00f5tlema.<\/p>\n<p>URL-i aadressit kasutatakse ka SCA t\u00f6\u00f6riistade poolt. Paketi URL-i formaat on j\u00e4rgmine:<\/p>\n<pre><code class=\"plaintext\">skeem:t\u00fc\u00fcp\/nimi@versioon?kvalifikaatorid#subpath<\/code><\/pre>\n<p><\/p>\n<ul>\n<li><b>Skeem: <\/b>Alati on olemas 'pkg', mis n\u00e4itab, et see on paketi URL (kohustuslik punkt)<\/li>\n<li><b>T\u00fc\u00fcp:<\/b> Paketi 't\u00fc\u00fcp' v\u00f5i 'protokoll', n\u00e4iteks maven, npm, nuget, gem, pypi jne (kohustuslik punkt)<\/li>\n<li><b>Nimi ruum:<\/b> M\u00f5ned nime prefiksid, nagu Maven'i r\u00fchma identifikaator, Docker'i pildi omanik, GitHub'i kasutaja v\u00f5i organisatsioon. Valikuline ja s\u00f5ltub t\u00fc\u00fcbist.<\/li>\n<li><b>Nimi:<\/b> Paketi nimi (kohustuslik punkt)<\/li>\n<li><b>Versioon:<\/b> Paketi versioon<\/li>\n<li><b>Kvalifikaatorid:<\/b> Lisa kvalifikatsioonide andmed paketi, nagu operatsioonis\u00fcsteem, arhitektuur, jaotamine jne. Valikuline ja s\u00f5ltub t\u00fc\u00fcbist.<\/li>\n<li><b>Alamtee:<\/b> T\u00e4iendav tee paketis, mis asub paketi juurest.<\/li>\n<\/ul>\n<p>\nN\u00e4iteks:<\/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 kohapealne veebiplatvorm, mis aktsepteerib valmis komponente (BOM), mis on koostatud. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/CycloneDX\">CycloneDX<\/a><\/noindex> ja <noindex><a rel=\"nofollow\" href=\"https:\/\/spdx.org\/licenses\/\">SPDX<\/a><\/noindex>, st valmis spetsifikatsioonid olemasolevatest s\u00f5ltuvustest. See on XML-fail, mis kirjeldab s\u00f5ltuvusi \u2014 nimi, hashes, paketi URL, v\u00e4ljaandja, litsents. Seej\u00e4rel anal\u00fc\u00fcsib Dependency Track BOM'i, uurib olemasolevate s\u00f5ltuvuste CVE-d, kasutades haavatavuste andmebaasi (NVD, Sonatype OSS Index ...), p\u00e4rast mida koostab diagramme, arvutab m\u00f5\u00f5dikuid ja v\u00e4rskendab regulaarselt komponentide haavatavuse staatuse andmeid. <\/p>\n<p>N\u00e4ide sellest, kuidas BOM XML-formaadis v\u00e4lja n\u00e4eb:<\/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'i saab kasutada mitte ainult Dependency Track'i sisendparameetriteks, vaid ka tarkvara koostisosade inventeerimiseks tarneahelas, n\u00e4iteks tarkvara kliendile esitamiseks. 2014. aastal esitati USA-s isegi seaduseeln\u00f5u <noindex><a rel=\"nofollow\" href=\"https:\/\/www.congress.gov\/bill\/113th-congress\/house-bill\/5793\">\u201eKybervarustuse haldamise ja l\u00e4bipaistvuse seadus 2014\u201d<\/a><\/noindex>, mis s\u00e4testas, et tarkvara hankimisel peab iga riigiasutus k\u00fcsima BOM'i, et v\u00e4ltida haavatavate komponentide kasutamist, kuid seadus ei j\u00f5ustunud.<\/p>\n<p>Tagasi tulles SCA juurde, on Dependency Track'il valmislahendused teavitamisplatvormidega, nagu Slack, ja haavatavuste haldamise s\u00fcsteemidega, nagu Kenna Security. Tasub ka m\u00e4rkida, et Dependency Track tuvastab vananenud versioonid paketidest ja pakub teavet litsentside kohta (SPDX-toe kaudu).<\/p>\n<p>Kui r\u00e4\u00e4kida just SCA kvaliteedist, siis siin on p\u00f5him\u00f5tteline erinevus.<\/p>\n<p>Dependency Track ei v\u00f5ta projekti sisendina, vaid v\u00f5tab t\u00e4pselt BOM-efekti. See t\u00e4hendab, et kui me soovime projekti kontrollida, peame esmalt genereerima bom.xml, n\u00e4iteks CycloneDX abil. Nii s\u00f5ltub Dependency Track otseselt CycloneDX-st. Samas annab see v\u00f5imaluse kohandamiseks. Nii kirjutaski OZONi meeskond <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ozonru\/cyclonedx-go\">CycloneDX moodul<\/a><\/noindex> BOM-failide koostamiseks Golangi projektidele edasise skaneerimise eesm\u00e4rgil l\u00e4bi Dependency Tracki.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/sonatype.ru\/#nexusiq\">Nexus IQ<\/a><\/noindex> on Sonatype'i kommertslahendus SCA jaoks, mis on osa Sonatype'i \u00f6kos\u00fcsteemist, kuhu kuulub ka Nexus Repository Manager. Nexus IQ suudab vastu v\u00f5tta nii war-arhiive (Java projektide jaoks) veebiliidese v\u00f5i API kaudu kui ka BOM-e, kui teie organisatsioon ei ole j\u00f5udnud CycloneDX-lt uue lahenduse peale \u00fcle minna. Erinevalt avatud l\u00e4htekoodiga lahendustest, k\u00e4sitleb IQ mitte ainult CP\/PURL-i tuvastatud komponendi ja vastava haavatavuse andmebaasist, vaid arvestab ka oma uuringutega, n\u00e4iteks haavatava funktsiooni v\u00f5i klassi nimega. IQ mehhanismid k\u00e4sitletakse hiljem tulemuste anal\u00fc\u00fcsimisel.<\/p>\n<p>Kokkuv\u00f5tteks vaatame m\u00f5ned funktsionaalsete omaduste kokkuv\u00f5tted, samuti toetatud programmeerimiskeeli anal\u00fc\u00fcsimiseks:<\/p>\n<p>Keele<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>\nFunktsionaalsed v\u00f5imalused<\/p>\n<p>Funktsionaalsed v\u00f5imalused<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nDependency Track<\/p>\n<p>V\u00f5ime tagada komponentide kontrolli, mis on kasutatud l\u00e4htekoodis, litsentsi puhtuse osas<br \/>\n+<br \/>\n\u2014<br \/>\n+<\/p>\n<p>V\u00f5ime skaneerida ja anal\u00fc\u00fcsida haavatavuste ja litsentsi puhtuse osas Docker'i pilte<br \/>\n+ Integreerimine Clairiga<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>V\u00f5ime seadistada turvapoliitikaid avatud l\u00e4htekoodiga raamatukogude kasutamiseks<br \/>\n+<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>V\u00f5ime skaneerida avatud l\u00e4htekoodiga repo-sid haavatavate komponentide leidmiseks<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>Erialase uurimisr\u00fchma olemasolu<br \/>\n+<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>T\u00f6\u00f6 suletud kontekstis<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>Kolmandate osapoolte andmebaaside kasutamine<br \/>\n+ Sonatype'i suletud andmebaas<br \/>\n+ Sonatype OSS, NPM Public Advisors<br \/>\n+ Sonatype OSS, NPM Public Advisors, RetireJS, VulnDB, toetus enda haavatavuste andmebaasile<\/p>\n<p>V\u00f5ime filtreerida avatud l\u00e4htekoodiga komponente arendusprotsessi kiirusel vastavalt seadistatud poliitikatele<br \/>\n+<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>Soovitused haavatavuste parandamiseks, koos viidete olemasoluga parandamisele<br \/>\n+<br \/>\n+- (s\u00f5ltub avalikest andmebaasidest)<br \/>\n+- (s\u00f5ltub avalikest andmebaasidest)<\/p>\n<p>Tuletatud haavatavuste j\u00e4rjestamine kriitilisuse j\u00e4rgi<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>Juurdep\u00e4\u00e4su rollimudel<br \/>\n+<br \/>\n\u2014<br \/>\n+<\/p>\n<p>Kommando-liidese (CLI) tugi<br \/>\n+<br \/>\n+<br \/>\n+- (ainult CycloneDX jaoks)<\/p>\n<p>Haavatavuste v\u00e4ljav\u00f5tt ja sortimine m\u00e4\u00e4ratletud kriteeriumide alusel<br \/>\n+<br \/>\n\u2014<br \/>\n+<\/p>\n<p>Rakenduste staatuse juhtpaneel<br \/>\n+<br \/>\n\u2014<br \/>\n+<\/p>\n<p>Aruannete genereerimine PDF-formaadis<br \/>\n+<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>Aruannete genereerimine JSONCSV formaadis<br \/>\n+<br \/>\n+<br \/>\n\u2014<\/p>\n<p>Venekeelse toe olemasolu<br \/>\n\u2014<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>\nIntegratsiooni v\u00f5imalused<\/p>\n<p>Integreerimine<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nDependency Track<\/p>\n<p>LDAP\/Active Directory integratsioon<br \/>\n+<br \/>\n\u2014<br \/>\n+<\/p>\n<p>Pideva integreerimise (continous integration) s\u00fcsteemi integreerimine Bamboo<br \/>\n+<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>Pideva integreerimise (continous integration) s\u00fcsteemi integreerimine TeamCity<br \/>\n+<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>Pideva integreerimise (continous integration) s\u00fcsteemi integreerimine GitLab<br \/>\n+<br \/>\n+- (GitLabi pistikprogrammina)<br \/>\n+<\/p>\n<p>Pideva integreerimise (continous integration) s\u00fcsteemi integreerimine Jenkins<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>IDE pistikprogrammide olemasolu<br \/>\n+ IntelliJ, Eclipse, Visual Studio<br \/>\n\u2014<br \/>\n\u2014<\/p>\n<p>Kohandatud integratsiooni toeks veebiteenuste (API) kaudu<br \/>\n+<br \/>\n\u2014<br \/>\n+<\/p>\n<h3>Dependency Check<\/h3>\n<p><\/p>\n<h4>Esimene k\u00e4ivitamine<\/h4>\n<p>\nK\u00e4ivitame Dependency Check tahtlikult haavatavas rakenduses <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/appsecco\/dvja\">DVJA<\/a><\/noindex>.<\/p>\n<p>Sellega saame hakkama <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>\nTulemuseks ilmub kausta target dependency-check-report.html.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa\" src=\"\/wp-content\/uploads\/2020\/08\/d5b9fe5a8eb68569387dd0bfd38af459.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAvame faili. P\u00e4rast kokkuv\u00f5tte teavet haavatavuste koguarvu kohta n\u00e4eme teavet k\u00f5rge Severity ja Confidence tasemega haavatavuste kohta koos paketi, CPE ja CVE arvn\u00e4itajaga.<\/p>\n<p>Seej\u00e4rel j\u00e4rgneb \u00fcksikasjalik teave, sealhulgas see, mille alusel otsus tehti (evidence), s.t. mingi BOM.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa\" src=\"\/wp-content\/uploads\/2020\/08\/53dd89b0ff20c4c51aaf7412399e7fd9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJ\u00e4rgneb CPE, PURL ja CVE kirjeldus. Parandusettepanekud ei ole tegelikult saadaval, kuna neid ei ole NVD andmebaasis.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa\" src=\"\/wp-content\/uploads\/2020\/08\/ba2021aa8b6bf175383298b2c2a71670.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nS\u00fcsteemsete tulemuste vaatamiseks v\u00f5ib seadistada Nginxi minimaalsete seadistustega v\u00f5i saata saadud vead defektide haldamise s\u00fcsteemi, mis toetavad Dependency Check konnektoreid. N\u00e4iteks Defect Dojo. <\/p>\n<h3>Dependency Track<\/h3>\n<p><\/p>\n<h4>Paigaldamine<\/h4>\n<p>\nDependency Track on omakorda veebiplatvorm, mis kuvab diagramme, seega ei ole terav probleem defektide s\u00e4ilitamisega kolmandas lahenduses siin. <br \/>\nInstalleerimiseks on toetatud j\u00e4rgmised stsenaariumid: Docker, WAR, Executable WAR. <\/p>\n<h4>Esimene k\u00e4ivitamine<\/h4>\n<p>\nLiigume k\u00e4ivitatud teenuse URL-ile. Logime sisse admin\/admin, muudame sisselogimise ja parooli, mille j\u00e4rel p\u00e4\u00e4seme juhtpaneelile. J\u00e4rgmine samm on luua projekt testrakendusele Java-s<i> Avaleht\/Projektid \u2192 Loo projekt <\/i>. N\u00e4iteks v\u00f5tame DVJA.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa\" src=\"\/wp-content\/uploads\/2020\/08\/338aaa1c9ca0ac99f2e857f8ce001a02.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKuna Dependency Track saab sisendina ainult BOM-i, tuleb see BOM hankida. Alustame <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>\nSaame bom.xml ja laadime faili loodud projekti <i>DVJA \u2192 Dependeencies \u2192 Laadi BOM \u00fcles<\/i>.<\/p>\n<p>Siseneme Administration \u2192 Analyzers. N\u00e4eme, et meil on aktiveeritud ainult Internal Analyzer, mis h\u00f5lmab NVD-d. Lisame ka Sonatype OSS Indexi.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa\" src=\"\/wp-content\/uploads\/2020\/08\/3879a9a3d5f227d9740a984e7b1b91b2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNii saame j\u00e4rgmise \u00fclevaate meie projektist:<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa\" src=\"\/wp-content\/uploads\/2020\/08\/004f2ab3383acb87e3d5e8c0fba1f3c3.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNimekirjas on ka \u00fcks haavatavus, mis kehtib Sonatype OSS-i suhtes:<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa\" src=\"\/wp-content\/uploads\/2020\/08\/e459f08218f890b46fb4050c30da63c8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPeamine pettumus oli see, et Dependency Track ei aktsepteeri enam Dependency Check'i xml-aruandeid. Viimased toetatud integratsiooniversioonid Dependency Checkiga olid 1.0.0 \u2013 4.0.2, samas kui mina testisin 5.3.2.<\/p>\n<p>Siin <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/d2WMONyBbTw\">video<\/a><\/noindex> (ja <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/IPWPISSk5rc\">siin on<\/a><\/noindex>), kui see veel v\u00f5imalik oli. <\/p>\n<h3>Nexus IQ <\/h3>\n<p><\/p>\n<h4>Esimene k\u00e4ivitamine<\/h4>\n<p>\nNexus IQ installimine toimub arhiivide kaudu <noindex><a rel=\"nofollow\" href=\"https:\/\/help.sonatype.com\/iqserver\/installing\/iq-server-installation\">dokumentatsioon<\/a><\/noindex>, kuid me oleme selleks otstarbeks kogunud enda Docker'i pildi.<\/p>\n<p>P\u00e4rast konsooli sisselogimist tuleb luua Organisatsioon ja Rakendus.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa\" src=\"\/wp-content\/uploads\/2020\/08\/4c6df91bad77e87ea066ff3514a03644.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"DevSecOps: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa\" src=\"\/wp-content\/uploads\/2020\/08\/d8580ba46852e4d97625a22e215c21d3.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"DevSecOps: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa\" src=\"\/wp-content\/uploads\/2020\/08\/d99ce4e47218001fd1a76722e2633bea.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNagu n\u00e4ha, on IQ seadistamine m\u00f5nev\u00f5rra keerulisem, sest peame looma ka poliitikaid, mis kehtivad erinevate \"etappide\" (dev, build, stage, release) jaoks. See on vajalik, et blokeerida haavatavad komponendid, niipea kui need liiguvad l\u00e4hemale tootep\u00e4ringule, v\u00f5i blokeerida need kohe, kui nad satuvad Nexus Repo'sse arendajate allalaadimisel.<\/p>\n<p>Et tunda erinevust avatud l\u00e4htekoodiga ja ettev\u00f5tte tasemel, teeme sama skaneerimise l\u00e4bi Nexus IQ samamoodi nagu <noindex><a rel=\"nofollow\" href=\"https:\/\/help.sonatype.com\/integrations\/sonatype-clm-for-maven\">Maven plugin<\/a><\/noindex>, enne kui loome testrakenduse NexusIQ liideses <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>\nLiigume URL-ile, et avada genereeritud aruanne IQ veebiliideses:<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa\" src=\"\/wp-content\/uploads\/2020\/08\/f81f998037ba53ef62298955077d044d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSiit n\u00e4ete k\u00f5iki poliitikan\u00f5uete rikkumisi erineva t\u00f5siduse tasemega (Info kuni Security Critical). T\u00e4ht D komponendi k\u00f5rval t\u00e4histab, et komponent on Direct Dependency, ja t\u00e4ht T komponendi k\u00f5rval t\u00e4histab, et komponent on Transitive Dependency, ehk on transitiivne.<\/p>\n<p>Muide, aruanne <noindex><a rel=\"nofollow\" href=\"https:\/\/snyk.io\/open-source-security\/\">State of Open Source Security Report 2020<\/a><\/noindex> Snykilt teatab, et rohkem kui 70% avatud l\u00e4htekoodiga haavatavustest, mis on avastatud Node.js, Java ja Ruby-s, asub transitiivsetes s\u00f5ltuvustes.<\/p>\n<p>Kui avada \u00fcks Nexus IQ poliitika rikkumistest, saame n\u00e4ha komponendi kirjeldust ning Version Graph'i, mis n\u00e4itab praeguse versiooni asukohta ajagraafikul ja millal haavatavus enam haavatav ei ole. Graafiku k\u00fc\u00fcnalde k\u00f5rgus n\u00e4itab selle komponendi kasutamise populaarsust.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa\" src=\"\/wp-content\/uploads\/2020\/08\/d33968a5ce5904da6f50133f882521fe.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKui minna haavatavuste loomesse ja avada CVE, siis saab lugeda selle haavatavuse kirjeldust, soovitusi parandamiseks ning p\u00f5hjust, miks see komponent rikkumise alla on langenud, s.t. klassi olemasolu. <code>DiskFileitem.class<\/code>.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa\" src=\"\/wp-content\/uploads\/2020\/08\/6d91b98a9a9a1a62264f1b4194f33ca4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"DevSecOps: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa\" src=\"\/wp-content\/uploads\/2020\/08\/c9e580ad178a9c0307ed1e63d6dd244d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTeeme kokkuv\u00f5tte ainult Java kolmandate osapoole komponentide kohta, j\u00e4ttes js komponendid v\u00e4lja. Sulgudes n\u00e4itame neid haavatavusi, mis leiti v\u00e4ljaspool NVD-d.<\/p>\n<p><b>Kokku Nexus IQ: <\/b><\/p>\n<ul>\n<li>Skaneeritud s\u00f5ltuvused: 62<\/li>\n<li>Haavatavad s\u00f5ltuvused: 16<\/li>\n<li>Leitud haavatavused: 42 (8 sonatype db)<\/li>\n<\/ul>\n<p>\n<b>Kokku Dependency Check: <\/b><\/p>\n<ul>\n<li>Skaneeritud s\u00f5ltuvused: 47<\/li>\n<li>Haavatavad s\u00f5ltuvused: 13<\/li>\n<li>Leitud haavatavused: 91 (14 sonatype oss)<\/li>\n<\/ul>\n<p>\n<b>Kokku Dependency Track: <\/b><\/p>\n<ul>\n<li>Skaneeritud s\u00f5ltuvused: 59<\/li>\n<li>Haavatavad s\u00f5ltuvused: 10<\/li>\n<li>Leitud haavatavused: 51 (1 sonatype oss)<\/li>\n<\/ul>\n<p>\nEdasi liikudes anal\u00fc\u00fcsime saadud tulemusi ja selgitame, millised neist haavatavustest on reaalsed defektid ning millised valeh\u00e4ired.<\/p>\n<h3>M\u00e4rkus<\/h3>\n<p>\nSee \u00fclevaade ei ole vaidlustamatult t\u00f5ene. Autor ei soovinud v\u00e4lja tuua \u00fchte t\u00f6\u00f6riista teiste seas. \u00dclevaate eesm\u00e4rk oli n\u00e4idata SCA t\u00f6\u00f6riistade toimimise mehhanisme ja nende tulemuste kontrollimise meetodeid.<\/p>\n<h3>Tulemuste v\u00f5rdlemine<\/h3>\n<p>\n<b>Tingimused:<\/b><\/p>\n<p><b>Valeh\u00e4ire kolmandate osapoolte komponentide haavatavuste osas on:<\/b><\/p>\n<ul>\n<li><b>CVE mittevastavus tuvastatud komponendile<\/b><\/li>\n<li>N\u00e4iteks, kui haavatavus on tuvastatud struts2 raamistiku osas ning t\u00f6\u00f6riist viitab struts-tiles raamistiku komponendile, millele see haavatavus ei kehti, on see valeh\u00e4ire.<\/li>\n<li><b>CVE mittevastavus tuvastatud komponendi versioonile<\/b><\/li>\n<li>N\u00e4iteks, kui haavatavus on seotud versiooniga python &gt; 3.5 ja t\u00f6\u00f6riist m\u00e4rgib haavatavaks versiooni 2.7 - see on valeh\u00e4ire, kuna haavatavus kehtib ainult tooteliini 3.x kohta. <\/li>\n<li> <b>CVE dubleerimine<\/b><\/li>\n<li>N\u00e4iteks, kui SCA viitab CVE-le, mis v\u00f5imaldab RCE-d, seej\u00e4rel viitab SCA sellele samale komponendile CVE-le, mis kehtib Cisco toodetele, millel on see RCE, siis oleks see valeh\u00e4ire.<\/li>\n<li>N\u00e4iteks leiti CVE komponendist spring-web, mille j\u00e4rel SCA viitas sellele samale CVE teiste Spring Frameworki komponentide osas, samas kui CVE ei puuduta teisi komponente. Sellisel juhul on tegemist vale positiivsega. <\/li>\n<\/ul>\n<p>\nUurimise objektiks on valitud avatud l\u00e4htekoodiga projekt DVJA. Uuringus osalesid ainult Java komponendid (ilma js-ita).<\/p>\n<h3>Kokkuv\u00f5tlikud tulemused<\/h3>\n<p>\nLiigume otse k\u00e4sitsi \u00fclevaatuse tulemustesse, kus tuvastatud haavatavused on v\u00e4lja toodud. T\u00e4ieliku aruande iga CVE kohta saab tutvuda lisas. <\/p>\n<p><i>Kokkuv\u00f5tlikud tulemused k\u00f5ikide haavatavuste kohta:<\/i><\/p>\n<p>Parameeter<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nDependency Track<\/p>\n<p>Kokku tuvastatud haavatavusi<br \/>\n42<br \/>\n91<br \/>\n51<\/p>\n<p>Vale tuvastatud haavatavusi (false positive)<br \/>\n2(4.76%)<br \/>\n62(68,13%)<br \/>\n29(56.86%)<\/p>\n<p>Asjakohaseid haavatavusi ei leitud (false negative)<br \/>\n10<br \/>\n20<br \/>\n27<\/p>\n<p>\n<i>Kokkuv\u00f5tlikud tulemused komponentide kohta:<\/i><\/p>\n<p>Parameeter<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nDependency Track<\/p>\n<p>Kokku tuvastatud komponente<br \/>\n62<br \/>\n47<br \/>\n59<\/p>\n<p>Kokku haavatavaid komponente<br \/>\n16<br \/>\n13<br \/>\n10<\/p>\n<p>Vale tuvastatud haavatavad komponendid (false positive)<br \/>\n1<br \/>\n5<br \/>\n0<\/p>\n<p>Vale tuvastatud haavatavad komponendid (false positive)<br \/>\n0<br \/>\n6<br \/>\n6<\/p>\n<p>\nLoome visuaalsed graafikud, et hinnata vale positiivsete ja vale negatiivsete suhet kokkuhaavatavuste arvu suhtes. Horisontaalselt on m\u00e4rgatud komponendid ja vertikaalselt neis tuvastatud haavatavused. <\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa\" src=\"\/wp-content\/uploads\/2020\/08\/967b8e168383299d4a1bf4065f1905ca.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"DevSecOps: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa\" src=\"\/wp-content\/uploads\/2020\/08\/2e128ee59e551894c25e4c9e28997008.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"DevSecOps: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa\" src=\"\/wp-content\/uploads\/2020\/08\/585d7bcef052ef24e4de6c7e1a4e7c0b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nV\u00f5rdluseks, sarnast uuringut viis l\u00e4bi Sonatype meeskond, testides projekti 1531 komponendiga OWASP Dependency Check abil. Nagu me n\u00e4eme, on m\u00fcra ja \u00f5ige tuvastuse suhe meie tulemustega v\u00f5rreldav.<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa\" src=\"\/wp-content\/uploads\/2020\/08\/286c34b84f1400af0285b711b3fe87f2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Allikas: <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>Vaatame m\u00f5ningaid CVE-sid meie skannimise tulemustest, et m\u00f5ista selliste tulemuste p\u00f5hjuseid.<\/p>\n<h3>Lisateave<\/h3>\n<p><\/p>\n<h4>\u21161<\/h4>\n<p>\nAlustame m\u00f5nedest huvitavatest punktidest Sonatype Nexus IQ-st.<\/p>\n<p>Nexus IQ osutab deserialiseerimise probleemile, mis v\u00f5imaldab RCE-d Spring Frameworkis mitu korda. CVE-2016-1000027 spring-web:3.0.5 esmakordselt ja CVE-2011-2894 spring-context:3.0.5 ja spring-core:3.0.5. Alguses n\u00e4ib, et haavatavus kordub mitme CVE kaudu. Kui vaadata CVE-2016-1000027 ja CVE-2011-2894 NVD andmebaasis, tundub k\u00f5ik esmapilgul selge.<\/p>\n<p>Komponent<br \/>\nHaavatavus<\/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>\nKirjeldus <noindex><a rel=\"nofollow\" href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2011-2894\">CVE-2011-2894<\/a><\/noindex> NVD-st:<br \/>\n<img decoding=\"async\" alt=\"DevSecOps: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa\" src=\"\/wp-content\/uploads\/2020\/08\/31b403eca6d7541c766c9a560bfbe6b7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKirjeldus <noindex><a rel=\"nofollow\" href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2016-1000027\">CVE-2016-1000027<\/a><\/noindex> NVD-st:<br \/>\n<img decoding=\"async\" alt=\"DevSecOps: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa\" src=\"\/wp-content\/uploads\/2020\/08\/d5b54a6ac15070b12f013eaacd2878f2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCVE-2011-2894 on iseenesest \u00fcsna tuntud. Aastaaruandes <noindex><a rel=\"nofollow\" href=\"http:\/\/www.pwntester.com\/blog\/2013\/12\/16\/cve-2011-2894-deserialization-spring-rce\/\">White Source 2011. aastast<\/a><\/noindex> oli see CVE tunnustatud \u00fcheks k\u00f5ige sagedamini esinevaks. Kirjeldusi CVE-2016-100027 kohta on NVD-s p\u00f5him\u00f5tteliselt v\u00e4he ja see n\u00e4ib olevat rakendatav ainult Spring Frameworki versioonile 4.1.4. Vaatame <noindex><a rel=\"nofollow\" href=\"https:\/\/www.tenable.com\/security\/research\/tra-2016-20\">reference<\/a><\/noindex> ja siit muutub k\u00f5ik rohkem v\u00f5i v\u00e4hem selgeks. Artiklist <noindex><a rel=\"nofollow\" href=\"https:\/\/www.tenable.com\/security\/research\/tra-2016-20\">Tenable<\/a><\/noindex> m\u00f5istame, et peale haavatavuse <code>RemoteInvocationSerializingExporter<\/code> CVE-2011-2894 puhul on haavatavus samuti <code>HttpInvokerServiceExporter<\/code>. Nexus IQ \u00fctleb meile seda:<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa\" src=\"\/wp-content\/uploads\/2020\/08\/a33f0853ce892d28eafafe2c8e7b2228.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSiiski ei ole midagi sellist NVD-s, mist\u00f5ttu Dependency Check ja Dependency Track saavad vale negatiivse tulemuse.<\/p>\n<p>Samuti v\u00f5ib CVE-2011-2894 kirjelduse p\u00f5hjal aru saada, et haavatavus on t\u00f5eliselt olemas nii spring-context:3.0.5-s kui ka spring-core:3.0.5-s. Kinnitust sellele v\u00f5ib leida artiklist, mille autor leidis selle haavatavuse.<\/p>\n<h4>#2<\/h4>\n<p><\/p>\n<p>Komponent<br \/>\nHaavatavus<br \/>\nTulemus<\/p>\n<p>struts2-core:2.3.30<br \/>\nCVE-2016-4003<br \/>\nFALSE<\/p>\n<p>\nKui uurime haavatavust CVE-2016-4003, siis saame aru, et see fikseeriti juba versioonis 2.3.28, kuid Nexus IQ teatab meile sellest. Haavatavuse kirjelduse l\u00f5pus on m\u00e4rkus:<\/p>\n<p><img decoding=\"async\" alt=\"DevSecOps: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa\" src=\"\/wp-content\/uploads\/2020\/08\/081f9006748083727e424b709a338d60.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSee t\u00e4hendab, et haavatavus eksisteerib ainult koos vananenud JRE versiooniga, millest meid sooviti hoiatada. Siiski peame seda vale positiivseks, kuigi mitte k\u00f5ige hirmutavamaks.<\/p>\n<h4>#3<\/h4>\n<p><\/p>\n<p>Komponent<br \/>\nHaavatavus<br \/>\nTulemus<\/p>\n<p>xwork-core:2.3.30<br \/>\nCVE-2017-9804<br \/>\nT\u00d5SI<\/p>\n<p>xwork-core:2.3.30<br \/>\nCVE-2017-7672<br \/>\nFALSE<\/p>\n<p>\nKui vaatame CVE-2017-9804 ja CVE-2017-7672 kirjeldust, siis saame aru, et probleem on <code>URLValidator class<\/code>, kusjuures CVE-2017-9804 tuleneb CVE-2017-7672-st. Teise haavatavuse olemasolu ei too mingit kasu, v\u00e4lja arvatud, et selle t\u00f5sidus t\u00f5usis k\u00f5rgeks, seet\u00f5ttu v\u00f5ib seda pidada liigselt m\u00fcra.<\/p>\n<p>Kokkuv\u00f5ttes ei leitud Nexus IQ jaoks teisi vale positiivseid tulemusi.<\/p>\n<h3>#4<\/h3>\n<p>\nOn mitmeid aspekte, mis eristavad IQ teistest lahendustest.<\/p>\n<p>Komponent<br \/>\nHaavatavus<br \/>\nTulemus<\/p>\n<p>spring-web:3.0.5<br \/>\nCVE-2020-5398<br \/>\nT\u00d5SI<\/p>\n<p>CVE NVD-s teatab, et see kehtib ainult versioonide 5.2.x kuni 5.2.3, 5.1.x kuni 5.1.13 ja versioonide 5.0.x kuni 5.0.16 jaoks, kuid kui vaatame CVE kirjelduse Nexus IQ-s, siis n\u00e4eme j\u00e4rgmist:<br \/>\n<i>Advisory Deviation Notice: Sonatype\u2019i turuuringute meeskond tuvastas, et see haavatavus anti sisse versioonis 3.0.2.RELEASE ja mitte 5.0.x nagu advisori teates \u00f6eldud.<\/i><\/p>\n<p>P\u00e4rast seda j\u00e4rgneb sellele haavatavusele PoC, mis teatab, et see on olemas versioonis 3.0.5.<\/p>\n<p>Vale negatiivne saadetakse Dependency Checkile ja Dependency Trackile.<\/p>\n<h3>#5<\/h3>\n<p>\nVaatame false positive tulemusi Dependency Checki ja Dependency Tracki jaoks.<\/p>\n<p>Dependency Check t\u00f5stetakse esile seet\u00f5ttu, et see kajastab neid CVE-sid, mis kuuluvad kogu raamistikku NVD-s, nendesse komponentidesse, mida need CVE-d ei h\u00f5lma. See kehtib CVE-2012-0394, CVE-2013-2115, CVE-2014-0114, CVE-2015-0899, CVE-2015-2992, CVE-2016-1181, CVE-2016-1182 kohta, mida Dependency Check \u201esidus\u201d struts-taglib:1.3.8 ja struts-tiles-1.3.8-ga. Need komponendid ei oma midagi \u00fchist sellega, mis on CVE-s kirjeldatud \u2013 p\u00e4ringute t\u00f6\u00f6tlemine, lehtede valideerimine jne. See on tingitud sellest, et ainus seos nende CVE-de ja komponentide vahel on ainult raamistik, mist\u00f5ttu Dependency Check pidas seda haavatavuseks.<\/p>\n<p>Sama olukord spring-tx:3.0.5 puhul ja sarnane olukord struts-core:1.3.8 puhul. Struts-core'i s\u00f5ltuvuse kontrollimine ja s\u00f5ltuvuste j\u00e4lgimine tuvastasid palju haavatavusi, mis tegelikult kehtivad struts2-core'i kohta, mis on sisuliselt eraldi raamistik. Antud juhul m\u00f5istis Nexus IQ \u00f5igesti olukorda ja niisugustes CVE-des, mida ta esitas, m\u00e4rkis ta, et struts-core on j\u00f5udnud eluts\u00fckli l\u00f5ppu ja on vaja liikuda struts2-core'i juurde.<\/p>\n<h3>\u21166<\/h3>\n<p>\nM\u00f5nes olukorras on \u00f5iglane t\u00f5lgendada s\u00f5ltuvuse kontrollimise ja s\u00f5ltuvuste j\u00e4lgimise ilmset viga. Eelk\u00f5ige CVE-2013-4152, CVE-2013-6429, CVE-2013-6430, CVE-2013-7315, CVE-2014-0054, CVE-2014-0225, CVE-2014-0225, mida s\u00f5ltuvuste kontrollimine ja j\u00e4lgimine seostavad spring-core'iga:3.0.5, kuuluvad tegelikult spring-web:3.0.5 juurde. Sellegipoolest tuvastas osa neist CVE-dest ka Nexus IQ, kuid IQ m\u00e4\u00e4ras need \u00f5igesti teisele komponendile. Kuna neid haavatavusi ei leitud spring-core'is, ei saa v\u00e4ita, et neid ei ole raamistikus \u00fcldse ja avatud l\u00e4htekoodiga t\u00f6\u00f6riistad osutasid \u00f5igesti nendele haavatavustele (lihtsalt veidi m\u00f6\u00f6da panid). <\/p>\n<h3>J\u00e4reldused<\/h3>\n<p>\nNagu me n\u00e4eme, ei anna tuvastatud haavatavuste usutavuse m\u00e4\u00e4ramine k\u00e4sitsi \u00fclevaate korralikku, sel p\u00f5hjusel tekivad vaidlusalused hetked. Tulemused on sellised, et Nexus IQ-l on madalaim valepositiivsete m\u00e4\u00e4r ja k\u00f5rgeim t\u00e4psus. <\/p>\n<p>Esiteks on see seotud sellega, et Sonatype'i meeskond laiendas iga NVD-s esitatud haavatavuse CVE kirjeldust, t\u00e4psustades, mis klassi v\u00f5i funktsiooni haavatavus kuulub kahe v\u00f5i teise komponendi versiooni osas, viies l\u00e4bi t\u00e4iendavaid uuringuid (n\u00e4iteks tuvastades haavatavusi vanemate tarkvaraversioonide p\u00f5hjal). <\/p>\n<p>Olulist rolli m\u00e4ngivad ka need haavatavused, mis ei j\u00f5udnud NVD-sse, kuid on siiski Sonatype'i andmebaasis SONATYPE m\u00e4rgisega. Vastavalt aruandele <noindex><a rel=\"nofollow\" href=\"https:\/\/www.whitesourcesoftware.com\/open-source-vulnerability-management-report\/\">Avatud L\u00e4htekoodi Julgeoleku Haavatavuste Oleku Aruanne 2020<\/a><\/noindex> 45% avatud l\u00e4htekoodiga haavatavustest ei registreerita NVD-s. Vastavalt WhiteSource'i andmebaasile avaldatakse vaid 29% k\u00f5ikidest avatud l\u00e4htekoodiga haavatavustest, mis on registreeritud v\u00e4ljaspool NVD-d, seet\u00f5ttu on nii oluline otsida haavatavusi ka teistest allikatest.<\/p>\n<p>Kokkuv\u00f5ttes annab s\u00f5ltuvuste kontroll suurtes kogustes m\u00fcra, j\u00e4ttes k\u00f5rvale osa haavatavatest komponentidest. S\u00f5ltuvuste j\u00e4lgimine genereerib v\u00e4hem m\u00fcra ja tuvastab suure arvu komponente, mis visuaalselt ei riiva silma veebiliideses.<\/p>\n<p>Siiski n\u00e4itab praktika, et just avatud l\u00e4htekood peaks olema esimene samm DevSecOpsi k\u00fcpsuse poole. Esimene asi, mille \u00fcle tasub m\u00f5elda SCA integreerimisel arendusse, on protsessid, nimelt arutelu juhtkonna ja teiste osakondadega selle \u00fcle, millised peaksid olema ideaalsed protsessid teie organisatsioonis. V\u00f5ib juhtuda, et teie organisatsiooni jaoks katab Dependency Check v\u00f5i Dependency Track alguses k\u00f5ik \u00e4ri vajadused, samas kui ettev\u00f5tte lahendused on loogiline j\u00e4tk, kui rakenduste keerukus kasvab.<\/p>\n<p>                        <b class=\"spoiler_title\">Lisa A. Tulemused koostisosade osas<\/b><br \/>\n                        <b>M\u00e4rgistused:<\/b><\/p>\n<ul>\n<li>High \u2014 k\u00f5rge ja kriitilise taseme haavatavused komponendis<\/li>\n<li>Medium \u2014 keskmise taseme haavatavused komponendis<\/li>\n<li>TRUE \u2014 \u00f5igesti tuvastatud haavatavus (True positive issue)<\/li>\n<li>FALSE \u2014 vale h\u00e4ire (False positive issue)<\/li>\n<\/ul>\n<p><\/p>\n<p>Komponent<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nDependency Track<br \/>\nTulemus<\/p>\n<p>dom4j: 1.6.1<br \/>\nHigh<br \/>\nHigh<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>log4j-core: 2.3<br \/>\nHigh<br \/>\nHigh<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>log4j: 1.2.14<br \/>\nHigh<br \/>\nHigh<br \/>\n\u2014<br \/>\nT\u00d5SI<\/p>\n<p>commons-collections:3.1<br \/>\nHigh<br \/>\nHigh<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>commons-fileupload:1.3.2<br \/>\nHigh<br \/>\nHigh<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>commons-beanutils:1.7.0<br \/>\nHigh<br \/>\nHigh<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>commons-codec:1:10<br \/>\nMedium<br \/>\n\u2014<br \/>\n\u2014<br \/>\nT\u00d5SI<\/p>\n<p>mysql-connector-java:5.1.42<br \/>\nHigh<br \/>\nHigh<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>spring-expression:3.0.5<br \/>\nHigh<br \/>\nkomponenti ei leitud<\/p>\n<p>T\u00d5SI<\/p>\n<p>spring-web:3.0.5<br \/>\nHigh<br \/>\nkomponenti ei leitud<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>spring-context:3.0.5<br \/>\nMedium<br \/>\nkomponenti ei leitud<br \/>\n\u2014<br \/>\nT\u00d5SI<\/p>\n<p>spring-core:3.0.5<br \/>\nMedium<br \/>\nHigh<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>struts2-config-browser-plugin:2.3.30<br \/>\nMedium<br \/>\n\u2014<br \/>\n\u2014<br \/>\nT\u00d5SI<\/p>\n<p>spring-tx:3.0.5<br \/>\n\u2014<br \/>\nHigh<br \/>\n\u2014<br \/>\nFALSE<\/p>\n<p>struts-core:1.3.8<br \/>\nHigh<br \/>\nHigh<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>xwork-core: 2.3.30<br \/>\nHigh<br \/>\n\u2014<br \/>\n\u2014<br \/>\nT\u00d5SI<\/p>\n<p>struts2-core: 2.3.30<br \/>\nHigh<br \/>\nHigh<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>struts-taglib:1.3.8<br \/>\n\u2014<br \/>\nHigh<br \/>\n\u2014<br \/>\nFALSE<\/p>\n<p>struts-tiles-1.3.8<br \/>\n\u2014<br \/>\nHigh<br \/>\n\u2014<br \/>\nFALSE<\/p>\n<p><\/p>\n<p>                        <b class=\"spoiler_title\">Lisa B. Tulemused haavatavuste osas<\/b><br \/>\n                        <b>M\u00e4rgistused:<\/b><\/p>\n<ul>\n<li>High \u2014 k\u00f5rge ja kriitilise taseme haavatavused komponendis<\/li>\n<li>Medium \u2014 keskmise taseme haavatavused komponendis<\/li>\n<li>TRUE \u2014 \u00f5igesti tuvastatud haavatavus (True positive issue)<\/li>\n<li>FALSE \u2014 vale h\u00e4ire (False positive issue)<\/li>\n<\/ul>\n<p><\/p>\n<p>Komponent<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nDependency Track<br \/>\nT\u00f5sidus<br \/>\nTulemus<br \/>\nKommentaar<\/p>\n<p>dom4j: 1.6.1<br \/>\nCVE-2018-1000632<br \/>\nCVE-2018-1000632<br \/>\nCVE-2018-1000632<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>CVE-2020-10683<br \/>\nCVE-2020-10683<br \/>\nCVE-2020-10683<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>log4j-core: 2.3<br \/>\nCVE-2017-5645<br \/>\nCVE-2017-5645<br \/>\nCVE-2017-5645<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>CVE-2020-9488<br \/>\nCVE-2020-9488<br \/>\nCVE-2020-9488<br \/>\nMadal<br \/>\nT\u00d5SI<\/p>\n<p>log4j: 1.2.14<br \/>\nCVE-2019-17571<br \/>\nCVE-2019-17571<br \/>\n\u2014<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>\u2014<br \/>\nCVE-2020-9488<br \/>\n\u2014<br \/>\nMadal<br \/>\nT\u00d5SI<\/p>\n<p>SONATYPE-2010-0053<br \/>\n\u2014<br \/>\n\u2014<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>commons-collections:3.1<br \/>\n\u2014<br \/>\nCVE-2015-6420<br \/>\nCVE-2015-6420<br \/>\nHigh<br \/>\nFALSE<br \/>\nDuplikaat RCE(OSSINDEX)<\/p>\n<p>\u2014<br \/>\nCVE-2017-15708<br \/>\nCVE-2017-15708<br \/>\nHigh<br \/>\nFALSE<br \/>\nDuplikaat RCE(OSSINDEX)<\/p>\n<p>SONATYPE-2015-0002<br \/>\nRCE (OSSINDEX)<br \/>\nRCE(OSSINDEX)<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>commons-fileupload:1.3.2<br \/>\nCVE-2016-1000031<br \/>\nCVE-2016-1000031<br \/>\nCVE-2016-1000031<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>SONATYPE-2014-0173<br \/>\n\u2014<br \/>\n\u2014<br \/>\nMedium<br \/>\nT\u00d5SI<\/p>\n<p>commons-beanutils:1.7.0<br \/>\nCVE-2014-0114<br \/>\nCVE-2014-0114<br \/>\nCVE-2014-0114<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>\u2014<br \/>\nCVE-2019-10086<br \/>\nCVE-2019-10086<br \/>\nHigh<br \/>\nFALSE<br \/>\nHaavatavus kehtib ainult versioonidele 1.9.2+<\/p>\n<p>commons-codec:1:10<br \/>\nSONATYPE-2012-0050<br \/>\n\u2014<br \/>\n\u2014<br \/>\nMedium<br \/>\nT\u00d5SI<\/p>\n<p>mysql-connector-java:5.1.42<br \/>\nCVE-2018-3258<br \/>\nCVE-2018-3258<br \/>\nCVE-2018-3258<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>CVE-2019-2692<br \/>\nCVE-2019-2692<br \/>\n\u2014<br \/>\nMedium<br \/>\nT\u00d5SI<\/p>\n<p>\u2014<br \/>\nCVE-2020-2875<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSE<br \/>\nSame vulnerability as CVE-2019-2692, but with the note 'attacks may significantly impact additional products'<\/p>\n<p>\u2014<br \/>\nCVE-2017-15945<br \/>\n\u2014<br \/>\nHigh<br \/>\nFALSE<br \/>\nEi kehti mysql-connector-java jaoks<\/p>\n<p>\u2014<br \/>\nCVE-2020-2933<br \/>\n\u2014<br \/>\nMadal<br \/>\nFALSE<br \/>\nDuplikaat CVE-2020-2934-le<\/p>\n<p>CVE-2020-2934<br \/>\nCVE-2020-2934<br \/>\n\u2014<br \/>\nMedium<br \/>\nT\u00d5SI<\/p>\n<p>spring-expression:3.0.5<br \/>\nCVE-2018-1270<br \/>\nkomponenti ei leitud<br \/>\n\u2014<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>CVE-2018-1257<br \/>\n\u2014<br \/>\n\u2014<br \/>\nMedium<br \/>\nT\u00d5SI<\/p>\n<p>spring-web:3.0.5<br \/>\nCVE-2016-1000027<br \/>\nkomponenti ei leitud<br \/>\n\u2014<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>CVE-2014-0225<br \/>\n\u2014<br \/>\nCVE-2014-0225<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>CVE-2011-2730<br \/>\n\u2014<br \/>\n\u2014<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>\u2014<br \/>\n\u2014<br \/>\nCVE-2013-4152<br \/>\nMedium<br \/>\nT\u00d5SI<\/p>\n<p>CVE-2018-1272<br \/>\n\u2014<br \/>\n\u2014<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>CVE-2020-5398<br \/>\n\u2014<br \/>\n\u2014<br \/>\nHigh<br \/>\nT\u00d5SI<br \/>\nT\u00f5end IQ kasuks: 'Sonatype'i turvauuringute meeskond avastas, et see haavatavus tutvustati versioonis 3.0.2.RELEASE, mitte 5.0.x, nagu n\u00f5uandes \u00f6eldud.'<\/p>\n<p>CVE-2013-6429<br \/>\n\u2014<br \/>\n\u2014<br \/>\nMedium<br \/>\nT\u00d5SI<\/p>\n<p>CVE-2014-0054<br \/>\n\u2014<br \/>\nCVE-2014-0054<br \/>\nMedium<br \/>\nT\u00d5SI<\/p>\n<p>CVE-2013-6430<br \/>\n\u2014<br \/>\n\u2014<br \/>\nMedium<br \/>\nT\u00d5SI<\/p>\n<p>spring-context:3.0.5<br \/>\nCVE-2011-2894<br \/>\nkomponenti ei leitud<br \/>\n\u2014<br \/>\nMedium<br \/>\nT\u00d5SI<\/p>\n<p>spring-core:3.0.5<br \/>\n\u2014<br \/>\nCVE-2011-2730<br \/>\nCVE-2011-2730<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>CVE-2011-2894<br \/>\nCVE-2011-2894<br \/>\nCVE-2011-2894<br \/>\nMedium<br \/>\nT\u00d5SI<\/p>\n<p>\u2014<br \/>\n\u2014<br \/>\nCVE-2013-4152<br \/>\nMedium<br \/>\nFALSE<br \/>\nSama haavatavus spring-webis<\/p>\n<p>\u2014<br \/>\nCVE-2013-4152<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus kehtib spring-web komponendi suhtes<\/p>\n<p>\u2014<br \/>\nCVE-2013-6429<br \/>\nCVE-2013-6429<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus kehtib spring-web komponendi suhtes<\/p>\n<p>\u2014<br \/>\nCVE-2013-6430<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus kehtib spring-web komponendi suhtes<\/p>\n<p>\u2014<br \/>\nCVE-2013-7315<br \/>\nCVE-2013-7315<br \/>\nMedium<br \/>\nFALSE<br \/>\nSPLIT CVE-2013-4152-st. + Haavatavus kehtib spring-web komponendi suhtes<\/p>\n<p>\u2014<br \/>\nCVE-2014-0054<br \/>\nCVE-2014-0054<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus kehtib spring-web komponendi suhtes<\/p>\n<p>\u2014<br \/>\nCVE-2014-0225<br \/>\n\u2014<br \/>\nHigh<br \/>\nFALSE<br \/>\nHaavatavus kehtib spring-web komponendi suhtes<\/p>\n<p>\u2014<br \/>\n\u2014<br \/>\nCVE-2014-0225<br \/>\nHigh<br \/>\nFALSE<br \/>\nSama haavatavus spring-webis<\/p>\n<p>\u2014<br \/>\nCVE-2014-1904<br \/>\nCVE-2014-1904<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus kehtib spring-web-mvc komponendi suhtes<\/p>\n<p>\u2014<br \/>\nCVE-2014-3625<br \/>\nCVE-2014-3625<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus kehtib spring-web-mvc komponendi suhtes<\/p>\n<p>\u2014<br \/>\nCVE-2016-9878<br \/>\nCVE-2016-9878<br \/>\nHigh<br \/>\nFALSE<br \/>\nHaavatavus kehtib spring-web-mvc komponendi suhtes<\/p>\n<p>\u2014<br \/>\nCVE-2018-1270<br \/>\nCVE-2018-1270<br \/>\nHigh<br \/>\nFALSE<br \/>\nspring-expression \/ spring-messages jaoks<\/p>\n<p>\u2014<br \/>\nCVE-2018-1271<br \/>\nCVE-2018-1271<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus kehtib spring-web-mvc komponendi suhtes<\/p>\n<p>\u2014<br \/>\nCVE-2018-1272<br \/>\nCVE-2018-1272<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>CVE-2014-3578<br \/>\nCVE-2014-3578 (OSSINDEX)<br \/>\nCVE-2014-3578<br \/>\nMedium<br \/>\nT\u00d5SI<\/p>\n<p>SONATYPE-2015-0327<br \/>\n\u2014<br \/>\n\u2014<br \/>\nMadal<br \/>\nT\u00d5SI<\/p>\n<p>struts2-config-browser-plugin:2.3.30<br \/>\nSONATYPE-2016-0104<br \/>\n\u2014<br \/>\n\u2014<br \/>\nMedium<br \/>\nT\u00d5SI<\/p>\n<p>spring-tx:3.0.5<br \/>\n\u2014<br \/>\nCVE-2011-2730<br \/>\n\u2014<br \/>\nHigh<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx jaoks<\/p>\n<p>\u2014<br \/>\nCVE-2011-2894<br \/>\n\u2014<br \/>\nHigh<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx jaoks<\/p>\n<p>\u2014<br \/>\nCVE-2013-4152<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx jaoks<\/p>\n<p>\u2014<br \/>\nCVE-2013-6429<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx jaoks<\/p>\n<p>\u2014<br \/>\nCVE-2013-6430<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx jaoks<\/p>\n<p>\u2014<br \/>\nCVE-2013-7315<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx jaoks<\/p>\n<p>\u2014<br \/>\nCVE-2014-0054<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx jaoks<\/p>\n<p>\u2014<br \/>\nCVE-2014-0225<br \/>\n\u2014<br \/>\nHigh<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx jaoks<\/p>\n<p>\u2014<br \/>\nCVE-2014-1904<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx jaoks<\/p>\n<p>\u2014<br \/>\nCVE-2014-3625<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx jaoks<\/p>\n<p>\u2014<br \/>\nCVE-2016-9878<br \/>\n\u2014<br \/>\nHigh<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx jaoks<\/p>\n<p>\u2014<br \/>\nCVE-2018-1270<br \/>\n\u2014<br \/>\nHigh<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx jaoks<\/p>\n<p>\u2014<br \/>\nCVE-2018-1271<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx jaoks<\/p>\n<p>\u2014<br \/>\nCVE-2018-1272<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx jaoks<\/p>\n<p>struts-core:1.3.8<br \/>\n\u2014<br \/>\nCVE-2011-5057 (OSSINDEX)<\/p>\n<p>Medium<br \/>\nFASLE<br \/>\nHaavatavus Struts 2 suhtes<\/p>\n<p>\u2014<br \/>\nCVE-2012-0391 (OSSINDEX)<br \/>\nCVE-2012-0391<br \/>\nHigh<br \/>\nFALSE<br \/>\nHaavatavus Struts 2 suhtes<\/p>\n<p>\u2014<br \/>\nCVE-2014-0094 (OSSINDEX)<br \/>\nCVE-2014-0094<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus Struts 2 suhtes<\/p>\n<p>\u2014<br \/>\nCVE-2014-0113 (OSSINDEX)<br \/>\nCVE-2014-0113<br \/>\nHigh<br \/>\nFALSE<br \/>\nHaavatavus Struts 2 suhtes<\/p>\n<p>CVE-2016-1182<br \/>\n3VE-2016-1182<br \/>\n\u2014<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>\u2014<br \/>\n\u2014<br \/>\nCVE-2011-5057<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus Struts 2 suhtes<\/p>\n<p>\u2014<br \/>\nCVE-2012-0392 (OSSINDEX)<br \/>\nCVE-2012-0392<br \/>\nHigh<br \/>\nFALSE<br \/>\nHaavatavus Struts 2 suhtes<\/p>\n<p>\u2014<br \/>\nCVE-2012-0393 (OSSINDEX)<br \/>\nCVE-2012-0393<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus Struts 2 suhtes<\/p>\n<p>CVE-2015-0899<br \/>\nCVE-2015-0899<br \/>\n\u2014<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>\u2014<br \/>\nCVE-2012-0394<br \/>\nCVE-2012-0394<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus Struts 2 suhtes<\/p>\n<p>\u2014<br \/>\nCVE-2012-0838 (OSSINDEX)<br \/>\nCVE-2012-0838<br \/>\nHigh<br \/>\nFALSE<br \/>\nHaavatavus Struts 2 suhtes<\/p>\n<p>\u2014<br \/>\nCVE-2013-1965 (OSSINDEX)<br \/>\nCVE-2013-1965<br \/>\nHigh<br \/>\nFALSE<br \/>\nHaavatavus Struts 2 suhtes<\/p>\n<p>\u2014<br \/>\nCVE-2013-1966 (OSSINDEX)<br \/>\nCVE-2013-1966<br \/>\nHigh<br \/>\nFASLE<br \/>\nHaavatavus Struts 2 suhtes<\/p>\n<p>\u2014<br \/>\nCVE-2013-2115<br \/>\nCVE-2013-2115<br \/>\nHigh<br \/>\nFASLE<br \/>\nHaavatavus Struts 2 suhtes<\/p>\n<p>\u2014<br \/>\nCVE-2013-2134 (OSSINDEX)<br \/>\nCVE-2013-2134<br \/>\nHigh<br \/>\nFASLE<br \/>\nHaavatavus Struts 2 suhtes<\/p>\n<p>\u2014<br \/>\nCVE-2013-2135 (OSSINDEX)<br \/>\nCVE-2013-2135<br \/>\nHigh<br \/>\nFASLE<br \/>\nHaavatavus Struts 2 suhtes<\/p>\n<p>CVE-2014-0114<br \/>\nCVE-2014-0114<br \/>\n\u2014<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>\u2014<br \/>\nCVE-2015-2992<br \/>\nCVE-2015-2992<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus Struts 2 suhtes<\/p>\n<p>\u2014<br \/>\nCVE-2016-0785 (OSSINDEX)<br \/>\nCVE-2016-0785<br \/>\nHigh<br \/>\nFALSE<br \/>\nHaavatavus Struts 2 suhtes<\/p>\n<p>CVE-2016-1181<br \/>\nCVE-2016-1181<br \/>\n\u2014<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>\u2014<br \/>\nCVE-2016-4003 (OSSINDEX)<br \/>\nCVE-2016-4003<br \/>\nHigh<br \/>\nFALSE<br \/>\nHaavatavus Struts 2 suhtes<\/p>\n<p>xwork-core:2.3.30<br \/>\nCVE-2017-9804<br \/>\n\u2014<br \/>\n\u2014<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>SONATYPE-2017-0173<br \/>\n\u2014<br \/>\n\u2014<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>CVE-2017-7672<br \/>\n\u2014<br \/>\n\u2014<br \/>\nHigh<br \/>\nFALSE<br \/>\nDuubel k CVE-2017-9804<\/p>\n<p>SONATYPE-2016-0127<br \/>\n\u2014<br \/>\n\u2014<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>struts2-core:2.3.30<br \/>\n\u2014<br \/>\nCVE-2016-6795<br \/>\nCVE-2016-6795<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>\u2014<br \/>\nCVE-2017-9787<br \/>\nCVE-2017-9787<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>\u2014<br \/>\nCVE-2017-9791<br \/>\nCVE-2017-9791<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>\u2014<br \/>\nCVE-2017-9793<br \/>\n\u2014<br \/>\nHigh<br \/>\nFALSE<br \/>\nDuubel k CVE-2018-1327<\/p>\n<p>\u2014<br \/>\nCVE-2017-9804<br \/>\n\u2014<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>\u2014<br \/>\nCVE-2017-9805<br \/>\nCVE-2017-9805<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>CVE-2016-4003<br \/>\n\u2014<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSE<br \/>\nKehtib Apache Struts 2.x kuni 2.3.28, kuid see on versioon 2.3.30. Siiski, nagu k\u00e4skluses m\u00e4rgitud, kehtib CVE k\u00f5ikide Struts 2 versioonide puhul, kui kasutatakse JRE 1.7 ja vanemat. Tundub, et siin on otsustatud ettevaatlikult tegutseda, kuid rohkem sarnaneb see valeh\u00e4irega.<\/p>\n<p>\u2014<br \/>\nCVE-2018-1327<br \/>\nCVE-2018-1327<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>CVE-2017-5638<br \/>\nCVE-2017-5638<br \/>\nCVE-2017-5638<br \/>\nHigh<br \/>\nT\u00d5SI<br \/>\nJust see haavatavus, mille kasuks kurjategijad tegid kasutuse Equifaxis 2017. aastal<\/p>\n<p>CVE-2017-12611<br \/>\nCVE-2017-12611<br \/>\n\u2014<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>CVE-2018-11776<br \/>\nCVE-2018-11776<br \/>\nCVE-2018-11776<br \/>\nHigh<br \/>\nT\u00d5SI<\/p>\n<p>struts-taglib:1.3.8<br \/>\n\u2014<br \/>\nCVE-2012-0394<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSE<br \/>\nStruts2-core jaoks<\/p>\n<p>\u2014<br \/>\nCVE-2013-2115<br \/>\n\u2014<br \/>\nHigh<br \/>\nFALSE<br \/>\nStruts2-core jaoks<\/p>\n<p>\u2014<br \/>\nCVE-2014-0114<br \/>\n\u2014<br \/>\nHigh<br \/>\nFALSE<br \/>\nCommons-beanutils jaoks<\/p>\n<p>\u2014<br \/>\nCVE-2015-0899<br \/>\n\u2014<br \/>\nHigh<br \/>\nFALSE<br \/>\nEi kehti taglib'i kohta<\/p>\n<p>\u2014<br \/>\nCVE-2015-2992<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSE<br \/>\nKehtib struts2-core'i kohta<\/p>\n<p>\u2014<br \/>\nCVE-2016-1181<br \/>\n\u2014<br \/>\nHigh<br \/>\nFALSE<br \/>\nEi kehti taglib'i kohta<\/p>\n<p>\u2014<br \/>\nCVE-2016-1182<br \/>\n\u2014<br \/>\nHigh<br \/>\nFALSE<br \/>\nEi kehti taglib'i kohta<\/p>\n<p>struts-tiles-1.3.8<br \/>\n\u2014<br \/>\nCVE-2012-0394<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSE<br \/>\nStruts2-core jaoks<\/p>\n<p>\u2014<br \/>\nCVE-2013-2115<br \/>\n\u2014<br \/>\nHigh<br \/>\nFALSE<br \/>\nStruts2-core jaoks<\/p>\n<p>\u2014<br \/>\nCVE-2014-0114<br \/>\n\u2014<br \/>\nHigh<br \/>\nFALSE<br \/>\nCommons-beanutils'i all<\/p>\n<p>\u2014<br \/>\nCVE-2015-0899<br \/>\n\u2014<br \/>\nHigh<br \/>\nFALSE<br \/>\nEi kehti tiles'i kohta<\/p>\n<p>\u2014<br \/>\nCVE-2015-2992<br \/>\n\u2014<br \/>\nMedium<br \/>\nFALSE<br \/>\nStruts2-core jaoks<\/p>\n<p>\u2014<br \/>\nCVE-2016-1181<br \/>\n\u2014<br \/>\nHigh<br \/>\nFALSE<br \/>\nEi kehti taglib'i kohta<\/p>\n<p>\u2014<br \/>\nCVE-2016-1182<br \/>\n\u2014<br \/>\nHigh<br \/>\nFALSE<br \/>\nEi kehti taglib'i kohta<\/p>\n<p>Allikas: <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\/et\/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=\"et_EE\" \/>\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\/et\/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: tegevusprintsiibid ja SCA v\u00f5rdlus. Esimene osa | ProHoster","description":"Kolmandate osapoolte tarkvara anal\u00fc\u00fcsi t\u00e4htsus (ingl.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/devsecops-princzipy-raboty-i-sravnenie-sca-chast-pervaya","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\/et\/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\/et\/wp-json\/wp\/v2\/posts\/92519","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=92519"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/92519\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/92520"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=92519"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=92519"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=92519"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}