{"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 komponentide anal\u00fc\u00fcsi (inglise keeles Software Composition Analysis \u2014 SCA) t\u00e4htsus arendamisel kasvab koos avatud l\u00e4htekoodiga raamatukogude haavatavuste kohta avaldatud iga-aastaste aruannetega, mida avaldavad ettev\u00f5tted nagu Synopsys, Sonatype, Snyk, White Source. Aruande kohaselt <noindex><a rel=\"nofollow\" href=\"https:\/\/www.whitesourcesoftware.com\/open-source-vulnerability-management-report\/\">Avaallika turvalisuse haavatavuste seisund 2020<\/a><\/noindex> avastatud haavatuste arv avatud l\u00e4htekoodiga tarkvaras 2019. aastal kasvas peaaegu 1,5 korda v\u00f5rreldes eelmise aastaga, samas kui avatud l\u00e4htekoodiga komponente kasutatakse 60% kuni 80% projektidest. Kui viidata s\u00f5ltumatule arvamusele, on SCA protsessid OWASP SAMM ja BSIMM eraldi praktikad, mis on k\u00fcpsuse n\u00e4itajaks, ning 2020. aasta esimeses pooles avaldas OWASP uue standardi OWASP Software Component Verification Standard (SCVS), mis annab parimad praktikad kolmandate osapoolte komponentide kontrollimiseks tarkvara tarnimise ahelas.<\/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 n\u00e4itlikumaid juhtumeid <noindex><a rel=\"nofollow\" href=\"https:\/\/xakep.ru\/2017\/09\/14\/equifax-dejstvitelno-vzlomali-cherez-bag-v-apache-struts-no-uyazvimost-okazalas-staroj\/\">s\u00fcndis<\/a><\/noindex> koost\u00f6\u00f6s ettev\u00f5ttega Equifax mai 2017. aastal. Tundmatud k\u00fcberkurjategijad p\u00e4\u00e4sesid ligi 143 miljoni ameeriklase teabele, sealhulgas t\u00e4ielikele nimedele, aadressidele, sotsiaalkindlustuse numbritele ja juhtimissertifikaatidele. 209 000 juhul sisaldasid dokumentides ka teavet kannatanu pangakaartide kohta. See lekkimine toimus kriitilise haavatavuse t\u00f5ttu Apache Struts 2-s (CVE-2017-5638), samal ajal kui parandusv\u00e4ljaanne ilmus juba m\u00e4rtsis 2017. Ettev\u00f5ttel oli kaks kuud uuenduste rakendamiseks, kuid keegi ei muretsenud selle \u00fcle.<\/p>\n<p>K\u00e4esolevas artiklis arutatakse SCA t\u00f6\u00f6riista valimise k\u00fcsimust anal\u00fc\u00fcsi tulemuste kvaliteedi vaatepunktist. Samuti tuuakse v\u00e4lja t\u00f6\u00f6riistade funktsionaalne v\u00f5rdlus. CI\/CD-sse inteerimise protsessi ja integreerimise v\u00f5imalused j\u00e4tame j\u00e4rgmistele v\u00e4ljaannele. Lai nimekiri t\u00f6\u00f6riistadest on esitatud OWASP <noindex><a rel=\"nofollow\" href=\"https:\/\/owasp.org\/www-community\/Component_Analysis\">oma veebisaidil<\/a><\/noindex>, kuid k\u00e4esoleva \u00fclevaate raames k\u00e4sitleme ainult k\u00f5ige populaarsemat avatud l\u00e4htekoodiga t\u00f6\u00f6riista Dependency Check, veidi v\u00e4hem tuntud avatud l\u00e4htekoodiga 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\u00f6printsiip<\/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, grupi ID, spetsifikatsiooni pealkiri, versioon...), koostab CPE (Common Platform Enumeration) stringi, paketi URL (PURL) ja tuvastab CPE\/PURL jaoks haavatavused andmebaasidest (NVD, Sonatype OSS Index, NPM Audit API...), p\u00e4rast mida koostab ajakohase aruande HTML, JSON, XML jne formaadis.<\/p>\n<p>Vaatame, kuidas CPE v\u00e4lja n\u00e4eb:<\/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>Osa:<\/b> M\u00e4rge, et komponent kuulub rakendusele (a), operatsioonis\u00fcsteemile (o), riistvarale (h) (Kohustuslik punkt)<\/li>\n<li><b>Tootja:<\/b> 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 v\u00e4rskendus<\/li>\n<li><b>V\u00e4ljaanne:<\/b> P\u00e4randversioon (Aegunud punkt)<\/li>\n<li><b>Keel:<\/b> Keel, m\u00e4\u00e4ratud RFC-5646-s<\/li>\n<li><b>SW V\u00e4ljaanne:<\/b> Tarkvara versioon<\/li>\n<li><b>Siht-PR:<\/b> Tarkvara keskkond, kus toode t\u00f6\u00f6tab<\/li>\n<li><b>Siht-HW:<\/b> Riistvarakeskkond, kus toode t\u00f6\u00f6tab<\/li>\n<li><b>Muud:<\/b> M\u00fc\u00fcja v\u00f5i toote teave<\/li>\n<\/ul>\n<p>\nCPE n\u00e4eb v\u00e4lja j\u00e4rgmine:<\/p>\n<pre><code class=\"plaintext\">cpe:2.3:a:pivotal_software:spring_framework:3.0.0:*:*:*:*:*:*:*<\/code><\/pre>\n<p>\nRida 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 saame n\u00e4ha, et see CPE mainitakse. Esimene probleem, millele kohe t\u00e4helepanu p\u00f6\u00f6rata \u2014 CVE NVD-s teatab selle CPE kohaselt, et probleem on raamistikus, mitte konkreetses komponendis. See t\u00e4hendab, et kui arendajad on tugevalt seotud raamistikuga ja tuvastatud haavatavus ei puuduta neid mooduleid, mida arendajad kasutavad, peab turbe spetsialist igal juhul uurima seda CVE-d ja m\u00f5tlema uuendusele.<\/p>\n<p>URL-i kasutatakse samuti SCA t\u00f6\u00f6riistade poolt. Paketi URL-i formaat on j\u00e4rgmine:<\/p>\n<pre><code class=\"plaintext\">scheme:type\/namespace\/name@version?qualifiers#subpath<\/code><\/pre>\n<p><\/p>\n<ul>\n<li><b>Skeem: <\/b>\u0412\u0441\u0435\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 &#8216;pkg&#8217;, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439, \u0447\u0442\u043e \u044d\u0442\u043e URL-\u0430\u0434\u0440\u0435\u0441 \u043f\u0430\u043a\u0435\u0442\u0430 (\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0443\u043d\u043a\u0442)<\/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>Nimiiruumi:<\/b> M\u00f5ni nimeprefiks, n\u00e4iteks Maven'i grupi identifikaator, Docker'i pildi omaniku, kasutaja v\u00f5i GitHub'i organisatsiooni. Valikuline ja s\u00f5ltub t\u00fc\u00fcbist.<\/li>\n<li><b>Nimi:<\/b> Paketi nimi (kohustuslik element)<\/li>\n<li><b>Versioon:<\/b> Paketi versioon<\/li>\n<li><b>Kvalifikaatorid:<\/b> Lisakvalifitseerivad andmed paketi kohta, nagu OS, arhitektuur, jaotamine jms. Valikuline ja s\u00f5ltub t\u00fc\u00fcbist.<\/li>\n<li><b>Alatee:<\/b> Lisatee paketis 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\/\">S\u00f5ltuvuste j\u00e4lgimine<\/a><\/noindex> \u2014 kohapealne veebiplatvorm, mis aktsepteerib valmis materjalide loendeid (BOM), mis on loodud <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 olemasolevate s\u00f5ltuvuste kohta. See on XML-fail, mis kirjeldab s\u00f5ltuvusi \u2014 nimi, hashid, paketi URL, v\u00e4ljaandja, litsents. Seej\u00e4rel anal\u00fc\u00fcsib S\u00f5ltuvuste j\u00e4lgimine BOM'i, kontrollib olemasolevaid CVE-sid s\u00f5ltuvuste osas haavatavuste andmebaasist (NVD, Sonatype OSS Index \u2026), p\u00e4rast mida koostab graafikud, arvutab meetrike, ja v\u00e4rskendab regulaarselt andmeid komponentide haavatavuste staatuse kohta. <\/p>\n<p>N\u00e4ide sellest, kuidas BOM XML-formaadis v\u00e4lja n\u00e4ha v\u00f5ib:<\/p>\n<pre><code class=\"xml\">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;\n&lt;bom xmlns=&quot;http:\/\/cyclonedx.org\/schema\/bom\/1.2&quot; serialNumber=&quot;urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79&quot; version=&quot;1&quot;&gt;\n  &lt;components&gt;\n    &lt;component type=&quot;library&quot;&gt;\n      &lt;publisher&gt;Apache&lt;\/publisher&gt;\n      &lt;group&gt;org.apache.tomcat&lt;\/group&gt;\n      &lt;name&gt;tomcat-catalina&lt;\/name&gt;\n      &lt;version&gt;9.0.14&lt;\/version&gt;\n      &lt;hashes&gt;\n        &lt;hash alg=&quot;MD5&quot;&gt;3942447fac867ae5cdb3229b658f4d48&lt;\/hash&gt;\n        &lt;hash alg=&quot;SHA-1&quot;&gt;e6b1000b94e835ffd37f4c6dcbdad43f4b48a02a&lt;\/hash&gt;\n        &lt;hash alg=&quot;SHA-256&quot;&gt;f498a8ff2dd007e29c2074f5e4b01a9a01775c3ff3aeaf6906ea503bc5791b7b&lt;\/hash&gt;\n        &lt;hash alg=&quot;SHA-512&quot;&gt;e8f33e424f3f4ed6db76a482fde1a5298970e442c531729119e37991884bdffab4f9426b7ee11fccd074eeda0634d71697d6f88a460dce0ac8d627a29f7d1282&lt;\/hash&gt;\n      &lt;\/hashes&gt;\n      &lt;licenses&gt;\n        &lt;license&gt;\n          &lt;id&gt;Apache-2.0&lt;\/id&gt;\n        &lt;\/license&gt;\n      &lt;\/licenses&gt;\n      &lt;purl&gt;pkg:maven\/org.apache.tomcat\/tomcat-catalina@9.0.14&lt;\/purl&gt;\n    &lt;\/component&gt;\n      &lt;!-- More components here --&gt;\n  &lt;\/components&gt;\n&lt;\/bom&gt;<\/code><\/pre>\n<p>\nBOM-i saab kasutada mitte ainult s\u00f5ltuvuse j\u00e4lgimiseks, vaid ka tarkvara koostisosade inventeerimiseks tarnijate ahelas, n\u00e4iteks tarkvara kliendile esitlemiseks. 2014. aastal esitati USA-s isegi seaduseeln\u00f5u, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.congress.gov\/bill\/113th-congress\/house-bill\/5793\">\u201eCyber Supply Chain Management and Transparency Act of 2014\u201c<\/a><\/noindex>, mis \u00fctles, et igasuguste tarkvarade ostmisel peavad k\u00f5ik riigiasutused n\u00f5udma BOM-i, et v\u00e4ltida haavatavate komponentide kasutamist, kuid seadus ei j\u00f5ustunud.<\/p>\n<p>Tagasi tulles SCA juurde, on Dependency Track'il valmisolek integreeruda teavituss\u00fcsteemidega nagu Slack, haavatavuste haldamise s\u00fcsteemidega nagu Kenna Security. Oluline on ka m\u00e4rkida, et Dependency Track tuvastab vananenud paketiversioonid ja pakub teavet litsentside kohta (grupi SPDX toel).<\/p>\n<p>Kui r\u00e4\u00e4kida SCA kvaliteedist, siis on siin p\u00f5him\u00f5tteline erinevus.<\/p>\n<p>Dependency Track ei v\u00f5ta projekti sisendina, vaid v\u00f5tab just BOM-i. See t\u00e4hendab, et kui tahame projekti kontrollida, peame k\u00f5igepealt genereerima bom.xml, n\u00e4iteks CycloneDX abil. Seet\u00f5ttu s\u00f5ltub Dependency Track otseselt CycloneDX-st. Samas v\u00f5imaldab see ka kohandamist. Nii kirjutas OZONi meeskond <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ozonru\/cyclonedx-go\">CycloneDX mooduli<\/a><\/noindex> BOM-failide koostamiseks Golangi projektide jaoks, et neid hiljem Dependency Track'i kaudu skaneerida.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/sonatype.ru\/#nexusiq\">Nexus IQ<\/a><\/noindex> \u2014 Sonatype'i SCA \u00e4rilahenduse osa, mis kuulub Sonatype'i \u00f6kos\u00fcsteemi, kuhu kuulub ka Nexus Repository Manager. Nexus IQ saab sisendina vastu v\u00f5tta nii war-arhiive (Java projektide jaoks) veebiliidese v\u00f5i API kaudu, kui ka BOM-i, juhul kui teie organisatsioon ei ole veel CycloneDX-lt uuele lahendusele \u00fcle l\u00e4inud. Erinevalt avatud l\u00e4htekoodiga lahendustest, v\u00f5tab IQ arvesse mitte ainult CP\/PURL tuvastatud komponente ja vastavaid haavatavusi andmebaasis, vaid ka oma uuringuid, n\u00e4iteks haavatava funktsiooni v\u00f5i klassi nimetust. IQ mehhanismid k\u00e4sitletakse hiljem, kui anal\u00fc\u00fcsime tulemusi.<\/p>\n<p>Teeme kokkuv\u00f5tte funktsionaalsetest omadustest ja vaatame \u00fcle toetatud keeled anal\u00fc\u00fcsiks:<\/p>\n<p>Keel<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nS\u00f5ltuvuste j\u00e4lgimine<\/p>\n<p>Java<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>C\/C++<br \/>\n+<br \/>\n+<br \/>\n&#8212;<\/p>\n<p>C#<br \/>\n+<br \/>\n+<br \/>\n&#8212;<\/p>\n<p>.Net<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>Erlang<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\n+<\/p>\n<p>JavaScript (NodeJS)<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>PHP<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>Python<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>Ruby<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>Perl<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\n&#8212;<\/p>\n<p>Scala<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>Objective C<br \/>\n+<br \/>\n+<br \/>\n&#8212;<\/p>\n<p>Swift<br \/>\n+<br \/>\n+<br \/>\n&#8212;<\/p>\n<p>R<br \/>\n+<br \/>\n&#8212;<br \/>\n&#8212;<\/p>\n<p>Go<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>\nFunktsioonid<\/p>\n<p>Funktsioonid<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nS\u00f5ltuvuste j\u00e4lgimine<\/p>\n<p>V\u00f5imekus tagada komponentide kontroll, mida kasutatakse l\u00e4htekoodis litsentsi selguse osas<br \/>\n+<br \/>\n&#8212;<br \/>\n+<\/p>\n<p>V\u00f5imekus skaneerida ja anal\u00fc\u00fcsida haavatavuste ja litsentsi selguse osas Docker'i piltidele<br \/>\n+ Integreerimine Clairiga<br \/>\n&#8212;<br \/>\n&#8212;<\/p>\n<p>V\u00f5imekus seadistada turvapoliitikat avatud l\u00e4htekoodiga raamatukogude kasutamiseks<br \/>\n+<br \/>\n&#8212;<br \/>\n&#8212;<\/p>\n<p>Avatud l\u00e4htekoodiga hoidlate skaneerimise v\u00f5imalus haavatavate komponentide leidmiseks<br \/>\n+ RubyGems, Maven, NPM, Nuget, Pypi, Conan, Bower, Conda, Go, p2, R, Yum, Helm, Docker, CocoaPods, Git LFS<br \/>\n&#8212;<br \/>\n+ Hex, RubyGems, Maven, NPM, Nuget, Pypi<\/p>\n<p>Spetsialiseeritud teadusgrupi olemasolu<br \/>\n+<br \/>\n&#8212;<br \/>\n&#8212;<\/p>\n<p>T\u00f6\u00f6 suletud ringis<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>Kolmandate osapoolte andmebaaside kasutamine<br \/>\n+ Suletud andmebaas Sonatype<br \/>\n+ Sonatype OSS, NPM Public Advisors<br \/>\n+ Sonatype OSS, NPM Public Advisors, RetireJS, VulnDB, oma haavatavuste andmebaasi toetus<\/p>\n<p>Avatud l\u00e4htekoodiga komponentide filtreerimise v\u00f5imalus arendusringis \u00fcleslaadimise katses vastavalt konfigureeritud poliitikatele<br \/>\n+<br \/>\n&#8212;<br \/>\n&#8212;<\/p>\n<p>Soovitused haavatavuste parandamiseks, lingid parandusele<br \/>\n+<br \/>\n+- (s\u00f5ltub avalikes andmebaasides olevatest kirjeldustest)<br \/>\n+- (s\u00f5ltub avalikes andmebaasides olevatest kirjeldustest)<\/p>\n<p>Leitud haavatavuste ridade j\u00e4rjestamine kriitilisuse j\u00e4rgi<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>Juurdep\u00e4\u00e4su n\u00f5uetekohane mudel<br \/>\n+<br \/>\n&#8212;<br \/>\n+<\/p>\n<p>CLI (k\u00e4skude rea liidese) tugi<br \/>\n+<br \/>\n+<br \/>\n+- (ainult CycloneDX jaoks)<\/p>\n<p>Haavatavuste valimine \/ j\u00e4rjestamine m\u00e4\u00e4ratletud kriteeriumide alusel<br \/>\n+<br \/>\n&#8212;<br \/>\n+<\/p>\n<p>Rakenduste oleku armatuurlaud<br \/>\n+<br \/>\n&#8212;<br \/>\n+<\/p>\n<p>Aruannete genereerimine PDF-formaadis<br \/>\n+<br \/>\n&#8212;<br \/>\n&#8212;<\/p>\n<p>Aruannete genereerimine JSONCSV formaadis<br \/>\n+<br \/>\n+<br \/>\n&#8212;<\/p>\n<p>Venekeelse toe olemasolu<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\n&#8212;<\/p>\n<p>\nIntegreerimisv\u00f5imalused<\/p>\n<p>Integreerimine<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nS\u00f5ltuvuste j\u00e4lgimine<\/p>\n<p>Integreerimine LDAP\/Active Directoryga<br \/>\n+<br \/>\n&#8212;<br \/>\n+<\/p>\n<p>Integreerimine pideva integreerimise s\u00fcsteemiga (continous integration) Bamboo<br \/>\n+<br \/>\n&#8212;<br \/>\n&#8212;<\/p>\n<p>Integreerimine pideva integratsiooni s\u00fcsteemiga (continuous integration) TeamCity<br \/>\n+<br \/>\n&#8212;<br \/>\n&#8212;<\/p>\n<p>Integreerimine pideva integratsiooni s\u00fcsteemiga (continuous integration) GitLab<br \/>\n+<br \/>\n+- (GitLabi pistikprogrammina)<br \/>\n+<\/p>\n<p>Integreerimine pideva integratsiooni s\u00fcsteemiga (continuous integration) Jenkins<br \/>\n+<br \/>\n+<br \/>\n+<\/p>\n<p>IDE pistikprogrammide olemasolu<br \/>\n+ IntelliJ, Eclipse, Visual Studio<br \/>\n&#8212;<br \/>\n&#8212;<\/p>\n<p>Kohandatud integreerimise tugi web-services (API) kaudu<br \/>\n+<br \/>\n&#8212;<br \/>\n+<\/p>\n<h3>Dependency Check<\/h3>\n<p><\/p>\n<h4>Esimene k\u00e4ivitamine<\/h4>\n<p>\nK\u00e4ivitame Dependency Check sihitud haavatava rakenduse jaoks <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/appsecco\/dvja\">DVJA<\/a><\/noindex>.<\/p>\n<p>Selleks kasutame <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 luuakse kaustas 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\u00f5teteavet haavatavuste koguarvu kohta, saame n\u00e4ha teavet k\u00f5rge taseme Severity ja Confidence haavatavuste kohta koos viitega paketile, CPE-le ning CVE arvule.<\/p>\n<p>J\u00e4rgneb detailsem teave, sealhulgas see, mille p\u00f5hjal otsus tehti (evidence), see t\u00e4hendab teatud BOM-i.<\/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 \/>\nEdasi minnes on CPE, PURL ja CVE kirjeldus. Soovitusi parandamiseks ei ole, kuna need puuduvad NVD andmebaasist.<\/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\u00fcsteemse skannimise tulemuste vaatamiseks saab seadistada Nginx minimaalse seadistusega v\u00f5i edastada saadud defektid veakatse haldamise s\u00fcsteemi, mis toetavad \u00fchendusi Dependency Check'iga. N\u00e4iteks Defect Dojo. <\/p>\n<h3>S\u00f5ltuvuste j\u00e4lgimine<\/h3>\n<p><\/p>\n<h4>Installeerimine<\/h4>\n<p>\nDependency Track on samas veebip\u00f5hine platvorm, mis kuvab graafikuid, seega ei t\u00f5use siin terav k\u00fcsimus defektide hoidmisest kolmandas lahenduses. <br \/>\nInstalleerimiseks on toetatud j\u00e4rgmised stsenaariumid: Docker, WAR, Executable WAR. <\/p>\n<h4>Esimene k\u00e4ivitamine<\/h4>\n<p>\nLiigume jooksva teenuse URL-ile. Logime sisse admin\/admin kaudu, muutame sisselogimise ja parooli, mille j\u00e4rel j\u00f5uame juhtpaneelile. J\u00e4rgmine, mida teeme, on luua projekt Java testrakenduse jaoks<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 vastu v\u00f5tta ainult BOM-i, tuleb see BOM hankida. Kasutame <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 S\u00f5ltuvused \u2192 Laadi BOM<\/i>.<\/p>\n<p>Siseneme haldusesse \u2192 Anal\u00fcsaatorid. Saame aru, et meil on aktiveeritud ainult sisemine anal\u00fcsaator, mis h\u00f5lmab NVD-d. \u00dchendame ka Sonatype OSS Indeksi.<\/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 saavutame meie projekti jaoks j\u00e4rgmise pildi:<\/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 \/>\nSamuti leiab nimekirjast \u00fche haavatavuse, 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 toeta enam Dependency Check'i xml-aruandeid. Viimased toetatud versioonid Dependency Check'iga integreerimiseks olid 1.0.0 \u2013 4.0.2, samas kui mina testisin 5.3.2.<\/p>\n<p>Siin on <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 oli veel v\u00f5imalik. <\/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\">dokumentatsioonis<\/a><\/noindex>, kuid meie jaoks kogusime endale Docker'i pildi.<\/p>\n<p>P\u00e4rast konsooli sisenemist on vajalik 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 pisut keerulisem, kuna peame ka looma poliitikad, mis kehtivad erinevatele \"staadiumidele\" (dev, build, stage, release). See on vajalik, et takistada haavatavate komponentide edasiviimist torustikus l\u00e4hemale tootmisele v\u00f5i takistada nende allalaadimist Nexus Repo'sse arendajate poolt.<\/p>\n<p>Et tunnetada open source'i ja enterprise'i erinevust, teeme sama skaneerimise Nexus IQ kaudu sarnaselt <noindex><a rel=\"nofollow\" href=\"https:\/\/help.sonatype.com\/integrations\/sonatype-clm-for-maven\">Maven plugin<\/a><\/noindex>, eelnevalt luues 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>\nLiikumine URL-ile genereeritud aruandele 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 saate n\u00e4ha k\u00f5iki poliitikareeglite rikkumisi, millel on erinev t\u00e4htsus (alates Info kuni Security Critical). T\u00e4ht D komponendi k\u00f5rval n\u00e4itab, et komponent on otse s\u00f5ltuvus, ja t\u00e4ht T komponendi k\u00f5rval n\u00e4itab, et komponent on transitiivne s\u00f5ltuvus.<\/p>\n<p>Muide, aruanne <noindex><a rel=\"nofollow\" href=\"https:\/\/snyk.io\/open-source-security\/\">Open Source Security Report 2020<\/a><\/noindex> Snyki poolt teatas, et rohkem kui 70% Node.js, Java ja Ruby avatud l\u00e4htekoodiga haavatavustest asub transitiivses s\u00f5ltuvuses.<\/p>\n<p>Kui avame \u00fche Nexus IQ poliitikareegli rikkumise, saame n\u00e4ha komponentide kirjeldust ning Version Graphi, mis n\u00e4itab praeguse versiooni asukohta ajagraafikul ja millal haavatavus enam ei ole haavatav. 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 liikuda haavatavuste ja CVE jaotisse, saab lugeda selle haavatavuse kirjeldust, soovitusi k\u00f5rvaldamiseks ning p\u00f5hjust, miks antud komponent rikkumisse langes, st 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, mis puudutab ainult kolmandate osapoolte Java komponente, j\u00e4ttes v\u00e4lja js komponendid. Sulgudes m\u00e4rkime \u00e4ra haavatavuste arvu, mida 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>\nJ\u00e4rgmise sammuna anal\u00fc\u00fcsime saadud tulemusi ja selgitame v\u00e4lja, millised neist haavatavustest on tegelikud defektid ja millised valeh\u00e4ired.<\/p>\n<h3>Vastutusest loobumine<\/h3>\n<p>\nSee \u00fclevaade ei ole vaieldamatu t\u00f5de. Autoril ei olnud eesm\u00e4rki tuvastada \u00fchte t\u00f6\u00f6riista teiste seas. \u00dclevaate t\u00e4hendus oli n\u00e4idata SCA t\u00f6\u00f6riistade t\u00f6\u00f6mehhanisme ja tulemuste kontrollimise viise.<\/p>\n<h3>Tulemuste v\u00f5rdlemine<\/h3>\n<p>\n<b>Tingimused:<\/b><\/p>\n<p><b>Valeh\u00e4ire kolmandate osapoolte komponente k\u00e4sitlevate haavatavuste osas on:<\/b><\/p>\n<ul>\n<li><b>CVE vastavus tuvastatud komponendiga<\/b><\/li>\n<li>N\u00e4iteks, kui haavatavus tuvastatakse struts2 raamistikus, aga t\u00f6\u00f6riist n\u00e4itab struts-tiles raamistikku, millele see haavatavus ei kehti, siis on see vale positiivne.<\/li>\n<li><b>CVE vastavus tuvastatud komponendi versiooniga<\/b><\/li>\n<li>N\u00e4iteks, kui haavatavus on seotud versiooniga python &gt; 3.5 ja t\u00f6\u00f6riist m\u00e4rkab haavatavaks versiooni 2.7 \u2014 siis on see vale positiivne, kuna haavatavus kehtib ainult toote 3.x haru kohta. <\/li>\n<li> <b>CVE dubleerimine<\/b><\/li>\n<li>N\u00e4iteks, kui SCA osutab CVE-le, mis v\u00f5imaldab RCE-d, ja seej\u00e4rel n\u00e4itab SCA sama komponendi CVE-d, mis kehtib Cisco toodete kohta, mis on sellele RCE-le vastuv\u00f5tlikud. Sellisel juhul on see vale positiivne.<\/li>\n<li>N\u00e4iteks, CVE leiti komponendis spring-web, seej\u00e4rel n\u00e4itab SCA sama CVE-d teistele Spring Frameworki komponentidele, samas kui CVE ei kehti teiste komponentide kohta. Sellisel juhul on see vale positiivne. <\/li>\n<\/ul>\n<p>\nUurimise objektiks on valitud Open Source projekt DVJA. Uuringus osalesid ainult java komponendid (ilma js-ita).<\/p>\n<h3>Kokkuv\u00f5tlikud tulemused<\/h3>\n<p>\nLiigume kohe tulemuste juurde, mis on saadud k\u00e4sitsi l\u00e4bi vaadatud haavatavustest. Iga CVE t\u00e4ieliku aruandega saab tutvuda lisas. <\/p>\n<p><i>Kokkuv\u00f5tvad tulemused k\u00f5igi haavatavuste kohta:<\/i><\/p>\n<p>Parameeter<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nS\u00f5ltuvuste j\u00e4lgimine<\/p>\n<p>Kokku tuvastatud haavatavusi<br \/>\n42<br \/>\n91<br \/>\n51<\/p>\n<p>Vale tuvastatud haavatavused (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\u00f5tvad tulemused komponentide kaupa:<\/i><\/p>\n<p>Parameeter<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nS\u00f5ltuvuste j\u00e4lgimine<\/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>\nKonstrueerime visuaalsed graafikud, et hinnata vale positiivsete ja vale negatiivsete suhet kogu haavatavuste arvuga. Horisontaalis on m\u00e4rgitud komponendid ja vertikaalis nende 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 viidi sarnane uuring l\u00e4bi Sonatype'i meeskonna poolt, testides 1531 komponenti OWASP Dependency Check'i abil. Nagu n\u00e4eme, on m\u00fcra ja \u00f5ige tuvastamise 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>Vaadakem m\u00f5ned CVE-d meie skaneerimise tulemustest, et m\u00f5ista nende tulemuste p\u00f5hjuseid.<\/p>\n<h3>Loe l\u00e4hemalt<\/h3>\n<p><\/p>\n<h4>\u21161<\/h4>\n<p>\nAlustame m\u00f5nede huvitavate aspektidega Sonatype Nexus IQ-st.<\/p>\n<p>Nexus IQ n\u00e4itab probleemiga seerialiseerimiseks, mis v\u00f5imaldab RCE teostada Spring Frameworkis mitmel korral. CVE-2016-1000027 spring-web:3.0.5 esmakordselt ja CVE-2011-2894 spring-context:3.0.5 ja spring-core:3.0.5. Esialgu tundub, et haavatavus dubleeritakse mitme CVE raames. Kui vaadata CVE-2016-1000027 ja CVE-2011-2894 NVD andmebaasist, siis n\u00e4ib, et k\u00f5ik on ilmselge.<\/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. aastal<\/a><\/noindex> tunnistati see CVE \u00fcheks k\u00f5ige sagedamini esinevaks. Kirjeldusi CVE-2016-100027 kohta on NVD-s p\u00f5him\u00f5tteliselt v\u00e4he ja see tundub olevat rakendatav vaid Spring Framework 4.1.4-le. Vaatame <noindex><a rel=\"nofollow\" href=\"https:\/\/www.tenable.com\/security\/research\/tra-2016-20\">viidatud<\/a><\/noindex> ja siin muutub k\u00f5ik enam-v\u00e4hem selgeks. Ajakirjast <noindex><a rel=\"nofollow\" href=\"https:\/\/www.tenable.com\/security\/research\/tra-2016-20\">Tenable<\/a><\/noindex> aru saame, et peale haavatavuse <code>RemoteInvocationSerializingExporter<\/code> CVE-2011-2894-s esineb haavatavus <code>HttpInvokerServiceExporter<\/code>. Nexus IQ \u00fctleb meile just 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 \/>\nSellegipoolest ei ole NVD-s sellist midagi, mist\u00f5ttu Dependency Check ja Dependency Track saavad vale negatiivse.<\/p>\n<p>Samuti on CVE-2011-2894 kirjeldusest m\u00f5istetav, et haavatavus on t\u00f5epoolest olemas nii spring-context:3.0.5-s kui ka spring-core:3.0.5-s. Sellele leidub kinnitust artiklis autori poolt, kes avastas selle haavatavuse.<\/p>\n<h4>nr 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 me uurime haavatavust CVE-2016-4003, saame aru, et see parandati juba versioonis 2.3.28, siiski teavitab meid Nexus IQ sellest. Haavatavuse kirjelduse juures 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 sooviti meid ette hoiatada. Siiski peame seda valeh\u00e4ireks, kuigi mitte k\u00f5ige t\u00f5sisemaks.<\/p>\n<h4>\u2116 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 \/>\nTRUE<\/p>\n<p>xwork-core:2.3.30<br \/>\nCVE-2017-7672<br \/>\nFALSE<\/p>\n<p>\nKui me vaatame CVE-2017-9804 ja CVE-2017-7672 kirjelduseid, siis saame aru, et probleem on <code>URLValidator klassis<\/code>, kusjuures CVE-2017-9804 tuleneb CVE-2017-7672-st. Teise haavatavuse olemasolu ei too kaasa mingit kasulikku teavet, v\u00e4lja arvatud see, et selle t\u00f5sidus t\u00f5usis k\u00f5rgeks, seega v\u00f5ib seda pidada liigseks m\u00fcra.<\/p>\n<p>\u00dcldiselt ei ole Nexus IQ-le leitud muid valeh\u00e4ireid.<\/p>\n<h3>\u21164<\/h3>\n<p>\nOn mitu asja, mis eristavad IQ-d teistest lahendustest.<\/p>\n<p>Komponent<br \/>\nHaavatavus<br \/>\nTulemus<\/p>\n<p>spring-web:3.0.5<br \/>\nCVE-2020-5398<br \/>\nTRUE<\/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 5.0.x kuni 5.0.16, kuid kui vaatame CVE kirjeldust Nexus IQ-s, siis n\u00e4eme j\u00e4rgmist:<br \/>\n<i>Advisory Deviation Notice: Sonatype'i turvauuringute meeskond avastas, et see haavatavus tekkis versioonis 3.0.2.RELEASE, mitte 5.0.x nagu n\u00f5uandes \u00f6eldud.<\/i><\/p>\n<p>Seej\u00e4rel tuleb PoC selle haavatavuse kohta, mis teatab, et see esineb versioonis 3.0.5.<\/p>\n<p>Vale negatiivne saade Dependency Checki ja Dependency Tracki.<\/p>\n<h3>\u21165<\/h3>\n<p>\nVaatame false positive'i juhtumit Dependency Checkis ja Dependency Trackis.<\/p>\n<p>Dependency Check eristub sellega, et toob esile need CVE-d, mis kuuluvad kogu raamistikku NVD-s, ning need komponendid, millele need CVE-d ei kohaldu. See puudutab CVE-2012-0394, CVE-2013-2115, CVE-2014-0114, CVE-2015-0899, CVE-2015-2992, CVE-2016-1181, CVE-2016-1182, mille Dependency Check \u201ckinnitas\u201d struts-taglib:1.3.8 ja struts-tiles-1.3.8. Need komponendid ei ole seotud sellega, mis on kirjeldatud CVE-s \u2014 p\u00e4ringute t\u00f6\u00f6tlemine, lehtede valideerimine jne. See tuleneb sellest, et ainus seos nende CVE-de ja komponentide vahel on raamistik, mis on p\u00f5hjus, miks Dependency Check seda haavatavuseks pidas.<\/p>\n<p>Sama olukord on spring-tx:3.0.5 puhul ning sarnane olukord on struts-core:1.3.8 puhul. Struts-core'i puhul leidis Dependency Check ja Dependency Track v\u00e4ga palju haavatavusi, mis tegelikult kehtivad struts2-core'i kohta, mis on p\u00f5him\u00f5tteliselt eraldi raamistik. Selle juhtumi puhul m\u00f5istis Nexus IQ olukorda \u00f5igesti ning CVE-de puhul, mille ta esitas, m\u00e4rkis, et struts-core on j\u00f5udnud l\u00f5ppfaasi ja tuleb \u00fcle minna struts2-core'ile.<\/p>\n<h3>\u21166<\/h3>\n<p>\nM\u00f5nel juhul on s\u00f5ltuvuse kontrolli ja j\u00e4lgimise ilmse vea t\u00f5lgendamine eba\u00f5iglane. Erakordselt, CVE-2013-4152, CVE-2013-6429, CVE-2013-6430, CVE-2013-7315, CVE-2014-0054, CVE-2014-0225, CVE-2014-0225, mille s\u00f5ltuvuse kontroll ja j\u00e4lgimine m\u00e4\u00e4rasid spring-core:3.0.5-le, kuuluvad tegelikult spring-web:3.0.5-le. Samuti leiti osa neist CVE-dest Nexus IQ-s, siiski m\u00e4\u00e4ras IQ need \u00f5igesti teisele komponendile. Kuna need haavatavused ei olnud leidnud spring-core-is, ei saa v\u00e4ita, et neid pole raamistikus \u00fcldiselt ja avatud l\u00e4htekoodi t\u00f6\u00f6riistad \u00f5igesti m\u00e4rkasid neid haavatavusi (lihtsalt tabas veidi k\u00f5rvale). <\/p>\n<h3>J\u00e4reldused<\/h3>\n<p>\nNagu me n\u00e4eme, ei anna tuvastatud haavatavuste usaldusv\u00e4\u00e4rsuse m\u00e4\u00e4ramine k\u00e4sitsi \u00fclevaate tegemisel \u00fcheselt m\u00f5istetavaid tulemusi, mist\u00f5ttu tekivad vaidlused. Tulemused on sellised, et Nexus IQ lahendusel on madalaim valeh\u00e4irete m\u00e4\u00e4r ja k\u00f5rgeim t\u00e4psus. <\/p>\n<p>Esiteks on see seotud sellega, et Sonatype'i meeskond on laiendanud iga CVE haavatavuse kirjeldust NVD-s, t\u00e4psustades haavatavuse klassi v\u00f5i funktsiooni konkreetse komponendi versiooni jaoks ning teinud t\u00e4iendavaid uuringuid (nt kontrollinud haavatavusi vanemate tarkvaraversioonide puhul). <\/p>\n<p>Samuti m\u00f5jutavad tulemusi olulisel m\u00e4\u00e4ral haavatavused, mis ei ole NVD-sse j\u00f5udnud, kuid siiski esinevad Sonatype'i andmebaasis SONATYPE m\u00e4rgistusega. \u00dcksikasjaliku aruande kohaselt <noindex><a rel=\"nofollow\" href=\"https:\/\/www.whitesourcesoftware.com\/open-source-vulnerability-management-report\/\">Avaallika turvalisuse haavatavuste seisund 2020<\/a><\/noindex> 45% avatud l\u00e4htekoodiga haavatavustest ei kajastata NVD-s. Vastavalt WhiteSource'i andmebaasile avaldatakse vaid 29% k\u00f5ikidest avatud l\u00e4htekoodiga haavatavustest, mis on registreeritud v\u00e4ljaspool NVD-d, seega on v\u00e4ga oluline otsida haavatavusi ka teistest allikatest.<\/p>\n<p>Kokkuv\u00f5ttes genereerib Dependency Check palju m\u00fcra, j\u00e4ttes v\u00e4lja osa haavatavatest komponentidest. Dependency Track genereerib v\u00e4hem m\u00fcra ja tuvastab suure hulga komponente, mille esitamine veebiliideses ei koorma visuaalselt silma.<\/p>\n<p>Siiski n\u00e4itab praktika, et avatud l\u00e4htekood on esimene samm edasi k\u00fcpsesse DevSecOps-i. Esimene asi, millele peaksite m\u00f5tlema, et integreerida SCA arendusse, on protsessid, nimelt m\u00f5tlemine koos juhtimise ja teiste osakondadega, kuidas peaksid teie organisatsiooni ideaalprotsessid v\u00e4lja n\u00e4gema. V\u00f5ib juhtuda, et teie organisatsiooni puhul katab algusj\u00e4rgus Dependency Check v\u00f5i Dependency Track k\u00f5ik \u00e4ri vajadused, samas kui ettev\u00f5tete lahendused muutuvad loogiliseks j\u00e4tkuks arendatavate rakenduste keerukuse suurenedes.<\/p>\n<p>                        <b class=\"spoiler_title\">Lisad A. Tulemused komponentide osas<\/b><br \/>\n                        <b>M\u00e4rgid:<\/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 T\u00f5eliselt m\u00e4\u00e4ratud haavatavus (True positive issue)<\/li>\n<li>FALSE \u2014 Valeh\u00e4ire (False positive issue)<\/li>\n<\/ul>\n<p><\/p>\n<p>Komponent<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nS\u00f5ltuvuste j\u00e4lgimine<br \/>\nTulemus<\/p>\n<p>dom4j: 1.6.1<br \/>\nK\u00f5rge<br \/>\nK\u00f5rge<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>log4j-core: 2.3<br \/>\nK\u00f5rge<br \/>\nK\u00f5rge<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>log4j: 1.2.14<br \/>\nK\u00f5rge<br \/>\nK\u00f5rge<br \/>\n&#8212;<br \/>\nTRUE<\/p>\n<p>commons-collections:3.1<br \/>\nK\u00f5rge<br \/>\nK\u00f5rge<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>commons-fileupload:1.3.2<br \/>\nK\u00f5rge<br \/>\nK\u00f5rge<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>commons-beanutils:1.7.0<br \/>\nK\u00f5rge<br \/>\nK\u00f5rge<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>commons-codec:1:10<br \/>\nMedium<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nTRUE<\/p>\n<p>mysql-connector-java:5.1.42<br \/>\nK\u00f5rge<br \/>\nK\u00f5rge<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>spring-expression:3.0.5<br \/>\nK\u00f5rge<br \/>\nkomponenti ei leitud<\/p>\n<p>TRUE<\/p>\n<p>spring-web:3.0.5<br \/>\nK\u00f5rge<br \/>\nkomponenti ei leitud<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>spring-context:3.0.5<br \/>\nMedium<br \/>\nkomponenti ei leitud<br \/>\n&#8212;<br \/>\nTRUE<\/p>\n<p>spring-core:3.0.5<br \/>\nMedium<br \/>\nK\u00f5rge<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>struts2-config-browser-plugin:2.3.30<br \/>\nMedium<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nTRUE<\/p>\n<p>spring-tx:3.0.5<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\n&#8212;<br \/>\nFALSE<\/p>\n<p>struts-core:1.3.8<br \/>\nK\u00f5rge<br \/>\nK\u00f5rge<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>xwork-core: 2.3.30<br \/>\nK\u00f5rge<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nTRUE<\/p>\n<p>struts2-core: 2.3.30<br \/>\nK\u00f5rge<br \/>\nK\u00f5rge<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>struts-taglib:1.3.8<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\n&#8212;<br \/>\nFALSE<\/p>\n<p>struts-tiles-1.3.8<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\n&#8212;<br \/>\nFALSE<\/p>\n<p><\/p>\n<p>                        <b class=\"spoiler_title\">Lisa B. Tulemused haavatavuste osas<\/b><br \/>\n                        <b>M\u00e4rgid:<\/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 T\u00f5eliselt m\u00e4\u00e4ratud haavatavus (True positive issue)<\/li>\n<li>FALSE \u2014 Valeh\u00e4ire (False positive issue)<\/li>\n<\/ul>\n<p><\/p>\n<p>Komponent<br \/>\nNexus IQ<br \/>\nDependency Check<br \/>\nS\u00f5ltuvuste j\u00e4lgimine<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 \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>CVE-2020-10683<br \/>\nCVE-2020-10683<br \/>\nCVE-2020-10683<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>log4j-core: 2.3<br \/>\nCVE-2017-5645<br \/>\nCVE-2017-5645<br \/>\nCVE-2017-5645<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>CVE-2020-9488<br \/>\nCVE-2020-9488<br \/>\nCVE-2020-9488<br \/>\nMadal<br \/>\nTRUE<\/p>\n<p>log4j: 1.2.14<br \/>\nCVE-2019-17571<br \/>\nCVE-2019-17571<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\nCVE-2020-9488<br \/>\n&#8212;<br \/>\nMadal<br \/>\nTRUE<\/p>\n<p>SONATYPE-2010-0053<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>commons-collections:3.1<br \/>\n&#8212;<br \/>\nCVE-2015-6420<br \/>\nCVE-2015-6420<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nKordab RCE(OSSINDEX)<\/p>\n<p>&#8212;<br \/>\nCVE-2017-15708<br \/>\nCVE-2017-15708<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nKordab RCE(OSSINDEX)<\/p>\n<p>SONATYPE-2015-0002<br \/>\nRCE (OSSINDEX)<br \/>\nRCE(OSSINDEX)<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>commons-fileupload:1.3.2<br \/>\nCVE-2016-1000031<br \/>\nCVE-2016-1000031<br \/>\nCVE-2016-1000031<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>SONATYPE-2014-0173<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>commons-beanutils:1.7.0<br \/>\nCVE-2014-0114<br \/>\nCVE-2014-0114<br \/>\nCVE-2014-0114<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\nCVE-2019-10086<br \/>\nCVE-2019-10086<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nHaavatavus kehtib ainult versioonide 1.9.2+ jaoks<\/p>\n<p>commons-codec:1:10<br \/>\nSONATYPE-2012-0050<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>mysql-connector-java:5.1.42<br \/>\nCVE-2018-3258<br \/>\nCVE-2018-3258<br \/>\nCVE-2018-3258<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>CVE-2019-2692<br \/>\nCVE-2019-2692<br \/>\n&#8212;<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\nCVE-2020-2875<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nT\u00e4pne sama haavatavus, mis CVE-2019-2692, kuid m\u00e4rkusega 'r\u00fcnnakud v\u00f5ivad oluliselt m\u00f5jutada t\u00e4iendavaid tooteid'<\/p>\n<p>&#8212;<br \/>\nCVE-2017-15945<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nEi kehti mysql-connector-java kohta<\/p>\n<p>&#8212;<br \/>\nCVE-2020-2933<br \/>\n&#8212;<br \/>\nMadal<br \/>\nFALSE<br \/>\nDuplikaat CVE-2020-2934<\/p>\n<p>CVE-2020-2934<br \/>\nCVE-2020-2934<br \/>\n&#8212;<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>spring-expression:3.0.5<br \/>\nCVE-2018-1270<br \/>\nkomponenti ei leitud<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>CVE-2018-1257<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>spring-web:3.0.5<br \/>\nCVE-2016-1000027<br \/>\nkomponenti ei leitud<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>CVE-2014-0225<br \/>\n&#8212;<br \/>\nCVE-2014-0225<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>CVE-2011-2730<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\n&#8212;<br \/>\nCVE-2013-4152<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>CVE-2018-1272<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>CVE-2020-5398<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nTRUE<br \/>\nN\u00e4idis IQ toetuseks: 'Sonatype'i turvatehnoloogia meeskond avastas, et see haavatavus k\u00e4idi v\u00e4lja versioonis 3.0.2.RELEASE ja mitte 5.0.x, nagu advisooris \u00f6eldud.'<\/p>\n<p>CVE-2013-6429<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>CVE-2014-0054<br \/>\n&#8212;<br \/>\nCVE-2014-0054<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>CVE-2013-6430<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>spring-context:3.0.5<br \/>\nCVE-2011-2894<br \/>\nkomponenti ei leitud<br \/>\n&#8212;<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>spring-core:3.0.5<br \/>\n&#8212;<br \/>\nCVE-2011-2730<br \/>\nCVE-2011-2730<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>CVE-2011-2894<br \/>\nCVE-2011-2894<br \/>\nCVE-2011-2894<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\n&#8212;<br \/>\nCVE-2013-4152<br \/>\nMedium<br \/>\nFALSE<br \/>\nSelle sama haavatavuse duplikaat spring-web'is<\/p>\n<p>&#8212;<br \/>\nCVE-2013-4152<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus kehtib spring-web komponendi kohta<\/p>\n<p>&#8212;<br \/>\nCVE-2013-6429<br \/>\nCVE-2013-6429<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus kehtib spring-web komponendi kohta<\/p>\n<p>&#8212;<br \/>\nCVE-2013-6430<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus kehtib spring-web komponendi kohta<\/p>\n<p>&#8212;<br \/>\nCVE-2013-7315<br \/>\nCVE-2013-7315<br \/>\nMedium<br \/>\nFALSE<br \/>\nSPLIT CVE-2013-4152. + Haavatavus kehtib spring-web komponendi kohta<\/p>\n<p>&#8212;<br \/>\nCVE-2014-0054<br \/>\nCVE-2014-0054<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus kehtib spring-web komponendi kohta<\/p>\n<p>&#8212;<br \/>\nCVE-2014-0225<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nHaavatavus kehtib spring-web komponendi kohta<\/p>\n<p>&#8212;<br \/>\n&#8212;<br \/>\nCVE-2014-0225<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nSelle sama haavatavuse duplikaat spring-web'is<\/p>\n<p>&#8212;<br \/>\nCVE-2014-1904<br \/>\nCVE-2014-1904<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus kehtib spring-web-mvc komponendi kohta<\/p>\n<p>&#8212;<br \/>\nCVE-2014-3625<br \/>\nCVE-2014-3625<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus kehtib spring-web-mvc komponendi kohta<\/p>\n<p>&#8212;<br \/>\nCVE-2016-9878<br \/>\nCVE-2016-9878<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nHaavatavus kehtib spring-web-mvc komponendi kohta<\/p>\n<p>&#8212;<br \/>\nCVE-2018-1270<br \/>\nCVE-2018-1270<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nspring-expression \/ spring-messages jaoks<\/p>\n<p>&#8212;<br \/>\nCVE-2018-1271<br \/>\nCVE-2018-1271<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus kehtib spring-web-mvc komponendi kohta<\/p>\n<p>&#8212;<br \/>\nCVE-2018-1272<br \/>\nCVE-2018-1272<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>CVE-2014-3578<br \/>\nCVE-2014-3578 (OSSINDEX)<br \/>\nCVE-2014-3578<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>SONATYPE-2015-0327<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nMadal<br \/>\nTRUE<\/p>\n<p>struts2-config-browser-plugin:2.3.30<br \/>\nSONATYPE-2016-0104<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nMedium<br \/>\nTRUE<\/p>\n<p>spring-tx:3.0.5<br \/>\n&#8212;<br \/>\nCVE-2011-2730<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx'ile<\/p>\n<p>&#8212;<br \/>\nCVE-2011-2894<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx'ile<\/p>\n<p>&#8212;<br \/>\nCVE-2013-4152<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx'ile<\/p>\n<p>&#8212;<br \/>\nCVE-2013-6429<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx'ile<\/p>\n<p>&#8212;<br \/>\nCVE-2013-6430<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx'ile<\/p>\n<p>&#8212;<br \/>\nCVE-2013-7315<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx'ile<\/p>\n<p>&#8212;<br \/>\nCVE-2014-0054<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx'ile<\/p>\n<p>&#8212;<br \/>\nCVE-2014-0225<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx'ile<\/p>\n<p>&#8212;<br \/>\nCVE-2014-1904<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx'ile<\/p>\n<p>&#8212;<br \/>\nCVE-2014-3625<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx'ile<\/p>\n<p>&#8212;<br \/>\nCVE-2016-9878<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx'ile<\/p>\n<p>&#8212;<br \/>\nCVE-2018-1270<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx'ile<\/p>\n<p>&#8212;<br \/>\nCVE-2018-1271<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx'ile<\/p>\n<p>&#8212;<br \/>\nCVE-2018-1272<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus ei kehti spring-tx'ile<\/p>\n<p>struts-core:1.3.8<br \/>\n&#8212;<br \/>\nCVE-2011-5057 (OSSINDEX)<\/p>\n<p>Medium<br \/>\nFASLE<br \/>\nHaavatavus Struts 2 jaoks<\/p>\n<p>&#8212;<br \/>\nCVE-2012-0391 (OSSINDEX)<br \/>\nCVE-2012-0391<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nHaavatavus Struts 2 jaoks<\/p>\n<p>&#8212;<br \/>\nCVE-2014-0094 (OSSINDEX)<br \/>\nCVE-2014-0094<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus Struts 2 jaoks<\/p>\n<p>&#8212;<br \/>\nCVE-2014-0113 (OSSINDEX)<br \/>\nCVE-2014-0113<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nHaavatavus Struts 2 jaoks<\/p>\n<p>CVE-2016-1182<br \/>\n3VE-2016-1182<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\n&#8212;<br \/>\nCVE-2011-5057<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus Struts 2 jaoks<\/p>\n<p>&#8212;<br \/>\nCVE-2012-0392 (OSSINDEX)<br \/>\nCVE-2012-0392<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nHaavatavus Struts 2 jaoks<\/p>\n<p>&#8212;<br \/>\nCVE-2012-0393 (OSSINDEX)<br \/>\nCVE-2012-0393<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus Struts 2 jaoks<\/p>\n<p>CVE-2015-0899<br \/>\nCVE-2015-0899<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\nCVE-2012-0394<br \/>\nCVE-2012-0394<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus Struts 2 jaoks<\/p>\n<p>&#8212;<br \/>\nCVE-2012-0838 (OSSINDEX)<br \/>\nCVE-2012-0838<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nHaavatavus Struts 2 jaoks<\/p>\n<p>&#8212;<br \/>\nCVE-2013-1965 (OSSINDEX)<br \/>\nCVE-2013-1965<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nHaavatavus Struts 2 jaoks<\/p>\n<p>&#8212;<br \/>\nCVE-2013-1966 (OSSINDEX)<br \/>\nCVE-2013-1966<br \/>\nK\u00f5rge<br \/>\nFASLE<br \/>\nHaavatavus Struts 2 jaoks<\/p>\n<p>&#8212;<br \/>\nCVE-2013-2115<br \/>\nCVE-2013-2115<br \/>\nK\u00f5rge<br \/>\nFASLE<br \/>\nHaavatavus Struts 2 jaoks<\/p>\n<p>&#8212;<br \/>\nCVE-2013-2134 (OSSINDEX)<br \/>\nCVE-2013-2134<br \/>\nK\u00f5rge<br \/>\nFASLE<br \/>\nHaavatavus Struts 2 jaoks<\/p>\n<p>&#8212;<br \/>\nCVE-2013-2135 (OSSINDEX)<br \/>\nCVE-2013-2135<br \/>\nK\u00f5rge<br \/>\nFASLE<br \/>\nHaavatavus Struts 2 jaoks<\/p>\n<p>CVE-2014-0114<br \/>\nCVE-2014-0114<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\nCVE-2015-2992<br \/>\nCVE-2015-2992<br \/>\nMedium<br \/>\nFALSE<br \/>\nHaavatavus Struts 2 jaoks<\/p>\n<p>&#8212;<br \/>\nCVE-2016-0785 (OSSINDEX)<br \/>\nCVE-2016-0785<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nHaavatavus Struts 2 jaoks<\/p>\n<p>CVE-2016-1181<br \/>\nCVE-2016-1181<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\nCVE-2016-4003 (OSSINDEX)<br \/>\nCVE-2016-4003<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nHaavatavus Struts 2 jaoks<\/p>\n<p>xwork-core:2.3.30<br \/>\nCVE-2017-9804<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>SONATYPE-2017-0173<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>CVE-2017-7672<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nCVE-2017-9804 dublet<\/p>\n<p>SONATYPE-2016-0127<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>struts2-core:2.3.30<br \/>\n&#8212;<br \/>\nCVE-2016-6795<br \/>\nCVE-2016-6795<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\nCVE-2017-9787<br \/>\nCVE-2017-9787<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\nCVE-2017-9791<br \/>\nCVE-2017-9791<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\nCVE-2017-9793<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nCVE-2018-1327 dublika<\/p>\n<p>&#8212;<br \/>\nCVE-2017-9804<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>&#8212;<br \/>\nCVE-2017-9805<br \/>\nCVE-2017-9805<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>CVE-2016-4003<br \/>\n&#8212;<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nKohaldub target Apache Struts 2.x kuni 2.3.28, kuid versioon on 2.3.30. Kuid, l\u00e4htudes kirjeldusest, CVE kehtib iga Struts 2 versiooni puhul, kui kasutatakse JRE 1.7 v\u00f5i vanemat. Tundub, et nad \u00fcritavad ennast kaitsta, kuid see n\u00e4eb rohkem v\u00e4lja nagu vale.<\/p>\n<p>&#8212;<br \/>\nCVE-2018-1327<br \/>\nCVE-2018-1327<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>CVE-2017-5638<br \/>\nCVE-2017-5638<br \/>\nCVE-2017-5638<br \/>\nK\u00f5rge<br \/>\nTRUE<br \/>\nJust see haavatavus, mida kuritegelikud isikud kasutasid Equifaxis 2017. aastal.<\/p>\n<p>CVE-2017-12611<br \/>\nCVE-2017-12611<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>CVE-2018-11776<br \/>\nCVE-2018-11776<br \/>\nCVE-2018-11776<br \/>\nK\u00f5rge<br \/>\nTRUE<\/p>\n<p>struts-taglib:1.3.8<br \/>\n&#8212;<br \/>\nCVE-2012-0394<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nstruts2-core jaoks<\/p>\n<p>&#8212;<br \/>\nCVE-2013-2115<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nstruts2-core jaoks<\/p>\n<p>&#8212;<br \/>\nCVE-2014-0114<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\ncommons-beanutils jaoks<\/p>\n<p>&#8212;<br \/>\nCVE-2015-0899<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nEi kehti taglibi suhtes<\/p>\n<p>&#8212;<br \/>\nCVE-2015-2992<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nKehtib struts2-core suhtes<\/p>\n<p>&#8212;<br \/>\nCVE-2016-1181<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nEi kehti taglibi suhtes<\/p>\n<p>&#8212;<br \/>\nCVE-2016-1182<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nEi kehti taglibi suhtes<\/p>\n<p>struts-tiles-1.3.8<br \/>\n&#8212;<br \/>\nCVE-2012-0394<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nstruts2-core jaoks<\/p>\n<p>&#8212;<br \/>\nCVE-2013-2115<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nstruts2-core jaoks<\/p>\n<p>&#8212;<br \/>\nCVE-2014-0114<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\ncommons-beanutils all<\/p>\n<p>&#8212;<br \/>\nCVE-2015-0899<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nEi kehti tiles'i suhtes<\/p>\n<p>&#8212;<br \/>\nCVE-2015-2992<br \/>\n&#8212;<br \/>\nMedium<br \/>\nFALSE<br \/>\nstruts2-core jaoks<\/p>\n<p>&#8212;<br \/>\nCVE-2016-1181<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nEi kehti taglibi suhtes<\/p>\n<p>&#8212;<br \/>\nCVE-2016-1182<br \/>\n&#8212;<br \/>\nK\u00f5rge<br \/>\nFALSE<br \/>\nEi kehti taglibi suhtes<\/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 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0417\u043d\u0430\u0447\u0438\u043c\u043e\u0441\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u041f\u041e (\u0430\u043d\u0433\u043b. Software Composition Analysis \u2014 SCA) \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0440\u0430\u0441\u0442\u0435\u0442 \u043f\u043e \u043c\u0435\u0440\u0435 \u0432\u044b\u0445\u043e\u0434\u0430 \u0435\u0436\u0435\u0433\u043e\u0434\u043d\u044b\u0445 \u043e\u0442\u0447\u0435\u0442\u043e\u0432 \u043e\u0431 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044f\u0445 open source \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u044e\u0442\u0441\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u043c\u0438 Synopsys, Sonatype, Snyk, White Source. \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043e\u0442\u0447\u0435\u0442\u0443 The State of Open Source Security Vulnerabilities 2020 \u0447\u0438\u0441\u043b\u043e \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 open source \u0432 2019 \u0432\u044b\u0440\u043e\u0441\u043b\u043e \u043f\u043e\u0447\u0442\u0438 \u0432 1.5\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/devsecops-princzipy-raboty-i-sravnenie-sca-chast-pervaya\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"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. Software Composition Analysis \u2014 SCA) \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0440\u0430\u0441\u0442\u0435\u0442 \u043f\u043e \u043c\u0435\u0440\u0435 \u0432\u044b\u0445\u043e\u0434\u0430 \u0435\u0436\u0435\u0433\u043e\u0434\u043d\u044b\u0445 \u043e\u0442\u0447\u0435\u0442\u043e\u0432 \u043e\u0431 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044f\u0445 open source \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u044e\u0442\u0441\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u043c\u0438 Synopsys, Sonatype, Snyk, White Source. \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043e\u0442\u0447\u0435\u0442\u0443 The State of Open Source Security Vulnerabilities 2020 \u0447\u0438\u0441\u043b\u043e \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 open source \u0432 2019 \u0432\u044b\u0440\u043e\u0441\u043b\u043e \u043f\u043e\u0447\u0442\u0438 \u0432 1.5\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/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: t\u00f6\u00f6p\u00f5him\u00f5tted ja SCA v\u00f5rdlus. Esimene osa | ProHoster","description":"Kolmandate componentide tarkvara anal\u00fc\u00fcsi (Software Composition Analysis \u2013 SCA) olulisus arenduse k\u00e4igus suureneb, kuna igal aastal v\u00f5ivad ilmneda open source raamatukogude turvaaukude aruanded, mille avaldavad ettev\u00f5tted nagu Synopsys, Sonatype, Snyk, White Source. Aastaruande 'The State of Open Source Security Vulnerabilities 2020' kohaselt suurenes 2019. aastal open source'is avastatud haavatavuste arv peaaegu 1.5-kordselt.","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. Software Composition Analysis \u2014 SCA) \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0440\u0430\u0441\u0442\u0435\u0442 \u043f\u043e \u043c\u0435\u0440\u0435 \u0432\u044b\u0445\u043e\u0434\u0430 \u0435\u0436\u0435\u0433\u043e\u0434\u043d\u044b\u0445 \u043e\u0442\u0447\u0435\u0442\u043e\u0432 \u043e\u0431 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044f\u0445 open source \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u044e\u0442\u0441\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u043c\u0438 Synopsys, Sonatype, Snyk, White Source. \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043e\u0442\u0447\u0435\u0442\u0443 The State of Open Source Security Vulnerabilities 2020 \u0447\u0438\u0441\u043b\u043e \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 open source \u0432 2019 \u0432\u044b\u0440\u043e\u0441\u043b\u043e \u043f\u043e\u0447\u0442\u0438 \u0432 1.5","og:url":"https:\/\/prohoster.info\/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"},"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}]}}