DevSecOps: SCAнын иштөө принциптери жана салыштыруу. Биринчи бөлүк

Өнүгүү процессинде үчүнчү тараптын программалык компоненттерин талдоонун мааниси (Software Composition Analysis - SCA) Synopsys, Sonatype, Snyk жана White Source тарабынан жарыяланган ачык булак китепканаларынын алсыз жактары жөнүндө жылдык отчеттордун чыгышы менен өсүүдө. . Доклад боюнча Ачык булактагы коопсуздук аялууларынын абалы 2020 2019-жылы аныкталган ачык булактагы аялуулардын саны өткөн жылга салыштырмалуу дээрлик 1.5 эсеге өстү, ал эми ачык булак компоненттери долбоорлордун 60%дан 80%га чейин колдонулат. Көз карандысыз негизде, SCA процесстери жетилгендиктин көрсөткүчү катары OWASP SAMM жана BSIMMдин өзүнчө практикасы болуп саналат жана 2020-жылдын биринчи жарымында OWASP жаңы OWASP Программанын Компоненттерин Текшерүү Стандартын (SCVS) чыгарды, бул үчүнчү программаны текшерүү үчүн мыкты тажрыйбаларды камсыз кылат. жабдуу чынжырындагы партиялык компоненттер BY.

DevSecOps: SCAнын иштөө принциптери жана салыштыруу. Биринчи бөлүк

Эң иллюстрациялуу учурлардын бири кетти 2017-жылдын май айында Equifax менен. Белгисиз чабуулчулар 143 миллион америкалык тууралуу маалыматты, анын ичинде толук аты-жөнү, дареги, социалдык камсыздандыруу номерлери жана айдоочулук күбөлүктөргө ээ болушкан. 209 000 учурда документтерге ошондой эле жабырлануучулардын банк карталары тууралуу маалымат кирген. Бул агып кетүү Apache Struts 2 (CVE-2017-5638) сындуу кемчилигин эксплуатациялоонун натыйжасында пайда болгон, ал эми оңдоо 2017-жылдын март айында чыгарылган. Компания жаңыртууну орнотууга эки ай убакыт болгон, бирок аны менен эч ким убара болгон эмес.

Бул макалада талдоо натыйжаларынын сапаты көз карашынан SCA жүргүзүү үчүн инструментти тандоо маселеси талкууланат. Ошондой эле инструменттердин функционалдык салыштыруусу берилет. CI/CDге интеграциялоо процесси жана интеграциялык мүмкүнчүлүктөр кийинки басылмаларга калтырылат. OWASP тарабынан куралдардын кеңири спектри сунушталган Компания өзүнүн сайтында, бирок азыркы карап чыгууда биз эң популярдуу ачык булактуу Dependency Check куралы, анча белгилүү эмес ачык булак платформасы Dependency Track жана Enterprise Solution Sonatype Nexus IQ жөнүндө гана сүйлөшөбүз. Ошондой эле, биз бул чечимдердин кантип иштээрин түшүнөбүз жана алынган натыйжаларды жалган позитивдерге салыштырабыз.

DevSecOps: SCAнын иштөө принциптери жана салыштыруу. Биринчи бөлүк

Иштөө принциби

Көз карандылыкты текшерүү бул пайдалуу программа (CLI, maven, jenkins module, ant), ал долбоордун файлдарын талдайт, көз карандылыктар жөнүндө маалыматтарды чогултат (пакеттин аталышы, топтун аталышы, спецификациянын аталышы, версия...), CPE (Common Platform Enumeration) линиясын курат , Пакет URL (PURL) жана маалымат базаларынан (NVD, Sonatype OSS Index, NPM Audit API...) CPE/PURL үчүн алсыздыктарды аныктайт, андан кийин HTML, JSON, XML форматында бир жолку отчетту түзөт...

Келгиле, CPE кандай экенин карап көрөлү:

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

  • Part: Компоненттин тиркемеге (a), операциялык системага (o), аппараттык камсыздоого (h) тиешелүү экендигин көрсөтүү (Талап кылынган)
  • Сатуучу: Продукт өндүрүүчүнүн аты (талап кылынат)
  • продукт: Продукт аталышы (милдеттүү)
  • версия: Компоненттик версия (эскирген нерсе)
  • өзгөртүү: Пакет жаңыртуу
  • өзгөртүүлөр жана толуктоолор менен: Эски версия (эскирген нерсе)
  • Тили: RFC-5646да аныкталган тил
  • SW Edition: Программалык камсыздоо версиясы
  • Максаттуу SW: Продукт иштеген программалык чөйрө
  • Максаттуу HW: Продукт иштеген аппараттык чөйрө
  • Башка: Жабдуучу же Продукт маалыматы

Мисал CPE мындай көрүнөт:

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

Бул сап CPE версиясы 2.3 өндүрүүчүдөн колдонмо компонентин сүрөттөйт дегенди билдирет pivotal_software аталышы менен spring_framework версия 3.0.0. Эгерде биз алсыздыкты ачсак CVE-2014-0225 NVDде биз бул CPE жөнүндө сөз кыла алабыз. Сиз дароо көңүл бурушуңуз керек болгон биринчи көйгөй - бул NVDдеги CVE, CPE ылайык, көйгөйдү белгилүү бир компонентте эмес, алкакта билдирет. Башкача айтканда, эгерде иштеп чыгуучулар алкак менен тыгыз байланышта болсо жана аныкталган алсыздык иштеп чыгуучулар колдонгон модулдарга таасирин тийгизбесе, коопсуздук боюнча адис тигил же бул CVEди демонтаждап, жаңыртуу жөнүндө ойлонушу керек болот.

URL ошондой эле SCA куралдары тарабынан колдонулат. Пакеттин URL форматы төмөнкүдөй:

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

  • Схема: Бул пакеттин URL дареги экенин көрсөткөн ар дайым "pkg" болот (Милдеттүү)
  • түрү: Пакеттин "түрү" же пакеттин "протоколу", мисалы, maven, npm, nuget, gem, pypi ж. (Керектүү нерсе)
  • Аталыштар мейкиндиги: Кээ бир аталыш префикси, мисалы, Maven тобунун идентификатору, Docker сүрөтүнүн ээси, GitHub колдонуучусу же уюм. Кошумча жана түрүнө жараша болот.
  • аты-жөнү: Пакеттин аталышы (милдеттүү)
  • версия: Пакет версиясы
  • Квалификациялар: Пакет үчүн кошумча квалификациялык маалыматтар, мисалы, OS, архитектура, бөлүштүрүү ж.б.. Кошумча жана түргө жараша.
  • Subpath: Пакеттин тамырына салыштырмалуу пакеттеги кошумча жол

Мисалы:

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

Көз карандылык трек — даярдалган материалдардын даяр эсебин (BOM) кабыл алган жергиликтүү веб-платформа CycloneDX и SPDX, башкача айтканда, болгон көз карандылык жөнүндө даяр спецификациялар. Бул көз карандылыкты сүрөттөгөн XML файлы - аты, хэштери, пакеттин URL'и, басып чыгаруучу, лицензия. Андан кийин, Dependency Track БОМду талдайт, алсыздыктын маалымат базасынан (NVD, Sonatype OSS Index...) аныкталган көз карандылыктар үчүн жеткиликтүү CVEлерди карайт, андан кийин ал графиктерди түзөт, метрикаларды эсептейт, компоненттердин аялуу абалы жөнүндө маалыматтарды үзгүлтүксүз жаңыртып турат. .

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 көз карандылыкты көзөмөлдөө үчүн киргизүү параметрлери катары гана эмес, ошондой эле камсыздоо чынжырындагы программалык камсыздоо компоненттерин инвентаризациялоо үчүн, мисалы, кардарды программалык камсыздоо үчүн колдонсо болот. 2014-жылы ал тургай АКШда мыйзам сунушталган "2014-ж. Кибер камсыздоо чынжырын башкаруу жана ачыктык актысы", анда программалык камсыздоону сатып алууда, каалаган мамлекет. Мекеме аялуу компоненттерди колдонууга жол бербөө үчүн БОМду талап кылышы керек, бирок акт али күчүнө кире элек.

SCAга кайрылып, Dependency Track Slack сыяктуу эскертме платформалары, Kenna Security сыяктуу аялууларды башкаруу системалары менен даяр интеграцияларга ээ. Ошондой эле, Dependency Track, башка нерселер менен катар, пакеттердин эскирген версияларын аныктайт жана лицензиялар жөнүндө маалымат берет (SPDX колдоосуна байланыштуу).

Эгерде биз SCAнын сапаты жөнүндө конкреттүү айта турган болсок, анда принципиалдуу айырма бар.

Dependency Track долбоорду киргизүү катары кабыл албайт, тескерисинче, БОМ. Бул долбоорду сынагыбыз келсе, биринчиден bom.xml түзүшүбүз керек, мисалы CycloneDX аркылуу. Ошентип, Dependency Track түздөн-түз CycloneDXтен көз каранды. Ошол эле учурда, ыңгайлаштырууга мүмкүндүк берет. Бул тууралуу OZON командасы жазып чыкты CycloneDX модулу Dependency Track аркылуу андан ары сканерлөө үчүн Голанг долбоорлору үчүн BOM файлдарын чогултуу үчүн.

Nexus IQ Sonatype экосистемасынын бир бөлүгү болгон, Nexus репозиторийинин менеджерин да камтыган Sonatype компаниясынын коммерциялык SCA чечими. Nexus IQ, веб-интерфейс же API аркылуу согуш архивин (java долбоорлору үчүн) жана BOM, эгерде сиздин уюмуңуз CycloneDX'тен жаңы чечимге өтүүгө үлгүрө элек болсо, кириш маалымат катары кабыл алат. Ачык булактуу чечимдерден айырмаланып, IQ аныкталган компонентке CP/PURL гана эмес, маалымат базасындагы тиешелүү алсыздыкты билдирет, ошондой эле өзүнүн изилдөөсүн, мисалы, аялуу функциянын же класстын аталышын эске алат. IQ механизмдери натыйжаларды талдоодо кийинчерээк талкууланат.

Келгиле, кээ бир функционалдык өзгөчөлүктөргө кыскача токтололу, ошондой эле талдоо үчүн колдоого алынган тилдерди карап көрөлү:

тил
Nexus IQ
Көз карандылыкты текшерүү
Көз карандылык трек

Java
+
+
+

C / C ++
+
+
-

C#
+
+
-

.net
+
+
+

Эрланг
-
-
+

JavaScript (NodeJS)
+
+
+

PHP
+
+
+

Python
+
+
+

лаал
+
+
+

Perl
-
-
-

Ерболат
+
+
+

Максаты C
+
+
-

Күлүк
+
+
-

R
+
-
-

Go
+
+
+

иштешине

иштешине
Nexus IQ
Көз карандылыкты текшерүү
Көз карандылык трек

Булак кодунда колдонулган компоненттердин лицензияланган тазалыгын текшерүү мүмкүнчүлүгү
+
-
+

Докер сүрөттөрү үчүн аялуу жерлерди жана лицензиянын тазалыгын сканерлөө жана талдоо мүмкүнчүлүгү
+ Клэр менен интеграция
-
-

Ачык булак китепканаларын колдонуу үчүн коопсуздук саясаттарын конфигурациялоо мүмкүнчүлүгү
+
-
-

Ачык булак репозиторийлерин аялуу компоненттер үчүн сканерлөө мүмкүнчүлүгү
+ RubyGems, Maven, NPM, Nuget, Pypi, Conan, Bower, Conda, Go, p2, R, Yum, Helm, Docker, CocoaPods, Git LFS
-
+ Hex, RubyGems, Maven, NPM, Nuget, Pypi

Атайын изилдөө тобунун болушу
+
-
-

Жабык цикл операциясы
+
+
+

Үчүнчү тараптын маалымат базаларын колдонуу
+ Жабык Sonatype базасы
+ Sonatype OSS, NPM коомдук кеңешчилери
+ Sonatype OSS, NPM Public Advisors, RetireJS, VulnDB, өзүнүн аялуу маалыматтар базасын колдоо

Конфигурацияланган саясаттарга ылайык иштеп чыгуу циклине жүктөөгө аракет кылып жатканда ачык булак компоненттерин чыпкалоо мүмкүнчүлүгү
+
-
-

Кемчиликтерди оңдоо боюнча сунуштар, оңдоолорго шилтемелердин болушу
+
+- (жалпы маалымат базаларындагы сыпаттамага жараша)
+- (жалпы маалымат базаларындагы сыпаттамага жараша)

Аныкталган алсыздыктардын катаалдыгы боюнча рейтинги
+
+
+

Ролго негизделген мүмкүндүк алуу модели
+
-
+

CLI колдоосу
+
+
+- (CycloneDX үчүн гана)

Белгиленген критерийлерге ылайык аялуу жерлерди тандоо/сорттоо
+
-
+

Колдонмонун статусу боюнча башкаруу тактасы
+
-
+

PDF форматында отчетторду түзүү
+
-
-

JSONCSV форматында отчетторду түзүү
+
+
-

Орус тилин колдоо
-
-
-

Интеграциялоо мүмкүнчүлүктөрү

жуурулушуу
Nexus IQ
Көз карандылыкты текшерүү
Көз карандылык трек

LDAP/Active Directory интеграциясы
+
-
+

Бамбук үзгүлтүксүз интеграция системасы менен интеграция
+
-
-

TeamCity үзгүлтүксүз интеграция системасы менен интеграция
+
-
-

GitLab үзгүлтүксүз интеграция системасы менен интеграция
+
+- (GitLab үчүн плагин катары)
+

Үзгүлтүксүз интеграция системасы Jenkins менен интеграция
+
+
+

IDE үчүн плагиндердин болушу
+ IntelliJ, Eclipse, Visual Studio
-
-

Куралдын веб-кызматтары (API) аркылуу ыңгайлаштырылган интеграцияны колдоо
+
-
+

Көз карандылыкты текшерүү

биринчи Нускасы

Атайылап аялуу тиркемеде Көз карандылыкты текшерүүнү иштетели DVJA.

Бул үчүн биз колдонобуз Көз карандылыкты текшерүү Maven плагини:

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

Натыйжада, dependency-check-report.html максаттуу каталогдо пайда болот.

DevSecOps: SCAнын иштөө принциптери жана салыштыруу. Биринчи бөлүк

Келгиле, файлды ачалы. Абалдардын жалпы саны жөнүндө кыскача маалыматтан кийин биз пакетти, CPEди жана CVE санын көрсөтүү менен Катуулугу жана Ишенимдүүлүк деңгээли жогору болгон аялуу жерлер жөнүндө маалыматты көрө алабыз.

Кийинки деталдуу маалымат, атап айтканда, чечим кабыл алынган негиз (далил), башкача айтканда, белгилүү бир БОМ келет.

DevSecOps: SCAнын иштөө принциптери жана салыштыруу. Биринчи бөлүк

Кийинки CPE, PURL жана CVE сыпаттамасы келет. Айтмакчы, оңдоо боюнча сунуштар NVD базасында жок болгондуктан киргизилген эмес.

DevSecOps: SCAнын иштөө принциптери жана салыштыруу. Биринчи бөлүк

Скандоо натыйжаларын системалуу түрдө көрүү үчүн Nginxти минималдуу жөндөөлөр менен конфигурациялай аласыз же пайда болгон кемчиликтерди Көз карандылыкты текшерүүгө туташтыргычтарды колдогон кемчиликтерди башкаруу тутумуна жөнөтө аласыз. Мисалы, Defect Dojo.

Көз карандылык трек

жөндөө

Dependency Track, өз кезегинде, дисплей графиктери бар веб-платформа, ошондуктан үчүнчү тараптын чечимдеринде кемчиликтерди сактоонун актуалдуу маселеси бул жерде пайда болбойт.
Орнотуу үчүн колдоого алынган скрипттер: Docker, WAR, Executable WAR.

биринчи Нускасы

Биз иштеп жаткан кызматтын URL дарегине барабыз. Биз администратор/администратор аркылуу кирип, логин менен сырсөздү өзгөртүп, андан кийин Башкаруу тактасына киребиз. Кийинки биз жасай турган нерсе - Java тилинде тесттик тиркеме үчүн долбоор түзүү Негизги бет/Долбоорлор → Долбоорду түзүү . Мисал катары DVJAны алалы.

DevSecOps: SCAнын иштөө принциптери жана салыштыруу. Биринчи бөлүк

Көз карандылык трек БОМду киргизүү катары гана кабыл ала алгандыктан, бул БОМду алуу керек. Келгиле, пайдаланалы CycloneDX Maven плагини:

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

Биз bom.xml алып, файлды түзүлгөн долбоорго жүктөйбүз DVJA → Көз карандылыктар → БОМду жүктөө.

Келгиле, Администрация → Анализаторлорго баралы. Бизде NVD камтылган Ички анализатор гана иштетилгенин түшүнөбүз. Ошондой эле Sonatype OSS Indexти туташтыралы.

DevSecOps: SCAнын иштөө принциптери жана салыштыруу. Биринчи бөлүк

Ошентип, биз долбоор үчүн төмөнкү сүрөттү алабыз:

DevSecOps: SCAнын иштөө принциптери жана салыштыруу. Биринчи бөлүк

Ошондой эле тизмеден Sonatype OSSке тиешелүү бир кемчиликти таба аласыз:

DevSecOps: SCAнын иштөө принциптери жана салыштыруу. Биринчи бөлүк

Негизги көңүл калуу Dependency Track мындан ары Dependency Check xml отчетторун кабыл албайт. Көз карандылыкты текшерүү интеграциясынын акыркы колдоого алынган версиялары 1.0.0 - 4.0.2 болчу, мен 5.3.2ди сынап көрдүм.

бул жерде видео (жана бул жерде) дагы эле мүмкүн болгон учурда.

Nexus IQ

биринчи Нускасы

Nexus IQ орнотуу архивинен алынган документтер, бирок биз бул максаттар үчүн Docker сүрөтүн курдук.

Консолго киргенден кийин, сиз Уюм жана Колдонмону түзүшүңүз керек.

DevSecOps: SCAнын иштөө принциптери жана салыштыруу. Биринчи бөлүк

DevSecOps: SCAнын иштөө принциптери жана салыштыруу. Биринчи бөлүк

DevSecOps: SCAнын иштөө принциптери жана салыштыруу. Биринчи бөлүк

Көрүнүп тургандай, IQ учурунда орнотуу бир аз татаалыраак, анткени биз ар кандай "этаптарга" (иштеп чыгуу, куруу, этап, чыгаруу) тиешелүү саясаттарды түзүшүбүз керек. Бул өндүрүшкө жакыныраак түтүк аркылуу өтүүчү аялуу компоненттерди бөгөттөө үчүн же иштеп чыгуучулар тарабынан жүктөлүп алынганда Nexus Repo'го кирээри менен аларды бөгөттөө үчүн зарыл.

Ачык булак менен ишкананын ортосундагы айырманы сезүү үчүн, келгиле, Nexus IQ аркылуу бир эле скандоону ошол эле жол менен аткаралы Maven плагини, буга чейин 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>

IQ веб-интерфейсиндеги түзүлгөн отчеттун URL дарегин аткарыңыз:

DevSecOps: SCAнын иштөө принциптери жана салыштыруу. Биринчи бөлүк

Бул жерден сиз ар кандай маанилик деңгээлдерин көрсөткөн бардык саясат бузууларды көрө аласыз (Маалыматтан Коопсуздук Критикалык деңгээлине чейин). Компоненттин жанындагы D тамгасы компоненттин Түз көз карандылык экенин, ал эми компоненттин жанындагы Т тамгасы компоненттин өтмө көз карандылыгын, б.а.

Айтмакчы, отчет Ачык булактагы коопсуздуктун абалы 2020-ж Snyk сайты Node.js, Java жана Rubyде табылган ачык булактан кемчиликтердин 70%дан ашыгы өтмө көз карандылыкта экенин билдирди.

Эгерде биз Nexus IQ саясатынын бузууларынын бирин ачсак, анда биз компоненттин сыпаттамасын, ошондой эле убакыт графигинде учурдагы версиянын жайгашкан жерин, ошондой эле алсыздык кайсы учурда токтой турганын көрсөткөн версиянын графигин көрө алабыз. аялуу болуу. Графиктеги шамдардын бийиктиги бул компонентти колдонуунун популярдуулугун көрсөтүп турат.

DevSecOps: SCAнын иштөө принциптери жана салыштыруу. Биринчи бөлүк

Эгер сиз аялуу жерлер бөлүмүнө өтүп, CVEди кеңейтсеңиз, анда бул кемчиликтин сүрөттөлүшүн, жоюу боюнча сунуштарды, ошондой эле бул компоненттин бузулушунун себебин, башкача айтканда класстын бар экендигин окуй аласыз. DiskFileitem.class.

DevSecOps: SCAнын иштөө принциптери жана салыштыруу. Биринчи бөлүк

DevSecOps: SCAнын иштөө принциптери жана салыштыруу. Биринчи бөлүк

Js компоненттерин алып салуу менен үчүнчү жактын Java компоненттерине тиешелүү болгондорду гана жыйынтыктайлы. кашаанын ичинде биз NVD тышында табылган алсыздыктардын санын көрсөтөбүз.

Жалпы Nexus IQ:

  • Скандалган көз карандылыктар: 62
  • Аялуу көз карандылыктар: 16
  • Табылган аялуу жерлер: 42 (8 sonatype db)

Жалпы көз карандылыкты текшерүү:

  • Скандалган көз карандылыктар: 47
  • Аялуу көз карандылыктар: 13
  • Табылган аялуу жерлер: 91 (14 sonatype oss)

Жалпы көз карандылык треки:

  • Скандалган көз карандылыктар: 59
  • Аялуу көз карандылыктар: 10
  • Табылган аялуу жерлер: 51 (1 sonatype oss)

Кийинки кадамдарда биз алынган натыйжаларды талдап, бул кемчиликтердин кайсынысы чыныгы кемчилик, кайсынысы жалган оң экенин аныктайбыз.

Жоопкерчиликтен баш тартуу

Бул карап чыгуу талашсыз чындык эмес. Автор башкалардын фонунда өзүнчө бир аспапты бөлүп көрсөтүү максатын койгон эмес. Кароонун максаты - СКА инструменттеринин иштөө механизмдерин жана алардын натыйжаларын текшерүү жолдорун көрсөтүү.

Жыйынтыктарды салыштыруу

Жоболор жана шарттар:

Үчүнчү тараптын компоненттеринин алсыздыктары үчүн жалган оң:

  • CVE аныкталган компонентке дал келбегендиги
  • Мисалы, эгерде struts2 алкагында бир аялуу аныкталса жана курал бул кемчилик колдонулбаган struts-tiles алкагынын компонентине ишарат кылса, анда бул жалган оң
  • Компоненттин аныкталган версиясына CVE дал келбейт
  • Мисалы, аялуу python версиясы > 3.5 менен байланышкан жана курал 2.7 версиясын аялуу деп белгилейт - бул жалган оң, анткени чындыгында алсыздык 3.x продукт тармагына гана тиешелүү.
  • CVE дубликаты
  • Мисалы, эгерде SCA RCEди иштеткен CVEди көрсөтсө, анда SCA ошол RCE таасир эткен Cisco өнүмдөрүнө тиешелүү ошол эле компонент үчүн CVEны аныктайт. Бул учурда, ал жалган оң болот.
  • Мисалы, CVE жазгы веб-компонентте табылган, андан кийин SCA Spring Framework башка компоненттеринде ошол эле CVEге ишарат кылат, ал эми CVE башка компоненттер менен эч кандай байланышы жок. Бул учурда, ал жалган оң болот.

Изилдөөнүн объектиси DVJA Open Source долбоору болгон. Изилдөө java компоненттерин гана камтыды (js жок).

Жыйынтык натыйжалар

Келгиле, түз эле аныкталган аялуу жерлерди кол менен карап чыгуунун жыйынтыгына чыгалы. Ар бир CVE үчүн толук отчетту Тиркемеде тапса болот.

Бардык алсыздыктар боюнча жыйынтыктоочу жыйынтыктар:

параметр
Nexus IQ
Көз карандылыкты текшерүү
Көз карандылык трек

Жалпы алсыздыктар аныкталган
42
91
51

Туура эмес аныкталган алсыздыктар (жалган оң)
2 (4.76%)
62 (68,13%)
29 (56.86%)

Тиешелүү кемчиликтер табылган жок (жалган терс)
10
20
27

Компонент боюнча жыйынтыктоочу жыйынтыктар:

параметр
Nexus IQ
Көз карандылыкты текшерүү
Көз карандылык трек

Жалпы компоненттер аныкталган
62
47
59

Жалпы аялуу компоненттер
16
13
10

Туура эмес аныкталган аялуу компоненттер (жалган оң)
1
5
0

Туура эмес аныкталган аялуу компоненттер (жалган оң)
0
6
6

Жалган позитивдүү жана жалган терс көрсөткүчтөрдүн аялуулардын жалпы санына катышын баалоо үчүн визуалдык графиктерди түзөлү. Компоненттер горизонталдуу, ал эми аларда аныкталган аялуу жерлер вертикалдуу белгиленет.

DevSecOps: SCAнын иштөө принциптери жана салыштыруу. Биринчи бөлүк

DevSecOps: SCAнын иштөө принциптери жана салыштыруу. Биринчи бөлүк

DevSecOps: SCAнын иштөө принциптери жана салыштыруу. Биринчи бөлүк

Салыштыруу үчүн, ушундай эле изилдөө Sonatype командасы тарабынан 1531 компоненттен турган долбоорду OWASP Dependency Check аркылуу сынап көргөн. Көрүнүп тургандай, ызы-чуу менен туура жооптордун катышы биздин натыйжаларыбыз менен салыштырууга болот.

DevSecOps: SCAнын иштөө принциптери жана салыштыруу. Биринчи бөлүк
Source: www.sonatype.com/why-precision-matters-ebook

Бул натыйжалардын себебин түшүнүү үчүн, биздин скандоочу натыйжаларыбыздан кээ бир CVEлерди карап көрөлү.

More

№1

Келгиле, адегенде Sonatype Nexus IQ жөнүндө кызыктуу ойлорду карап көрөлү.

Nexus IQ жазгы алкактарда RCEди бир нече жолу аткаруу мүмкүнчүлүгү менен сериядан чыгаруу менен байланышкан маселени көрсөтөт. CVE-2016-1000027 spring-web:3.0.5 биринчи жолу жана CVE-2011-2894 жазгы-контекстте:3.0.5 жана жазгы өзөк:3.0.5. Башында, бир нече CVE боюнча аялуулардын кайталанышы бар окшойт. Анткени, эгер сиз NVD маалымат базасында CVE-2016-1000027 жана CVE-2011-2894ти карасаңыз, баары ачык көрүнөт.

бир бөлүк
Аялуулук

spring-web:3.0.5
CVE-2016-1000027

жазгы контекст: 3.0.5
CVE-2011-2894

Spring-core: 3.0.5
CVE-2011-2894

баяндоо CVE-2011-2894 NVDден:
DevSecOps: SCAнын иштөө принциптери жана салыштыруу. Биринчи бөлүк

баяндоо CVE-2016-1000027 NVDден:
DevSecOps: SCAнын иштөө принциптери жана салыштыруу. Биринчи бөлүк

CVE-2011-2894 өзү абдан белгилүү. Докладда Ак булак 2011 бул CVE эң кеңири таралгандардын бири катары таанылган. CVE-2016-100027 үчүн сүрөттөмөлөр, негизинен, NVDде аз жана ал Жазгы Framework 4.1.4 үчүн гана колдонула тургандай. Келгиле, карап көрөлү маалымат жана бул жерде бардыгы аздыр-көптүр ачык-айкын болуп калат. From Туруктуу макалалар Бизде алсыздыктан тышкары, муну түшүнөбүз RemoteInvocationSerializingExporter CVE-2011-2894 ичинде аялуу байкалган HttpInvokerServiceExporter. Бул Nexus IQ бизге мындай дейт:

DevSecOps: SCAнын иштөө принциптери жана салыштыруу. Биринчи бөлүк

Бирок, NVDде мындай эч нерсе жок, ошондуктан көз карандылыкты текшерүү жана көз карандылык трек ар бири жалган терс кабыл алышат.

Ошондой эле CVE-2011-2894 сүрөттөмөсүнөн алсыздык чындап эле жазгы контекстте:3.0.5 жана жазгы өзөктө:3.0.5 бар экенин түшүнүүгө болот. Мунун ырастоосун бул кемчиликти тапкан адамдын макаласынан тапса болот.

№2

бир бөлүк
Аялуулук
жыйынтык

struts2-core: 2.3.30
CVE-2016-4003
ЖАЛГАН

Эгер биз CVE-2016-4003 аялуулугун изилдесек, анын 2.3.28 версиясында оңдолгондугун түшүнөбүз, бирок Nexus IQ бул тууралуу бизге кабарлайт. Алсыздыктын сыпаттамасы бар:

DevSecOps: SCAнын иштөө принциптери жана салыштыруу. Биринчи бөлүк

Башкача айтканда, аялуу JREдин эскирген версиясы менен бирге гана бар, алар бизге эскертүү берүүнү чечишти. Ошого карабастан, биз эң жаманы болбосо да, бул жалган позитивдүү деп эсептейбиз.

№ 3

бир бөлүк
Аялуулук
жыйынтык

xwork-core: 2.3.30
CVE-2017-9804
ЧЫНЫГЫ

xwork-core: 2.3.30
CVE-2017-7672
ЖАЛГАН

Эгер биз CVE-2017-9804 жана CVE-2017-7672 сүрөттөмөлөрүн карасак, көйгөй URLValidator class, CVE-2017-9804 менен CVE-2017-7672ден келип чыккан. Экинчи алсыздыктын болушу анын оордугу Жогоркуга чейин жогорулаганынан башка эч кандай пайдалуу жүктү көтөрбөйт, ошондуктан биз аны керексиз ызы-чуу деп эсептей алабыз.

Жалпысынан, Nexus IQ үчүн башка эч кандай жалган позитив табылган жок.

№4

IQ башка чечимдерден өзгөчөлөнүп турган бир нече нерселер бар.

бир бөлүк
Аялуулук
жыйынтык

spring-web:3.0.5
CVE-2020-5398
ЧЫНЫГЫ

NVDдеги CVE ал 5.2.x 5.2.3 чейин, 5.1.x 5.1.13 чейин жана 5.0.x 5.0.16 чейин версияларына гана тиешелүү деп айтылат, бирок, эгерде Nexus IQдагы CVE сыпаттамасын карасак. , анда биз төмөнкүлөрдү көрөбүз:
Кеңештен четтөө жөнүндө эскертүү: Sonatype коопсуздук изилдөө тобу бул кемчилик кеңеште айтылгандай 3.0.2.x эмес, 5.0.RELEASE версиясында киргизилгенин аныктады.

Андан кийин бул алсыздык үчүн PoC келет, анда ал 3.0.5 версиясында бар деп айтылат.

Жалган терс көз карандылыкты текшерүүгө жана көз карандылык трекке жөнөтүлөт.

№5

Көз карандылыкты текшерүү жана көз карандылык трек үчүн жалган позитивди карап көрөлү.

Көз карандылыкты текшерүү NVDдеги бүткүл алкактарга тиешелүү болгон CVE'лерди бул CVE'лер колдонулбаган компоненттерге чагылдыргандыгы менен өзгөчөлөнөт. Бул CVE-2012-0394, CVE-2013-2115, CVE-2014-0114, CVE-2015-0899, CVE-2015-2992, CVE-2016-1181, CVE-2016-1182, текшерүүгө көз каранды. ” to struts-taglib:1.3.8 жана struts-tiles-1.3.8. Бул компоненттердин CVEде сүрөттөлгөн нерсеге эч кандай тиешеси жок - суроо-талапты иштетүү, баракты текшерүү жана башкалар. Бул CVE жана компоненттердин жалпылыгы алкак гана экендигине байланыштуу, ошондуктан Dependency Check аны аялуу деп эсептеген.

Ошол эле жагдай spring-tx менен болот: 3.0.5, жана окшош жагдай Struts-core: 1.3.8. Struts-core үчүн, Dependency Check жана Dependency Track иш жүзүндө struts2-core үчүн колдонула турган көптөгөн кемчиликтерди тапты, бул өзүнчө негиз болуп саналат. Бул учурда, Nexus IQ сүрөттү туура түшүндү жана ал чыгарган CVEлерде, ал struts-core мөөнөтү аяктаганын жана struts2-ядросуна өтүү керектигин көрсөткөн.

№6

Кээ бир учурларда, көз карандылыкты текшерүү жана көз карандылыкты көзөмөлдөө катасын чечмелөө адилетсиздик. Атап айтканда, CVE-2013-4152, CVE-2013-6429, CVE-2013-6430, CVE-2013-7315, CVE-2014-0054, CVE-2014-0225, CVE-2014-0225, Көз карандылыкты текшерүү жана atributed to spring-core:3.0.5 чындыгында spring-web:3.0.5ке таандык. Ошол эле учурда, бул CVEлердин айрымдары Nexus IQ тарабынан да табылган, бирок IQ аларды башка компонентке туура аныктаган. Бул алсыздыктар жазгы өзөктө табылган эмес, анткени алар негизи алкакта эмес деп айтууга болбойт жана ачык булак куралдары бул алсыздыктарды туура көрсөттү (алар бир аз эле өткөрүп жиберишти).

табылгалары

Көрүнүп тургандай, кол менен карап чыгуу менен аныкталган алсыздыктардын ишенимдүүлүгүн аныктоо бир тараптуу жыйынтыктарды бербейт, ошондуктан талаштуу маселелер пайда болот. Натыйжада, Nexus IQ чечими эң төмөнкү жалган оң көрсөткүчкө жана эң жогорку тактыкка ээ.

Биринчиден, бул Sonatype командасы өзүнүн маалымат базаларында NVDден келген ар бир CVE аялуулугунун сыпаттамасын кеңейтип, класска же функцияга чейин компоненттердин белгилүү бир версиясынын аялуу жерлерин көрсөтүп, кошумча изилдөөлөрдү жүргүзгөндүгүнө байланыштуу (мисалы , программалык камсыздоонун эски версияларындагы кемчиликтерди текшерүү).

Натыйжаларга маанилүү таасирди NVDге кирбеген, бирок SONATYPE белгиси менен Sonatype маалымат базасында бар алсыздыктар да ойнойт. Доклад боюнча Ачык булактагы коопсуздук аялууларынын абалы 2020 Табылган ачык булактан кемчиликтердин 45% NVDге билдирилбейт. WhiteSource маалымат базасына ылайык, NVDден тышкаркы билдирилген бардык ачык булактагы аялуулардын 29% гана ошол жерде жарыяланат, ошондуктан башка булактардан да аялууларды издөө маанилүү.

Натыйжада, Dependency Check кээ бир аялуу компоненттерди жоготуп, көп ызы-чуу чыгарат. Dependency Track азыраак ызы-чуу чыгарат жана көп сандагы компоненттерди аныктайт, бул веб-интерфейсте көзгө визуалдык зыян келтирбейт.

Бирок, практика көрсөткөндөй, ачык булак жетилген DevSecOps жолунда биринчи кадам болуп калышы керек. СКАны иштеп чыгууга интеграциялоодо сиз ойлонушуңуз керек болгон биринчи нерсе - бул процесстер, тактап айтканда, сиздин уюмуңузда идеалдуу процесстер кандай болушу керектиги жөнүндө жетекчилик жана тиешелүү бөлүмдөр менен бирге ойлонуу. Сиздин уюмуңуз үчүн алгач Dependency Check же Dependency Track бизнестин бардык муктаждыктарын камтый тургандыгы, ал эми Enterprise чечимдери иштелип жаткан тиркемелердин өсүп жаткан татаалдыгына байланыштуу логикалык уландысы болуп калышы мүмкүн.

А тиркемеси: Компоненттин натыйжалары
Шарттуу белгилер:

  • Компоненттеги жогорку жана критикалык деңгээлдеги аялуу
  • Орто — Компоненттеги орточо критикалык деңгээлдеги алсыздыктар
  • TRUE - Чыныгы позитивдүү маселе
  • FALSE — Жалган оң маселе

бир бөлүк
Nexus IQ
Көз карандылыкты текшерүү
Көз карандылык трек
жыйынтык

dom4j: 1.6.1
бийик
бийик
бийик
ЧЫНЫГЫ

log4j-core: 2.3
бийик
бийик
бийик
ЧЫНЫГЫ

log4j: 1.2.14
бийик
бийик
-
ЧЫНЫГЫ

жалпы жыйнактар: 3.1
бийик
бийик
бийик
ЧЫНЫГЫ

commons-fileupload:1.3.2
бийик
бийик
бийик
ЧЫНЫГЫ

commons-beanutils:1.7.0
бийик
бийик
бийик
ЧЫНЫГЫ

commons-codec:1:10
орто
-
-
ЧЫНЫГЫ

mysql-connector-java:5.1.42
бийик
бийик
бийик
ЧЫНЫГЫ

spring-expression:3.0.5
бийик
компонент табылган жок

ЧЫНЫГЫ

spring-web:3.0.5
бийик
компонент табылган жок
бийик
ЧЫНЫГЫ

жазгы контекст: 3.0.5
орто
компонент табылган жок
-
ЧЫНЫГЫ

Spring-core: 3.0.5
орто
бийик
бийик
ЧЫНЫГЫ

struts2-config-browser-plugin:2.3.30
орто
-
-
ЧЫНЫГЫ

spring-tx:3.0.5
-
бийик
-
ЖАЛГАН

struts-core: 1.3.8
бийик
бийик
бийик
ЧЫНЫГЫ

xwork-core: 2.3.30
бийик
-
-
ЧЫНЫГЫ

struts2-core: 2.3.30
бийик
бийик
бийик
ЧЫНЫГЫ

struts-taglib:1.3.8
-
бийик
-
ЖАЛГАН

Struts-Tiles-1.3.8
-
бийик
-
ЖАЛГАН

В тиркемеси: Аялуулуктун натыйжалары
Шарттуу белгилер:

  • Компоненттеги жогорку жана критикалык деңгээлдеги аялуу
  • Орто — Компоненттеги орточо критикалык деңгээлдеги алсыздыктар
  • TRUE - Чыныгы позитивдүү маселе
  • FALSE — Жалган оң маселе

бир бөлүк
Nexus IQ
Көз карандылыкты текшерүү
Көз карандылык трек
Дааналык
жыйынтык
түшүндүрмө

dom4j: 1.6.1
CVE-2018-1000632
CVE-2018-1000632
CVE-2018-1000632
бийик
ЧЫНЫГЫ

CVE-2020-10683
CVE-2020-10683
CVE-2020-10683
бийик
ЧЫНЫГЫ

log4j-core: 2.3
CVE-2017-5645
CVE-2017-5645
CVE-2017-5645
бийик
ЧЫНЫГЫ

CVE-2020-9488
CVE-2020-9488
CVE-2020-9488
төмөн
ЧЫНЫГЫ

log4j: 1.2.14
CVE-2019-17571
CVE-2019-17571
-
бийик
ЧЫНЫГЫ

-
CVE-2020-9488
-
төмөн
ЧЫНЫГЫ

SONATYPE-2010-0053
-
-
бийик
ЧЫНЫГЫ

жалпы жыйнактар: 3.1
-
CVE-2015-6420
CVE-2015-6420
бийик
ЖАЛГАН
RCE(OSSINDEX) дубликаттары

-
CVE-2017-15708
CVE-2017-15708
бийик
ЖАЛГАН
RCE(OSSINDEX) дубликаттары

SONATYPE-2015-0002
RCE (OSSINDEX)
RCE(OSSINDEX)
бийик
ЧЫНЫГЫ

commons-fileupload:1.3.2
CVE-2016-1000031
CVE-2016-1000031
CVE-2016-1000031
бийик
ЧЫНЫГЫ

SONATYPE-2014-0173
-
-
орто
ЧЫНЫГЫ

commons-beanutils:1.7.0
CVE-2014-0114
CVE-2014-0114
CVE-2014-0114
бийик
ЧЫНЫГЫ

-
CVE-2019-10086
CVE-2019-10086
бийик
ЖАЛГАН
Алсыздык 1.9.2+ версияларына гана тиешелүү

commons-codec:1:10
SONATYPE-2012-0050
-
-
орто
ЧЫНЫГЫ

mysql-connector-java:5.1.42
CVE-2018-3258
CVE-2018-3258
CVE-2018-3258
бийик
ЧЫНЫГЫ

CVE-2019-2692
CVE-2019-2692
-
орто
ЧЫНЫГЫ

-
CVE-2020-2875
-
орто
ЖАЛГАН
CVE-2019-2692 сыяктуу эле аялуу, бирок "чабуулдар кошумча продуктыларга олуттуу таасир этиши мүмкүн" деген эскертүү менен

-
CVE-2017-15945
-
бийик
ЖАЛГАН
MySQL-connector-javaга тиешеси жок

-
CVE-2020-2933
-
төмөн
ЖАЛГАН
CVE-2020-2934 көчүрмөсү

CVE-2020-2934
CVE-2020-2934
-
орто
ЧЫНЫГЫ

spring-expression:3.0.5
CVE-2018-1270
компонент табылган жок
-
бийик
ЧЫНЫГЫ

CVE-2018-1257
-
-
орто
ЧЫНЫГЫ

spring-web:3.0.5
CVE-2016-1000027
компонент табылган жок
-
бийик
ЧЫНЫГЫ

CVE-2014-0225
-
CVE-2014-0225
бийик
ЧЫНЫГЫ

CVE-2011-2730
-
-
бийик
ЧЫНЫГЫ

-
-
CVE-2013-4152
орто
ЧЫНЫГЫ

CVE-2018-1272
-
-
бийик
ЧЫНЫГЫ

CVE-2020-5398
-
-
бийик
ЧЫНЫГЫ
IQ пайдасына иллюстративдик мисал: "Sonatype коопсуздук изилдөө тобу бул кемчилик кеңеште айтылгандай 3.0.2.x эмес, 5.0.RELEASE версиясында киргизилгенин аныктады."

CVE-2013-6429
-
-
орто
ЧЫНЫГЫ

CVE-2014-0054
-
CVE-2014-0054
орто
ЧЫНЫГЫ

CVE-2013-6430
-
-
орто
ЧЫНЫГЫ

жазгы контекст: 3.0.5
CVE-2011-2894
компонент табылган жок
-
орто
ЧЫНЫГЫ

Spring-core: 3.0.5
-
CVE-2011-2730
CVE-2011-2730
бийик
ЧЫНЫГЫ

CVE-2011-2894
CVE-2011-2894
CVE-2011-2894
орто
ЧЫНЫГЫ

-
-
CVE-2013-4152
орто
ЖАЛГАН
Жазгы веб-сайттагы ошол эле аялуулуктун дубликаты

-
CVE-2013-4152
-
орто
ЖАЛГАН
Аялуу жазгы желе компонентине тиешелүү

-
CVE-2013-6429
CVE-2013-6429
орто
ЖАЛГАН
Аялуу жазгы желе компонентине тиешелүү

-
CVE-2013-6430
-
орто
ЖАЛГАН
Аялуу жазгы желе компонентине тиешелүү

-
CVE-2013-7315
CVE-2013-7315
орто
ЖАЛГАН
CVE-2013-4152ден SPLIT. + Аялуу жазгы желе компонентине тиешелүү

-
CVE-2014-0054
CVE-2014-0054
орто
ЖАЛГАН
Аялуу жазгы желе компонентине тиешелүү

-
CVE-2014-0225
-
бийик
ЖАЛГАН
Аялуу жазгы желе компонентине тиешелүү

-
-
CVE-2014-0225
бийик
ЖАЛГАН
Жазгы веб-сайттагы ошол эле аялуулуктун дубликаты

-
CVE-2014-1904
CVE-2014-1904
орто
ЖАЛГАН
Алсыздык spring-web-mvc компонентине тиешелүү

-
CVE-2014-3625
CVE-2014-3625
орто
ЖАЛГАН
Алсыздык spring-web-mvc компонентине тиешелүү

-
CVE-2016-9878
CVE-2016-9878
бийик
ЖАЛГАН
Алсыздык spring-web-mvc компонентине тиешелүү

-
CVE-2018-1270
CVE-2018-1270
бийик
ЖАЛГАН
Жаз-экспрессия/жаз-билдирүү үчүн

-
CVE-2018-1271
CVE-2018-1271
орто
ЖАЛГАН
Алсыздык spring-web-mvc компонентине тиешелүү

-
CVE-2018-1272
CVE-2018-1272
бийик
ЧЫНЫГЫ

CVE-2014-3578
CVE-2014-3578 (OSSINDEX)
CVE-2014-3578
орто
ЧЫНЫГЫ

SONATYPE-2015-0327
-
-
төмөн
ЧЫНЫГЫ

struts2-config-browser-plugin:2.3.30
SONATYPE-2016-0104
-
-
орто
ЧЫНЫГЫ

spring-tx:3.0.5
-
CVE-2011-2730
-
бийик
ЖАЛГАН
аялуу жаз-tx үчүн өзгөчө эмес

-
CVE-2011-2894
-
бийик
ЖАЛГАН
аялуу жаз-tx үчүн өзгөчө эмес

-
CVE-2013-4152
-
орто
ЖАЛГАН
аялуу жаз-tx үчүн өзгөчө эмес

-
CVE-2013-6429
-
орто
ЖАЛГАН
аялуу жаз-tx үчүн өзгөчө эмес

-
CVE-2013-6430
-
орто
ЖАЛГАН
аялуу жаз-tx үчүн өзгөчө эмес

-
CVE-2013-7315
-
орто
ЖАЛГАН
аялуу жаз-tx үчүн өзгөчө эмес

-
CVE-2014-0054
-
орто
ЖАЛГАН
аялуу жаз-tx үчүн өзгөчө эмес

-
CVE-2014-0225
-
бийик
ЖАЛГАН
аялуу жаз-tx үчүн өзгөчө эмес

-
CVE-2014-1904
-
орто
ЖАЛГАН
аялуу жаз-tx үчүн өзгөчө эмес

-
CVE-2014-3625
-
орто
ЖАЛГАН
аялуу жаз-tx үчүн өзгөчө эмес

-
CVE-2016-9878
-
бийик
ЖАЛГАН
аялуу жаз-tx үчүн өзгөчө эмес

-
CVE-2018-1270
-
бийик
ЖАЛГАН
аялуу жаз-tx үчүн өзгөчө эмес

-
CVE-2018-1271
-
орто
ЖАЛГАН
аялуу жаз-tx үчүн өзгөчө эмес

-
CVE-2018-1272
-
орто
ЖАЛГАН
аялуу жаз-tx үчүн өзгөчө эмес

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

орто
FASLE
Struts 2 үчүн аялуу

-
CVE-2012-0391 (OSSINDEX)
CVE-2012-0391
бийик
ЖАЛГАН
Struts 2 үчүн аялуу

-
CVE-2014-0094 (OSSINDEX)
CVE-2014-0094
орто
ЖАЛГАН
Struts 2 үчүн аялуу

-
CVE-2014-0113 (OSSINDEX)
CVE-2014-0113
бийик
ЖАЛГАН
Struts 2 үчүн аялуу

CVE-2016-1182
3VE-2016-1182
-
бийик
ЧЫНЫГЫ

-
-
CVE-2011-5057
орто
ЖАЛГАН
Struts 2 үчүн аялуу

-
CVE-2012-0392 (OSSINDEX)
CVE-2012-0392
бийик
ЖАЛГАН
Struts 2 үчүн аялуу

-
CVE-2012-0393 (OSSINDEX)
CVE-2012-0393
орто
ЖАЛГАН
Struts 2 үчүн аялуу

CVE-2015-0899
CVE-2015-0899
-
бийик
ЧЫНЫГЫ

-
CVE-2012-0394
CVE-2012-0394
орто
ЖАЛГАН
Struts 2 үчүн аялуу

-
CVE-2012-0838 (OSSINDEX)
CVE-2012-0838
бийик
ЖАЛГАН
Struts 2 үчүн аялуу

-
CVE-2013-1965 (OSSINDEX)
CVE-2013-1965
бийик
ЖАЛГАН
Struts 2 үчүн аялуу

-
CVE-2013-1966 (OSSINDEX)
CVE-2013-1966
бийик
FASLE
Struts 2 үчүн аялуу

-
CVE-2013-2115
CVE-2013-2115
бийик
FASLE
Struts 2 үчүн аялуу

-
CVE-2013-2134 (OSSINDEX)
CVE-2013-2134
бийик
FASLE
Struts 2 үчүн аялуу

-
CVE-2013-2135 (OSSINDEX)
CVE-2013-2135
бийик
FASLE
Struts 2 үчүн аялуу

CVE-2014-0114
CVE-2014-0114
-
бийик
ЧЫНЫГЫ

-
CVE-2015-2992
CVE-2015-2992
орто
ЖАЛГАН
Struts 2 үчүн аялуу

-
CVE-2016-0785 (OSSINDEX)
CVE-2016-0785
бийик
ЖАЛГАН
Struts 2 үчүн аялуу

CVE-2016-1181
CVE-2016-1181
-
бийик
ЧЫНЫГЫ

-
CVE-2016-4003 (OSSINDEX)
CVE-2016-4003
бийик
ЖАЛГАН
Struts 2 үчүн аялуу

xwork-core: 2.3.30
CVE-2017-9804
-
-
бийик
ЧЫНЫГЫ

SONATYPE-2017-0173
-
-
бийик
ЧЫНЫГЫ

CVE-2017-7672
-
-
бийик
ЖАЛГАН
CVE-2017-9804 дубликаты

SONATYPE-2016-0127
-
-
бийик
ЧЫНЫГЫ

struts2-core: 2.3.30
-
CVE-2016-6795
CVE-2016-6795
бийик
ЧЫНЫГЫ

-
CVE-2017-9787
CVE-2017-9787
бийик
ЧЫНЫГЫ

-
CVE-2017-9791
CVE-2017-9791
бийик
ЧЫНЫГЫ

-
CVE-2017-9793
-
бийик
ЖАЛГАН
CVE-2018-1327 көчүрмөсү

-
CVE-2017-9804
-
бийик
ЧЫНЫГЫ

-
CVE-2017-9805
CVE-2017-9805
бийик
ЧЫНЫГЫ

CVE-2016-4003
-
-
орто
ЖАЛГАН
Apache Struts 2.x 2.3.28ге чейин колдонулат, бул 2.3.30 версиясы. Бирок, сүрөттөмөнүн негизинде, эгерде JRE 2 же андан азыраак колдонулса, CVE Struts 1.7нин каалаган версиясы үчүн жарактуу. Кыязы, алар бизди бул жерде кайра камсыздандырууну чечишти окшойт, бирок бул ЖАЛГАН окшойт

-
CVE-2018-1327
CVE-2018-1327
бийик
ЧЫНЫГЫ

CVE-2017-5638
CVE-2017-5638
CVE-2017-5638
бийик
ЧЫНЫГЫ
2017-жылы Equifax хакерлери пайдаланган ошол эле аялуу

CVE-2017-12611
CVE-2017-12611
-
бийик
ЧЫНЫГЫ

CVE-2018-11776
CVE-2018-11776
CVE-2018-11776
бийик
ЧЫНЫГЫ

struts-taglib:1.3.8
-
CVE-2012-0394
-
орто
ЖАЛГАН
Struts2-core үчүн

-
CVE-2013-2115
-
бийик
ЖАЛГАН
Struts2-core үчүн

-
CVE-2014-0114
-
бийик
ЖАЛГАН
Commons-beanutils үчүн

-
CVE-2015-0899
-
бийик
ЖАЛГАН
Taglib үчүн колдонулбайт

-
CVE-2015-2992
-
орто
ЖАЛГАН
Struts2-ядрого тиешелүү

-
CVE-2016-1181
-
бийик
ЖАЛГАН
Taglib үчүн колдонулбайт

-
CVE-2016-1182
-
бийик
ЖАЛГАН
Taglib үчүн колдонулбайт

Struts-Tiles-1.3.8
-
CVE-2012-0394
-
орто
ЖАЛГАН
Struts2-core үчүн

-
CVE-2013-2115
-
бийик
ЖАЛГАН
Struts2-core үчүн

-
CVE-2014-0114
-
бийик
ЖАЛГАН
Commons-beanutils астында

-
CVE-2015-0899
-
бийик
ЖАЛГАН
плиткалар үчүн колдонулбайт

-
CVE-2015-2992
-
орто
ЖАЛГАН
Struts2-core үчүн

-
CVE-2016-1181
-
бийик
ЖАЛГАН
Taglib үчүн колдонулбайт

-
CVE-2016-1182
-
бийик
ЖАЛГАН
Taglib үчүн колдонулбайт

Source: www.habr.com

Комментарий кошуу