DevSecOps: parimet e funksionimit dhe krahasimi i SCA. Pjesa e pare

Rëndësia e analizës së komponentëve të softuerit të palëve të treta (Software Composition Analysis - SCA) në procesin e zhvillimit po rritet me publikimin e raporteve vjetore mbi dobësitë e bibliotekave me burim të hapur, të cilat publikohen nga Synopsys, Sonatype, Snyk dhe White Source. . Sipas raportit Gjendja e dobësive të sigurisë me burim të hapur 2020 Numri i dobësive të identifikuara me kod të hapur në vitin 2019 u rrit pothuajse 1.5 herë në krahasim me vitin e kaluar, ndërsa komponentët me kod të hapur përdoren nga 60% deri në 80% të projekteve. Në baza të pavarura, proceset SCA janë një praktikë e veçantë e OWASP SAMM dhe BSIMM si një tregues i pjekurisë, dhe në gjysmën e parë të vitit 2020, OWASP lëshoi ​​standardin e ri të verifikimit të komponentëve të softuerit OWASP (SCVS), duke ofruar praktikat më të mira për verifikimin e të tretës. komponentët e partisë në zinxhirin e furnizimit BY.

DevSecOps: parimet e funksionimit dhe krahasimi i SCA. Pjesa e pare

Një nga rastet më ilustruese ndodhi me Equifax në maj 2017. Sulmuesit e panjohur morën informacione për 143 milionë amerikanë, duke përfshirë emrat e plotë, adresat, numrat e Sigurimeve Shoqërore dhe patentat e shoferit. Në 209 raste, dokumentet përfshinin gjithashtu informacione për kartat bankare të viktimave. Kjo rrjedhje ndodhi si rezultat i shfrytëzimit të një cenueshmërie kritike në Apache Struts 000 (CVE-2-2017), ndërsa rregullimi u lëshua përsëri në mars 5638. Kompania kishte dy muaj për të instaluar përditësimin, por askush nuk u shqetësua me të.

Ky artikull do të diskutojë çështjen e zgjedhjes së një mjeti për kryerjen e SCA nga pikëpamja e cilësisë së rezultateve të analizës. Gjithashtu do të sigurohet një krahasim funksional i mjeteve. Procesi i integrimit në CI/CD dhe aftësitë e integrimit do të lihet për publikimet e mëvonshme. Një gamë e gjerë mjetesh u prezantua nga OWASP në faqen tuaj të internetit, por në rishikimin aktual do të prekim vetëm mjetin më të njohur me burim të hapur Kontrolli i varësisë, platforma paksa më pak e njohur me burim të hapur Dependency Track dhe zgjidhjen Enterprise Sonatype Nexus IQ. Ne gjithashtu do të kuptojmë se si funksionojnë këto zgjidhje dhe krahasojmë rezultatet e marra për pozitive false.

DevSecOps: parimet e funksionimit dhe krahasimi i SCA. Pjesa e pare

Parimi i operacionit

Kontrolli i varësisë është një mjet (CLI, maven, jenkins modul, ant) ​​që analizon skedarët e projektit, mbledh pjesë të informacionit rreth varësive (emri i paketës, grupi, titulli i specifikimeve, versioni...), ndërton një linjë CPE (Common Platform Enumeration) , URL e paketës (PURL) dhe identifikon dobësitë për CPE/PURL nga bazat e të dhënave (NVD, Sonatype OSS Index, NPM Audit API...), pas së cilës ndërton një raport një herë në format HTML, JSON, XML...

Le të shohim se si duket CPE:

cpe:2.3:part:vendor:product:version:update:edition:language:sw_edition:target_sw:target_hw:other

  • Pjesa: Tregim që komponenti lidhet me aplikacionin (a), sistemin operativ (o), harduerin (h) (kërkohet)
  • Vendor: Emri i prodhuesit të produktit (kërkohet)
  • Produkti: Emri i produktit (kërkohet)
  • Version: Versioni i komponentit (artikull i vjetëruar)
  • Update: Përditësimi i paketës
  • Edition: Versioni i vjetër (artikull i vjetëruar)
  • Gjuha: Gjuha e përcaktuar në RFC-5646
  • Botimi SW: Versioni i softuerit
  • Synimi SW: Mjedisi i softuerit në të cilin funksionon produkti
  • HW e synuar: Mjedisi i harduerit në të cilin funksionon produkti
  • Të tjera: Informacioni i furnizuesit ose produktit

Një shembull CPE duket si ky:

cpe:2.3:a:pivotal_software:spring_framework:3.0.0:*:*:*:*:*:*:*

Linja do të thotë që versioni 2.3 CPE përshkruan komponentin e aplikacionit nga prodhuesi pivotal_software me titullin spring_framework versioni 3.0.0. Nëse hapim një cenueshmëri CVE-2014-0225 në NVD, ne mund të shohim një përmendje të kësaj CPE. Problemi i parë që duhet t'i kushtoni vëmendje menjëherë është se CVE në NVD, sipas CPE, raporton një problem në kornizë dhe jo në një komponent specifik. Kjo do të thotë, nëse zhvilluesit janë të lidhur fort me kornizën dhe dobësia e identifikuar nuk ndikon në ato module që përdorin zhvilluesit, një specialist i sigurisë në një mënyrë ose në një tjetër do të duhet të çmontojë këtë CVE dhe të mendojë për përditësimin.

URL-ja përdoret gjithashtu nga mjetet SCA. Formati i URL-së së paketës është si më poshtë:

scheme:type/namespace/name@version?qualifiers#subpath

  • Skema: Gjithmonë do të ketë 'pkg' që tregon se kjo është një URL e paketës (kërkohet)
  • Lloji: "Lloji" i paketës ose "protokolli" i paketës, si maven, npm, nuget, gem, pypi etj. (E detyrueshme)
  • Hapësira e emrit: Disa parashtesa emri, si p.sh. një ID e grupit Maven, pronari i imazhit të Docker, përdoruesi i GitHub ose organizata. Opsionale dhe varet nga lloji.
  • Emri: Emri i paketës (kërkohet)
  • Version: Versioni i paketës
  • Qualifiers: Të dhëna shtesë kualifikimi për paketën, si OS, arkitektura, shpërndarja, etj. Opsionale dhe specifike për llojin.
  • Nënshteg: Rrugë shtesë në paketë në lidhje me rrënjën e paketës

Për shembull:

pkg:golang/google.golang.org/genproto#googleapis/api/annotations
pkg:maven/org.apache.commons/[email protected]
pkg:pypi/[email protected]

Gjurma e varësisë — një platformë në internet në premisë që pranon Bill of Materials (BOM) të krijuar të gatshme CiklonDX и SPDX, pra specifikime të gatshme për varësitë ekzistuese. Ky është një skedar XML që përshkruan varësitë - emrin, hash-et, url-në e paketës, botuesin, licencën. Më pas, Dependency Track analizon BOM-in, shikon CVE-të e disponueshme për varësitë e identifikuara nga baza e të dhënave të cenueshmërisë (NVD, Sonatype OSS Index...), pas së cilës ndërton grafikë, llogarit metrikat, duke përditësuar rregullisht të dhënat mbi statusin e cenueshmërisë së komponentëve .

Një shembull se si mund të duket një BOM në formatin XML:

<?xml version="1.0" encoding="UTF-8"?>
<bom xmlns="http://cyclonedx.org/schema/bom/1.2" serialNumber="urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" version="1">
  <components>
    <component type="library">
      <publisher>Apache</publisher>
      <group>org.apache.tomcat</group>
      <name>tomcat-catalina</name>
      <version>9.0.14</version>
      <hashes>
        <hash alg="MD5">3942447fac867ae5cdb3229b658f4d48</hash>
        <hash alg="SHA-1">e6b1000b94e835ffd37f4c6dcbdad43f4b48a02a</hash>
        <hash alg="SHA-256">f498a8ff2dd007e29c2074f5e4b01a9a01775c3ff3aeaf6906ea503bc5791b7b</hash>
        <hash alg="SHA-512">e8f33e424f3f4ed6db76a482fde1a5298970e442c531729119e37991884bdffab4f9426b7ee11fccd074eeda0634d71697d6f88a460dce0ac8d627a29f7d1282</hash>
      </hashes>
      <licenses>
        <license>
          <id>Apache-2.0</id>
        </license>
      </licenses>
      <purl>pkg:maven/org.apache.tomcat/[email protected]</purl>
    </component>
      <!-- More components here -->
  </components>
</bom>

BOM mund të përdoret jo vetëm si parametra hyrës për gjurmët e varësisë, por edhe për inventarizimin e komponentëve të softuerit në zinxhirin e furnizimit, për shembull, për ofrimin e softuerit për një klient. Madje në vitin 2014 u propozua një ligj në Shtetet e Bashkuara "Akti i Menaxhimit të Zinxhirit të Furnizimit Kibernetik dhe Transparencës i 2014", i cili deklaroi se kur blejnë softuer, çdo shtet. Institucioni duhet të kërkojë një BOM për të parandaluar përdorimin e komponentëve vulnerabël, por akti nuk ka hyrë ende në fuqi.

Duke u rikthyer në SCA, Dependency Track ka integrime të gatshme me Platformat e Njoftimeve si Slack, sistemet e menaxhimit të cenueshmërisë si Kenna Security. Vlen gjithashtu të thuhet se Dependency Track, ndër të tjera, identifikon versionet e vjetëruara të paketave dhe ofron informacione rreth licencave (për shkak të mbështetjes SPDX).

Nëse flasim konkretisht për cilësinë e SCA, atëherë ka një ndryshim thelbësor.

Dependency Track nuk e pranon projektin si hyrje, por më tepër BOM. Kjo do të thotë që nëse duam të testojmë projektin, fillimisht duhet të gjenerojmë bom.xml, për shembull duke përdorur CycloneDX. Kështu, Dependency Track varet drejtpërdrejt nga CycloneDX. Në të njëjtën kohë, ai lejon personalizimin. Kështu shkruan ekipi i OZON Moduli CycloneDX për montimin e skedarëve BOM për projektet Golang për skanim të mëtejshëm përmes Dependency Track.

Nexus IQ është një zgjidhje komerciale SCA nga Sonatype, e cila është pjesë e ekosistemit Sonatype, e cila përfshin gjithashtu Nexus Repository Manager. Nexus IQ mund të pranojë si hyrje si arkivat e luftës (për projektet java) nëpërmjet ndërfaqes në internet ose API, dhe BOM, nëse organizata juaj nuk ka kaluar ende nga CycloneDX në një zgjidhje të re. Ndryshe nga zgjidhjet me burim të hapur, IQ i referohet jo vetëm CP/PURL komponentit të identifikuar dhe cenueshmërisë përkatëse në bazën e të dhënave, por gjithashtu merr parasysh kërkimin e vet, për shembull, emrin e funksionit ose klasës së cenueshme. Mekanizmat e IQ do të diskutohen më vonë në analizën e rezultateve.

Le të përmbledhim disa nga veçoritë funksionale, dhe gjithashtu të shqyrtojmë gjuhët e mbështetura për analizë:

Gjuhë
Nexus IQ
Kontrolli i varësisë
Gjurma e varësisë

Java
+
+
+

C / C ++
+
+
-

C#
+
+
-

Net
+
+
+

erlang
-
-
+

JavaScript (NodeJS)
+
+
+

PHP
+
+
+

Piton
+
+
+

rubin
+
+
+

Perl
-
-
-

Scala
+
+
+

Objektivi C
+
+
-

I shpejtë
+
+
-

R
+
-
-

Go
+
+
+

funksionalitetin

funksionalitetin
Nexus IQ
Kontrolli i varësisë
Gjurma e varësisë

Aftësia për të siguruar që komponentët e përdorur në kodin burimor të kontrollohen për pastërti të licencuar
+
-
+

Aftësia për të skanuar dhe analizuar për dobësitë dhe pastërtinë e licencës për imazhet e Docker
+ Integrimi me Clair
-
-

Aftësia për të konfiguruar politikat e sigurisë për të përdorur bibliotekat me burim të hapur
+
-
-

Aftësia për të skanuar depo me burim të hapur për komponentë të cenueshëm
+ RubyGems, Maven, NPM, Nuget, Pypi, Conan, Bower, Conda, Go, p2, R, Yum, Helm, Docker, CocoaPods, Git LFS
-
+ Hex, RubyGems, Maven, NPM, Nuget, Pypi

Disponueshmëria e një grupi të specializuar kërkimor
+
-
-

Operacioni i ciklit të mbyllur
+
+
+

Përdorimi i bazave të të dhënave të palëve të treta
+ Mbyllur bazën e të dhënave Sonatype
+ Sonatype OSS, Këshilltarët Publikë NPM
+ Sonatype OSS, Këshilltarët Publikë NPM, RetireJS, VulnDB, mbështetje për bazën e të dhënave të saj të cenueshmërisë

Aftësia për të filtruar komponentët me burim të hapur kur përpiqeni të ngarkoni në ciklin e zhvillimit sipas politikave të konfiguruara
+
-
-

Rekomandime për rregullimin e dobësive, disponueshmërinë e lidhjeve për rregullime
+
+- (varet nga përshkrimi në bazat e të dhënave publike)
+- (varet nga përshkrimi në bazat e të dhënave publike)

Renditja e dobësive të zbuluara sipas ashpërsisë
+
+
+

Modeli i aksesit të bazuar në role
+
-
+

Mbështetje CLI
+
+
+- (vetëm për CycloneDX)

Marrja e mostrave/ndarja e dobësive sipas kritereve të përcaktuara
+
-
+

Paneli sipas statusit të aplikacionit
+
-
+

Gjenerimi i raporteve në formatin PDF
+
-
-

Gjenerimi i raporteve në formatin JSONCSV
+
+
-

Mbështetje për gjuhën ruse
-
-
-

Aftësitë integruese

integrim
Nexus IQ
Kontrolli i varësisë
Gjurma e varësisë

Integrimi LDAP/Active Directory
+
-
+

Integrimi me sistemin e integrimit të vazhdueshëm Bamboo
+
-
-

Integrimi me sistemin e integrimit të vazhdueshëm TeamCity
+
-
-

Integrimi me sistemin e integrimit të vazhdueshëm GitLab
+
+- (si një shtojcë për GitLab)
+

Integrimi me sistemin e integrimit të vazhdueshëm Jenkins
+
+
+

Disponueshmëria e shtojcave për IDE
+ IntelliJ, Eclipse, Visual Studio
-
-

Mbështetje për integrimin me porosi nëpërmjet shërbimeve në internet (API) të mjetit
+
-
+

Kontrolli i varësisë

Первый запуск

Le të ekzekutojmë Kontrollin e Varësisë në një aplikacion qëllimisht të cenueshëm DVJA.

Për këtë do të përdorim Shtojca Maven e Kontrollit të Varësisë:

mvn org.owasp:dependency-check-maven:check

Si rezultat, dependency-check-report.html do të shfaqet në direktorinë e synuar.

DevSecOps: parimet e funksionimit dhe krahasimi i SCA. Pjesa e pare

Le të hapim skedarin. Pas informacionit përmbledhës për numrin e përgjithshëm të dobësive, mund të shohim informacione rreth dobësive me një nivel të lartë Ashpërsie dhe Besimi, duke treguar paketën, CPE dhe numrin e CVE-ve.

Më pas vijnë informacione më të detajuara, në veçanti baza mbi të cilën është marrë vendimi (provat), pra një BOM e caktuar.

DevSecOps: parimet e funksionimit dhe krahasimi i SCA. Pjesa e pare

Më pas vjen përshkrimi CPE, PURL dhe CVE. Nga rruga, rekomandimet për korrigjim nuk janë përfshirë për shkak të mungesës së tyre në bazën e të dhënave NVD.

DevSecOps: parimet e funksionimit dhe krahasimi i SCA. Pjesa e pare

Për të parë sistematikisht rezultatet e skanimit, mund të konfiguroni Nginx me cilësime minimale ose t'i dërgoni defektet që rezultojnë në një sistem të menaxhimit të defekteve që mbështet lidhësit për Kontrollin e Varësisë. Për shembull, Defekt Dojo.

Gjurma e varësisë

Instalim

Dependency Track, nga ana tjetër, është një platformë e bazuar në ueb me grafikë ekrani, kështu që çështja urgjente e ruajtjes së defekteve në një zgjidhje të palëve të treta nuk lind këtu.
Skriptet e mbështetura për instalim janë: Docker, WAR, Executable WAR.

Первый запуск

Shkojmë në URL-në e shërbimit që funksionon. Identifikohemi nëpërmjet administratorit/admin, ndryshojmë hyrjen dhe fjalëkalimin dhe më pas shkojmë në Panel. Gjëja tjetër që do të bëjmë është të krijojmë një projekt për një aplikacion testimi në Java in Faqja kryesore/Projektet → Krijo projekt . Le të marrim si shembull DVJA.

DevSecOps: parimet e funksionimit dhe krahasimi i SCA. Pjesa e pare

Meqenëse Dependency Track mund të pranojë vetëm BOM si hyrje, ky BOM duhet të merret. Le të përfitojmë Shtojca CycloneDX Maven:

mvn org.cyclonedx:cyclonedx-maven-plugin:makeAggregateBom

Marrim bom.xml dhe ngarkojmë skedarin në projektin e krijuar DVJA → Varësitë → Ngarko BOM.

Le të shkojmë te Administrata → Analizuesit. Ne e kuptojmë se kemi të aktivizuar vetëm Analizuesin e Brendshëm, i cili përfshin NVD. Le të lidhim gjithashtu Sonatype OSS Index.

DevSecOps: parimet e funksionimit dhe krahasimi i SCA. Pjesa e pare

Kështu, marrim foton e mëposhtme për projektin tonë:

DevSecOps: parimet e funksionimit dhe krahasimi i SCA. Pjesa e pare

Gjithashtu në listë mund të gjeni një dobësi të zbatueshme për Sonatype OSS:

DevSecOps: parimet e funksionimit dhe krahasimi i SCA. Pjesa e pare

Zhgënjimi kryesor ishte se Dependency Track nuk pranon më raportet e Kontrollit të Varësisë xml. Versionet më të fundit të mbështetura të integrimit të kontrollit të varësisë ishin 1.0.0 - 4.0.2, ndërsa unë testova 5.3.2.

Këtu video (dhe këtu) kur ishte ende e mundur.

Nexus IQ

Первый запуск

Instalimi i Nexus IQ vjen nga arkivat e dokumentacionin, por ne ndërtuam një imazh Docker për këto qëllime.

Pasi të keni hyrë në tastierë, duhet të krijoni një Organizatë dhe Aplikacion.

DevSecOps: parimet e funksionimit dhe krahasimi i SCA. Pjesa e pare

DevSecOps: parimet e funksionimit dhe krahasimi i SCA. Pjesa e pare

DevSecOps: parimet e funksionimit dhe krahasimi i SCA. Pjesa e pare

Siç mund ta shihni, konfigurimi në rastin e IQ është disi më i komplikuar, sepse ne gjithashtu duhet të krijojmë politika që janë të zbatueshme për "faza" të ndryshme (dev, ndërtimi, faza, lëshimi). Kjo është e nevojshme për të bllokuar komponentët e cenueshëm ndërsa lëvizin përmes tubacionit më afër prodhimit, ose për t'i bllokuar ato sapo të futen në Nexus Repo kur shkarkohen nga zhvilluesit.

Për të ndjerë ndryshimin midis burimit të hapur dhe ndërmarrjes, le të kryejmë të njëjtin skanim përmes Nexus IQ në të njëjtën mënyrë përmes Shtojcë Maven, pasi keni krijuar më parë një aplikacion testimi në ndërfaqen NexusIQ dvja-test-and-compare:

mvn com.sonatype.clm:clm-maven-plugin:evaluate -Dclm.applicationId=dvja-test-and-compare -Dclm.serverUrl=<NEXUSIQIP> -Dclm.username=<USERNAME> -Dclm.password=<PASSWORD>

Ndiqni URL-në e raportit të gjeneruar në ndërfaqen e internetit të IQ:

DevSecOps: parimet e funksionimit dhe krahasimi i SCA. Pjesa e pare

Këtu mund të shihni të gjitha shkeljet e politikave që tregojnë nivele të ndryshme të rëndësisë (nga Informacioni deri te Siguria Kritike). Shkronja D pranë komponentit do të thotë që komponenti është Varësia Direkte, dhe shkronja T pranë komponentit do të thotë që komponenti është Varshmëri Kalimtare, domethënë është kalimtare.

Nga rruga, raporti Raporti i gjendjes së sigurisë me burim të hapur 2020 nga Snyk raporton se më shumë se 70% e dobësive me burim të hapur të zbuluara në Node.js, Java dhe Ruby janë në varësi kalimtare.

Nëse hapim një nga shkeljet e politikës së Nexus IQ, mund të shohim një përshkrim të komponentit, si dhe një Grafik Versioni, i cili tregon vendndodhjen e versionit aktual në grafikun e kohës, si dhe në cilën pikë cenueshmëria pushon së të jenë të pambrojtur. Lartësia e qirinjve në grafik tregon popullaritetin e përdorimit të këtij komponenti.

DevSecOps: parimet e funksionimit dhe krahasimi i SCA. Pjesa e pare

Nëse shkoni në seksionin e dobësive dhe zgjeroni CVE, mund të lexoni një përshkrim të kësaj dobësie, rekomandime për eliminimin, si dhe arsyen pse u shkel ky komponent, domethënë prania e klasës DiskFileitem.class.

DevSecOps: parimet e funksionimit dhe krahasimi i SCA. Pjesa e pare

DevSecOps: parimet e funksionimit dhe krahasimi i SCA. Pjesa e pare

Le të përmbledhim vetëm ato që lidhen me komponentët Java të palëve të treta, duke hequr komponentët js. Në kllapa tregojmë numrin e dobësive që u gjetën jashtë NVD.

IQ total i Nexus:

  • Varësitë e skanuara: 62
  • Varësitë e cenueshme: 16
  • Dobësitë e gjetura: 42 (8 sonatype db)

Kontrolli total i varësisë:

  • Varësitë e skanuara: 47
  • Varësitë e cenueshme: 13
  • Dobësitë e gjetura: 91 (14 sonatype oss)

Gjurma e varësisë totale:

  • Varësitë e skanuara: 59
  • Varësitë e cenueshme: 10
  • Dobësitë e gjetura: 51 (1 sonatype oss)

Në hapat e ardhshëm, ne do të analizojmë rezultatet e marra dhe do të kuptojmë se cila nga këto dobësi është një defekt i vërtetë dhe cili është një pozitiv i rremë.

Përgjegjësia

Ky rishikim nuk është një e vërtetë e padiskutueshme. Autori nuk kishte një synim për të nxjerrë në pah një instrument të veçantë në sfondin e të tjerëve. Qëllimi i rishikimit ishte të tregojë mekanizmat e funksionimit të mjeteve të SCA dhe mënyrat për të kontrolluar rezultatet e tyre.

Krahasimi i rezultateve

Termat dhe Kushtet:

Një pozitiv i rremë për dobësitë e komponentëve të palëve të treta është:

  • Mospërputhja e CVE me komponentin e identifikuar
  • Për shembull, nëse një dobësi identifikohet në kornizën struts2, dhe mjeti tregon një komponent të kornizës struts-tiles, për të cilin kjo dobësi nuk zbatohet, atëherë kjo është një pozitive false
  • Mospërputhja e CVE me versionin e identifikuar të komponentit
  • Për shembull, dobësia është e lidhur me versionin python > 3.5 dhe mjeti shënon versionin 2.7 si të prekshëm - kjo është një pozitive e rreme, pasi në fakt cenueshmëria vlen vetëm për degën e produktit 3.x
  • Dublikatë CVE
  • Për shembull, nëse SCA specifikon një CVE që mundëson një RCE, atëherë SCA specifikon një CVE për të njëjtin komponent që zbatohet për produktet Cisco të prekura nga ajo RCE. Në këtë rast do të jetë false pozitiv.
  • Për shembull, një CVE u gjet në një komponent Spring-web, pas së cilës SCA tregon të njëjtin CVE në komponentët e tjerë të Spring Framework, ndërsa CVE nuk ka asnjë lidhje me komponentët e tjerë. Në këtë rast do të jetë false pozitiv.

Objekti i studimit ishte projekti Open Source DVJA. Studimi përfshiu vetëm komponentë java (pa js).

Rezultatet përmbledhëse

Le të shkojmë drejtpërdrejt te rezultatet e një rishikimi manual të dobësive të identifikuara. Raporti i plotë për çdo CVE mund të gjendet në Shtojcë.

Rezultatet përmbledhëse për të gjitha dobësitë:

Parametër
Nexus IQ
Kontrolli i varësisë
Gjurma e varësisë

Dobësitë totale të identifikuara
42
91
51

Dobësitë e identifikuara gabimisht (false pozitive)
2 (4.76%)
62 (68,13%)
29 (56.86%)

Nuk u gjetën dobësi përkatëse (negativ i rremë)
10
20
27

Rezultatet përmbledhëse sipas komponentit:

Parametër
Nexus IQ
Kontrolli i varësisë
Gjurma e varësisë

Komponentët total të identifikuar
62
47
59

Komponentët total të cenueshëm
16
13
10

Komponentët vulnerabël të identifikuar gabimisht (pozitive false)
1
5
0

Komponentët vulnerabël të identifikuar gabimisht (pozitive false)
0
6
6

Le të ndërtojmë grafikë vizualë për të vlerësuar raportin e false pozitive dhe false negative me numrin total të dobësive. Komponentët janë shënuar horizontalisht, dhe dobësitë e identifikuara në to janë shënuar vertikalisht.

DevSecOps: parimet e funksionimit dhe krahasimi i SCA. Pjesa e pare

DevSecOps: parimet e funksionimit dhe krahasimi i SCA. Pjesa e pare

DevSecOps: parimet e funksionimit dhe krahasimi i SCA. Pjesa e pare

Për krahasim, një studim i ngjashëm u krye nga ekipi Sonatype duke testuar një projekt prej 1531 komponentësh duke përdorur OWASP Dependency Check. Siç mund ta shohim, raporti i zhurmës ndaj përgjigjeve korrekte është i krahasueshëm me rezultatet tona.

DevSecOps: parimet e funksionimit dhe krahasimi i SCA. Pjesa e pare
Burimi: www.sonatype.com/why-precision-matters-ebook

Le të shohim disa CVE nga rezultatet e skanimit tonë për të kuptuar arsyen e këtyre rezultateve.

më shumë

№ 1

Le të shohim së pari disa pika interesante në lidhje me Sonatype Nexus IQ.

Nexus IQ vë në dukje një problem me deserializimin me aftësinë për të kryer RCE në Kuadrin Spring shumë herë. CVE-2016-1000027 në spring-web:3.0.5 herën e parë, dhe CVE-2011-2894 në pranverë-context:3.0.5 dhe Spring-core:3.0.5. Në fillim, duket se ka dyfishim të cenueshmërisë në shumë CVE. Sepse, nëse shikoni CVE-2016-1000027 dhe CVE-2011-2894 në bazën e të dhënave NVD, duket se gjithçka është e qartë

komponent
Prekshmëria

pranverë-web:3.0.5
CVE-2016-1000027

pranverë-konteksti:3.0.5
CVE-2011-2894

susta-core: 3.0.5
CVE-2011-2894

Përshkrim CVE-2011-2894 nga NVD:
DevSecOps: parimet e funksionimit dhe krahasimi i SCA. Pjesa e pare

Përshkrim CVE-2016-1000027 nga NVD:
DevSecOps: parimet e funksionimit dhe krahasimi i SCA. Pjesa e pare

Vetë CVE-2011-2894 është mjaft i famshëm. Në raport Burimi i Bardhë 2011 kjo CVE u njoh si një nga më të zakonshmet. Përshkrimet për CVE-2016-100027, në parim, janë të pakta në NVD dhe duket se janë të zbatueshme vetëm për Spring Framework 4.1.4. Le të hedhim një vështrim në referim dhe këtu gjithçka bëhet pak a shumë e qartë. Nga Artikuj të qëndrueshëm Ne e kuptojmë se përveç cenueshmërisë në RemoteInvocationSerializingExporter në CVE-2011-2894, cenueshmëria vërehet në HttpInvokerServiceExporter. Ja çfarë na thotë Nexus IQ:

DevSecOps: parimet e funksionimit dhe krahasimi i SCA. Pjesa e pare

Sidoqoftë, nuk ka asgjë të tillë në NVD, kjo është arsyeja pse Kontrolli i Varësisë dhe Gjurma e Varësisë marrin secila negative false.

Gjithashtu nga përshkrimi i CVE-2011-2894 mund të kuptohet se cenueshmëria është me të vërtetë e pranishme si në kontekstin e pranverës:3.0.5 ashtu edhe në bërthamën e pranverës:3.0.5. Konfirmimi i kësaj mund të gjendet në një artikull nga personi që ka gjetur këtë dobësi.

№ 2

komponent
Prekshmëria
Result

struts2-core:2.3.30
CVE-2016-4003
I RREMË

Nëse studiojmë cenueshmërinë CVE-2016-4003, do të kuptojmë se është rregulluar në versionin 2.3.28, megjithatë, Nexus IQ na e raporton atë. Ekziston një shënim në përshkrimin e cenueshmërisë:

DevSecOps: parimet e funksionimit dhe krahasimi i SCA. Pjesa e pare

Kjo do të thotë, dobësia ekziston vetëm në lidhje me një version të vjetëruar të JRE, për të cilin ata vendosën të na paralajmërojnë. Sidoqoftë, ne e konsiderojmë këtë Pozitiv të rremë, megjithëse jo më të keqin.

3 №

komponent
Prekshmëria
Result

xwork-core: 2.3.30
CVE-2017-9804
TRUE

xwork-core: 2.3.30
CVE-2017-7672
I RREMË

Nëse shikojmë përshkrimet e CVE-2017-9804 dhe CVE-2017-7672, do të kuptojmë se problemi është URLValidator class, me CVE-2017-9804 që rrjedh nga CVE-2017-7672. Prania e cenueshmërisë së dytë nuk mbart ndonjë ngarkesë të dobishme përveç faktit që ashpërsia e tij është rritur në Lartë, kështu që mund ta konsiderojmë atë zhurmë të panevojshme.

Në përgjithësi, nuk u gjetën rezultate të tjera false për Nexus IQ.

№ 4

Ka disa gjëra që e bëjnë IQ të dallohet nga zgjidhjet e tjera.

komponent
Prekshmëria
Result

pranverë-web:3.0.5
CVE-2020-5398
TRUE

CVE në NVD thotë se ai zbatohet vetëm për versionet 5.2.x përpara 5.2.3, 5.1.x përpara 5.1.13 dhe versionet 5.0.x përpara 5.0.16, megjithatë, nëse shikojmë përshkrimin CVE në Nexus IQ , atëherë do të shohim sa vijon:
Njoftim për devijimin këshillues: Ekipi i kërkimit të sigurisë Sonatype zbuloi se kjo dobësi u prezantua në versionin 3.0.2.RELEASE dhe jo në 5.0.x siç thuhet në këshillim.

Kjo pasohet nga një PoC për këtë cenueshmëri, e cila thotë se është e pranishme në versionin 3.0.5.

Negativ i rremë dërgohet te "Kontrolli i varësisë" dhe "Gjurma e varësisë".

№ 5

Le të shohim pozitivitetin e rremë për Kontrollin e Varësisë dhe Gjurmën e Varësisë.

Kontrolli i varësisë dallohet në atë që pasqyron ato CVE që zbatohen për të gjithë kornizën në NVD për ato komponentë për të cilët këto CVE nuk zbatohen. Kjo ka të bëjë me kontrollet CVE-2012-0394, CVE-2013-2115, CVE-2014-0114, CVE-2015-0899, CVE-2015-2992, CVE-2016-1181, CVE-2016-1182, të cilat varen nga ” te struts-taglib:1.3.8 dhe struts-tiles-1.3.8. Këta komponentë nuk kanë asnjë lidhje me atë që përshkruhet në CVE - përpunimi i kërkesës, vërtetimi i faqes, etj. Kjo për faktin se ajo që këto CVE dhe komponentë kanë të përbashkët është vetëm korniza, prandaj Dependency Check e konsideroi atë një cenueshmëri.

E njëjta situatë është me Spring-tx:3.0.5 dhe një situatë e ngjashme me struts-core:1.3.8. Për struts-core, Dependency Check dhe Dependency Track kanë gjetur shumë dobësi që janë në të vërtetë të zbatueshme për struts2-core, që është në thelb një kornizë e veçantë. Në këtë rast, Nexus IQ e kuptoi saktë figurën dhe në CVE-të që lëshoi, tregoi se struts-core kishte arritur në fund të jetës dhe ishte e nevojshme të kalonte në struts2-core.

№ 6

Në disa situata, është e padrejtë të interpretohet një gabim i dukshëm i kontrollit të varësisë dhe i gjurmimit të varësisë. Në veçanti CVE-2013-4152, CVE-2013-6429, CVE-2013-6430, CVE-2013-7315, CVE-2014-0054, CVE-2014-0225, CVE-2014-0225 Kontrolli i varësisë dhe varësisë që i atribuohet spring-core:3.0.5 në fakt i përket Spring-web:3.0.5. Në të njëjtën kohë, disa nga këto CVE u gjetën gjithashtu nga Nexus IQ, megjithatë, IQ i identifikoi saktë ato në një komponent tjetër. Për shkak se këto dobësi nuk u gjetën në bërthamën e pranverës, nuk mund të argumentohet se ato nuk janë në kornizë në parim dhe mjetet me burim të hapur i vunë në dukje me të drejtë këto dobësi (ata thjesht humbën pak).

Gjetjet

Siç mund ta shohim, përcaktimi i besueshmërisë së dobësive të identifikuara me rishikim manual nuk jep rezultate të paqarta, prandaj lindin çështje të diskutueshme. Rezultatet janë se zgjidhja Nexus IQ ka shkallën më të ulët false pozitive dhe saktësinë më të lartë.

Para së gjithash, kjo është për shkak të faktit se ekipi Sonatype zgjeroi përshkrimin për çdo dobësi CVE nga NVD në bazat e tij të të dhënave, duke treguar dobësitë për një version të veçantë të komponentëve deri në klasë ose funksion, duke kryer kërkime shtesë (për shembull , duke kontrolluar dobësitë në versionet më të vjetra të softuerit).

Një ndikim të rëndësishëm në rezultatet luajnë edhe ato dobësi që nuk janë përfshirë në NVD, por megjithatë janë të pranishme në bazën e të dhënave Sonatype me shenjën SONATYPE. Sipas raportit Gjendja e dobësive të sigurisë me burim të hapur 2020 45% e dobësive të zbuluara me burim të hapur nuk raportohen në NVD. Sipas bazës së të dhënave WhiteSource, vetëm 29% e të gjitha dobësive me burim të hapur të raportuara jashtë NVD përfundojnë të publikuara atje, kjo është arsyeja pse është e rëndësishme të kërkoni dobësi edhe në burime të tjera.

Si rezultat, Kontrolli i Varësisë prodhon shumë zhurmë, duke munguar disa komponentë të cenueshëm. Dependency Track prodhon më pak zhurmë dhe zbulon një numër të madh komponentësh, gjë që nuk i dëmton vizualisht sytë në ndërfaqen e internetit.

Sidoqoftë, praktika tregon se burimi i hapur duhet të bëhet hapat e parë drejt DevSecOps të pjekur. Gjëja e parë që duhet të mendoni kur integroni SCA në zhvillim janë proceset, domethënë, të mendoni së bashku me menaxhmentin dhe departamentet përkatëse se si duhet të duken proceset ideale në organizatën tuaj. Mund të rezultojë që për organizatën tuaj, fillimisht, Kontrolli i Varësisë ose Gjurma e Varësisë do të mbulojë të gjitha nevojat e biznesit dhe zgjidhjet e Ndërmarrjeve do të jenë një vazhdim logjik për shkak të kompleksitetit në rritje të aplikacioneve që zhvillohen.

Shtojca A: Rezultatet e komponentit
Simbolet:

  • Dobësitë e nivelit të lartë-të lartë dhe kritik në komponent
  • Mesatare - Dobësitë e nivelit të kritikitetit mesatar në komponent
  • E VËRTETË - Çështje e vërtetë pozitive
  • E rreme - Çështje false pozitive

komponent
Nexus IQ
Kontrolli i varësisë
Gjurma e varësisë
Result

dom4j: 1.6.1
i lartë
i lartë
i lartë
TRUE

log4j-core: 2.3
i lartë
i lartë
i lartë
TRUE

log4j: 1.2.14
i lartë
i lartë
-
TRUE

të përbashkëta-koleksione:3.1
i lartë
i lartë
i lartë
TRUE

Commons-upload file:1.3.2
i lartë
i lartë
i lartë
TRUE

Commons-Beanutils:1.7.0
i lartë
i lartë
i lartë
TRUE

Commons-codec:1:10
Medium
-
-
TRUE

mysql-connector-java:5.1.42
i lartë
i lartë
i lartë
TRUE

pranverë-shprehje:3.0.5
i lartë
komponenti nuk u gjet

TRUE

pranverë-web:3.0.5
i lartë
komponenti nuk u gjet
i lartë
TRUE

pranverë-konteksti:3.0.5
Medium
komponenti nuk u gjet
-
TRUE

susta-core: 3.0.5
Medium
i lartë
i lartë
TRUE

struts2-config-browser-plugin:2.3.30
Medium
-
-
TRUE

pranverë-tx:3.0.5
-
i lartë
-
I RREMË

struts-core:1.3.8
i lartë
i lartë
i lartë
TRUE

xwork-core: 2.3.30
i lartë
-
-
TRUE

struts2-core: 2.3.30
i lartë
i lartë
i lartë
TRUE

struts-taglib:1.3.8
-
i lartë
-
I RREMË

strutat-tjegulla-1.3.8
-
i lartë
-
I RREMË

Shtojca B: Rezultatet e cenueshmërisë
Simbolet:

  • Dobësitë e nivelit të lartë-të lartë dhe kritik në komponent
  • Mesatare - Dobësitë e nivelit të kritikitetit mesatar në komponent
  • E VËRTETË - Çështje e vërtetë pozitive
  • E rreme - Çështje false pozitive

komponent
Nexus IQ
Kontrolli i varësisë
Gjurma e varësisë
Ashpërsi
Result
Koment

dom4j: 1.6.1
CVE-2018-1000632
CVE-2018-1000632
CVE-2018-1000632
i lartë
TRUE

CVE-2020-10683
CVE-2020-10683
CVE-2020-10683
i lartë
TRUE

log4j-core: 2.3
CVE-2017-5645
CVE-2017-5645
CVE-2017-5645
i lartë
TRUE

CVE-2020-9488
CVE-2020-9488
CVE-2020-9488
ulët
TRUE

log4j: 1.2.14
CVE-2019-17571
CVE-2019-17571
-
i lartë
TRUE

-
CVE-2020-9488
-
ulët
TRUE

SONATIP-2010-0053
-
-
i lartë
TRUE

të përbashkëta-koleksione:3.1
-
CVE-2015-6420
CVE-2015-6420
i lartë
I RREMË
Dublikata RCE (OSSINDEX)

-
CVE-2017-15708
CVE-2017-15708
i lartë
I RREMË
Dublikata RCE (OSSINDEX)

SONATIP-2015-0002
RCE (OSSINDEX)
RCE (OSSINDEX)
i lartë
TRUE

Commons-upload file:1.3.2
CVE-2016-1000031
CVE-2016-1000031
CVE-2016-1000031
i lartë
TRUE

SONATIP-2014-0173
-
-
Medium
TRUE

Commons-Beanutils:1.7.0
CVE-2014-0114
CVE-2014-0114
CVE-2014-0114
i lartë
TRUE

-
CVE-2019-10086
CVE-2019-10086
i lartë
I RREMË
Dobësia vlen vetëm për versionet 1.9.2+

Commons-codec:1:10
SONATIP-2012-0050
-
-
Medium
TRUE

mysql-connector-java:5.1.42
CVE-2018-3258
CVE-2018-3258
CVE-2018-3258
i lartë
TRUE

CVE-2019-2692
CVE-2019-2692
-
Medium
TRUE

-
CVE-2020-2875
-
Medium
I RREMË
E njëjta cenueshmëri si CVE-2019-2692, por me shënimin "sulmet mund të ndikojnë ndjeshëm në produkte shtesë"

-
CVE-2017-15945
-
i lartë
I RREMË
Nuk ka lidhje me mysql-connector-java

-
CVE-2020-2933
-
ulët
I RREMË
Dublikatë e CVE-2020-2934

CVE-2020-2934
CVE-2020-2934
-
Medium
TRUE

pranverë-shprehje:3.0.5
CVE-2018-1270
komponenti nuk u gjet
-
i lartë
TRUE

CVE-2018-1257
-
-
Medium
TRUE

pranverë-web:3.0.5
CVE-2016-1000027
komponenti nuk u gjet
-
i lartë
TRUE

CVE-2014-0225
-
CVE-2014-0225
i lartë
TRUE

CVE-2011-2730
-
-
i lartë
TRUE

-
-
CVE-2013-4152
Medium
TRUE

CVE-2018-1272
-
-
i lartë
TRUE

CVE-2020-5398
-
-
i lartë
TRUE
Një shembull ilustrues në favor të IQ: "Ekipi i kërkimit të sigurisë Sonatype zbuloi se kjo dobësi u prezantua në versionin 3.0.2.RELEASE dhe jo 5.0.x siç thuhet në këshillim."

CVE-2013-6429
-
-
Medium
TRUE

CVE-2014-0054
-
CVE-2014-0054
Medium
TRUE

CVE-2013-6430
-
-
Medium
TRUE

pranverë-konteksti:3.0.5
CVE-2011-2894
komponenti nuk u gjet
-
Medium
TRUE

susta-core: 3.0.5
-
CVE-2011-2730
CVE-2011-2730
i lartë
TRUE

CVE-2011-2894
CVE-2011-2894
CVE-2011-2894
Medium
TRUE

-
-
CVE-2013-4152
Medium
I RREMË
Dublikatë e së njëjtës cenueshmëri në pranverë-web

-
CVE-2013-4152
-
Medium
I RREMË
Dobësia lidhet me komponentin pranverë-web

-
CVE-2013-6429
CVE-2013-6429
Medium
I RREMË
Dobësia lidhet me komponentin pranverë-web

-
CVE-2013-6430
-
Medium
I RREMË
Dobësia lidhet me komponentin pranverë-web

-
CVE-2013-7315
CVE-2013-7315
Medium
I RREMË
SPLIT nga CVE-2013-4152. + Cenueshmëria lidhet me komponentin pranverë-web

-
CVE-2014-0054
CVE-2014-0054
Medium
I RREMË
Dobësia lidhet me komponentin pranverë-web

-
CVE-2014-0225
-
i lartë
I RREMË
Dobësia lidhet me komponentin pranverë-web

-
-
CVE-2014-0225
i lartë
I RREMË
Dublikatë e së njëjtës cenueshmëri në pranverë-web

-
CVE-2014-1904
CVE-2014-1904
Medium
I RREMË
Dobësia lidhet me komponentin spring-web-mvc

-
CVE-2014-3625
CVE-2014-3625
Medium
I RREMË
Dobësia lidhet me komponentin spring-web-mvc

-
CVE-2016-9878
CVE-2016-9878
i lartë
I RREMË
Dobësia lidhet me komponentin spring-web-mvc

-
CVE-2018-1270
CVE-2018-1270
i lartë
I RREMË
Për mesazhe-shprehje/pranverë

-
CVE-2018-1271
CVE-2018-1271
Medium
I RREMË
Dobësia lidhet me komponentin spring-web-mvc

-
CVE-2018-1272
CVE-2018-1272
i lartë
TRUE

CVE-2014-3578
CVE-2014-3578 (OSSINDEX)
CVE-2014-3578
Medium
TRUE

SONATIP-2015-0327
-
-
ulët
TRUE

struts2-config-browser-plugin:2.3.30
SONATIP-2016-0104
-
-
Medium
TRUE

pranverë-tx:3.0.5
-
CVE-2011-2730
-
i lartë
I RREMË
Dobësia nuk është specifike për Spring-tx

-
CVE-2011-2894
-
i lartë
I RREMË
Dobësia nuk është specifike për Spring-tx

-
CVE-2013-4152
-
Medium
I RREMË
Dobësia nuk është specifike për Spring-tx

-
CVE-2013-6429
-
Medium
I RREMË
Dobësia nuk është specifike për Spring-tx

-
CVE-2013-6430
-
Medium
I RREMË
Dobësia nuk është specifike për Spring-tx

-
CVE-2013-7315
-
Medium
I RREMË
Dobësia nuk është specifike për Spring-tx

-
CVE-2014-0054
-
Medium
I RREMË
Dobësia nuk është specifike për Spring-tx

-
CVE-2014-0225
-
i lartë
I RREMË
Dobësia nuk është specifike për Spring-tx

-
CVE-2014-1904
-
Medium
I RREMË
Dobësia nuk është specifike për Spring-tx

-
CVE-2014-3625
-
Medium
I RREMË
Dobësia nuk është specifike për Spring-tx

-
CVE-2016-9878
-
i lartë
I RREMË
Dobësia nuk është specifike për Spring-tx

-
CVE-2018-1270
-
i lartë
I RREMË
Dobësia nuk është specifike për Spring-tx

-
CVE-2018-1271
-
Medium
I RREMË
Dobësia nuk është specifike për Spring-tx

-
CVE-2018-1272
-
Medium
I RREMË
Dobësia nuk është specifike për Spring-tx

struts-core:1.3.8
-
CVE-2011-5057 (OSSINDEX)

Medium
FASLE
Cenueshmëria ndaj struts 2

-
CVE-2012-0391 (OSSINDEX)
CVE-2012-0391
i lartë
I RREMË
Cenueshmëria ndaj struts 2

-
CVE-2014-0094 (OSSINDEX)
CVE-2014-0094
Medium
I RREMË
Cenueshmëria ndaj struts 2

-
CVE-2014-0113 (OSSINDEX)
CVE-2014-0113
i lartë
I RREMË
Cenueshmëria ndaj struts 2

CVE-2016-1182
3VE-2016-1182
-
i lartë
TRUE

-
-
CVE-2011-5057
Medium
I RREMË
Cenueshmëria ndaj struts 2

-
CVE-2012-0392 (OSSINDEX)
CVE-2012-0392
i lartë
I RREMË
Cenueshmëria ndaj struts 2

-
CVE-2012-0393 (OSSINDEX)
CVE-2012-0393
Medium
I RREMË
Cenueshmëria ndaj struts 2

CVE-2015-0899
CVE-2015-0899
-
i lartë
TRUE

-
CVE-2012-0394
CVE-2012-0394
Medium
I RREMË
Cenueshmëria ndaj struts 2

-
CVE-2012-0838 (OSSINDEX)
CVE-2012-0838
i lartë
I RREMË
Cenueshmëria ndaj struts 2

-
CVE-2013-1965 (OSSINDEX)
CVE-2013-1965
i lartë
I RREMË
Cenueshmëria ndaj struts 2

-
CVE-2013-1966 (OSSINDEX)
CVE-2013-1966
i lartë
FASLE
Cenueshmëria ndaj struts 2

-
CVE-2013-2115
CVE-2013-2115
i lartë
FASLE
Cenueshmëria ndaj struts 2

-
CVE-2013-2134 (OSSINDEX)
CVE-2013-2134
i lartë
FASLE
Cenueshmëria ndaj struts 2

-
CVE-2013-2135 (OSSINDEX)
CVE-2013-2135
i lartë
FASLE
Cenueshmëria ndaj struts 2

CVE-2014-0114
CVE-2014-0114
-
i lartë
TRUE

-
CVE-2015-2992
CVE-2015-2992
Medium
I RREMË
Cenueshmëria ndaj struts 2

-
CVE-2016-0785 (OSSINDEX)
CVE-2016-0785
i lartë
I RREMË
Cenueshmëria ndaj struts 2

CVE-2016-1181
CVE-2016-1181
-
i lartë
TRUE

-
CVE-2016-4003 (OSSINDEX)
CVE-2016-4003
i lartë
I RREMË
Cenueshmëria ndaj struts 2

xwork-core: 2.3.30
CVE-2017-9804
-
-
i lartë
TRUE

SONATIP-2017-0173
-
-
i lartë
TRUE

CVE-2017-7672
-
-
i lartë
I RREMË
Dublikatë e CVE-2017-9804

SONATIP-2016-0127
-
-
i lartë
TRUE

struts2-core:2.3.30
-
CVE-2016-6795
CVE-2016-6795
i lartë
TRUE

-
CVE-2017-9787
CVE-2017-9787
i lartë
TRUE

-
CVE-2017-9791
CVE-2017-9791
i lartë
TRUE

-
CVE-2017-9793
-
i lartë
I RREMË
Dublikatë e CVE-2018-1327

-
CVE-2017-9804
-
i lartë
TRUE

-
CVE-2017-9805
CVE-2017-9805
i lartë
TRUE

CVE-2016-4003
-
-
Medium
I RREMË
E aplikueshme për Apache Struts 2.x deri në 2.3.28, që është versioni 2.3.30. Megjithatë, bazuar në përshkrimin, CVE është e vlefshme për çdo version të Struts 2 nëse përdoret JRE 1.7 ose më pak. Me sa duket kanë vendosur të na risigurojnë këtu, por më shumë duket FALSE

-
CVE-2018-1327
CVE-2018-1327
i lartë
TRUE

CVE-2017-5638
CVE-2017-5638
CVE-2017-5638
i lartë
TRUE
E njëjta dobësi që hakerët e Equifax shfrytëzuan në 2017

CVE-2017-12611
CVE-2017-12611
-
i lartë
TRUE

CVE-2018-11776
CVE-2018-11776
CVE-2018-11776
i lartë
TRUE

struts-taglib:1.3.8
-
CVE-2012-0394
-
Medium
I RREMË
Për shtyllat 2-core

-
CVE-2013-2115
-
i lartë
I RREMË
Për shtyllat 2-core

-
CVE-2014-0114
-
i lartë
I RREMË
Për të zakonshmet-beanutils

-
CVE-2015-0899
-
i lartë
I RREMË
Nuk zbatohet për taglib

-
CVE-2015-2992
-
Medium
I RREMË
I referohet struts2-core

-
CVE-2016-1181
-
i lartë
I RREMË
Nuk zbatohet për taglib

-
CVE-2016-1182
-
i lartë
I RREMË
Nuk zbatohet për taglib

strutat-tjegulla-1.3.8
-
CVE-2012-0394
-
Medium
I RREMË
Për shtyllat 2-core

-
CVE-2013-2115
-
i lartë
I RREMË
Për shtyllat 2-core

-
CVE-2014-0114
-
i lartë
I RREMË
Nën të zakonshme-beanutils

-
CVE-2015-0899
-
i lartë
I RREMË
Nuk vlen për pllakat

-
CVE-2015-2992
-
Medium
I RREMË
Për shtyllat 2-core

-
CVE-2016-1181
-
i lartë
I RREMË
Nuk zbatohet për taglib

-
CVE-2016-1182
-
i lartë
I RREMË
Nuk zbatohet për taglib

Burimi: www.habr.com

Shto një koment