Umuhimu wa uchanganuzi wa vipengee vya programu za wahusika wengine (Uchambuzi wa Muundo wa Programu - SCA) katika mchakato wa uundaji unakua kutokana na kutolewa kwa ripoti za kila mwaka kuhusu udhaifu wa maktaba huria, ambazo huchapishwa na Synopsys, Sonatype, Snyk na White Source. . Kulingana na ripoti hiyo
Moja ya kesi zinazoonyeshwa zaidi
Makala hii itajadili suala la kuchagua chombo cha kufanya SCA kutoka kwa mtazamo wa ubora wa matokeo ya uchambuzi. Ulinganisho wa kazi wa zana pia utatolewa. Mchakato wa kuunganishwa katika CI/CD na uwezo wa ujumuishaji utaachwa kwa machapisho yanayofuata. Zana mbalimbali ziliwasilishwa na OWASP
Kanuni ya uendeshaji
Wacha tuangalie jinsi CPE inavyoonekana:
cpe:2.3:part:vendor:product:version:update:edition:language:sw_edition:target_sw:target_hw:other
- sehemu ya: Dalili kwamba kijenzi kinahusiana na programu (a), mfumo wa uendeshaji (o), maunzi (h) (Inahitajika)
- Muuzaji: Jina la Mtengenezaji wa Bidhaa (Linahitajika)
- bidhaa: Jina la Bidhaa (Inahitajika)
- Version: Toleo la kipengele (Kipengee kilichopitwa na wakati)
- Update: Sasisho la kifurushi
- Edition: Toleo la urithi (Kipengee kilichoacha kutumika)
- Lugha: Lugha imefafanuliwa katika RFC-5646
- Toleo la SW: Toleo la programu
- SW inayolengwa: Mazingira ya programu ambayo bidhaa hufanya kazi
- Lengo HW: Mazingira ya vifaa ambayo bidhaa hufanya kazi
- Nyingine: Taarifa ya Msambazaji au Bidhaa
Mfano CPE inaonekana kama hii:
cpe:2.3:a:pivotal_software:spring_framework:3.0.0:*:*:*:*:*:*:*
Mstari unamaanisha kuwa toleo la CPE la 2.3 linaelezea sehemu ya programu kutoka kwa mtengenezaji pivotal_software
na jina spring_framework
toleo la 3.0.0. Ikiwa tutafungua mazingira magumu
URL pia inatumiwa na zana za SCA. Umbizo la URL ya kifurushi ni kama ifuatavyo:
scheme:type/namespace/name@version?qualifiers#subpath
- Mpango: Siku zote kutakuwa na 'pkg' inayoonyesha kuwa hii ni URL ya kifurushi (Inahitajika)
- Aina: "Aina" ya kifurushi au "itifaki" ya kifurushi, kama vile maven, npm, nuget, gem, pypi, n.k. (Kipengee kinachohitajika)
- Nafasi ya Majina: Baadhi ya kiambishi awali cha jina, kama vile Kitambulisho cha kikundi cha Maven, mmiliki wa picha ya Docker, mtumiaji wa GitHub, au shirika. Hiari na inategemea aina.
- jina: Jina la kifurushi (Inahitajika)
- Version: Toleo la kifurushi
- QUALIFIERS: Data ya ziada ya kufuzu kwa kifurushi, kama vile OS, usanifu, usambazaji, n.k. Hiari na aina mahususi.
- Njia ndogo: Njia ya ziada kwenye kifurushi inayohusiana na mzizi wa kifurushi
Kwa mfano:
pkg:golang/google.golang.org/genproto#googleapis/api/annotations
pkg:maven/org.apache.commons/[email protected]
pkg:pypi/[email protected]
Mfano wa jinsi BOM inaweza kuonekana katika umbizo la 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 inaweza kutumika sio tu kama vigezo vya kuingiza kwa Ufuatiliaji wa Utegemezi, lakini pia kwa kuorodhesha vipengee vya programu katika msururu wa usambazaji, kwa mfano, kutoa programu kwa mteja. Mnamo 2014, sheria ilipendekezwa hata huko Merika
Tukirejea kwa SCA, Wimbo wa Utegemezi una miunganisho iliyotengenezwa tayari na Mifumo ya Arifa kama vile Slack, mifumo ya udhibiti wa athari kama vile Kenna Security. Inafaa pia kusema kuwa Wimbo wa Utegemezi, kati ya mambo mengine, hutambua matoleo ya zamani ya vifurushi na hutoa habari kuhusu leseni (kutokana na usaidizi wa SPDX).
Ikiwa tunazungumza mahsusi juu ya ubora wa SCA, basi kuna tofauti ya kimsingi.
Wimbo wa Utegemezi haukubali mradi kama ingizo, bali BOM. Hii ina maana kwamba ikiwa tunataka kujaribu mradi, tunahitaji kwanza kuzalisha bom.xml, kwa mfano kutumia CycloneDX. Kwa hivyo, Ufuatiliaji wa Utegemezi unategemea moja kwa moja kwenye CycloneDX. Wakati huo huo, inaruhusu ubinafsishaji. Hivi ndivyo timu ya OZON iliandika
Wacha tufanye muhtasari wa huduma zingine, na pia tuzingatie lugha zinazotumika kwa uchambuzi:
Lugha
Nexus IQ
Ukaguzi wa Utegemezi
Wimbo wa Kutegemea
Java
+
+
+
C / C ++
+
+
-
C#
+
+
-
Net
+
+
+
erlang
-
-
+
JavaScript (NodeJS)
+
+
+
PHP
+
+
+
Chatu
+
+
+
Ruby
+
+
+
Perl
-
-
-
Scala
+
+
+
Lengo C
+
+
-
Swift
+
+
-
R
+
-
-
Go
+
+
+
Kazi
Kazi
Nexus IQ
Ukaguzi wa Utegemezi
Wimbo wa Kutegemea
Uwezo wa kuhakikisha kuwa vipengee vinavyotumiwa katika msimbo wa chanzo vinaangaliwa kwa usafi ulioidhinishwa
+
-
+
Uwezo wa kuchanganua na kuchambua udhaifu na usafi wa leseni kwa picha za Docker
+ Kuunganishwa na Clair
-
-
Uwezo wa kusanidi sera za usalama ili kutumia maktaba huria
+
-
-
Uwezo wa kuchanganua hazina za vyanzo huria kwa vipengele vilivyo hatarini
+ RubyGems, Maven, NPM, Nuget, Pypi, Conan, Bower, Conda, Go, p2, R, Yum, Helm, Docker, CocoaPods, Git LFS
-
+ Hex, RubyGems, Maven, NPM, Nuget, Pypi
Upatikanaji wa kikundi maalum cha utafiti
+
-
-
Uendeshaji wa kitanzi kilichofungwa
+
+
+
Kwa kutumia hifadhidata za watu wengine
+ Hifadhidata ya Sonatype iliyofungwa
+ Sonatype OSS, Washauri wa Umma wa NPM
+ Sonatype OSS, Washauri wa Umma wa NPM, RetireJS, VulnDB, msaada kwa hifadhidata yake ya hatari
Uwezo wa kuchuja vipengele vya chanzo huria unapojaribu kupakia kwenye kitanzi cha usanidi kulingana na sera zilizosanidiwa
+
-
-
Mapendekezo ya kurekebisha udhaifu, upatikanaji wa viungo vya kurekebisha
+
+- (inategemea maelezo katika hifadhidata za umma)
+- (inategemea maelezo katika hifadhidata za umma)
Uorodheshaji wa udhaifu uliotambuliwa kwa ukali
+
+
+
Mfano wa ufikiaji wa msingi wa jukumu
+
-
+
Msaada wa CLI
+
+
+- (kwa CycloneDX pekee)
Sampuli/upangaji wa udhaifu kulingana na vigezo vilivyobainishwa
+
-
+
Dashibodi kulingana na hali ya programu
+
-
+
Inazalisha ripoti katika umbizo la PDF
+
-
-
Inazalisha ripoti katika umbizo la JSONCSV
+
+
-
Msaada wa lugha ya Kirusi
-
-
-
Uwezo wa ujumuishaji
Kuunganisha
Nexus IQ
Ukaguzi wa Utegemezi
Wimbo wa Kutegemea
Muunganisho wa LDAP/Active Directory
+
-
+
Kuunganishwa na mfumo wa ushirikiano unaoendelea wa mianzi
+
-
-
Ujumuishaji na mfumo wa ujumuishaji unaoendelea TeamCity
+
-
-
Ujumuishaji na mfumo wa ujumuishaji unaoendelea wa GitLab
+
+- (kama programu-jalizi ya GitLab)
+
Ujumuishaji na mfumo wa ujumuishaji unaoendelea Jenkins
+
+
+
Upatikanaji wa programu-jalizi za IDE
+ IntelliJ, Eclipse, Visual Studio
-
-
Usaidizi wa ujumuishaji maalum kupitia huduma za wavuti (API) za zana
+
-
+
Ukaguzi wa Utegemezi
Anza kwanza
Wacha tuendeshe Ukaguzi wa Kutegemea kwenye programu ambayo inaweza kuathiriwa kimakusudi
Kwa hili tutatumia
mvn org.owasp:dependency-check-maven:check
Kwa hivyo, dependency-check-report.html itaonekana kwenye saraka lengwa.
Hebu tufungue faili. Baada ya maelezo ya muhtasari kuhusu jumla ya idadi ya athari, tunaweza kuona maelezo kuhusu udhaifu na kiwango cha juu cha Ukali na Kujiamini, inayoonyesha kifurushi, CPE, na idadi ya CVE.
Inayofuata inakuja habari ya kina zaidi, haswa msingi ambao uamuzi ulifanywa (ushahidi), ambayo ni, BOM fulani.
Inayofuata inakuja maelezo ya CPE, PURL na CVE. Kwa njia, mapendekezo ya marekebisho hayajajumuishwa kwa sababu ya kutokuwepo kwao kwenye hifadhidata ya NVD.
Ili kutazama matokeo ya skanisho kwa utaratibu, unaweza kusanidi Nginx kwa mipangilio midogo, au kutuma kasoro zinazotokana na mfumo wa udhibiti wa kasoro unaoauni viunganishi kwenye Ukaguzi wa Kutegemea. Kwa mfano, Defect Dojo.
Wimbo wa Kutegemea
Ufungaji
Ufuatiliaji wa Utegemezi, kwa upande wake, ni jukwaa la msingi la wavuti na grafu za kuonyesha, kwa hivyo suala kubwa la kuhifadhi kasoro katika suluhisho la mtu wa tatu halitokei hapa.
Hati zinazotumika kwa usakinishaji ni: Docker, WAR, WAR Inayoweza Kutekelezwa.
Anza kwanza
Tunaenda kwenye URL ya huduma inayoendesha. Tunaingia kupitia admin/admin, kubadilisha kuingia na nenosiri, na kisha kupata Dashibodi. Jambo linalofuata tutafanya ni kuunda mradi wa programu ya majaribio katika Java in Nyumbani/Miradi β Unda Mradi . Wacha tuchukue DVJA kama mfano.
Kwa kuwa Wimbo wa Kutegemea unaweza tu kukubali BOM kama ingizo, BOM hii lazima irejeshwe. Hebu kuchukua faida
mvn org.cyclonedx:cyclonedx-maven-plugin:makeAggregateBom
Tunapata bom.xml na kupakia faili katika mradi ulioundwa DVJA β Vitegemezi β Pakia BOM.
Hebu tuende kwa Utawala β Wachambuzi. Tunaelewa kuwa tumewezesha Kichanganuzi cha Ndani pekee, ambacho kinajumuisha NVD. Hebu tuunganishe Sonatype OSS Index.
Kwa hivyo, tunapata picha ifuatayo kwa mradi wetu:
Pia katika orodha unaweza kupata athari moja inayotumika kwa Sonatype OSS:
Tamaa kuu ilikuwa kwamba Wimbo wa Utegemezi haukubali tena ripoti za xml za Ukaguzi wa Utegemezi. Matoleo ya hivi punde yanayotumika ya muunganisho wa Ukaguzi wa Kutegemea yalikuwa 1.0.0 - 4.0.2, huku nilifanya majaribio 5.3.2.
Hapa
Nexus IQ
Anza kwanza
Usakinishaji wa Nexus IQ hutoka kwenye kumbukumbu za
Baada ya kuingia kwenye console, unahitaji kuunda Shirika na Maombi.
Kama unavyoona, usanidi katika kesi ya IQ ni ngumu zaidi, kwa sababu tunahitaji pia kuunda sera zinazotumika kwa "hatua" tofauti (dev, build, stage, release). Hii ni muhimu ili kuzuia vipengee vilivyo hatarini vinaposogea kwenye bomba karibu na uzalishaji, au kuvizuia mara tu vinapoingia kwenye Nexus Repo vinapopakuliwa na wasanidi programu.
Ili kuhisi tofauti kati ya chanzo huria na biashara, hebu tufanye uchanganuzi sawa kupitia Nexus IQ kwa njia sawa kupitia 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>
Fuata URL kwa ripoti iliyotolewa katika kiolesura cha wavuti cha IQ:
Hapa unaweza kuona ukiukaji wote wa sera unaoonyesha viwango tofauti vya umuhimu (kutoka Maelezo hadi Muhimu wa Usalama). Herufi D karibu na kipengele ina maana kwamba sehemu ni Utegemezi wa Moja kwa moja, na barua T karibu na kipengele ina maana kwamba sehemu ni Transitive Dependency, yaani, ni ya mpito.
Kwa njia, ripoti
Tukifungua mojawapo ya ukiukaji wa sera ya Nexus IQ, tunaweza kuona maelezo ya kijenzi, pamoja na Grafu ya Toleo, ambayo inaonyesha eneo la toleo la sasa katika jedwali la saa, na vile vile ni katika hatua gani athari itakoma. kuwa katika mazingira magumu. Urefu wa mishumaa kwenye grafu unaonyesha umaarufu wa kutumia sehemu hii.
Ukienda kwenye sehemu ya udhaifu na kupanua CVE, unaweza kusoma maelezo ya udhaifu huu, mapendekezo ya kuondolewa, na pia sababu kwa nini kipengele hiki kilikiukwa, yaani, uwepo wa darasa. DiskFileitem.class
.
Wacha tufanye muhtasari wa zile tu zinazohusiana na vifaa vya Java vya mtu wa tatu, tukiondoa vipengee vya js. Katika mabano tunaonyesha idadi ya athari ambazo zilipatikana nje ya NVD.
Jumla ya Nexus IQ:
- Vitegemezi vilivyochanganuliwa: 62
- Mategemeo yanayoweza kuathiriwa: 16
- Athari Zinazopatikana: 42 (8 sonatype db)
Jumla ya Ukaguzi wa Utegemezi:
- Vitegemezi vilivyochanganuliwa: 47
- Mategemeo yanayoweza kuathiriwa: 13
- Athari Imepatikana: 91 (14 sonatype oss)
Wimbo wa Utegemezi wa Jumla:
- Vitegemezi vilivyochanganuliwa: 59
- Mategemeo yanayoweza kuathiriwa: 10
- Athari Imepatikana: 51 (1 sonatype oss)
Katika hatua zinazofuata, tutachambua matokeo yaliyopatikana na kutambua ni ipi kati ya udhaifu huu ni kasoro halisi na ambayo ni chanya ya uwongo.
Kanusho
Uhakiki huu sio ukweli usiopingika. Mwandishi hakuwa na lengo la kuangazia chombo tofauti dhidi ya usuli wa wengine. Hoja ya mapitio ilikuwa kuonyesha mifumo ya uendeshaji wa zana za SCA na njia za kuangalia matokeo yao.
Ulinganisho wa matokeo
Masharti na hali ya:
Chanya ya uwongo kwa udhaifu wa sehemu ya wahusika wengine ni:
- CVE hailingani na kijenzi kilichotambuliwa
- Kwa mfano, ikiwa athari inatambuliwa katika mfumo wa struts2, na zana inaelekeza kwenye sehemu ya mfumo wa vigae vya struts, ambayo athari hii haitumiki, basi hii ni chanya isiyo ya kweli.
- CVE hailingani na toleo lililotambuliwa la kijenzi
- Kwa mfano, athari inahusishwa na toleo la chatu > 3.5 na zana inaashiria toleo la 2.7 kama hatarishi - hii ni chanya ya uwongo, kwani kwa kweli athari inatumika tu kwa tawi la bidhaa la 3.x.
- Nakala ya CVE
- Kwa mfano, ikiwa SCA itabainisha CVE inayowezesha RCE, basi SCA itabainisha CVE ya sehemu hiyo hiyo ambayo inatumika kwa bidhaa za Cisco zilizoathiriwa na RCE hiyo. Katika kesi hii, itakuwa chanya ya uwongo.
- Kwa mfano, CVE ilipatikana katika kipengele cha spring-wavuti, baada ya hapo SCA inaelekeza kwa CVE sawa katika vipengele vingine vya Mfumo wa Spring, wakati CVE haina uhusiano wowote na vipengele vingine. Katika kesi hii, itakuwa chanya ya uwongo.
Lengo la utafiti lilikuwa mradi wa Open Source DVJA. Utafiti ulihusisha vipengele vya java pekee (bila js).
Matokeo ya muhtasari
Hebu tuende moja kwa moja kwenye matokeo ya ukaguzi wa mwongozo wa udhaifu uliotambuliwa. Ripoti kamili ya kila CVE inaweza kupatikana katika Kiambatisho.
Matokeo ya muhtasari wa udhaifu wote:
Parameter
Nexus IQ
Ukaguzi wa Utegemezi
Wimbo wa Kutegemea
Jumla ya udhaifu uliotambuliwa
42
91
51
Udhaifu uliotambuliwa kwa njia isiyo sahihi (chanya ya uwongo)
2 (4.76%)
62 (68,13%)
29 (56.86%)
Hakuna udhaifu husika uliopatikana (hasi ya uwongo)
10
20
27
Matokeo ya muhtasari kwa kipengele:
Parameter
Nexus IQ
Ukaguzi wa Utegemezi
Wimbo wa Kutegemea
Jumla ya vipengele vilivyotambuliwa
62
47
59
Jumla ya vipengele vilivyo katika mazingira magumu
16
13
10
Vijenzi vilivyo hatarini vilivyotambuliwa vibaya (chanya ya uwongo)
1
5
0
Vijenzi vilivyo hatarini vilivyotambuliwa vibaya (chanya ya uwongo)
0
6
6
Hebu tutengeneze grafu zinazoonekana ili kutathmini uwiano wa chanya zisizo za kweli na hasi za uwongo kwa jumla ya idadi ya udhaifu. Vipengele vinawekwa alama kwa usawa, na udhaifu unaotambuliwa ndani yao huwekwa alama kwa wima.
Kwa kulinganisha, utafiti sawa na huo ulifanywa na timu ya Sonatype kupima mradi wa vipengele 1531 kwa kutumia OWASP Dependency Check. Kama tunavyoona, uwiano wa kelele na majibu sahihi unalinganishwa na matokeo yetu.
Chanzo:
Hebu tuangalie baadhi ya CVEs kutoka kwa matokeo yetu ya kuchanganua ili kuelewa sababu ya matokeo haya.
zaidi
β 1
Hebu kwanza tuangalie baadhi ya mambo ya kuvutia kuhusu Sonatype Nexus IQ.
Nexus IQ inaangazia suala la kuondoa upotezaji wa nyenzo na uwezo wa kutekeleza RCE katika Mfumo wa Spring mara nyingi. CVE-2016-1000027 katika spring-web:3.0.5 mara ya kwanza, na CVE-2011-2894 katika spring-context:3.0.5 na spring-core:3.0.5. Mara ya kwanza, inaonekana kuwa kuna kurudiwa kwa athari kwenye CVE nyingi. Kwa sababu, ukiangalia CVE-2016-1000027 na CVE-2011-2894 kwenye hifadhidata ya NVD, inaonekana kwamba kila kitu ni dhahiri.
Kipengele
Uwezo wa kuathiriwa
spring-mtandao:3.0.5
CVE-2016-1000027
spring-muktadha:3.0.5
CVE-2011-2894
spring-msingi:3.0.5
CVE-2011-2894
Description
Description
CVE-2011-2894 yenyewe ni maarufu kabisa. Katika ripoti hiyo RemoteInvocationSerializingExporter
katika CVE-2011-2894, uwezekano wa kuathirika unazingatiwa HttpInvokerServiceExporter
. Hivi ndivyo Nexus IQ inatuambia:
Walakini, hakuna kitu kama hiki katika NVD, ndiyo sababu Ukaguzi wa Utegemezi na Ufuatiliaji wa Utegemezi kila moja hupokea hasi ya uwongo.
Pia kutoka kwa maelezo ya CVE-2011-2894 inaweza kueleweka kuwa uwezekano wa kuathiriwa upo katika muktadha wa majira ya kuchipua:3.0.5 na msingi wa spring:3.0.5. Uthibitisho wa hili unaweza kupatikana katika makala kutoka kwa mtu aliyepata athari hii.
β 2
Kipengele
Uwezo wa kuathiriwa
Matokeo
struts2-msingi:2.3.30
CVE-2016-4003
UONGO
Tukichunguza uwezekano wa kuathirika CVE-2016-4003, tutaelewa kuwa ilirekebishwa katika toleo la 2.3.28, hata hivyo, Nexus IQ inaturipoti. Kuna dokezo katika maelezo ya athari:
Hiyo ni, mazingira magumu yapo tu kwa kushirikiana na toleo la zamani la JRE, ambalo waliamua kutuonya kulihusu. Walakini, tunazingatia hii chanya ya Uongo, ingawa sio mbaya zaidi.
Nambari ya 3
Kipengele
Uwezo wa kuathiriwa
Matokeo
xwork-core:2.3.30
CVE-2017-9804
KWELI
xwork-core:2.3.30
CVE-2017-7672
UONGO
Tukiangalia maelezo ya CVE-2017-9804 na CVE-2017-7672, tutaelewa kuwa tatizo ni URLValidator class
, yenye CVE-2017-9804 inayotokana na CVE-2017-7672. Uwepo wa mazingira magumu ya pili haubebi mzigo wowote muhimu isipokuwa ukweli kwamba ukali wake umeongezeka hadi Juu, kwa hivyo tunaweza kuzingatia kuwa ni kelele isiyo ya lazima.
Kwa ujumla, hakuna chanya zingine za uwongo zilizopatikana kwa Nexus IQ.
β 4
Kuna mambo kadhaa ambayo hufanya IQ ionekane kutoka kwa suluhisho zingine.
Kipengele
Uwezo wa kuathiriwa
Matokeo
spring-mtandao:3.0.5
CVE-2020-5398
KWELI
CVE katika NVD inasema kwamba inatumika tu kwa matoleo 5.2.x kabla ya 5.2.3, 5.1.x kabla ya 5.1.13, na matoleo 5.0.x kabla ya 5.0.16, hata hivyo, tukiangalia maelezo ya CVE katika Nexus IQ. , basi tutaona yafuatayo:
Notisi ya Kupotoka kwa Ushauri: Timu ya utafiti wa usalama ya Sonatype iligundua kuwa athari hii ilianzishwa katika toleo la 3.0.2.RELEASE na si 5.0.x kama ilivyoelezwa katika ushauri.
Hii inafuatwa na PoC ya athari hii, ambayo inasema kuwa iko katika toleo la 3.0.5.
Hasi ya uwongo inatumwa kwa Ukaguzi wa Utegemezi na Wimbo wa Utegemezi.
β 5
Hebu tuangalie chanya zisizo za kweli kwa Ukaguzi wa Utegemezi na Wimbo wa Utegemezi.
Ukaguzi wa Utegemezi unajitokeza kwa kuwa unaonyesha zile CVE zinazotumika kwa mfumo mzima katika NVD kwa vipengele ambavyo CVE hizi hazitumiki. Hii inahusu CVE-2012-0394, CVE-2013-2115, CVE-2014-0114, CVE-2015-0899, CVE-2015-2992, CVE-2016-1181, CVE-2016-1182, ambayo inategemea Hundi. β kwa struts-taglib:1.3.8 na vigae vya struts-1.3.8. Vipengele hivi havihusiani na kile kilichoelezewa katika CVE - usindikaji wa ombi, uthibitisho wa ukurasa, na kadhalika. Hii ni kutokana na ukweli kwamba kile ambacho CVE na vijenzi hivi vinafanana ni mfumo tu, ndiyo maana Ukaguzi wa Utegemezi uliiona kuwa hatari.
Hali sawa ni kwa spring-tx:3.0.5, na hali sawa na struts-core:1.3.8. Kwa struts-core, Ukaguzi wa Utegemezi na Wimbo wa Utegemezi umepata udhaifu mwingi ambao unatumika kwa struts2-core, ambayo kimsingi ni mfumo tofauti. Katika kesi hii, Nexus IQ ilielewa picha kwa usahihi na katika CVEs ilizotoa, ilionyesha kuwa struts-core imefikia mwisho wa maisha na ilikuwa muhimu kuhamia struts2-core.
β 6
Katika baadhi ya hali, si haki kutafsiri hitilafu dhahiri ya Kukagua Utegemezi na Kufuatilia Utegemezi. Hasa CVE-2013-4152, CVE-2013-6429, CVE-2013-6430, CVE-2013-7315, CVE-2014-0054, CVE-2014-0225, CVE-2014-0225, Dependency Check na Dependency Check inayohusishwa na spring-core:3.0.5 ni mali ya spring-web:3.0.5. Wakati huo huo, baadhi ya CVE hizi pia zilipatikana na Nexus IQ, hata hivyo, IQ ilizitambulisha kwa sehemu nyingine. Kwa sababu udhaifu huu haukupatikana katika msingi wa chemchemi, haiwezi kubishaniwa kuwa hauko kwenye mfumo kimsingi na zana za chanzo huria zilionyesha udhaifu huu (walikosa kidogo).
Matokeo
Kama tunavyoweza kuona, kubainisha kutegemewa kwa udhaifu uliotambuliwa kwa ukaguzi wa mwongozo hautoi matokeo yasiyo na utata, ndiyo maana masuala yenye utata hutokea. Matokeo ni kwamba suluhisho la Nexus IQ lina kiwango cha chini cha chanya cha uwongo na usahihi wa juu zaidi.
Kwanza kabisa, hii ni kutokana na ukweli kwamba timu ya Sonatype ilipanua maelezo kwa kila hatari ya CVE kutoka NVD katika hifadhidata zake, ikionyesha udhaifu wa toleo fulani la vipengele hadi darasani au kazi, ikifanya utafiti wa ziada (kwa mfano. , kuangalia udhaifu kwenye matoleo ya zamani ya programu).
Athari muhimu kwenye matokeo pia inaonyeshwa na udhaifu huo ambao haukujumuishwa katika NVD, lakini hata hivyo upo kwenye hifadhidata ya Sonatype yenye alama ya SONATYPE. Kulingana na ripoti hiyo
Kwa hivyo, Ukaguzi wa Utegemezi hutoa kelele nyingi, na kukosa baadhi ya vipengele vilivyo hatarini. Ufuatiliaji wa Kutegemea hutoa kelele kidogo na hutambua idadi kubwa ya vipengele, ambayo haidhuru macho kwenye kiolesura cha wavuti.
Walakini, mazoezi yanaonyesha kuwa chanzo huria kinapaswa kuwa hatua za kwanza kuelekea DevSecOps iliyokomaa. Jambo la kwanza unapaswa kufikiria unapojumuisha SCA katika maendeleo ni michakato, yaani, kufikiria pamoja na usimamizi na idara zinazohusiana kuhusu michakato bora inapaswa kuonekana katika shirika lako. Inaweza kugeuka kuwa kwa shirika lako, mwanzoni, Ukaguzi wa Utegemezi au Wimbo wa Utegemezi utashughulikia mahitaji yote ya biashara, na suluhu za Enterprise zitakuwa mwendelezo wa kimantiki kwa sababu ya kuongezeka kwa utata wa programu zinazotengenezwa.
Kiambatisho A: Matokeo ya Vipengele
Alama:
- Udhaifu wa kiwango cha juu na muhimu katika kipengele
- Wastani - Udhaifu wa kiwango cha uhakiki wa kati katika kipengele
- KWELI - Suala chanya la kweli
- UONGO - Suala chanya cha uwongo
Kipengele
Nexus IQ
Ukaguzi wa Utegemezi
Wimbo wa Kutegemea
Matokeo
dom4j: 1.6.1
High
High
High
KWELI
log4j-msingi: 2.3
High
High
High
KWELI
log4j: 1.2.14
High
High
-
KWELI
commons-makusanyo:3.1
High
High
High
KWELI
upakiaji-faili wa commons:1.3.2
High
High
High
KWELI
commons-beanutils:1.7.0
High
High
High
KWELI
commons-codec:1:10
Kati
-
-
KWELI
mysql-kontakt-java:5.1.42
High
High
High
KWELI
spring-maneno:3.0.5
High
sehemu haijapatikana
KWELI
spring-mtandao:3.0.5
High
sehemu haijapatikana
High
KWELI
spring-muktadha:3.0.5
Kati
sehemu haijapatikana
-
KWELI
spring-msingi:3.0.5
Kati
High
High
KWELI
struts2-config-browser-plugin:2.3.30
Kati
-
-
KWELI
spring-tx:3.0.5
-
High
-
UONGO
struts-core:1.3.8
High
High
High
KWELI
xwork-core: 2.3.30
High
-
-
KWELI
struts2-msingi: 2.3.30
High
High
High
KWELI
struts-taglib:1.3.8
-
High
-
UONGO
struts-tiles-1.3.8
-
High
-
UONGO
Kiambatisho B: Matokeo ya Athari
Alama:
- Udhaifu wa kiwango cha juu na muhimu katika kipengele
- Wastani - Udhaifu wa kiwango cha uhakiki wa kati katika kipengele
- KWELI - Suala chanya la kweli
- UONGO - Suala chanya cha uwongo
Kipengele
Nexus IQ
Ukaguzi wa Utegemezi
Wimbo wa Kutegemea
Ukali
Matokeo
Maoni
dom4j: 1.6.1
CVE-2018-1000632
CVE-2018-1000632
CVE-2018-1000632
High
KWELI
CVE-2020-10683
CVE-2020-10683
CVE-2020-10683
High
KWELI
log4j-msingi: 2.3
CVE-2017-5645
CVE-2017-5645
CVE-2017-5645
High
KWELI
CVE-2020-9488
CVE-2020-9488
CVE-2020-9488
Chini
KWELI
log4j: 1.2.14
CVE-2019-17571
CVE-2019-17571
-
High
KWELI
-
CVE-2020-9488
-
Chini
KWELI
SONATYPE-2010-0053
-
-
High
KWELI
commons-makusanyo:3.1
-
CVE-2015-6420
CVE-2015-6420
High
UONGO
Nakala za RCE(OSSINDEX)
-
CVE-2017-15708
CVE-2017-15708
High
UONGO
Nakala za RCE(OSSINDEX)
SONATYPE-2015-0002
RCE (OSSINDEX)
RCE(OSSINDEX)
High
KWELI
upakiaji-faili wa commons:1.3.2
CVE-2016-1000031
CVE-2016-1000031
CVE-2016-1000031
High
KWELI
SONATYPE-2014-0173
-
-
Kati
KWELI
commons-beanutils:1.7.0
CVE-2014-0114
CVE-2014-0114
CVE-2014-0114
High
KWELI
-
CVE-2019-10086
CVE-2019-10086
High
UONGO
Athari hii inatumika kwa matoleo 1.9.2+ pekee
commons-codec:1:10
SONATYPE-2012-0050
-
-
Kati
KWELI
mysql-kontakt-java:5.1.42
CVE-2018-3258
CVE-2018-3258
CVE-2018-3258
High
KWELI
CVE-2019-2692
CVE-2019-2692
-
Kati
KWELI
-
CVE-2020-2875
-
Kati
UONGO
Athari sawa na CVE-2019-2692, lakini kwa dokezo "mashambulizi yanaweza kuathiri pakubwa bidhaa za ziada"
-
CVE-2017-15945
-
High
UONGO
Haifai kwa mysql-connector-java
-
CVE-2020-2933
-
Chini
UONGO
Nakala ya CVE-2020-2934
CVE-2020-2934
CVE-2020-2934
-
Kati
KWELI
spring-maneno:3.0.5
CVE-2018-1270
sehemu haijapatikana
-
High
KWELI
CVE-2018-1257
-
-
Kati
KWELI
spring-mtandao:3.0.5
CVE-2016-1000027
sehemu haijapatikana
-
High
KWELI
CVE-2014-0225
-
CVE-2014-0225
High
KWELI
CVE-2011-2730
-
-
High
KWELI
-
-
CVE-2013-4152
Kati
KWELI
CVE-2018-1272
-
-
High
KWELI
CVE-2020-5398
-
-
High
KWELI
Mfano wa kielelezo unaounga mkono IQ: "Timu ya utafiti wa usalama wa Sonatype iligundua kuwa athari hii ilianzishwa katika toleo la 3.0.2.RELEASE na si 5.0.x kama ilivyoelezwa katika ushauri."
CVE-2013-6429
-
-
Kati
KWELI
CVE-2014-0054
-
CVE-2014-0054
Kati
KWELI
CVE-2013-6430
-
-
Kati
KWELI
spring-muktadha:3.0.5
CVE-2011-2894
sehemu haijapatikana
-
Kati
KWELI
spring-msingi:3.0.5
-
CVE-2011-2730
CVE-2011-2730
High
KWELI
CVE-2011-2894
CVE-2011-2894
CVE-2011-2894
Kati
KWELI
-
-
CVE-2013-4152
Kati
UONGO
Nakala ya athari sawa katika spring-web
-
CVE-2013-4152
-
Kati
UONGO
Athari hiyo inahusiana na kipengele cha tovuti ya masika
-
CVE-2013-6429
CVE-2013-6429
Kati
UONGO
Athari hiyo inahusiana na kipengele cha tovuti ya masika
-
CVE-2013-6430
-
Kati
UONGO
Athari hiyo inahusiana na kipengele cha tovuti ya masika
-
CVE-2013-7315
CVE-2013-7315
Kati
UONGO
SPLIT kutoka CVE-2013-4152. + Athari inahusiana na kipengele cha tovuti ya masika
-
CVE-2014-0054
CVE-2014-0054
Kati
UONGO
Athari hiyo inahusiana na kipengele cha tovuti ya masika
-
CVE-2014-0225
-
High
UONGO
Athari hiyo inahusiana na kipengele cha tovuti ya masika
-
-
CVE-2014-0225
High
UONGO
Nakala ya athari sawa katika spring-web
-
CVE-2014-1904
CVE-2014-1904
Kati
UONGO
Athari hii inahusiana na kipengele cha spring-web-mvc
-
CVE-2014-3625
CVE-2014-3625
Kati
UONGO
Athari hii inahusiana na kipengele cha spring-web-mvc
-
CVE-2016-9878
CVE-2016-9878
High
UONGO
Athari hii inahusiana na kipengele cha spring-web-mvc
-
CVE-2018-1270
CVE-2018-1270
High
UONGO
Kwa ajili ya spring-expression/spring-ujumbe
-
CVE-2018-1271
CVE-2018-1271
Kati
UONGO
Athari hii inahusiana na kipengele cha spring-web-mvc
-
CVE-2018-1272
CVE-2018-1272
High
KWELI
CVE-2014-3578
CVE-2014-3578 (OSSINDEX)
CVE-2014-3578
Kati
KWELI
SONATYPE-2015-0327
-
-
Chini
KWELI
struts2-config-browser-plugin:2.3.30
SONATYPE-2016-0104
-
-
Kati
KWELI
spring-tx:3.0.5
-
CVE-2011-2730
-
High
UONGO
Athari si mahususi kwa spring-tx
-
CVE-2011-2894
-
High
UONGO
Athari si mahususi kwa spring-tx
-
CVE-2013-4152
-
Kati
UONGO
Athari si mahususi kwa spring-tx
-
CVE-2013-6429
-
Kati
UONGO
Athari si mahususi kwa spring-tx
-
CVE-2013-6430
-
Kati
UONGO
Athari si mahususi kwa spring-tx
-
CVE-2013-7315
-
Kati
UONGO
Athari si mahususi kwa spring-tx
-
CVE-2014-0054
-
Kati
UONGO
Athari si mahususi kwa spring-tx
-
CVE-2014-0225
-
High
UONGO
Athari si mahususi kwa spring-tx
-
CVE-2014-1904
-
Kati
UONGO
Athari si mahususi kwa spring-tx
-
CVE-2014-3625
-
Kati
UONGO
Athari si mahususi kwa spring-tx
-
CVE-2016-9878
-
High
UONGO
Athari si mahususi kwa spring-tx
-
CVE-2018-1270
-
High
UONGO
Athari si mahususi kwa spring-tx
-
CVE-2018-1271
-
Kati
UONGO
Athari si mahususi kwa spring-tx
-
CVE-2018-1272
-
Kati
UONGO
Athari si mahususi kwa spring-tx
struts-core:1.3.8
-
CVE-2011-5057 (OSSINDEX)
Kati
FASLE
Kutoweza kuathiriwa na Struts 2
-
CVE-2012-0391 (OSSINDEX)
CVE-2012-0391
High
UONGO
Kutoweza kuathiriwa na Struts 2
-
CVE-2014-0094 (OSSINDEX)
CVE-2014-0094
Kati
UONGO
Kutoweza kuathiriwa na Struts 2
-
CVE-2014-0113 (OSSINDEX)
CVE-2014-0113
High
UONGO
Kutoweza kuathiriwa na Struts 2
CVE-2016-1182
3VE-2016-1182
-
High
KWELI
-
-
CVE-2011-5057
Kati
UONGO
Kutoweza kuathiriwa na Struts 2
-
CVE-2012-0392 (OSSINDEX)
CVE-2012-0392
High
UONGO
Kutoweza kuathiriwa na Struts 2
-
CVE-2012-0393 (OSSINDEX)
CVE-2012-0393
Kati
UONGO
Kutoweza kuathiriwa na Struts 2
CVE-2015-0899
CVE-2015-0899
-
High
KWELI
-
CVE-2012-0394
CVE-2012-0394
Kati
UONGO
Kutoweza kuathiriwa na Struts 2
-
CVE-2012-0838 (OSSINDEX)
CVE-2012-0838
High
UONGO
Kutoweza kuathiriwa na Struts 2
-
CVE-2013-1965 (OSSINDEX)
CVE-2013-1965
High
UONGO
Kutoweza kuathiriwa na Struts 2
-
CVE-2013-1966 (OSSINDEX)
CVE-2013-1966
High
FASLE
Kutoweza kuathiriwa na Struts 2
-
CVE-2013-2115
CVE-2013-2115
High
FASLE
Kutoweza kuathiriwa na Struts 2
-
CVE-2013-2134 (OSSINDEX)
CVE-2013-2134
High
FASLE
Kutoweza kuathiriwa na Struts 2
-
CVE-2013-2135 (OSSINDEX)
CVE-2013-2135
High
FASLE
Kutoweza kuathiriwa na Struts 2
CVE-2014-0114
CVE-2014-0114
-
High
KWELI
-
CVE-2015-2992
CVE-2015-2992
Kati
UONGO
Kutoweza kuathiriwa na Struts 2
-
CVE-2016-0785 (OSSINDEX)
CVE-2016-0785
High
UONGO
Kutoweza kuathiriwa na Struts 2
CVE-2016-1181
CVE-2016-1181
-
High
KWELI
-
CVE-2016-4003 (OSSINDEX)
CVE-2016-4003
High
UONGO
Kutoweza kuathiriwa na Struts 2
xwork-core:2.3.30
CVE-2017-9804
-
-
High
KWELI
SONATYPE-2017-0173
-
-
High
KWELI
CVE-2017-7672
-
-
High
UONGO
Nakala ya CVE-2017-9804
SONATYPE-2016-0127
-
-
High
KWELI
struts2-msingi:2.3.30
-
CVE-2016-6795
CVE-2016-6795
High
KWELI
-
CVE-2017-9787
CVE-2017-9787
High
KWELI
-
CVE-2017-9791
CVE-2017-9791
High
KWELI
-
CVE-2017-9793
-
High
UONGO
Nakala ya CVE-2018-1327
-
CVE-2017-9804
-
High
KWELI
-
CVE-2017-9805
CVE-2017-9805
High
KWELI
CVE-2016-4003
-
-
Kati
UONGO
Inatumika kwa Apache Struts 2.x hadi 2.3.28, ambayo ni toleo la 2.3.30. Walakini, kulingana na maelezo, CVE ni halali kwa toleo lolote la Struts 2 ikiwa JRE 1.7 au chini inatumika. Inavyoonekana waliamua kutuhakikishia tena hapa, lakini inaonekana zaidi kama FALSE
-
CVE-2018-1327
CVE-2018-1327
High
KWELI
CVE-2017-5638
CVE-2017-5638
CVE-2017-5638
High
KWELI
Athari sawa na ambayo wavamizi wa Equifax walitumia mwaka wa 2017
CVE-2017-12611
CVE-2017-12611
-
High
KWELI
CVE-2018-11776
CVE-2018-11776
CVE-2018-11776
High
KWELI
struts-taglib:1.3.8
-
CVE-2012-0394
-
Kati
UONGO
Kwa struts2-core
-
CVE-2013-2115
-
High
UONGO
Kwa struts2-core
-
CVE-2014-0114
-
High
UONGO
Kwa commons-beanutils
-
CVE-2015-0899
-
High
UONGO
Haitumiki kwa taglib
-
CVE-2015-2992
-
Kati
UONGO
Inarejelea struts2-core
-
CVE-2016-1181
-
High
UONGO
Haitumiki kwa taglib
-
CVE-2016-1182
-
High
UONGO
Haitumiki kwa taglib
struts-tiles-1.3.8
-
CVE-2012-0394
-
Kati
UONGO
Kwa struts2-core
-
CVE-2013-2115
-
High
UONGO
Kwa struts2-core
-
CVE-2014-0114
-
High
UONGO
Chini ya commons-beanutils
-
CVE-2015-0899
-
High
UONGO
Haitumiki kwa vigae
-
CVE-2015-2992
-
Kati
UONGO
Kwa struts2-core
-
CVE-2016-1181
-
High
UONGO
Haitumiki kwa taglib
-
CVE-2016-1182
-
High
UONGO
Haitumiki kwa taglib
Chanzo: mapenzi.com