تعرف على المزيد عن كتاب بيني تشارني «الأمن السيبراني رأسًا على عقب»

اعرف أكثر
نستخدمُ الذكاء الاصطناعي في ترجمات الموقع، ومع أننا نسعى جاهدين لبلوغ الدقة قد لا تكون هذه الترجمات دقيقةً بنسبة 100% دائمًا. تفهّمك لهذا الأمر هو موضع تقدير لدينا.

تحليل الثغرة الأمنية CVE-2023-33733 مع MetaDefender Core

بقلم OPSWAT
تحليل الثغرة الأمنية CVE-2023-33733 مع MetaDefender Core
المشاركون في برنامج زمالة OPSWAT

أدى التطور السريع للتكنولوجيا إلى زيادة الطلب على المطورين ذوي المهارات العالية. وأصبحت البرمجيات مفتوحة المصدر (OSS) أداة حيوية لهذه القوة العاملة المتنامية. يوجد الآن مئات الآلاف من حزم البرمجيات مفتوحة المصدر الراسخة عبر لغات البرمجة المختلفة. ويستفيد أكثر من 90% من المطورين من هذه المكونات مفتوحة المصدر في تطبيقاتهم الخاصة، مما يسلط الضوء على كفاءة البرمجيات مفتوحة المصدر والقيمة التي توفرها. ومما يؤكد أهميتها بشكل أكبر، من المتوقع أن يصل حجم سوق البرمجيات مفتوحة المصدر العالمي إلى 80.7 مليار دولار بحلول عام 2030، مما يعكس معدل نمو متوقعًا يبلغ 16.7% سنويًا.

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

في هذه المقالة، يفحص زملاء OPSWAT الخريجون CVE-2023-33733، وهو ثغرة أمنية اكتُشفت في مكتبة ReportLab مفتوحة المصدر الشهيرة. ويقترن تحليلهم بهجوم محاكاة يستفيد من برنامج MetaDefender Core مع Software Bill of Materials (SBOM) لتحديد الثغرات الأمنية في تبعيات التطبيق، بما في ذلك مكتبة ReportLab الضعيفة.

مقدمة مكتبة ريبورت لاب

تحليل الثغرة الأمنية CVE-2023-33733 مع MetaDefender Core

ReportLab، وهي مكتبة Python قوية ومفتوحة المصدر، تمكّن المستخدمين من إنشاء ملفات PDF غنية بالميزات من كود Python. وهي تقدم للمطورين مزيجًا رابحًا: المرونة وسهولة الاستخدام وخيارات التخصيص الواسعة لإنشاء مستندات ديناميكية. تمنح المكتبة تحكمًا محسّنًا للمطوّرين في ملفات PDF الخاصة بهم، مما يسمح بدمج النصوص والصور والجداول والمخططات بدقة متناهية. هذا المستوى من التخصيص يجعل من ReportLab أداة قيّمة لإنشاء مستندات ديناميكية مثل الفواتير والتقارير المستندة إلى البيانات.

CVE-2023-33733 الخلفية

يسلط CVE-2023-33733 الضوء على ثغرة أمنية في مكتبة ReportLab، تؤثر على إصدارات متعددة من مكتبة ReportLab.

  • تم اكتشاف أن إصدارات ReportLab قبل الإصدار 3.6.13 كانت عرضة للتهرب من صندوق الرمل، وتحديدًا في الإصدار 'rl_safe_eval' الوظيفة. تم تحقيق الاستغلال من خلال السمة اللونية لعلامات HTML، والتي تم تقييمها مباشرةً كتعبير بايثون باستخدام eval() مما يؤدي في النهاية إلى تنفيذ التعليمات البرمجية عن بعد.
  • قام محللو NVD بتعيين درجة CVSS 7.8 HIGH لـ CVE-2023-33733.
تحليل الثغرة الأمنية CVE-2023-33733 مع MetaDefender Core

تحليل الثغرات الأمنية في ReportLab

أجرى الزملاء الخريجون في OPSWAT تحليلاً عميقاً لسير عمل ReportLab، وحددوا السبب الجذري للثغرة الأمنية CVE-2023-33733.

سير عمل مكتبة ReportLab Library

تُمكِّن ReportLab المطورين من إنشاء ملفات PDF بكفاءة. تسمح المكتبة بالتكامل دون عناء: استيراد المكتبة، وتحديد محتوى HTML، وإنشاء ملف PDF في سطر واحد من التعليمات البرمجية باستخدام دالة النتيجة.

تحليل الثغرة الأمنية CVE-2023-33733 مع MetaDefender Core

كشف زملاؤنا الخريجون عن عملية من 5 خطوات لإنشاء ملفات PDF من HTML باستخدام ReportLab.

تحليل الثغرة الأمنية CVE-2023-33733 مع MetaDefender Core

في إطار العملية المكونة من 5 خطوات لإنشاء ملفات PDF من HTML باستخدام ReportLab، تبرز ثلاث عمليات رئيسية: معالجة الفقرات، ومعالجة البارابارسر، وعملية معالجة HTML.

تحليل الثغرة الأمنية CVE-2023-33733 مع MetaDefender Core

وكما هو موضح في الشكل أعلاه، تستخدم عملية معالجة HTML داخل ReportLab نظام eval() الدالة تحديدًا على سمة اللون. التي تعمل كنقطة محورية لتنفيذ التعليمات البرمجية الخبيثة، فإن eval() تدفع الدالة الباحثين إلى السعي للتحكم في مدخلاتها لاستغلال التطبيق. ومع ذلك، فإن هذا يمثل تحديًا بسبب وضع الحماية الذي يفرضه _rl_safe_eval_eval__ داخل ReportLab.

تحليل الثغرة الأمنية CVE-2023-33733 مع MetaDefender Core

الثغرات الأمنية في تحليل ReportLab

قام ReportLab بتنفيذ صندوق رمل يسمى _rl_safe_eval_eval__. يستثني صندوق الحماية هذا جميع دوال Python المضمنة ويتضمن العديد من الدوال المضمنة التي تم تجاوزها. يسمح هذا التقييد بتنفيذ التعليمات البرمجية الآمنة داخل المكتبة مع منع الوصول إلى الدوال والمكتبات الخطرة التي يمكن استخدامها لأغراض خبيثة (مثل الوصول إلى نظام الملفات والاتصال بالشبكة).

إن rl_safe_eval تنفذ دالة صندوق الرمل شروطًا مختلفة للتأكد من أن السمة التي تم استدعاؤها آمنة قبل استخدام دالة بايثون المدمجة getattr() لاسترجاعها وإرجاع النتيجة.

تحليل الثغرة الأمنية CVE-2023-33733 مع MetaDefender Core

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

وبناءً على هذه الفكرة، حاول الباحثون الأمنيون تجاوز القيود. في البداية، قاموا باستغلال حقن الكائنات باستخدام النوع() لإنشاء كائن وإعادة تعريف سماته وطرقه للتحايل على عمليات التحقق داخل _rl_safe_eval_eval__. علاوة على ذلك، وبما أن مكتبة ReportLab تتجاوز الدوال المدمجة وتجعلها متغيرات عامة في سياق eval، يمكن للباحث الاستفادة من هذا التنفيذ للوصول إلى إحدى الدوال المدمجة الأصلية. وقد يمكّنه ذلك من تجاوز بيئة الحماية (sandbox) وتنفيذ تعليمات برمجية ضارة.

تحليل الثغرة الأمنية CVE-2023-33733 مع MetaDefender Core

يتم إعداد الحمولة على النحو التالي:

تحليل الثغرة الأمنية CVE-2023-33733 مع MetaDefender Core

ومع ذلك، فإن تنفيذ تعبير متعدد الأسطر ضمن سياق eval غير ممكن. ومع ذلك، يمكن استخدام حيلة فهم القائمة، والحمولة لاستغلال هذا الاختراق كما يلي:

تحليل الثغرة الأمنية CVE-2023-33733 مع MetaDefender Core

تقريرمحاكاة استغلال مختبر التقارير

نشر الباحثون إثبات مفهوم (POC) لـ CVE-2023-33733، مما يدل على أن التطبيقات التي تم إنشاؤها باستخدام إصدارات ضعيفة من ReportLab يمكن أن تكون عرضة للهجمات الإلكترونية. لتقييم هذا التهديد المحتمل، أجرى زملاء برنامج OSPWAT للخريجين هجومًا بالمحاكاة على تطبيق ويب. وقد استفادوا من MetaDefender Core مع قدرات SBOM لتحديد الثغرات الأمنية في تبعيات برمجيات التطبيق، بما في ذلك وجود مكتبة ReportLab المتأثرة.

محاكاة الثغرة الأمنية

لمحاكاة هذا الاستغلال كسيناريو واقعي، طوّر زملاء OPSWAT للخريجين تطبيق ويب باستخدام Python والنسخة الضعيفة من مكتبة ReportLab. يحاكي هذا التطبيق حالة استخدام نموذجية: يمكن للمستخدمين تحميل ملف HTML وتحويله إلى ملف PDF.

تحليل الثغرة الأمنية CVE-2023-33733 مع MetaDefender Core

يمكن للمهاجم صياغة ملف HTML خبيث يحتوي على كود برمجي خبيث مصمم لاستغلال CVE-2023-33733. يمكن لهذه الشيفرة البرمجية تجاوز صندوق الحماية واختراق خادم الويب عن طريق تشغيل قذيفة عكسية من خلال eval() الوظيفة.

تحليل الثغرة الأمنية CVE-2023-33733 مع MetaDefender Core

إن التحميل الناجح لملف خبيث سيسمح للمهاجم بالسيطرة على خادم التطبيق بسبب الثغرة الموجودة في مكتبة ReportLab القديمة.

تحليل الثغرة الأمنية CVE-2023-33733 مع MetaDefender Core
تحليل الثغرة الأمنية CVE-2023-33733 مع MetaDefender Core

أهمية نظام SBOM والأمان الاستباقي

يؤكد بحث الزملاء الخريجين في OPSWAT حول CVE-2023-33733 على المخاطر الأمنية المحتملة المرتبطة ببرمجيات برمجيات المصدر المفتوح. في حين أن برمجيات المصدر المفتوح توفر فوائد لا يمكن إنكارها من حيث كفاءة التطوير وفعالية التكلفة، إلا أن الثغرات الأمنية مثل تلك الموجودة في ReportLab يمكن أن تجعل المؤسسات عرضة للهجمات الإلكترونية.

OPSWAT سبوم

يعمل برنامج OPSWAT SBOM على تأمين سلسلة توريد البرمجيات من خلال توفير مخزون شامل لمكونات التعليمات البرمجية المصدرية والحاويات. وهو يدعم أكثر من 10 لغات، بما في ذلك Java وJava وJava JavaScript وGo وPHP وPython، وأكثر من 5 ملايين مكوّن برمجي مفتوح المصدر من طرف ثالث، ويستخدم قاعدة بيانات لأكثر من 17 ألف ثغرة أمنية مصدرها قاعدة البيانات الوطنية للثغرات الأمنية (NVD) وGitHub (GitHSA).

تحليل الثغرة الأمنية CVE-2023-33733 مع MetaDefender Core

يُمكّن OPSWAT MetaDefender Core بقدراته المدمجة في SBOM، المؤسسات من معالجة هذه المخاطر بشكل استباقي. يفحص MetaDefender Core تطبيقات البرامج وتوابعها، ويحدد وجود الثغرات المعروفة مثل CVE-2023-33733 ضمن المكونات المدرجة. يسمح ذلك للمطورين وفرق الأمن بتحديد أولويات جهود التصحيح والتخفيف من المخاطر الأمنية قبل استغلالها.

تحليل الثغرة الأمنية CVE-2023-33733 مع MetaDefender Core

الأفكار إغلاق

تعد أبحاث زملاء OPSWAT حول ثغرة ReportLab (CVE-2023-33733) تذكيرًا قيمًا بأهمية التدابير الأمنية الاستباقية في دورة حياة تطوير البرمجيات. من خلال الاستفادة من أدوات OPSWAT MetaDefender Core يمكن للمؤسسات الحصول على رؤى مهمة حول تبعيات برامجها وتحديد الثغرات المحتملة قبل أن يستغلها المهاجمون.

علاوة على ذلك، تقدم شركة « OPSWAT » مجموعة شاملة من حلول الأمن السيبراني حلول التي تتجاوز مجرد فحص الثغرات الأمنية. توفر هذه الحلول حلول إمكانية الكشف عن التهديدات في الوقت الفعلي، وأمن البيانات، وحماية نقاط النهاية، مما يحمي المؤسسات من مجموعة واسعة من التهديدات السيبرانية. ومن خلال تبني نهج أمني متعدد الطبقات يشمل أدوات مثل MetaDefender Core ، يمكن للمؤسسات الاستفادة من مزايا البرمجيات مفتوحة المصدر (OSS) مع تقليل المخاطر الأمنية المرتبطة بها إلى أدنى حد.

ابق على اطلاع دائم OPSWAT!

اشترك اليوم لتتلقى آخر أخبار الشركة، والقصص، ومعلومات عن الفعاليات، والمزيد.