DevSecOps: مبادئ التشغيل والمقارنة بين SCA. الجزء الأول

تتزايد أهمية تحليل مكونات برامج الطرف الثالث (تحليل تكوين البرامج الإنجليزية - SCA) في عملية التطوير مع إصدار تقارير سنوية حول نقاط الضعف في مكتبات المصدر المفتوح ، والتي تنشرها Synopsys و Sonatype و Snyk و White Source. وفقا للتقرير حالة الثغرات الأمنية مفتوحة المصدر لعام 2020 زاد عدد نقاط الضعف التي تم تحديدها في المصدر المفتوح في عام 2019 بنحو 1.5 مرة مقارنة بالعام السابق ، بينما يتم استخدام المكونات مفتوحة المصدر بنسبة 60٪ إلى 80٪ من المشاريع. في رأي مستقل ، تعد عمليات SCA ممارسة قائمة بذاتها لـ OWASP SAMM و BSIMM كمؤشر للنضج ، وفي النصف الأول من عام 2020 ، أصدرت OWASP معيار التحقق من مكونات البرامج (SCVS) الجديد OWASP الذي يوفر أفضل الممارسات للتحقق من الثالثة. - مكونات الطرف في سلسلة التوريد BY.

DevSecOps: مبادئ التشغيل والمقارنة بين SCA. الجزء الأول

واحدة من أكثر الحالات توضيحية حدث مع Equifax في مايو 2017. حصل مهاجمون مجهولون على معلومات حول 143 مليون أمريكي ، بما في ذلك الأسماء الكاملة والعناوين وأرقام الضمان الاجتماعي ورخص القيادة. في 209 حالة ، تضمنت الوثائق أيضًا معلومات حول البطاقات المصرفية للضحايا. حدث هذا التسرب كنتيجة لاستغلال ثغرة خطيرة في Apache Struts 000 (CVE-2-2017) ، بينما تم إصدار الإصلاح مرة أخرى في مارس 5638. كان لدى الشركة شهرين لتثبيت التحديث ، لكن لم يزعج أحد بشأنه.

ستناقش هذه المقالة مسألة اختيار أداة لإجراء SCA من حيث جودة نتائج التحليل. سيتم أيضًا إجراء مقارنة وظيفية للأدوات. سنترك عملية التضمين في CI / CD وفرص التكامل للمنشورات اللاحقة. تم تقديم مجموعة واسعة من الأدوات بواسطة OWASP على موقع الويب الخاص بك، ولكن كجزء من المراجعة الحالية ، سنتطرق فقط إلى أداة التحقق من التبعية الأكثر شيوعًا ، ومنصة تتبع التبعية مفتوحة المصدر الأقل شهرة ، وحل Sonatype Nexus IQ Enterprise. سوف نفهم أيضًا كيفية عمل هذه الحلول ونقارن النتائج التي تم الحصول عليها للإيجابيات الخاطئة.

DevSecOps: مبادئ التشغيل والمقارنة بين SCA. الجزء الأول

كيف يعمل

التحقق من التبعية هي أداة مساعدة (CLI ، maven ، jenkins module ، ant) ​​تقوم بتحليل ملفات المشروع ، وتجمع أجزاء من المعلومات حول التبعيات (اسم الحزمة ، ومعرّف المجموعة ، وعنوان المواصفات ، والإصدار ...) ، وتبني سلسلة CPE - (تعداد النظام الأساسي المشترك ) ، عنوان URL للحزمة (PURL) ويكتشف نقاط الضعف لـ CPE / PURL من قواعد البيانات (NVD ، Sonatype OSS Index ، NPM Audit API ...) ، وبعد ذلك ينشئ تقريرًا لمرة واحدة بتنسيق HTML و JSON و XML ...

فكر في الشكل الذي يبدو عليه CPE:

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

  • جزء: إشارة إلى أن المكون ينتمي إلى التطبيق (أ) ، نظام التشغيل (س) ، الأجهزة (ح) (عنصر مطلوب)
  • العلامة التجارية: اسم الشركة المصنعة للمنتج (عنصر مطلوب)
  • المنتج: اسم المنتج (مطلوب)
  • الاسم: إصدار المكون (عنصر مهمل)
  • تحديث: تحديث الحزمة
  • الطبعة: نسخة موروثة (عنصر مهمل)
  • اللغات: اللغة المحددة في RFC-5646
  • إصدار SW: إصدار البرنامج
  • الهدف 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. المشكلة الأولى التي يجب الانتباه إليها على الفور هي أن CVE في NVD ، وفقًا لـ CPE ، تشير إلى وجود مشكلة في إطار العمل ، وليس في مكون معين. أي ، إذا كان المطورون مرتبطين بإحكام بإطار العمل ، ولا تنطبق الثغرة الأمنية المحددة على الوحدات النمطية التي يستخدمها المطورون ، فسيتعين على اختصاصي الأمان بطريقة ما تفكيك CVE والتفكير في التحديث.

يتم استخدام عنوان URL أيضًا بواسطة أدوات SCA. تنسيق URL الخاص بالحزمة كما يلي:

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

  • مخطط: سيكون هناك دائمًا "pkg" للإشارة إلى أن هذا عنوان URL للحزمة (مطلوب)
  • النوع: "نوع" الحزمة ، أو "بروتوكول" الحزمة ، مثل maven و npm و nuget و gem و pypi وما إلى ذلك. (عنصر مطلوب)
  • مساحة الاسم: بادئة اسم ما ، مثل معرف مجموعة Maven أو مالك صورة Docker أو مستخدم GitHub أو المؤسسة. اختياري ويعتمد على النوع.
  • الاسم: اسم الحزمة (مطلوب)
  • الاسم: إصدار الحزمة
  • تصفيات: بيانات تأهيل إضافية للحزمة ، مثل نظام التشغيل ، والهندسة المعمارية ، والتوزيع ، وما إلى ذلك. العنصر الاختياري والنوع المحدد.
  • المسار الفرعي: مسار إضافي في الحزمة بالنسبة إلى جذر الحزمة

على سبيل المثال:

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

مسار التبعية - منصة ويب داخل الشركة تقبل قائمة المواد الجاهزة (BOM) التي تم إنشاؤها سيكلون DX и سبدكس، أي المواصفات الجاهزة حول التبعيات المتاحة. هذا ملف XML مع وصف التبعيات - الاسم ، التجزئة ، عنوان url للحزمة ، الناشر ، الترخيص. بعد ذلك ، يوزع Dependency Track قائمة مكونات الصنف ، وينظر في CVEs المتاحة للاعتماديات المحددة من قاعدة بيانات الثغرات الأمنية (NVD ، Sonatype OSS Index ...) ، ثم ينشئ الرسوم البيانية ، ويحسب المقاييس ، ويحدّث البيانات بانتظام عن حالة الثغرات الأمنية للمكونات .

مثال لما قد يبدو عليه BOM في تنسيق 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>

يمكن استخدام قائمة مكونات الصنف ليس فقط كمعلمات إدخال لتتبع التبعية ، ولكن أيضًا لجرد مكونات البرامج في سلسلة التوريد ، على سبيل المثال ، لتوفير البرامج للعميل. في عام 2014 ، تم اقتراح قانون للنظر فيه في الولايات المتحدة «قانون الشفافية وإدارة سلسلة التوريد السيبراني لعام 2014»الذي قال أنه عند شراء البرمجيات ، أي دولة. يجب على المؤسسة أن تطلب BOM لمنع استخدام المكونات الضعيفة ، لكن القانون لم يدخل حيز التنفيذ.

بالعودة إلى SCA ، فإن Dependency Track لديه تكامل خارج الصندوق مع منصات الإخطار مثل Slack وأنظمة إدارة الثغرات الأمنية مثل Kenna Security. من الجدير بالذكر أيضًا أن Dependency Track يكتشف أيضًا الإصدارات القديمة من الحزم ويوفر معلومات حول التراخيص (بسبب دعم SPDX).

إذا تحدثنا تحديدًا عن جودة SCA ، فهناك فرق جوهري.

لا يقبل Dependency Track مشروعًا كمدخل ، ولكنه يقبل BOM. هذا يعني أنه إذا أردنا اختبار المشروع ، فسنحتاج أولاً إلى إنشاء bom.xml ، على سبيل المثال باستخدام CycloneDX. وبالتالي ، يعتمد مسار التبعية بشكل مباشر على CycloneDX. في نفس الوقت ، يسمح بالتخصيص. لذلك كتب فريق OZON وحدة CycloneDX لبناء ملفات BOM لمشاريع Golang لمزيد من المسح من خلال تتبع التبعية.

نيكزس الذكاء هو حل SCA تجاري من Sonatype ، وهو جزء من نظام Sonatype البيئي ، والذي يتضمن أيضًا Nexus Repository Manager. يمكن لـ Nexus IQ قبول كل من أرشيفات الحرب (لمشاريع جافا) كمدخلات عبر واجهة الويب أو واجهة برمجة التطبيقات ، و BOM إذا لم يكن لدى مؤسستك الوقت للتبديل من CycloneDX إلى حل جديد. على عكس الحلول مفتوحة المصدر ، لا يشير معدل الذكاء فقط إلى CP / PURL إلى المكون المحدد والثغرة الأمنية المقابلة في قاعدة البيانات ، ولكنه يأخذ أيضًا في الاعتبار البحث الخاص به ، على سبيل المثال ، اسم الوظيفة أو الفئة المعرضة للخطر. ستتم مناقشة آليات معدل الذكاء لاحقًا في تحليل النتائج.

دعنا نلخص بعض الميزات الوظيفية ، وننظر أيضًا في اللغات المدعومة للتحليل:

لغة
نيكزس الذكاء
التحقق من التبعية
مسار التبعية

جافا
+
+
+

C / C ++
+
+
-

C#
+
+
-

.شبكة
+
+
+

إرلانج
-
-
+

جافا سكريبت (NodeJS)
+
+
+

PHP
+
+
+

بايثون
+
+
+

روبي
+
+
+

بيرل
-
-
-

سكالا
+
+
+

الهدف C
+
+
-

سويفت
+
+
-

R
+
-
-

Go
+
+
+

وظائف

وظائف
نيكزس الذكاء
التحقق من التبعية
مسار التبعية

القدرة على التأكد من أن المكونات المستخدمة في كود المصدر يتم فحصها للتأكد من نقاء الترخيص
+
-
+

القدرة على المسح والتحليل بحثًا عن نقاط الضعف ونظافة الترخيص لصور Docker
+ التكامل مع كلير
-
-

القدرة على تكوين نهج الأمان لاستخدام مكتبات مفتوحة المصدر
+
-
-

القدرة على مسح مستودعات مفتوحة المصدر للمكونات الضعيفة
+ 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 Public Advisors
+ Sonatype OSS و NPM Public Advisors و RetireJS و VulnDB ودعم قاعدة بيانات الثغرات الأمنية

القدرة على تصفية المكونات مفتوحة المصدر عند محاولة التحميل إلى حلقة التطوير وفقًا للسياسات المكونة
+
-
-

توصيات لإصلاح الثغرات الأمنية ، وتوافر روابط للإصلاح
+
+ - (يعتمد على الوصف في قواعد البيانات العامة)
+ - (يعتمد على الوصف في قواعد البيانات العامة)

ترتيب الثغرات المكتشفة حسب الأهمية
+
+
+

نموذج الوصول إلى الدور
+
-
+

دعم CLI
+
+
+ - (CycloneDX فقط)

اختيار / تصنيف نقاط الضعف وفقًا لمعايير محددة
+
-
+

لوحة القيادة حسب حالة التطبيق
+
-
+

إصدار التقرير بصيغة PDF
+
-
-

إنشاء تقرير بتنسيق JSONCSV
+
+
-

دعم اللغة الروسية
-
-
-

خيارات التكامل

التكامل
نيكزس الذكاء
التحقق من التبعية
مسار التبعية

التكامل مع LDAP / Active Directory
+
-
+

التكامل المستمر من الخيزران
+
-
-

التكامل مع نظام التكامل المستمر (التكامل المستمر) TeamCity
+
-
-

التكامل مع نظام التكامل المستمر (التكامل المستمر) GitLab
+
+ - (كمكوِّن إضافي لـ GitLab)
+

التكامل مع نظام التكامل المستمر (التكامل المستمر) جنكينز
+
+
+

توافر ملحقات IDE
+ IntelliJ و Eclipse و Visual Studio
-
-

دعم التكامل المخصص عبر خدمات الويب (API) للأداة
+
-
+

التحقق من التبعية

البداية الأولى

قم بتشغيل Dependency Check على تطبيق ضعيف بشكل متعمد DVJA.

لهذا نستخدم التحقق من التبعية البرنامج المساعد مخضرم:

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

نتيجة لذلك ، سوف تظهر تبعية-check-report.html في الدليل الهدف.

DevSecOps: مبادئ التشغيل والمقارنة بين SCA. الجزء الأول

لنفتح الملف. بعد ملخص للعدد الإجمالي للثغرات الأمنية ، يمكننا أن نرى معلومات حول نقاط الضعف بمستوى عالٍ من الخطورة والثقة ، تشير إلى الحزمة ، CPE ، وعدد من CVEs.

تتبع معلومات أكثر تفصيلاً ، على وجه الخصوص ، على أساس اتخاذ القرار (الدليل) ، أي قائمة مواد معينة.

DevSecOps: مبادئ التشغيل والمقارنة بين SCA. الجزء الأول

يأتي بعد ذلك CPE و PURL ووصف CVE. بالمناسبة ، لم يتم إرفاق توصيات الإصلاح بسبب غيابها في قاعدة بيانات NVD.

DevSecOps: مبادئ التشغيل والمقارنة بين SCA. الجزء الأول

لعرض نتائج الفحص بشكل منهجي ، يمكنك تكوين Nginx مع الحد الأدنى من الإعدادات ، أو إرسال العيوب المستلمة إلى نظام إدارة العيوب الذي يدعم موصلات التحقق من التبعية. على سبيل المثال ، Defect Dojo.

مسار التبعية

تركيب

يعد Dependency Track ، بدوره ، نظامًا أساسيًا على شبكة الإنترنت به رسوم بيانية للعرض ، لذلك لا توجد مشكلة حادة في تخزين العيوب في حل جهة خارجية.
هناك سيناريوهات مدعومة للتثبيت: Docker و WAR و Executable WAR.

البداية الأولى

انتقل إلى عنوان URL للخدمة قيد التشغيل. ندخل من خلال admin / admin ، ونغير تسجيل الدخول وكلمة المرور ، وبعد ذلك نصل إلى لوحة التحكم الرئيسية. الشيء التالي الذي سنفعله هو إنشاء مشروع لتطبيق اختبار Java بتنسيق الصفحة الرئيسية / المشاريع → إنشاء مشروع . لنأخذ DVJA كمثال.

DevSecOps: مبادئ التشغيل والمقارنة بين SCA. الجزء الأول

نظرًا لأن تتبع التبعية لا يمكن أن يأخذ BOM إلا كمدخلات ، يجب استرداد BOM هذا. لنستخدم البرنامج المساعد CycloneDX Maven:

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

نحصل على bom.xml ونحمل الملف في المشروع الذي تم إنشاؤه DVJA → التبعيات → تحميل BOM.

دعنا ننتقل إلى الإدارة ← المحللات. نحن نتفهم أنه لدينا فقط المحلل الداخلي ، والذي يتضمن NVD. دعونا أيضًا نربط مؤشر Sonatype OSS.

DevSecOps: مبادئ التشغيل والمقارنة بين SCA. الجزء الأول

وهكذا نحصل على الصورة التالية لمشروعنا:

DevSecOps: مبادئ التشغيل والمقارنة بين SCA. الجزء الأول

في القائمة أيضًا ، يمكنك العثور على ثغرة أمنية واحدة تنطبق على Sonatype OSS:

DevSecOps: مبادئ التشغيل والمقارنة بين SCA. الجزء الأول

خيبة الأمل الرئيسية كانت أن تتبع التبعية لم يعد يقبل تقارير التحقق من التبعية xml. كانت أحدث الإصدارات المدعومة من تكامل Dependency Check 1.0.0 - 4.0.2 أثناء اختبار 5.3.2.

ها هو فيديوهنا) عندما كان لا يزال ممكنًا.

نيكزس الذكاء

البداية الأولى

يتم تثبيت Nexus IQ من أرشيفات البرامج توثيق، لكننا قمنا بتجميع صورة Docker لهذا الغرض.

بعد تسجيل الدخول إلى وحدة التحكم ، تحتاج إلى إنشاء منظمة وتطبيق.

DevSecOps: مبادئ التشغيل والمقارنة بين SCA. الجزء الأول

DevSecOps: مبادئ التشغيل والمقارنة بين SCA. الجزء الأول

DevSecOps: مبادئ التشغيل والمقارنة بين SCA. الجزء الأول

كما ترى ، يعد التكوين في حالة معدل الذكاء أكثر تعقيدًا إلى حد ما ، لأننا نحتاج أيضًا إلى إنشاء سياسات قابلة للتطبيق على "المراحل" المختلفة (dev ، build ، stage ، release). يعد هذا ضروريًا لمنع المكونات الضعيفة أثناء اقترابها من خط أنابيب الإنتاج ، أو حظرها بمجرد دخولها إلى Nexus Repo عند تنزيلها بواسطة المطورين.

لتشعر بالفرق بين المصدر المفتوح والمؤسسة ، دعنا نجري نفس الفحص من خلال Nexus IQ بنفس الطريقة البرنامج المساعد مخضرم، بعد أن قمت مسبقًا بإنشاء تطبيق تجريبي في واجهة 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>

اتبع عنوان URL للتقرير الذي تم إنشاؤه في واجهة الويب الخاصة بـ IQ:

DevSecOps: مبادئ التشغيل والمقارنة بين SCA. الجزء الأول

يمكنك هنا الاطلاع على جميع انتهاكات السياسة بمستويات خطورة مختلفة (من المعلومات إلى الأهمية الأمنية). يعني الحرف D الموجود بجوار المكون أن المكون هو تبعية مباشرة ، ويعني الحرف T الموجود بجوار المكون أن المكون تبعية انتقالية ، أي أنه متعد.

بالمناسبة ، التقرير تقرير حالة المصدر المفتوح للأمان لعام 2020 من Snyk تفيد بأن أكثر من 70٪ من الثغرات الأمنية مفتوحة المصدر الموجودة في Node.js و Java و Ruby هي في تبعيات متعدية.

إذا فتحنا أحد انتهاكات سياسة Nexus IQ ، فيمكننا رؤية وصف المكون ، بالإضافة إلى مخطط الإصدار ، الذي يعرض موقع الإصدار الحالي على الرسم البياني الزمني ، وكذلك في أي نقطة تتوقف الثغرة الأمنية عن كن عرضة للخطر. يوضح ارتفاع الشموع على الرسم البياني مدى شيوع استخدام هذا المكون.

DevSecOps: مبادئ التشغيل والمقارنة بين SCA. الجزء الأول

إذا انتقلت إلى قسم الثغرات الأمنية وفتحت CVE ، فيمكنك قراءة وصف هذه الثغرة الأمنية ، وتوصيات للمعالجة ، بالإضافة إلى سبب انتهاك هذا المكون ، أي وجود الفئة DiskFileitem.class.

DevSecOps: مبادئ التشغيل والمقارنة بين SCA. الجزء الأول

DevSecOps: مبادئ التشغيل والمقارنة بين SCA. الجزء الأول

دعنا نلخص فقط مكونات Java التابعة لجهات خارجية عن طريق إزالة مكونات js. بين قوسين ، نشير إلى عدد تلك الثغرات الأمنية التي تم العثور عليها خارج NVD.

إجمالي نسبة الذكاء في Nexus:

  • التبعيات الممسوحة ضوئيًا: 62
  • التبعيات المستضعفة: 16
  • تم العثور على ثغرات أمنية: 42 (8 سوناتيب ديسيبل)

فحص التبعية الإجمالية:

  • التبعيات الممسوحة ضوئيًا: 47
  • التبعيات المستضعفة: 13
  • تم العثور على ثغرات أمنية: 91 (14 sonatype oss)

إجمالي مسار التبعية:

  • التبعيات الممسوحة ضوئيًا: 59
  • التبعيات المستضعفة: 10
  • تم العثور على ثغرات أمنية: 51 (1 sonatype oss)

الخطوة التالية هي تحليل النتائج ومعرفة أي من نقاط الضعف هذه هو عيب حقيقي وأيها إيجابي خاطئ.

تنصل

هذه المراجعة ليست حقيقة لا جدال فيها. لم يكن للمؤلف هدف تحديد أداة منفصلة على خلفية الآخرين. كان الغرض من المراجعة هو إظهار كيفية عمل أدوات SCA وكيفية التحقق من نتائجها.

مقارنة النتائج

الشروط والأحكام:

الإيجابيات الكاذبة للثغرات الأمنية لمكونات الطرف الثالث هي:

  • عدم تطابق CVE مع المكون المحدد
  • على سبيل المثال ، إذا تم العثور على ثغرة أمنية في إطار عمل struts2 ، وكانت الأداة تشير إلى أحد مكونات إطار عمل بلاطات الدعامات التي لا تتأثر بهذه الثغرة الأمنية ، فهذه نتيجة إيجابية خاطئة
  • عدم تطابق CVE مع إصدار المكون المكتشف
  • على سبيل المثال ، ترتبط الثغرة الأمنية بإصدار python> 3.5 وتقوم الأداة بتمييز الإصدار 2.7 على أنه ضعيف - وهذا إيجابي كاذب ، نظرًا لأن الثغرة تنطبق فقط على فرع المنتج 3.x
  • ازدواجية التطرف العنيف
  • على سبيل المثال ، إذا أشارت SCA إلى CVE الذي يسمح بتنفيذ RCE ، فإن SCA تشير إلى نفس CVE الذي ينطبق على منتجات Cisco التي تخضع لهذا RCE. في هذه الحالة ، سيكون موجبًا كاذبًا.
  • على سبيل المثال ، تم العثور على CVE في مكون Spring-web ، وبعد ذلك تشير SCA إلى نفس التطرف العنيف في المكونات الأخرى لإطار الربيع ، في حين أن مكافحة التطرف العنيف لا علاقة لها بالمكونات الأخرى. في هذه الحالة ، سيكون موجبًا كاذبًا.

موضوع البحث هو مشروع المصدر المفتوح DVJA. اشتملت الدراسة على مكونات جافا فقط (بدون js).

نتائج موجزة

دعنا ننتقل إلى نتيجة المراجعة اليدوية للثغرات الأمنية المحددة. يمكن العثور على تقرير كامل عن كل CVE في الملحق.

نتائج موجزة لجميع نقاط الضعف:

المعلمة
نيكزس الذكاء
التحقق من التبعية
مسار التبعية

تحديد إجمالي نقاط الضعف
42
91
51

نقاط الضعف التي تم تحديدها بشكل غير صحيح (إيجابية كاذبة)
2 (4.76٪)
62 (68,13٪)
29 (56.86٪)

لم يتم العثور على ثغرات أمنية ذات صلة (سلبية كاذبة)
10
20
27

النتائج الموجزة حسب المكونات:

المعلمة
نيكزس الذكاء
التحقق من التبعية
مسار التبعية

تم الكشف عن إجمالي المكونات
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. الجزء الأول
المصدر: www.sonatype.com/why-precision-matters-ebook

دعونا نلقي نظرة على بعض من CVEs من نتائج الفحص لدينا لفهم سبب هذه النتائج.

أكثر

№ 1

دعنا أولاً نحلل بعض النقاط المثيرة للاهتمام في Sonatype Nexus IQ.

يشير Nexus IQ إلى مشكلة إلغاء التسلسل مع القدرة على RCE عدة مرات في Spring Framework. CVE-2016-1000027 في spring-web: 3.0.5 لأول مرة ، و CVE-2011-2894 في سياق الربيع: 3.0.5 و spring-core: 3.0.5. في البداية ، يبدو أن هناك ازدواجية في نقاط الضعف عبر العديد من مكافحة التطرف العنيف. لذلك ، إذا نظرت إلى CVE-2016-1000027 و CVE-2011-2894 في قاعدة بيانات NVD ، فيبدو أن كل شيء واضح

عنصر
عالي التأثر

سبرينج ويب: 3.0.5
CVE-2016-1000027

سياق الربيع: 3.0.5
CVE-2011-2894

نواة الربيع: 3.0.5
CVE-2011-2894

وصف CVE-2011-2894 من nvd:
DevSecOps: مبادئ التشغيل والمقارنة بين SCA. الجزء الأول

وصف CVE-2016-1000027 من nvd:
DevSecOps: مبادئ التشغيل والمقارنة بين SCA. الجزء الأول

CVE-2011-2894 معروف جيدًا بحد ذاته. في التقرير المصدر الأبيض لعام 2011 تم التعرف على هذا التطرف العنيف كواحد من أكثر الحالات شيوعًا. أوصاف CVE-2016-100027 ، من حيث المبدأ ، قليلة في NVD ، ويبدو أنها تنطبق فقط على Spring Framework 4.1.4. دعونا نلقي نظرة على مرجع وهنا يصبح الأمر أكثر أو أقل وضوحًا. من مقالات قابلة للاستمرار نحن نتفهم ذلك بالإضافة إلى الضعف في RemoteInvocationSerializingExporter في CVE-2011-2894 ، تظهر الثغرة الأمنية في HttpInvokerServiceExporter. هذا ما يخبرنا به Nexus IQ:

DevSecOps: مبادئ التشغيل والمقارنة بين SCA. الجزء الأول

ومع ذلك ، لا يوجد شيء مثل هذا في NVD ، وهذا هو سبب تلقي فحص التبعية وتتبع التبعية سلبيات كاذبة.

يمكن أيضًا أن يُفهم من وصف CVE-2011-2894 أن الثغرة موجودة بالفعل في سياق الربيع: 3.0.5 و Spring-core: 3.0.5. يمكن العثور على تأكيد لهذا في المقالة من الشخص الذي وجد هذه الثغرة الأمنية.

№ 2

عنصر
عالي التأثر
نتيجة

2-النواة: 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

هناك بعض الأشياء التي تجعل معدل الذكاء يبرز من الحلول الأخرى.

عنصر
عالي التأثر
نتيجة

سبرينج ويب: 3.0.5
CVE-2020-5398
الحقيقة

تنص CVE في NVD على أنها تنطبق فقط على الإصدارات 5.2.x إلى 5.2.3 و 5.1.x إلى 5.1.13 والإصدارات 5.0.x إلى 5.0.16 ، ومع ذلك ، إذا نظرنا إلى وصف CVE في Nexus IQ ، ثم سنرى ما يلي:
إشعار انحراف استشاري: اكتشف فريق البحث الأمني ​​في Sonatype أن هذه الثغرة الأمنية قد تم تقديمها في الإصدار 3.0.2.RELEASE وليس 5.0.x كما هو مذكور في الاستشارة.

ويتبع ذلك إثبات PoC لهذه الثغرة الأمنية ، والذي ينص على أنه موجود في الإصدار 3.0.5.

يتم إرسال السلبية الكاذبة إلى التحقق من التبعية ومسار التبعية.

№ 5

لنلقِ نظرة على النتائج الإيجابية الخاطئة لفحص التبعية ومسار التبعية.

يبرز فحص التبعية بشكل خاص لأنه يعكس تلك CVEs التي تنطبق على إطار العمل بأكمله في NVD لتلك المكونات التي لا تنطبق عليها CVEs. ينطبق هذا على CVE-2012-0394 ، CVE-2013-2115 ، CVE-definitely2014 ، CVE-0114-2015 ، CVE-0899-2015 ، CVE-2992-2016 ، CVE-1181-2016 ، والتي تحقق التبعية "مثبتة" "إلى الدعامات- تاجليب: 1182 و الدعامات- البلاط- 1.3.8. لا علاقة لهذه المكونات بما هو موصوف في CVE - معالجة الطلب والتحقق من صحة الصفحة وما إلى ذلك. ويرجع ذلك إلى حقيقة أن إطار العمل هو الوحيد المشترك بين عناصر مكافحة التطرف العنيف هذه والمكونات ، ولهذا السبب اعتبر فحص التبعية هذه ثغرة أمنية.

نفس الوضع مع spring-tx: 3.0.5 ، وحالة مماثلة مع الدعامات الأساسية: 1.3.8. بالنسبة إلى struts-core ، وجد التحقق من التبعية ومسار التبعية الكثير من الثغرات الأمنية التي تنطبق بالفعل على struts2-core ، والتي تعد في الأساس إطار عمل منفصل. في هذه الحالة ، فهم Nexus IQ الصورة بشكل صحيح وفي تلك CVEs التي أصدرها ، أشار إلى أن الدعامات الأساسية قد انتهت وأنه كان من الضروري التبديل إلى struts2-core.

№ 6

في بعض الحالات ، من غير العدل معالجة خطأ صريح في فحص التبعية وتتبع التبعية. على وجه الخصوص CVE-2013-4152 ، CVE-2013-6429 ، CVE-2013-6430 ، CVE-2013-7315 ، CVE-2014-0054 ، CVE-2014-0225 ، CVE -2014 وهي فحص التبعية ومسار التبعية يشير إلى Spring-core: 0225 تشير في الواقع إلى spring-web: 3.0.5. في الوقت نفسه ، وجد Nexus IQ بعضًا من هذه التطرف العنيف ، ومع ذلك ، حددها معدل الذكاء بشكل صحيح لمكون آخر. انطلاقاً من حقيقة أن هذه الثغرات لم يتم العثور عليها في نواة الربيع ، لا يمكن القول بأنها ليست في إطار العمل من حيث المبدأ ، وقد أشارت أدوات المصدر المفتوح بشكل صحيح إلى هذه الثغرات (لقد فاتتهم قليلاً).

النتائج

كما نرى ، فإن تحديد موثوقية الثغرات الأمنية التي تم تحديدها من خلال المراجعة اليدوية لا يعطي نتائج واضحة ، مما يسبب مشاكل مثيرة للجدل. النتائج هي أن Nexus IQ يحتوي على أقل معدل إيجابي خاطئ وأعلى دقة.

بادئ ذي بدء ، يرجع هذا إلى حقيقة أن فريق Sonatype قام بتوسيع الوصف لكل ثغرة أمنية في مواجهة التطرف العنيف من NVD في قواعد البيانات الخاصة بهم ، مما يشير إلى فئة أو وظيفة الثغرة الأمنية لإصدار معين من المكون ، بعد تنفيذ عمليات إضافية البحث (على سبيل المثال ، عن طريق التحقق من الثغرات الأمنية في إصدارات البرامج القديمة).

تلعب الثغرات الأمنية التي لم يتم تضمينها في NVD تأثيرًا مهمًا على النتائج ، ولكنها مع ذلك موجودة في قاعدة بيانات Sonatype التي تحمل علامة SONATYPE. وفقا للتقرير حالة الثغرات الأمنية مفتوحة المصدر لعام 2020 45٪ من الثغرات الأمنية مفتوحة المصدر لم يتم إبلاغ NVD بها. وفقًا لقاعدة بيانات WhiteSource ، يتم نشر 29٪ فقط من جميع الثغرات الأمنية مفتوحة المصدر المودعة خارج NVD ، وهذا هو سبب أهمية البحث في مكان آخر عن الثغرات أيضًا.

نتيجة لذلك ، يُصدر فحص التبعية الكثير من الضوضاء ، ويفقد بعض المكونات الضعيفة. تنتج Dependency Track ضوضاء أقل وتكتشف عددًا كبيرًا من المكونات ، والتي لا تؤذي العينين في واجهة الويب.

ومع ذلك ، تظهر الممارسة أن المصدر المفتوح هو الذي يجب أن يصبح الخطوات الأولى نحو DevSecOps ناضجة. أول شيء يجب التفكير فيه لتضمين SCA في التنمية هو العمليات ، أي التفكير مع الإدارة والإدارات ذات الصلة حول الشكل الذي يجب أن تبدو عليه العمليات المثالية في مؤسستك. قد يتضح أنه بالنسبة لمؤسستك ، في البداية ، سيغطي فحص التبعية أو تتبع التبعية جميع احتياجات العمل ، وستكون حلول المؤسسات استمرارًا منطقيًا بسبب التعقيد المتزايد للتطبيقات التي يتم تطويرها.

الملحق أ. نتائج المكونات
الرموز:

  • نقاط الضعف عالية المستوى والحرجة في المكون
  • ثغرات أمنية متوسطة الخطورة في المكون
  • صحيح - قضية إيجابية حقيقية
  • خطأ - قضية إيجابية كاذبة

عنصر
نيكزس الذكاء
التحقق من التبعية
مسار التبعية
نتيجة

dom4j: 1.6.1
مرتفع
مرتفع
مرتفع
الحقيقة

log4j- النواة: 2.3
مرتفع
مرتفع
مرتفع
الحقيقة

log4j: 1.2.14
مرتفع
مرتفع
-
الحقيقة

المجموعات المشتركة: 3.1
مرتفع
مرتفع
مرتفع
الحقيقة

تحميل ملف مشترك: 1.3.2
مرتفع
مرتفع
مرتفع
الحقيقة

كومونس بينوتيلز: 1.7.0
مرتفع
مرتفع
مرتفع
الحقيقة

الكودك المشترك: 1: 10
متوسط
-
-
الحقيقة

mysql- رابط- جافا: 5.1.42
مرتفع
مرتفع
مرتفع
الحقيقة

التعبير الربيعي: 3.0.5
مرتفع
المكون غير موجود

الحقيقة

سبرينج ويب: 3.0.5
مرتفع
المكون غير موجود
مرتفع
الحقيقة

سياق الربيع: 3.0.5
متوسط
المكون غير موجود
-
الحقيقة

نواة الربيع: 3.0.5
متوسط
مرتفع
مرتفع
الحقيقة

struts2-config-browser-plugin: 2.3.30
متوسط
-
-
الحقيقة

الربيع- TX: 3.0.5
-
مرتفع
-
خاطئة

الدعامات الأساسية: 1.3.8
مرتفع
مرتفع
مرتفع
الحقيقة

xwork-core: 2.3.30
مرتفع
-
-
الحقيقة

2-النواة: 2.3.30
مرتفع
مرتفع
مرتفع
الحقيقة

الدعامات تاجليب: 1.3.8
-
مرتفع
-
خاطئة

الدعامات والبلاط 1.3.8
-
مرتفع
-
خاطئة

الملحق ب. نتائج الثغرات الأمنية
الرموز:

  • نقاط الضعف عالية المستوى والحرجة في المكون
  • ثغرات أمنية متوسطة الخطورة في المكون
  • صحيح - قضية إيجابية حقيقية
  • خطأ - قضية إيجابية كاذبة

عنصر
نيكزس الذكاء
التحقق من التبعية
مسار التبعية
خطورة
نتيجة
تعليق

dom4j: 1.6.1
CVE-2018-1000632
CVE-2018-1000632
CVE-2018-1000632
مرتفع
الحقيقة

CVE-2020-10683
CVE-2020-10683
CVE-2020-10683
مرتفع
الحقيقة

log4j- النواة: 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
-
منخفض
الحقيقة

سوناتيب 2010-0053
-
-
مرتفع
الحقيقة

المجموعات المشتركة: 3.1
-
CVE-2015-6420
CVE-2015-6420
مرتفع
خاطئة
تكرارات RCE (OSSINDEX)

-
CVE-2017-15708
CVE-2017-15708
مرتفع
خاطئة
تكرارات RCE (OSSINDEX)

سوناتيب 2015-0002
آر سي إي (أوسينديكس)
RCE (OSSINDEX)
مرتفع
الحقيقة

تحميل ملف مشترك: 1.3.2
CVE-2016-1000031
CVE-2016-1000031
CVE-2016-1000031
مرتفع
الحقيقة

سوناتيب 2014-0173
-
-
متوسط
الحقيقة

كومونس بينوتيلز: 1.7.0
CVE-2014-0114
CVE-2014-0114
CVE-2014-0114
مرتفع
الحقيقة

-
CVE-2019-10086
CVE-2019-10086
مرتفع
خاطئة
تنطبق الثغرة الأمنية فقط على الإصدارات 1.9.2+

الكودك المشترك: 1: 10
سوناتيب 2012-0050
-
-
متوسط
الحقيقة

mysql- رابط- جافا: 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
-
متوسط
الحقيقة

التعبير الربيعي: 3.0.5
CVE-2018-1270
المكون غير موجود
-
مرتفع
الحقيقة

CVE-2018-1257
-
-
متوسط
الحقيقة

سبرينج ويب: 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.RELEASE وليس 5.0.x كما هو مذكور في الاستشارة."

CVE-2013-6429
-
-
متوسط
الحقيقة

CVE-2014-0054
-
CVE-2014-0054
متوسط
الحقيقة

CVE-2013-6430
-
-
متوسط
الحقيقة

سياق الربيع: 3.0.5
CVE-2011-2894
المكون غير موجود
-
متوسط
الحقيقة

نواة الربيع: 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. + تتعلق الثغرة الأمنية بمكوِّن ربيع الويب

-
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
متوسط
الحقيقة

سوناتيب 2015-0327
-
-
منخفض
الحقيقة

struts2-config-browser-plugin: 2.3.30
سوناتيب 2016-0104
-
-
متوسط
الحقيقة

الربيع- TX: 3.0.5
-
CVE-2011-2730
-
مرتفع
خاطئة
لا تنطبق الثغرة الأمنية على spring-tx

-
CVE-2011-2894
-
مرتفع
خاطئة
لا تنطبق الثغرة الأمنية على spring-tx

-
CVE-2013-4152
-
متوسط
خاطئة
لا تنطبق الثغرة الأمنية على spring-tx

-
CVE-2013-6429
-
متوسط
خاطئة
لا تنطبق الثغرة الأمنية على spring-tx

-
CVE-2013-6430
-
متوسط
خاطئة
لا تنطبق الثغرة الأمنية على spring-tx

-
CVE-2013-7315
-
متوسط
خاطئة
لا تنطبق الثغرة الأمنية على spring-tx

-
CVE-2014-0054
-
متوسط
خاطئة
لا تنطبق الثغرة الأمنية على spring-tx

-
CVE-2014-0225
-
مرتفع
خاطئة
لا تنطبق الثغرة الأمنية على spring-tx

-
CVE-2014-1904
-
متوسط
خاطئة
لا تنطبق الثغرة الأمنية على spring-tx

-
CVE-2014-3625
-
متوسط
خاطئة
لا تنطبق الثغرة الأمنية على spring-tx

-
CVE-2016-9878
-
مرتفع
خاطئة
لا تنطبق الثغرة الأمنية على spring-tx

-
CVE-2018-1270
-
مرتفع
خاطئة
لا تنطبق الثغرة الأمنية على spring-tx

-
CVE-2018-1271
-
متوسط
خاطئة
لا تنطبق الثغرة الأمنية على spring-tx

-
CVE-2018-1272
-
متوسط
خاطئة
لا تنطبق الثغرة الأمنية على spring-tx

الدعامات الأساسية: 1.3.8
-
CVE-2011-5057 (OSSINDEX)

متوسط
سهل
القابلية للتأثر بالدعامات 2

-
CVE-2012-0391 (OSSINDEX)
CVE-2012-0391
مرتفع
خاطئة
القابلية للتأثر بالدعامات 2

-
CVE-2014-0094 (OSSINDEX)
CVE-2014-0094
متوسط
خاطئة
القابلية للتأثر بالدعامات 2

-
CVE-2014-0113 (OSSINDEX)
CVE-2014-0113
مرتفع
خاطئة
القابلية للتأثر بالدعامات 2

CVE-2016-1182
3VE-2016-1182
-
مرتفع
الحقيقة

-
-
CVE-2011-5057
متوسط
خاطئة
القابلية للتأثر بالدعامات 2

-
CVE-2012-0392 (OSSINDEX)
CVE-2012-0392
مرتفع
خاطئة
القابلية للتأثر بالدعامات 2

-
CVE-2012-0393 (OSSINDEX)
CVE-2012-0393
متوسط
خاطئة
القابلية للتأثر بالدعامات 2

CVE-2015-0899
CVE-2015-0899
-
مرتفع
الحقيقة

-
CVE-2012-0394
CVE-2012-0394
متوسط
خاطئة
القابلية للتأثر بالدعامات 2

-
CVE-2012-0838 (OSSINDEX)
CVE-2012-0838
مرتفع
خاطئة
القابلية للتأثر بالدعامات 2

-
CVE-2013-1965 (OSSINDEX)
CVE-2013-1965
مرتفع
خاطئة
القابلية للتأثر بالدعامات 2

-
CVE-2013-1966 (OSSINDEX)
CVE-2013-1966
مرتفع
سهل
القابلية للتأثر بالدعامات 2

-
CVE-2013-2115
CVE-2013-2115
مرتفع
سهل
القابلية للتأثر بالدعامات 2

-
CVE-2013-2134 (OSSINDEX)
CVE-2013-2134
مرتفع
سهل
القابلية للتأثر بالدعامات 2

-
CVE-2013-2135 (OSSINDEX)
CVE-2013-2135
مرتفع
سهل
القابلية للتأثر بالدعامات 2

CVE-2014-0114
CVE-2014-0114
-
مرتفع
الحقيقة

-
CVE-2015-2992
CVE-2015-2992
متوسط
خاطئة
القابلية للتأثر بالدعامات 2

-
CVE-2016-0785 (OSSINDEX)
CVE-2016-0785
مرتفع
خاطئة
القابلية للتأثر بالدعامات 2

CVE-2016-1181
CVE-2016-1181
-
مرتفع
الحقيقة

-
CVE-2016-4003 (OSSINDEX)
CVE-2016-4003
مرتفع
خاطئة
القابلية للتأثر بالدعامات 2

xwork-core: 2.3.30
CVE-2017-9804
-
-
مرتفع
الحقيقة

سوناتيب 2017-0173
-
-
مرتفع
الحقيقة

CVE-2017-7672
-
-
مرتفع
خاطئة
مضاعفة CVE-2017-9804

سوناتيب 2016-0127
-
-
مرتفع
الحقيقة

2-النواة: 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. ومع ذلك ، بناءً على الوصف ، تعمل CVE على جميع إصدارات Struts 2 طالما يتم استخدام JRE 1.7 وما يليه. من الواضح أنهم قرروا إعادة تأميننا هنا ، لكن يبدو الأمر أشبه بالخطأ

-
CVE-2018-1327
CVE-2018-1327
مرتفع
الحقيقة

CVE-2017-5638
CVE-2017-5638
CVE-2017-5638
مرتفع
الحقيقة
نفس الثغرة الأمنية التي استغلها المهاجمون في Equifax في عام 2017

CVE-2017-12611
CVE-2017-12611
-
مرتفع
الحقيقة

CVE-2018-11776
CVE-2018-11776
CVE-2018-11776
مرتفع
الحقيقة

الدعامات تاجليب: 1.3.8
-
CVE-2012-0394
-
متوسط
خاطئة
للدعامات 2 النواة

-
CVE-2013-2115
-
مرتفع
خاطئة
للدعامات 2 النواة

-
CVE-2014-0114
-
مرتفع
خاطئة
للمشاعات - الفول السوداني

-
CVE-2015-0899
-
مرتفع
خاطئة
لا علاقة لها تاجليب

-
CVE-2015-2992
-
متوسط
خاطئة
المتعلقة بالدعامات 2 النواة

-
CVE-2016-1181
-
مرتفع
خاطئة
لا علاقة لها تاجليب

-
CVE-2016-1182
-
مرتفع
خاطئة
لا علاقة لها تاجليب

الدعامات والبلاط 1.3.8
-
CVE-2012-0394
-
متوسط
خاطئة
للدعامات 2 النواة

-
CVE-2013-2115
-
مرتفع
خاطئة
للدعامات 2 النواة

-
CVE-2014-0114
-
مرتفع
خاطئة
تحت الفول السوداني

-
CVE-2015-0899
-
مرتفع
خاطئة
لا ينطبق على البلاط

-
CVE-2015-2992
-
متوسط
خاطئة
للدعامات 2 النواة

-
CVE-2016-1181
-
مرتفع
خاطئة
لا علاقة لها تاجليب

-
CVE-2016-1182
-
مرتفع
خاطئة
لا علاقة لها تاجليب

المصدر: www.habr.com

إضافة تعليق