نحن متحمسون لتقديم سلسلة من مدونات التحليل الفني التي تركز على مختلف نقاط الضعف والتعرض الشائعة (CVEs) ، والتي تم تحديدها ومعالجتها باستخدام تقنياتنا المتقدمة للكشف عن التهديدات. يتم إجراء جميع البحوث من قبل طلاب الدراسات العليا الذين يشاركون في OPSWAT تم إطلاق برنامج زمالة الأمن السيبراني في سبتمبر 2023.
ستثبيتح في هذه المدونة الثغرة الأمنية في برنامج Foxit PDF Reader CVE- 2020-14425 وكيف يمكن للمؤسسات حماية نفسها من الاستغلال.
برنامج Foxit PDF Reader
برنامج Foxit PDF Reader هو أداة PDF تم تطويرها بواسطة Foxit Software وتوفر مجموعة من الميزات لإنشاء مستندات PDF وعرضها وتحريرها وتوقيعها رقميًا. وقد اكتسب الإصدار المجاني من Foxit Reader شهرةً واسعةً ويستخدمه أكثر من 700 مليون مستخدم.
ولتعزيز قدراته ومرونته، يدعم برنامج Foxit PDF Reader امتدادات JavaScript، مما يوفر للمستخدمين خيارات التخصيص؛ ومع ذلك، فإن هذا الأمر يُدخل أيضًا خطرًا أمنيًا محتملاً، مما يجعل البرنامج هدفًا للمهاجمين.
CVE-2020-14425
تسمح الثغرة الأمنية في برنامج Foxit PDF Reader قبل الإصدار 10.0 للمهاجمين بتنفيذ تعليمات برمجية عن بُعد على جهاز الضحية عند فتح ملف PDF معد خصيصاً. حدثت هذه الثغرة الأمنية بسبب الضعف الأمني في دالة app.opencPDFWebPage JavaScript. إذا تم تكوين برنامج Foxit Reader لاستخدام المتصفح الافتراضي لفتح عناوين URL المضمنة في ملف PDF، فقد يتم تنفيذ التعليمات البرمجية الضارة المضمنة في الملف القابل للتنفيذ دون تشغيل حوار تحذير أمني.
يمكن توزيع ملف PDF تم تصميمه لاستغلال ثغرة مكافحة التطرف العنيف هذه عبر حملة تصيد عبر البريد الإلكتروني أو روابط مضمنة ضارة. إذا قام المستخدم بفتح ملف PDF المخترق باستخدام إصدار Foxit Reader الضعيف، يمكن للمهاجم السيطرة على جهاز الضحية من خلال تنفيذ التعليمات البرمجية عن بُعد.
تحليل CVE-2020-14425
يتم تنظيم ملفات PDF باستخدام بنية شجرية، تتكون من قسم رأس الملف، وقسم جسم الملف، وجدول مراجع تبادلي، وقسم مقطعي.
- يبدأ العنوان بالرمز %PDF-1.x، مما يشير إلى إصدار تنسيق PDF. في الوقت الحالي، يتراوح إصدار التنسيق من 1.0 إلى 1.7. يتضمن قسم الرأس أيضًا بيانات تعريف المستند، مثل المؤلف وتاريخ الإنشاء والمعلومات الأخرى ذات الصلة.
- يشتمل الجسم على محتوى ملف PDF بأكمله، منظمًا في كائنات مثل الصفحات وتدفقات النصوص والخطوط والنماذج ورمز JavaScript وعناصر أخرى.
- يحتوي جدول الإسناد الترافقي (جدول Xref) على الإزاحة المرجعية والبايت لجميع الكائنات في ملف PDF. وهو يتيح الوصول السريع إلى الكائنات دون الحاجة إلى قراءة الملف بأكمله.
- تخزن المقطورة معلومات إضافية ضرورية لتحديد موقع جدول xref، مثل العدد الإجمالي للإدخالات في جدول xref والمؤشر إلى بدايته.
نظرًا لأن الجسم يحتوي على الكائنات الحساسة لملفات PDF، فغالبًا ما تركز الهجمات على حقن تعليمات برمجية ضارة في هذا المكون.
أصبحت ملفات PDF هدفًا للمهاجمين بسبب انتشارها في كل مكان. نظرًا لأن ملفات PDF يمكن أن تحتوي على كود JavaScript، فيمكن استخدامها لتنفيذ هجمات مختلفة عند فتحها من قبل المتصفح، مثل الحرمان من الخدمة (DoS) أو إعادة التوجيه المفتوح أو البرمجة النصية عبر المواقع (XSS).
وبالإضافة إلى ذلك، قد يستخدم المهاجمون بعض التقنيات القابلة للاستغلال مثل الاستخدام بعد التحرر (UAF) وتجاوز سعة المخزن المؤقت (BoF). وقد يستغلون أيضًا معالجة فشل البرنامج لتنفيذ هجوم تنفيذ التعليمات البرمجية عن بُعد (RCE) على نظام الضحية. ونتيجةً لذلك، يمكن أن يحمل ملف PDF برمجيات الفدية الضارة لتشفير البيانات على الجهاز والمطالبة بفدية كبيرة لاستردادها، أو يمكن للمهاجمين السيطرة الكاملة على جهاز الضحية.
في برنامج Foxit Reader، عندما يتم تضمين عنوان URL لصفحة ويب، يتوفر للمستخدمين خياران للعرض: عرض صفحة الويب داخل برنامج Foxit Reader أو استخدام المتصفح الافتراضي على جهاز المستخدم. في التكوين الافتراضي، يصل برنامج Foxit Reader داخلياً إلى صفحة الويب المضمنة. داخل محتوى ملف PDF، لطلب فتح صفحة ويب، يستخدم برنامج Foxit Reader وظيفة OpencPDFWebPage، وهي عبارة عن جافا سكريبت API مصممة لبدء فتح عنوان URL لصفحة ويب مضمنة في ملف PDF.
ومع ذلك، توجد ثغرة في التحقق من صحة الإدخال غير الصحيح في هذا API ، والتي تسمح للمهاجمين بإدخال مسار ملف محلي في الدالة opencPDFWebPage. وبالتالي، قد تفتح الدالة الملف الضار بالمسار المرفق وتنفذ هذا الملف القابل للتنفيذ. يمكّن هذا الخلل المهاجمين من تشغيل الحمولة المخزنة على جهاز الضحية والحصول على تنفيذ التعليمات البرمجية عن بُعد.
يؤدي خيار فتح صفحة الويب داخل متصفح Foxit Reader، وهو أحد متطلبات متصفح IE 10 أو أعلى، إلى تشغيل حوار تحذيري أثناء محاولة الاستغلال، بينما إذا تم تعيين الخيار لاستخدام المتصفح الافتراضي، فإنه يتجاوز التحذير الأمني.
استغلال نقاط الضعف
في ظل الثغرة الأمنية التي تم تحديدها، ينطوي ناقل الهجوم المحتمل على هجوم تصيد احتيالي يستخدم ملف PDF كمحمّل لتنفيذ حمولة مرفقة مخفية. في هذا السيناريو، يرسل منفذ التهديد ملفاً مضغوطاً يحتوي على ملف PDF وملفاً مخفياً قابلاً للتنفيذ إلى الضحية، بهدف خداعها لفتح المستند. ثم تسمح الثغرة الموجودة في برنامج Foxit Reader لرمز JavaScript المضمّن بتشغيل الملف المخفي القابل للتنفيذ، مما يؤدي إلى إنشاء اتصال عكسي بجهاز المهاجم.
لحقن كود JavaScript في ملف PDF، يمكن للمهاجم تعديل ملف محتوى PDF مباشرةً أو استخدام أدوات مثل Foxit Phantom PDF. تحدد الشيفرة البرمجية الضارة مسار الملف الضار وتنفذ التعليمات البرمجية الضارة باستخدام دالة opencPDFWebPage.
بعد إعداد ملفات PDF الضارة، يقوم المهاجم بإخفاء الملف القابل للتنفيذ وضغط المجلد في ملف ZIP. لتجنب الحماية الأمنية لبرامج مكافحة الفيروسات، قد يقوم المهاجم بتشفير ملف ZIP بكلمة مرور قبل إرساله إلى الضحية.
إذا قام الضحية باستخراج ملف PDF الضار وفتحه باستخدام الإصدار الضعيف من برنامج Foxit Reader، فسيتم تنفيذ التعليمات البرمجية الضارة المضمنة في الملف القابل للتنفيذ، مما يمكّن المهاجم من اختراق جهاز الضحية من خلال قذيفة عكسية.
الاصلاح
تكتشف تقنية Multiscanning في Metadefender Core الملفات الخبيثة المضغوطة بكلمات مرور، مما يمكّن المسؤولين من تحديد هذه التهديدات بدقة. وبفضل دمج أكثر من 30 محركاً لمكافحة الفيروسات مجتمعة، يصل معدل اكتشاف البرمجيات الخبيثة إلى أكثر من 99.99%. وعلاوة على ذلك، وبفضل تقنية Deep CDR (تعطيل المحتوى وإعادة بنائه) المدمجة في Metadefender Core يمكنه إزالة التعليمات البرمجية الخبيثة المحتملة لجافا سكريبت بفعالية وإعادة إنشاء ملفات معقمة وآمنة للاستخدام.
بالإضافة إلى ذلك، يمكن MetaDefender Endpoint التعرّف على إصدارات التطبيقات الضعيفة وتحديثها تلقائياً إلى أحدث التصحيحات، مما يعزز أمن نقاط النهاية ضد التهديدات المحتملة في المستقبل.