Mae pwysigrwydd dadansoddi cydrannau meddalwedd trydydd parti (Dadansoddiad Cyfansoddiad Meddalwedd - SCA) yn y broses ddatblygu yn tyfu gyda rhyddhau adroddiadau blynyddol ar wendidau llyfrgelloedd ffynhonnell agored, a gyhoeddir gan Synopsys, Sonatype, Snyk, a White Source . Yn ôl yr adroddiad
Un o'r achosion mwyaf darluniadol
Bydd yr erthygl hon yn trafod y mater o ddewis offeryn ar gyfer cynnal SCA o safbwynt ansawdd y canlyniadau dadansoddi. Darperir cymhariaeth swyddogaethol o'r offer hefyd. Bydd y broses o integreiddio â galluoedd CI/CD ac integreiddio yn cael ei gadael ar gyfer cyhoeddiadau dilynol. Cyflwynwyd ystod eang o offer gan OWASP
Egwyddor o weithredu
Gadewch i ni edrych ar sut olwg sydd ar CPE:
cpe:2.3:part:vendor:product:version:update:edition:language:sw_edition:target_sw:target_hw:other
- rhan: Arwydd bod y gydran yn ymwneud â'r cymhwysiad (a), system weithredu (o), caledwedd (h) (Angenrheidiol)
- Gwerthwr: Enw Gwneuthurwr Cynnyrch (Angenrheidiol)
- Cynnyrch: Enw Cynnyrch (Angenrheidiol)
- Fersiwn: Fersiwn cydran (eitem darfodedig)
- Diweddaru: Diweddariad pecyn
- Edition: Fersiwn etifeddiaeth (eitem anghymeradwy)
- Iaith: Iaith a ddiffinnir yn RFC-5646
- Rhifyn SW: Fersiwn meddalwedd
- Targed SW: Amgylchedd meddalwedd y mae'r cynnyrch yn gweithredu ynddo
- Targed HW: Yr amgylchedd caledwedd y mae'r cynnyrch yn gweithredu ynddo
- arall: Gwybodaeth am y Cyflenwr neu'r Cynnyrch
Mae enghraifft CPE yn edrych fel hyn:
cpe:2.3:a:pivotal_software:spring_framework:3.0.0:*:*:*:*:*:*:*
Mae'r llinell yn golygu bod CPE fersiwn 2.3 yn disgrifio'r gydran cais gan y gwneuthurwr pivotal_software
gyda'r teitl spring_framework
fersiwn 3.0.0. Os byddwn yn agor bregusrwydd
Defnyddir yr URL hefyd gan offer SCA. Mae fformat URL y pecyn fel a ganlyn:
scheme:type/namespace/name@version?qualifiers#subpath
- Cynllun: Bydd 'pkg' bob amser yn nodi mai URL pecyn yw hwn (Angenrheidiol)
- math: "math" y pecyn neu "brotocol" y pecyn, fel maven, npm, nuget, gem, pypi, ac ati. (Angenrheidiol)
- Gofod Enw: Rhagddodiad rhai enwau, fel ID grŵp Maven, perchennog delwedd Docker, defnyddiwr GitHub, neu sefydliad. Dewisol ac yn dibynnu ar y math.
- Enw: Enw pecyn (Angenrheidiol)
- Fersiwn: Fersiwn pecyn
- Cymwyswyr: Data cymhwyster ychwanegol ar gyfer y pecyn, megis OS, pensaernïaeth, dosbarthiad, ac ati. Dewisol a math-benodol.
- Is-lwybr: Llwybr ychwanegol yn y pecyn o'i gymharu â gwraidd y pecyn
Er enghraifft:
pkg:golang/google.golang.org/genproto#googleapis/api/annotations
pkg:maven/org.apache.commons/[email protected]
pkg:pypi/[email protected]
Enghraifft o sut y gallai BOM edrych mewn fformat 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>
Gellir defnyddio BOM nid yn unig fel paramedrau mewnbwn ar gyfer Trac Dibyniaeth, ond hefyd ar gyfer rhestru cydrannau meddalwedd yn y gadwyn gyflenwi, er enghraifft, ar gyfer darparu meddalwedd i gwsmer. Yn 2014, cynigiwyd deddf hyd yn oed yn yr Unol Daleithiau
Gan ddychwelyd i SCA, mae gan Dibyniaeth Track integreiddiadau parod â Llwyfannau Hysbysu fel Slack, systemau rheoli bregusrwydd fel Kenna Security. Mae hefyd yn werth dweud bod Dibyniaeth Track, ymhlith pethau eraill, yn nodi fersiynau hen ffasiwn o becynnau ac yn darparu gwybodaeth am drwyddedau (oherwydd cefnogaeth SPDX).
Os byddwn yn siarad yn benodol am ansawdd yr SCA, yna mae gwahaniaeth sylfaenol.
Nid yw Dibyniaeth Track yn derbyn y prosiect fel mewnbwn, ond yn hytrach y BOM. Mae hyn yn golygu, os ydym am brofi'r prosiect, mae angen i ni gynhyrchu bom.xml yn gyntaf, er enghraifft gan ddefnyddio CycloneDX. Felly, mae Dibyniaeth Track yn dibynnu'n uniongyrchol ar CycloneDX. Ar yr un pryd, mae'n caniatáu ar gyfer addasu. Dyma beth ysgrifennodd tîm OZON
Gadewch i ni grynhoi rhai o'r nodweddion swyddogaethol, a hefyd ystyried yr ieithoedd a gefnogir i'w dadansoddi:
Iaith
IQ Nexus
Gwiriad Dibyniaeth
Trac Dibyniaeth
Java
+
+
+
C / C ++
+
+
-
C#
+
+
-
.Net
+
+
+
erlang
-
-
+
JavaScript (NodeJS)
+
+
+
PHP
+
+
+
Python
+
+
+
Ruby
+
+
+
Perl
-
-
-
Scala
+
+
+
Amcan C
+
+
-
Cyflym
+
+
-
R
+
-
-
Go
+
+
+
Swyddogaetholdeb
Swyddogaetholdeb
IQ Nexus
Gwiriad Dibyniaeth
Trac Dibyniaeth
Y gallu i sicrhau bod cydrannau a ddefnyddir yn y cod ffynhonnell yn cael eu gwirio am burdeb trwyddedig
+
-
+
Y gallu i sganio a dadansoddi am wendidau a thrwyddedu glendid ar gyfer delweddau Docker
+ Integreiddio â Clair
-
-
Y gallu i ffurfweddu polisïau diogelwch i ddefnyddio llyfrgelloedd ffynhonnell agored
+
-
-
Y gallu i sganio storfeydd ffynhonnell agored ar gyfer cydrannau bregus
+ RubyGems, Maven, NPM, Nuget, Pypi, Conan, Bower, Conda, Go, t2, R, Yum, Helm, Dociwr, CocoPods, Git LFS
-
+ Hex, RubyGems, Maven, NPM, Nuget, Pypi
Argaeledd grŵp ymchwil arbenigol
+
-
-
Gweithrediad dolen gaeedig
+
+
+
Defnyddio cronfeydd data trydydd parti
+ Cronfa ddata Sonatype caeedig
+ Sonatype OSS, Cynghorwyr Cyhoeddus NPM
+ Sonatype OSS, Cynghorwyr Cyhoeddus NPM, RetireJS, VulnDB, cefnogaeth i'w gronfa ddata bregusrwydd ei hun
Y gallu i hidlo cydrannau ffynhonnell agored wrth geisio llwytho i'r ddolen ddatblygu yn unol â pholisïau wedi'u ffurfweddu
+
-
-
Argymhellion ar gyfer trwsio gwendidau, argaeledd dolenni i atebion
+
+- (yn dibynnu ar y disgrifiad mewn cronfeydd data cyhoeddus)
+- (yn dibynnu ar y disgrifiad mewn cronfeydd data cyhoeddus)
Graddio gwendidau a ganfuwyd yn ôl difrifoldeb
+
+
+
Model mynediad seiliedig ar rôl
+
-
+
cefnogaeth CLI
+
+
+- (ar gyfer CycloneDX yn unig)
Samplu/didoli gwendidau yn unol â meini prawf diffiniedig
+
-
+
Dangosfwrdd yn ôl statws cais
+
-
+
Cynhyrchu adroddiadau ar ffurf PDF
+
-
-
Cynhyrchu adroddiadau mewn fformat JSONCSV
+
+
-
Cefnogaeth iaith Rwsieg
-
-
-
Galluoedd integreiddio
Integreiddio
IQ Nexus
Gwiriad Dibyniaeth
Trac Dibyniaeth
Integreiddio LDAP/Active Directory
+
-
+
Integreiddio â system integreiddio parhaus Bambŵ
+
-
-
Integreiddio â system integreiddio parhaus TeamCity
+
-
-
Integreiddio â system integreiddio parhaus GitLab
+
+ - (fel ategyn ar gyfer GitLab)
+
Integreiddio gyda system integreiddio parhaus Jenkins
+
+
+
Argaeledd ategion ar gyfer DRhA
+ IntelliJ, Eclipse, Stiwdio Gweledol
-
-
Cefnogaeth ar gyfer integreiddio arfer trwy we-wasanaethau (API) yr offeryn
+
-
+
Gwiriad Dibyniaeth
Cychwyn cyntaf
Gadewch i ni redeg Dibyniaeth ar gais sy'n agored i niwed yn fwriadol
Ar gyfer hyn byddwn yn defnyddio
mvn org.owasp:dependency-check-maven:check
O ganlyniad, bydd dependency-check-report.html yn ymddangos yn y cyfeiriadur targed.
Gadewch i ni agor y ffeil. Ar ôl gwybodaeth gryno am gyfanswm nifer y gwendidau, gallwn weld gwybodaeth am wendidau gyda lefel uchel o Ddifrifoldeb a Hyder, gan nodi'r pecyn, CPE, a nifer y CVEs.
Nesaf daw gwybodaeth fanylach, yn enwedig ar ba sail y gwnaed y penderfyniad (tystiolaeth), hynny yw, BOM penodol.
Nesaf daw'r disgrifiad CPE, PURL a CVE. Gyda llaw, nid yw argymhellion ar gyfer cywiro wedi'u cynnwys oherwydd eu habsenoldeb yn y gronfa ddata NVD.
I weld canlyniadau sgan yn systematig, gallwch chi ffurfweddu Nginx gyda gosodiadau lleiaf posibl, neu anfon y diffygion canlyniadol i system rheoli diffygion sy'n cefnogi cysylltwyr i Wiriad Dibyniaeth. Er enghraifft, Defect Dojo.
Trac Dibyniaeth
Gosod
Mae Dibyniaeth Track, yn ei dro, yn blatfform ar y we gyda graffiau arddangos, felly nid yw'r mater dybryd o storio diffygion mewn datrysiad trydydd parti yn codi yma.
Y sgriptiau a gefnogir i'w gosod yw: Dociwr, RHYFEL, RHYFEL Gweithredadwy.
Cychwyn cyntaf
Rydyn ni'n mynd i URL y gwasanaeth rhedeg. Rydyn ni'n mewngofnodi trwy admin / admin, yn newid y mewngofnodi a'r cyfrinair, ac yna'n cyrraedd y Dangosfwrdd. Y peth nesaf y byddwn yn ei wneud yw creu prosiect ar gyfer cais prawf yn Java yn Cartref/Prosiectau → Creu Prosiect . Gadewch i ni gymryd y DVJA fel enghraifft.
Gan mai dim ond BOM fel mewnbwn y gall Dibyniaeth Track ei dderbyn, rhaid adalw'r BOM hwn. Gadewch i ni gymryd mantais
mvn org.cyclonedx:cyclonedx-maven-plugin:makeAggregateBom
Rydym yn cael bom.xml ac yn llwytho'r ffeil yn y prosiect a grëwyd DVJA → Dibyniaethau → Uwchlwytho BOM.
Gadewch i ni fynd i Weinyddiaeth → Analyzers. Rydym yn deall mai dim ond Dadansoddwr Mewnol sydd gennym wedi'i alluogi, sy'n cynnwys NVD. Gadewch i ni hefyd gysylltu Sonatype OSS Mynegai.
Felly, rydym yn cael y llun canlynol ar gyfer ein prosiect:
Hefyd yn y rhestr gallwch ddod o hyd i un bregusrwydd sy'n berthnasol i Sonatype OSS:
Y brif siom oedd nad yw Dibyniaeth Track bellach yn derbyn adroddiadau xml Gwiriad Dibyniaeth. Y fersiynau diweddaraf a gefnogir o'r integreiddiad Gwiriad Dibyniaeth oedd 1.0.0 - 4.0.2, tra roeddwn i'n profi 5.3.2.
Yma
IQ Nexus
Cychwyn cyntaf
Gosod Nexus IQ yn dod o'r archifau o
Ar ôl mewngofnodi i'r consol, mae angen i chi greu Sefydliad a Chymhwysiad.
Fel y gallwch weld, mae'r gosodiad yn achos IQ ychydig yn fwy cymhleth, oherwydd mae angen i ni hefyd greu polisïau sy'n berthnasol ar gyfer gwahanol “gamau” (dev, adeiladu, llwyfan, rhyddhau). Mae hyn yn angenrheidiol i rwystro cydrannau sy'n agored i niwed wrth iddynt symud drwy'r biblinell yn agosach at gynhyrchu, neu i'w rhwystro cyn gynted ag y byddant yn mynd i mewn i'r Nexus Repo pan gaiff ei lawrlwytho gan ddatblygwyr.
I deimlo'r gwahaniaeth rhwng ffynhonnell agored a menter, gadewch i ni berfformio'r un sgan trwy Nexus IQ yn yr un modd 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>
Dilynwch yr URL i'r adroddiad a gynhyrchir yn y rhyngwyneb gwe IQ:
Yma gallwch weld yr holl doriadau polisi sy'n nodi lefelau arwyddocâd gwahanol (o Info i Security Critical). Mae'r llythyren D wrth ymyl y gydran yn golygu mai Dibyniaeth Uniongyrchol yw'r gydran, ac mae'r llythyren T nesaf at y gydran yn golygu bod y gydran yn Dibyniaeth Drawsnewidiol, hynny yw, ei bod yn drosiannol.
Gyda llaw, yr adroddiad
Os byddwn yn agor un o'r troseddau polisi Nexus IQ, gallwn weld disgrifiad o'r gydran, yn ogystal â Graff Fersiwn, sy'n dangos lleoliad y fersiwn gyfredol yn y graff amser, yn ogystal ag ar ba bwynt y mae'r bregusrwydd yn peidio. bod yn agored i niwed. Mae uchder y canhwyllau ar y graff yn dangos poblogrwydd defnyddio'r gydran hon.
Os ewch i'r adran gwendidau ac ehangu'r CVE, gallwch ddarllen disgrifiad o'r bregusrwydd hwn, argymhellion ar gyfer dileu, yn ogystal â'r rheswm pam y tramgwyddwyd y gydran hon, hynny yw, presenoldeb y dosbarth. DiskFileitem.class
.
Gadewch i ni grynhoi dim ond y rhai sy'n ymwneud â chydrannau Java trydydd parti, gan ddileu'r cydrannau js. Mewn cromfachau rydym yn nodi nifer y gwendidau a ganfuwyd y tu allan i NVD.
Cyfanswm IQ Nexus:
- Dibyniaethau wedi'u sganio: 62
- Dibyniaethau Agored i Niwed: 16
- Gwendidau a Ganfuwyd: 42 (8 sonoteip db)
Gwiriad Dibyniaeth Gyfanswm:
- Dibyniaethau wedi'u sganio: 47
- Dibyniaethau Agored i Niwed: 13
- Gwendidau Wedi'u Darganfuwyd: 91 (14 oss sonoteip)
Trac Dibyniaeth Cyfanswm:
- Dibyniaethau wedi'u sganio: 59
- Dibyniaethau Agored i Niwed: 10
- Gwendidau Wedi'u Darganfuwyd: 51 (1 oss sonoteip)
Yn y camau nesaf, byddwn yn dadansoddi'r canlyniadau a gafwyd ac yn darganfod pa un o'r gwendidau hyn sy'n ddiffyg gwirioneddol a pha un sy'n bositif ffug.
Ymwadiad
Nid yw'r adolygiad hwn yn wirionedd diamheuol. Nid oedd gan yr awdur nod i amlygu offeryn ar wahân yn erbyn cefndir eraill. Pwrpas yr adolygiad oedd dangos mecanweithiau gweithredu offer SCA a ffyrdd o wirio eu canlyniadau.
Cymharu canlyniadau
Telerau ac amodau:
Cadarnhaol ffug ar gyfer gwendidau cydrannau trydydd parti yw:
- CVE diffyg cyfatebiaeth i gydran a nodwyd
- Er enghraifft, os canfyddir bregusrwydd yn y fframwaith struts2, a bod yr offeryn yn pwyntio at gydran o'r fframwaith stratiau-teils, nad yw'r bregusrwydd hwn yn berthnasol iddo, yna mae hwn yn bositif ffug.
- CVE diffyg cyfatebiaeth i'r fersiwn a nodwyd o'r gydran
- Er enghraifft, mae'r bregusrwydd yn gysylltiedig â fersiwn python> 3.5 ac mae'r offeryn yn nodi bod fersiwn 2.7 yn agored i niwed - mae hwn yn bositif ffug, oherwydd mewn gwirionedd mae'r bregusrwydd yn berthnasol i gangen cynnyrch 3.x yn unig
- CVE dyblyg
- Er enghraifft, os yw'r SCA yn pennu CVE sy'n galluogi RCE, yna mae'r SCA yn pennu CVE ar gyfer yr un gydran sy'n berthnasol i gynhyrchion Cisco y mae'r RCE hwnnw'n effeithio arnynt. Yn yr achos hwn, bydd yn gadarnhaol ffug.
- Er enghraifft, canfuwyd CVE mewn cydran gwe gwanwyn, ac ar ôl hynny mae SCA yn pwyntio at yr un CVE mewn cydrannau eraill o Fframwaith y Gwanwyn, tra nad oes gan y CVE unrhyw beth i'w wneud â chydrannau eraill. Yn yr achos hwn, bydd yn gadarnhaol ffug.
Amcan yr astudiaeth oedd y prosiect Ffynhonnell Agored DVJA. Roedd yr astudiaeth yn cynnwys cydrannau java yn unig (heb js).
Canlyniadau cryno
Awn yn syth at ganlyniadau adolygiad llaw o wendidau a nodwyd. Mae'r adroddiad llawn ar gyfer pob CVE i'w weld yn yr Atodiad.
Canlyniadau cryno ar gyfer pob bregusrwydd:
Paramedr
IQ Nexus
Gwiriad Dibyniaeth
Trac Dibyniaeth
Cyfanswm gwendidau a nodwyd
42
91
51
Gwendidau a nodwyd yn anghywir (cadarnhaol ffug)
2 (4.76%)
62 (68,13%)
29 (56.86%)
Ni chanfuwyd unrhyw wendidau perthnasol (negyddol ffug)
10
20
27
Canlyniadau cryno fesul cydran:
Paramedr
IQ Nexus
Gwiriad Dibyniaeth
Trac Dibyniaeth
Cyfanswm y cydrannau a nodwyd
62
47
59
Cyfanswm y cydrannau sy'n agored i niwed
16
13
10
Cydrannau bregus a nodwyd yn anghywir (cadarnhaol ffug)
1
5
0
Cydrannau bregus a nodwyd yn anghywir (cadarnhaol ffug)
0
6
6
Gadewch i ni adeiladu graffiau gweledol i werthuso cymhareb positif ffug a negyddol ffug i gyfanswm nifer y gwendidau. Caiff cydrannau eu marcio'n llorweddol, a chaiff gwendidau a nodir ynddynt eu marcio'n fertigol.
Er mwyn cymharu, cynhaliwyd astudiaeth debyg gan dîm Sonatype yn profi prosiect o 1531 o gydrannau gan ddefnyddio Gwiriad Dibyniaeth OWASP. Fel y gallwn weld, mae'r gymhareb sŵn i ymatebion cywir yn debyg i'n canlyniadau.
Ffynhonnell:
Gadewch i ni edrych ar rai CVEs o'n canlyniadau sgan i ddeall y rheswm dros y canlyniadau hyn.
Mwy
No.1
Edrychwn yn gyntaf ar rai pwyntiau diddorol am yr IQ Sonatype Nexus.
Mae Nexus IQ yn tynnu sylw at broblem gyda dad-gyfrifo gyda'r gallu i berfformio RCE yn Fframwaith y Gwanwyn sawl gwaith. CVE-2016-1000027 yng ngwe y gwanwyn: 3.0.5 y tro cyntaf, a CVE-2011-2894 yng nghyd-destun y gwanwyn: 3.0.5 a chraidd y gwanwyn: 3.0.5. Ar y dechrau, mae'n ymddangos bod yna ddyblygu bregusrwydd ar draws CVEs lluosog. Oherwydd, os edrychwch ar CVE-2016-1000027 a CVE-2011-2894 yn y gronfa ddata NVD, mae'n ymddangos bod popeth yn amlwg
Cydran
Bregusrwydd
gwanwyn-gwe: 3.0.5
CVE-2016-1000027
cyd-destun y gwanwyn: 3.0.5
CVE-2011-2894
gwanwyn-craidd: 3.0.5
CVE-2011-2894
Disgrifiad
Disgrifiad
Mae CVE-2011-2894 ei hun yn eithaf enwog. Yn yr adroddiad RemoteInvocationSerializingExporter
yn CVE-2011-2894, gwelir y bregusrwydd yn HttpInvokerServiceExporter
. Dyma beth mae Nexus IQ yn ei ddweud wrthym:
Fodd bynnag, nid oes unrhyw beth fel hyn yn NVD, a dyna pam mae Gwiriad Dibyniaeth a Thrac Dibyniaeth i gyd yn derbyn negyddol ffug.
Hefyd o'r disgrifiad o CVE-2011-2894 gellir deall bod y bregusrwydd yn wir yn bresennol yng nghyd-destun y gwanwyn: 3.0.5 a chraidd y gwanwyn: 3.0.5. Gellir dod o hyd i gadarnhad o hyn mewn erthygl gan y person a ganfu'r bregusrwydd hwn.
No.2
Cydran
Bregusrwydd
Canlyniad
struts2-craidd:2.3.30
CVE-2016-4003
Anghywir
Os byddwn yn astudio bregusrwydd CVE-2016-4003, byddwn yn deall ei fod yn sefydlog yn fersiwn 2.3.28, fodd bynnag, mae Nexus IQ yn ei adrodd i ni. Mae nodyn yn y disgrifiad o'r bregusrwydd:
Hynny yw, dim ond ar y cyd â fersiwn hen ffasiwn o'r JRE y mae'r bregusrwydd yn bodoli, y penderfynasant ein rhybuddio yn ei gylch. Serch hynny, rydym yn ystyried y Gau Bositif hwn, er nad y gwaethaf.
# 3
Cydran
Bregusrwydd
Canlyniad
xwork-core: 2.3.30
CVE-2017-9804
TRUE
xwork-core: 2.3.30
CVE-2017-7672
Anghywir
Os edrychwn ar y disgrifiadau o CVE-2017-9804 a CVE-2017-7672, byddwn yn deall mai'r broblem yw URLValidator class
, gyda CVE-2017-9804 yn deillio o CVE-2017-7672. Nid yw presenoldeb yr ail fregusrwydd yn cario unrhyw lwyth defnyddiol heblaw am y ffaith bod ei ddifrifoldeb wedi cynyddu i Uchel, felly gallwn ei ystyried yn sŵn diangen.
Ar y cyfan, ni ddarganfuwyd unrhyw gadarnhaol ffug eraill ar gyfer Nexus IQ.
No.4
Mae yna sawl peth sy'n gwneud i IQ sefyll allan o atebion eraill.
Cydran
Bregusrwydd
Canlyniad
gwanwyn-gwe: 3.0.5
CVE-2020-5398
TRUE
Mae'r CVE yn y NVD yn nodi ei fod ond yn berthnasol i fersiynau 5.2.x cyn 5.2.3, 5.1.x cyn 5.1.13, a fersiynau 5.0.x cyn 5.0.16, fodd bynnag, os edrychwn ar y disgrifiad CVE yn Nexus IQ , yna byddwn yn gweld y canlynol:
Hysbysiad Gwyriad Ymgynghorol: Darganfu tîm ymchwil diogelwch Sonatype fod y bregusrwydd hwn wedi'i gyflwyno yn fersiwn 3.0.2.RELEASE ac nid 5.0.x fel y nodwyd yn yr ymgynghoriad.
Dilynir hyn gan PoC ar gyfer y bregusrwydd hwn, sy'n nodi ei fod yn bresennol yn fersiwn 3.0.5.
Negatif ffug yn cael ei anfon i'r Gwiriad Dibyniaeth a'r Trac Dibyniaeth.
No.5
Gadewch i ni edrych ar bositif ffug ar gyfer Gwiriad Dibyniaeth a Thrac Dibyniaeth.
Mae Gwiriad Dibyniaeth yn sefyll allan gan ei fod yn adlewyrchu'r CVEs hynny sy'n berthnasol i'r fframwaith cyfan mewn NVD i'r cydrannau hynny nad yw'r CVEs hyn yn berthnasol iddynt. Mae hyn yn ymwneud â CVE-2012-0394, CVE-2013-2115, CVE-2014-0114, CVE-2015-0899, CVE-2015-2992, CVE-2016-1181, CVE-2016-1182, sy'n cynnal Gwiriadau Dibyniaeth ” i struts-taglib: 1.3.8 a theils-struts-1.3.8. Nid oes gan y cydrannau hyn unrhyw beth i'w wneud â'r hyn a ddisgrifir yn y CVE - prosesu ceisiadau, dilysu tudalennau, ac ati. Mae hyn oherwydd y ffaith mai'r hyn sydd gan y CVEs a'r cydrannau hyn yn gyffredin yn unig yw'r fframwaith, a dyna pam yr ystyriodd y Gwiriad Dibyniaeth ei fod yn agored i niwed.
Mae'r un sefyllfa gyda spring-tx:3.0.5, a sefyllfa debyg gyda struts-core: 1.3.8. Ar gyfer struts-core, mae Gwiriad Dibyniaeth a Thrac Dibyniaeth wedi dod o hyd i lawer o wendidau sy'n berthnasol mewn gwirionedd i struts2-core, sydd yn ei hanfod yn fframwaith ar wahân. Yn yr achos hwn, roedd Nexus IQ yn deall y darlun yn gywir ac yn y CVEs a gyhoeddodd, nododd fod struts-core wedi cyrraedd diwedd oes a bod angen symud i struts2-core.
No.6
Mewn rhai sefyllfaoedd, mae'n annheg dehongli gwall Gwiriad Dibyniaeth a Thrac Dibyniaeth amlwg. Yn benodol CVE-2013-4152, CVE-2013-6429, CVE-2013-6430, CVE-2013-7315, CVE-2014-0054, CVE-2014-0225, CVE-2014-0225 Gwiriad Dibyniaeth, sy'n cael eu Gwirio Dibyniaeth Trac a briodolir i spring-core:3.0.5 mewn gwirionedd yn perthyn i spring-web:3.0.5. Ar yr un pryd, canfuwyd rhai o'r CVEs hyn hefyd gan Nexus IQ, fodd bynnag, roedd IQ yn eu hadnabod yn gywir i gydran arall. Gan na ddaethpwyd o hyd i'r gwendidau hyn yn spring-core, ni ellir dadlau nad ydynt yn y fframwaith mewn egwyddor ac roedd offer ffynhonnell agored yn gywir i dynnu sylw at y gwendidau hyn (dim ond ychydig a gollwyd).
Canfyddiadau
Fel y gallwn weld, nid yw pennu dibynadwyedd gwendidau a nodwyd trwy adolygiad â llaw yn rhoi canlyniadau diamwys, a dyna pam mae materion dadleuol yn codi. Y canlyniadau yw bod gan yr ateb Nexus IQ y gyfradd gadarnhaol ffug isaf a'r cywirdeb uchaf.
Yn gyntaf oll, mae hyn oherwydd y ffaith bod tîm Sonatype wedi ehangu'r disgrifiad ar gyfer pob bregusrwydd CVE o NVD yn ei gronfeydd data, gan nodi gwendidau fersiwn benodol o'r cydrannau i lawr i'r dosbarth neu swyddogaeth, gan gynnal ymchwil ychwanegol (er enghraifft , gwirio gwendidau ar fersiynau meddalwedd hŷn).
Mae dylanwad pwysig ar y canlyniadau hefyd yn cael ei chwarae gan y gwendidau hynny na chawsant eu cynnwys yn NVD, ond sydd serch hynny yn bresennol yn y gronfa ddata Sonatype gyda'r marc SONATYPE. Yn ôl yr adroddiad
O ganlyniad, mae Dibyniaeth Check yn cynhyrchu llawer o sŵn, gan golli rhai cydrannau bregus. Mae Dibyniaeth Track yn cynhyrchu llai o sŵn ac yn canfod nifer fawr o gydrannau, nad yw'n brifo'r llygaid yn weledol yn y rhyngwyneb gwe.
Fodd bynnag, mae arfer yn dangos y dylai ffynhonnell agored ddod yn gamau cyntaf tuag at DevSecOps aeddfed. Y peth cyntaf y dylech feddwl amdano wrth integreiddio SCA i mewn i ddatblygiad yw prosesau, sef, meddwl ar y cyd ag adrannau rheoli ac adrannau cysylltiedig ynghylch sut dylai prosesau delfrydol edrych yn eich sefydliad. Mae'n bosibl y bydd eich sefydliad chi, ar y dechrau, yn Gwiriad Dibyniaeth neu Drac Dibyniaeth yn cwmpasu'r holl anghenion busnes, a bydd datrysiadau Menter yn barhad rhesymegol oherwydd cymhlethdod cynyddol y cymwysiadau sy'n cael eu datblygu.
Atodiad A: Canlyniadau Cydran
Symbolau:
- Gwendidau lefel uchel - uchel a chritigol yn y gydran
- Canolig — Gwendidau lefel critigol canolig yn y gydran
- CYWIR - Mater positif iawn
- GAU - Mater cadarnhaol ffug
Cydran
IQ Nexus
Gwiriad Dibyniaeth
Trac Dibyniaeth
Canlyniad
dom4j: 1.6.1
uchel
uchel
uchel
TRUE
log4j-craidd: 2.3
uchel
uchel
uchel
TRUE
log4j: 1.2.14
uchel
uchel
-
TRUE
casgliadau-comin: 3.1
uchel
uchel
uchel
TRUE
commons-llwytho ffeil: 1.3.2
uchel
uchel
uchel
TRUE
commons-beanutils: 1.7.0
uchel
uchel
uchel
TRUE
commons-codec: 1:10
Canolig
-
-
TRUE
mysql-connector-java: 5.1.42
uchel
uchel
uchel
TRUE
mynegiant y gwanwyn: 3.0.5
uchel
gydran heb ei chanfod
TRUE
gwanwyn-gwe: 3.0.5
uchel
gydran heb ei chanfod
uchel
TRUE
cyd-destun y gwanwyn: 3.0.5
Canolig
gydran heb ei chanfod
-
TRUE
gwanwyn-craidd: 3.0.5
Canolig
uchel
uchel
TRUE
struts2-config-browser-plugin: 2.3.30
Canolig
-
-
TRUE
gwanwyn-tx:3.0.5
-
uchel
-
Anghywir
llinynnau-craidd: 1.3.8
uchel
uchel
uchel
TRUE
xwork-craidd: 2.3.30
uchel
-
-
TRUE
struts2-craidd: 2.3.30
uchel
uchel
uchel
TRUE
struts-taglib: 1.3.8
-
uchel
-
Anghywir
struts-teils-1.3.8
-
uchel
-
Anghywir
Atodiad B: Canlyniadau Bregusrwydd
Symbolau:
- Gwendidau lefel uchel - uchel a chritigol yn y gydran
- Canolig — Gwendidau lefel critigol canolig yn y gydran
- CYWIR - Mater positif iawn
- GAU - Mater cadarnhaol ffug
Cydran
IQ Nexus
Gwiriad Dibyniaeth
Trac Dibyniaeth
Difrifoldeb
Canlyniad
Sylw
dom4j: 1.6.1
CVE-2018-1000632
CVE-2018-1000632
CVE-2018-1000632
uchel
TRUE
CVE-2020-10683
CVE-2020-10683
CVE-2020-10683
uchel
TRUE
log4j-craidd: 2.3
CVE-2017-5645
CVE-2017-5645
CVE-2017-5645
uchel
TRUE
CVE-2020-9488
CVE-2020-9488
CVE-2020-9488
isel
TRUE
log4j: 1.2.14
CVE-2019-17571
CVE-2019-17571
-
uchel
TRUE
-
CVE-2020-9488
-
isel
TRUE
SONATYPE-2010-0053
-
-
uchel
TRUE
casgliadau-comin: 3.1
-
CVE-2015-6420
CVE-2015-6420
uchel
Anghywir
Yn dyblygu RCE(OSSINDEX)
-
CVE-2017-15708
CVE-2017-15708
uchel
Anghywir
Yn dyblygu RCE(OSSINDEX)
SONATYPE-2015-0002
RCE (OSSINDEX)
RCE(OSSINDEX)
uchel
TRUE
commons-llwytho ffeil: 1.3.2
CVE-2016-1000031
CVE-2016-1000031
CVE-2016-1000031
uchel
TRUE
SONATYPE-2014-0173
-
-
Canolig
TRUE
commons-beanutils: 1.7.0
CVE-2014-0114
CVE-2014-0114
CVE-2014-0114
uchel
TRUE
-
CVE-2019-10086
CVE-2019-10086
uchel
Anghywir
Mae'r bregusrwydd yn berthnasol i fersiynau 1.9.2+ yn unig
commons-codec: 1:10
SONATYPE-2012-0050
-
-
Canolig
TRUE
mysql-connector-java: 5.1.42
CVE-2018-3258
CVE-2018-3258
CVE-2018-3258
uchel
TRUE
CVE-2019-2692
CVE-2019-2692
-
Canolig
TRUE
-
CVE-2020-2875
-
Canolig
Anghywir
Yr un bregusrwydd â CVE-2019-2692, ond gyda'r nodyn “gall ymosodiadau effeithio'n sylweddol ar gynhyrchion ychwanegol”
-
CVE-2017-15945
-
uchel
Anghywir
Ddim yn berthnasol i mysql-connector-java
-
CVE-2020-2933
-
isel
Anghywir
Dyblyg o CVE-2020-2934
CVE-2020-2934
CVE-2020-2934
-
Canolig
TRUE
mynegiant y gwanwyn: 3.0.5
CVE-2018-1270
gydran heb ei chanfod
-
uchel
TRUE
CVE-2018-1257
-
-
Canolig
TRUE
gwanwyn-gwe: 3.0.5
CVE-2016-1000027
gydran heb ei chanfod
-
uchel
TRUE
CVE-2014-0225
-
CVE-2014-0225
uchel
TRUE
CVE-2011-2730
-
-
uchel
TRUE
-
-
CVE-2013-4152
Canolig
TRUE
CVE-2018-1272
-
-
uchel
TRUE
CVE-2020-5398
-
-
uchel
TRUE
Enghraifft enghreifftiol o blaid IQ: “Darganfu tîm ymchwil diogelwch Sonatype fod y bregusrwydd hwn wedi’i gyflwyno yn fersiwn 3.0.2.RELEASE ac nid 5.0.x fel y nodwyd yn yr ymgynghoriad.”
CVE-2013-6429
-
-
Canolig
TRUE
CVE-2014-0054
-
CVE-2014-0054
Canolig
TRUE
CVE-2013-6430
-
-
Canolig
TRUE
cyd-destun y gwanwyn: 3.0.5
CVE-2011-2894
gydran heb ei chanfod
-
Canolig
TRUE
gwanwyn-craidd: 3.0.5
-
CVE-2011-2730
CVE-2011-2730
uchel
TRUE
CVE-2011-2894
CVE-2011-2894
CVE-2011-2894
Canolig
TRUE
-
-
CVE-2013-4152
Canolig
Anghywir
Dyblyg o'r un bregusrwydd yn y gwanwyn-web
-
CVE-2013-4152
-
Canolig
Anghywir
Mae'r bregusrwydd yn ymwneud â chydran gwe'r gwanwyn
-
CVE-2013-6429
CVE-2013-6429
Canolig
Anghywir
Mae'r bregusrwydd yn ymwneud â chydran gwe'r gwanwyn
-
CVE-2013-6430
-
Canolig
Anghywir
Mae'r bregusrwydd yn ymwneud â chydran gwe'r gwanwyn
-
CVE-2013-7315
CVE-2013-7315
Canolig
Anghywir
RHANNU o CVE-2013-4152. + Mae'r bregusrwydd yn ymwneud â chydran gwe'r gwanwyn
-
CVE-2014-0054
CVE-2014-0054
Canolig
Anghywir
Mae'r bregusrwydd yn ymwneud â chydran gwe'r gwanwyn
-
CVE-2014-0225
-
uchel
Anghywir
Mae'r bregusrwydd yn ymwneud â chydran gwe'r gwanwyn
-
-
CVE-2014-0225
uchel
Anghywir
Dyblyg o'r un bregusrwydd yn y gwanwyn-web
-
CVE-2014-1904
CVE-2014-1904
Canolig
Anghywir
Mae'r bregusrwydd yn ymwneud â chydran spring-web-mvc
-
CVE-2014-3625
CVE-2014-3625
Canolig
Anghywir
Mae'r bregusrwydd yn ymwneud â chydran spring-web-mvc
-
CVE-2016-9878
CVE-2016-9878
uchel
Anghywir
Mae'r bregusrwydd yn ymwneud â chydran spring-web-mvc
-
CVE-2018-1270
CVE-2018-1270
uchel
Anghywir
Ar gyfer negeseuon gwanwyn-mynegiant/gwanwyn
-
CVE-2018-1271
CVE-2018-1271
Canolig
Anghywir
Mae'r bregusrwydd yn ymwneud â chydran spring-web-mvc
-
CVE-2018-1272
CVE-2018-1272
uchel
TRUE
CVE-2014-3578
CVE-2014-3578 (OSSINDEX)
CVE-2014-3578
Canolig
TRUE
SONATYPE-2015-0327
-
-
isel
TRUE
struts2-config-browser-plugin: 2.3.30
SONATYPE-2016-0104
-
-
Canolig
TRUE
gwanwyn-tx:3.0.5
-
CVE-2011-2730
-
uchel
Anghywir
Nid yw'r bregusrwydd yn benodol i spring-tx
-
CVE-2011-2894
-
uchel
Anghywir
Nid yw'r bregusrwydd yn benodol i spring-tx
-
CVE-2013-4152
-
Canolig
Anghywir
Nid yw'r bregusrwydd yn benodol i spring-tx
-
CVE-2013-6429
-
Canolig
Anghywir
Nid yw'r bregusrwydd yn benodol i spring-tx
-
CVE-2013-6430
-
Canolig
Anghywir
Nid yw'r bregusrwydd yn benodol i spring-tx
-
CVE-2013-7315
-
Canolig
Anghywir
Nid yw'r bregusrwydd yn benodol i spring-tx
-
CVE-2014-0054
-
Canolig
Anghywir
Nid yw'r bregusrwydd yn benodol i spring-tx
-
CVE-2014-0225
-
uchel
Anghywir
Nid yw'r bregusrwydd yn benodol i spring-tx
-
CVE-2014-1904
-
Canolig
Anghywir
Nid yw'r bregusrwydd yn benodol i spring-tx
-
CVE-2014-3625
-
Canolig
Anghywir
Nid yw'r bregusrwydd yn benodol i spring-tx
-
CVE-2016-9878
-
uchel
Anghywir
Nid yw'r bregusrwydd yn benodol i spring-tx
-
CVE-2018-1270
-
uchel
Anghywir
Nid yw'r bregusrwydd yn benodol i spring-tx
-
CVE-2018-1271
-
Canolig
Anghywir
Nid yw'r bregusrwydd yn benodol i spring-tx
-
CVE-2018-1272
-
Canolig
Anghywir
Nid yw'r bregusrwydd yn benodol i spring-tx
llinynnau-craidd: 1.3.8
-
CVE-2011-5057 (OSSINDEX)
Canolig
FASLE
Bod yn agored i Struts 2
-
CVE-2012-0391 (OSSINDEX)
CVE-2012-0391
uchel
Anghywir
Bod yn agored i Struts 2
-
CVE-2014-0094 (OSSINDEX)
CVE-2014-0094
Canolig
Anghywir
Bod yn agored i Struts 2
-
CVE-2014-0113 (OSSINDEX)
CVE-2014-0113
uchel
Anghywir
Bod yn agored i Struts 2
CVE-2016-1182
3VE-2016-1182
-
uchel
TRUE
-
-
CVE-2011-5057
Canolig
Anghywir
Bod yn agored i Struts 2
-
CVE-2012-0392 (OSSINDEX)
CVE-2012-0392
uchel
Anghywir
Bod yn agored i Struts 2
-
CVE-2012-0393 (OSSINDEX)
CVE-2012-0393
Canolig
Anghywir
Bod yn agored i Struts 2
CVE-2015-0899
CVE-2015-0899
-
uchel
TRUE
-
CVE-2012-0394
CVE-2012-0394
Canolig
Anghywir
Bod yn agored i Struts 2
-
CVE-2012-0838 (OSSINDEX)
CVE-2012-0838
uchel
Anghywir
Bod yn agored i Struts 2
-
CVE-2013-1965 (OSSINDEX)
CVE-2013-1965
uchel
Anghywir
Bod yn agored i Struts 2
-
CVE-2013-1966 (OSSINDEX)
CVE-2013-1966
uchel
FASLE
Bod yn agored i Struts 2
-
CVE-2013-2115
CVE-2013-2115
uchel
FASLE
Bod yn agored i Struts 2
-
CVE-2013-2134 (OSSINDEX)
CVE-2013-2134
uchel
FASLE
Bod yn agored i Struts 2
-
CVE-2013-2135 (OSSINDEX)
CVE-2013-2135
uchel
FASLE
Bod yn agored i Struts 2
CVE-2014-0114
CVE-2014-0114
-
uchel
TRUE
-
CVE-2015-2992
CVE-2015-2992
Canolig
Anghywir
Bod yn agored i Struts 2
-
CVE-2016-0785 (OSSINDEX)
CVE-2016-0785
uchel
Anghywir
Bod yn agored i Struts 2
CVE-2016-1181
CVE-2016-1181
-
uchel
TRUE
-
CVE-2016-4003 (OSSINDEX)
CVE-2016-4003
uchel
Anghywir
Bod yn agored i Struts 2
xwork-core: 2.3.30
CVE-2017-9804
-
-
uchel
TRUE
SONATYPE-2017-0173
-
-
uchel
TRUE
CVE-2017-7672
-
-
uchel
Anghywir
Dyblyg o CVE-2017-9804
SONATYPE-2016-0127
-
-
uchel
TRUE
struts2-craidd:2.3.30
-
CVE-2016-6795
CVE-2016-6795
uchel
TRUE
-
CVE-2017-9787
CVE-2017-9787
uchel
TRUE
-
CVE-2017-9791
CVE-2017-9791
uchel
TRUE
-
CVE-2017-9793
-
uchel
Anghywir
Dyblyg o CVE-2018-1327
-
CVE-2017-9804
-
uchel
TRUE
-
CVE-2017-9805
CVE-2017-9805
uchel
TRUE
CVE-2016-4003
-
-
Canolig
Anghywir
Yn berthnasol i Apache Struts 2.x hyd at 2.3.28, sef fersiwn 2.3.30. Fodd bynnag, yn seiliedig ar y disgrifiad, mae'r CVE yn ddilys ar gyfer unrhyw fersiwn o Struts 2 os defnyddir JRE 1.7 neu lai. Mae'n debyg eu bod wedi penderfynu ail-yswirio ni yma, ond mae'n edrych yn debycach i ANGHYWIR
-
CVE-2018-1327
CVE-2018-1327
uchel
TRUE
CVE-2017-5638
CVE-2017-5638
CVE-2017-5638
uchel
TRUE
Yr un bregusrwydd ag y gwnaeth hacwyr Equifax ei ecsbloetio yn 2017
CVE-2017-12611
CVE-2017-12611
-
uchel
TRUE
CVE-2018-11776
CVE-2018-11776
CVE-2018-11776
uchel
TRUE
struts-taglib: 1.3.8
-
CVE-2012-0394
-
Canolig
Anghywir
Ar gyfer struts2-core
-
CVE-2013-2115
-
uchel
Anghywir
Ar gyfer struts2-core
-
CVE-2014-0114
-
uchel
Anghywir
Ar gyfer commons-beanutils
-
CVE-2015-0899
-
uchel
Anghywir
Nid yw'n berthnasol i taglib
-
CVE-2015-2992
-
Canolig
Anghywir
Yn cyfeirio at struts2-core
-
CVE-2016-1181
-
uchel
Anghywir
Nid yw'n berthnasol i taglib
-
CVE-2016-1182
-
uchel
Anghywir
Nid yw'n berthnasol i taglib
struts-teils-1.3.8
-
CVE-2012-0394
-
Canolig
Anghywir
Ar gyfer struts2-core
-
CVE-2013-2115
-
uchel
Anghywir
Ar gyfer struts2-core
-
CVE-2014-0114
-
uchel
Anghywir
O dan commons-beanutils
-
CVE-2015-0899
-
uchel
Anghywir
Nid yw'n berthnasol i deils
-
CVE-2015-2992
-
Canolig
Anghywir
Ar gyfer struts2-core
-
CVE-2016-1181
-
uchel
Anghywir
Nid yw'n berthnasol i taglib
-
CVE-2016-1182
-
uchel
Anghywir
Nid yw'n berthnasol i taglib
Ffynhonnell: hab.com