← أحدث الأبحاث
💻 computer science

From Documentation to Zero-day Vulnerabilities: LLM-Driven Fuzzing of JavaScript Engines in PDF Readers

تقدم هذه الورقة البحثية PDFuzzer، وهو أداة فحص (fuzzer) جديدة مدفوعة بالنماذج اللغوية الكبيرة تستفيد من النماذج اللغوية الكبيرة لاستنتاج علاقات واجهة برمجة التطبيقات (API) وتوليد تسلسلات استدعاء معقدة، مما يؤدي إلى تحسين تغطية الكود بشكل كبير واكتشاف 31 ثغرة من نوع "اليوم الصفر" (zero-day) في برامج قراءة ملفات PDF الرائدة مقارنة بالأدوات الحالية المتطورة.

المؤلفون الأصليون: Suyue Guo, Stijn Pletinckx, Tianle Yu, Yigitcan Kaya, Saad Ullah, Wenbo Guo, Christopher Kruegel, Giovanni Vigna

نُشر 2026-08-20
📖 6 دقيقة قراءة🧠 قراءة متعمّقة

المؤلفون الأصليون: Suyue Guo, Stijn Pletinckx, Tianle Yu, Yigitcan Kaya, Saad Ullah, Wenbo Guo, Christopher Kruegel, Giovanni Vigna

البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل

تخيل وثيقة رقمية لا تكتفي بمجرد الجلوس على الشاشة، بل يمكنها التفكير، والحساب، والتفاعل. هذا هو الوعد الذي يقدمه تنسيق المستندات المحمولة (PDF)، عندما يتم تجهيزه بمحرك لغة "جافا سكريبت" مدمج. تماماً كما قد يحتوي كتاب ورقي على حجرة سرية لا تفتح إلا عند قلب صفحة معينة، يمكن لملف PDF أن يحتوي على كود برمجي يعمل داخل تطبيق القارئ، مما يسمح بإنشاء نماذج تفاعلية، وتدقيق إملائي، وقوائم ديناميكية. ومع ذلك، فإن هذه القوة تأتي مع مخاطرة؛ فإذا استطاع مخترق خداع هذا المحرك لارتكاب خطأ ما، يمكنه تقنياً السيطرة على الكمبيوتر الذي يقرأ الملف، وسرقة البيانات أو تثبيت برمجيات خبيثة. لسنوات، حاول الباحثون الأمنيون العث lập هذه الفخاخ المخفية عبر إلقاء تنويعات عشوائية من المستندات على قارئات PDF، آملين في رؤية البرنامج يتوقف عن العمل. لكن هذه الطريقة غالباً ما تكون مثل رمي السهام في الظلام؛ فهي تفتقد إلى التسلسلات المعقدة والمحددة من الإجراءات المطلوبة لتفعيل أخطر الثغرات.

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

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

لاختبار ابتكارهم، طبق الباحثون أداة "PDFuzzer" على ثلاثة من أشهر قارئات PDF المستخدمة حول العالم: "Adobe Acrobat Reader" و"Foxit PDF Reader" و"PDF-XChange Editor". لقد قاموا بتشغيل أداتهم لأسابلة، ومقارنة أدائهم بأفضل الأساليب الموجودة حالياً والتي يستخدمها خبراء الأمن. كانت النتائج مذهلة؛ فبينما تمكنت الأدوات القديمة من استكشاف جزء ضئيل فقط من المنطق الداخلي للبرنامج، وصل "PDFuzzer" إلى عمق أكبر بكثير، مغطياً ما يصل إلى 48 بالمئة أكثر من الكود. والأهم من ذلك، أدى هذا الاستكشاف الأعمق إلى اكتشاف 31 ثغرة أمنية غير معروفة سابقاً، تُعرف باسم ثغرات "اليوم الصفر" (zero-day). لم تكن هذه مجرد أعطال بسيطة، بل كانت العديد منها قضايا خطيرة قد تسمح للمهاجم بتنفيذ كود تعسفي، مما يعني السيطرة الكاملة على كمبيوتر الضحية، أو تسريب معلومات حساسة. وفي المقابل، لم تجد الأدوات الأخرى مجتمعة سوى ست ثغرات كحد أقصم خلال نفس الفترة.

لم يتوقف الباحثون عند اكتشاف الأخطاء فحسب، بل عملوا مباشرة مع مصنعي البرامج لإصلاحها. ومن خلال عملية منسقة، أفصحوا عن تفاصيل الثغرات الـ 31 للشركات المسؤولة عن قارئات PDF. وقد استجابت الصناعة بسرعة، حيث تم تأكيد وإصلاح 26 من المشكلات، وحصل عشرة منها على معرفات أمنية رسمية لتحذير المستخدمين. كما حصل الباحثون على مكافآت مالية، تُعرف بمكافآت اكتشاف الثغرات (bug bounties)، بلغت قيمتها الإجمالية 2,450 دولاراً مقابل عملهم. يسلط هذا المخرج الضوء على القيمة العملية لنهجهم: فمن خلال أتمتة المهمة الصعبة المتمثلة في فهم العلاقات البرمجية المعقدة، تمكنوا من إيجاد وإصلاح المخاطر التي فاتها الخبراء البشريون والأدوات الآلية القديمة.

كان جزء رئيسي من النجاح هو كيفية تعامل الأداة مع الكم الهائل من المعلومات في كتيبات البرامج. يمكن أن يصل توثيق هذه المحركات إلى مئات الصفحات، مليئة بالتفاصيل التقنية التي يصعب على الكمبيوتر تحليلها تلقائياً. وجد الباحثون أن مجرد طلب من الذكاء الاصطناعي توليد حالات اختبار من الصفر كان بطيئاً وغالباً ما ينتج أموراً غير منطقية. بدلاً من ذلك، استخدموا الذكاء الاصطناعي ليعمل كمترجم، يحول اللغة الطبيعية للكتيبات إلى قواعد دقيقة قابلة للقراءة آلياً. لقد قسموا العملية إلى خطوات: أولاً، استخراج الهيكل الأساسي للأوامر؛ ث e ثانياً، استنتاج التفاصيل المخفية للأوامر التي لم توثق بالكامل؛ وثالثاً، استخدام حلّال رياضي (mathematical solver) لضمان استيفاء حالات الاختبار المولدة لجميع القيود المنطقية. أثبت هذا النهج الهجين، الذي يجمع بين قدرة الاستنتاج للذكاء الاصطناعي ودقة المنطق الرياضي، أنه أكثر كفاءة وفعالية بكثير من الاعتماد على الذكاء الاصطناعي وحده.

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

بعيداً عن النجاح المباشر مع قارئات PDF، يشير الباحثون إلى إمكانية تطبيق منهجهم على مجالات أخرى من أمن البرمجيات حيث يوجد توثيق مفصل. لقد اختبروا مسار عملهم على لغة البرمجة المستخدمة في "ماكرو" برنامج Microsoft Word، وهي بيئة مختلفة ولكنها معقدة بشكل مشابه، ووجدوا أن نفس أنواع العلاقات والتبعيات موجودة هناك أيضاً. وهذا يشير إلى أن تحدي فهم كيفية تفاعل مكونات البرامج ليس فريداً من نوعه في قارئات PDF، بل هو قضية واسعة الانتشار في الحوسبة الحديثة. إن القدرة على تحويل الكتيبات المكتوبة تلقائياً إلى قواعد اختبار صارمة تقدم مساراً جديداً لتأمين البرمجيات التي تدعم حياتنا اليومية.

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

غارق في أبحاث مجالك؟

تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.

جرّب Digest →