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

APFuzz: Towards Automatic Greybox Protocol Fuzzing

تقدم هذه الورقة APFuzz، وهو فاحص بروتوكولات آلي من نوع (greybox) يعمل على تعزيز فعالية الاختبار من خلال توظيف التحليل الساكن والديناميكي لاستنتاج نماذج حالة دقيقة، والاستفادة من النماذج اللغوية الكبيرة لإجراء طفرات للرسائل على مستوى الحقول وبنية مدركة.

المؤلفون الأصليون: Yu Wang, Yang Xiang, Chandra Thapa, Hajime Suzuki

نُشر 2026-02-26
📖 4 دقيقة قراءة☕ قراءة في استراحة قهوة

المؤلفون الأصليون: Yu Wang, Yang Xiang, Chandra Thapa, Hajime Suzuki

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

تخيل أنك تحاول العثور على كنز مخفي داخل قلعة ضخمة ومغلقة (البرنامج الحاسوبي). تحتوي القلعة على غرف عديدة (حالات/States)، والأبواب لا تفتح إلا إذا طرقت بإيقاع محدد للغاية أو قلت كلمة سر سرية (رسائل البروتوكول).

معظم مختبري الأمن (أدوات الفحص/Fuzzers) يشبهون أشخاصاً يلقون آلاف الحصوات العشوائية على جدران القلعة، آملين أن تصيب إحداها نقطة ضعف. هذا الأسلوب قد ينجح مع الأكواخ البسيطة، ولكن مع القلاع المعقدة ذات الأبواب المغلقة، يكون الأمر غير فعال. قد تلقي حصاة على الباب الخطأ، أو تطرق الإيقاع الخاطئ، فيتجاهلك الحارس (الخادم/Server) ببساطة.

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

إليك كيف يعمل، مقسماً إلى مفاهيم بسيطة:

1. المشكلة: ارتباك "الصندوق الأسود"

المختبرون التقليديون لا يعرفون كيف تعمل القلعة. هم لا يعرفون:

  • الحالة (The State): لا يعرفون ما إذا كان الحارس حالياً "نائماً"، أو "مستيقظاً"، أو "غاضباً". إذا حاولت فتح باب بينما الحارس نائم، فلن يحدث شيء. يجب أن توقظه أولاً بتسلسل معين من الطرقات.
  • الرسالة (The Message): لا يعرفون الشكل الدقيق للمفتاح. إذا حاولوا حشر وتد مربع في ثقب مستدري، سيرفضه الحارس فوراً.

2. القوة الخارقة الأولى: "قراءة الأفكار" (تعلم تمثيل الحالة)

للعثور على الكنز، تحتاج لمعرفة الغرفة التي أنت فيها.

  • الطريقة القديمة: كان على المختبرين سؤال خبير بشري: "مهلاً، كيف أعرف إذا كان الحارس مستيقظاً؟". كان الخبير يكتب دليلاً يدوياً، لكن البشر يرتكبون الأخطاء، وكتابة هذه الأدلة عملية بطيئة ومملة.
  • طريقة APFuzz: APFuzz يشبه المحقق الذي يقرأ مخططات القلعة (الكود المصدري/Source Code) ويراقب حركة الحراس أيضاً.
    • الخطوة 1 (التحليل الساكن/Static Analysis): يقوم بمسح المخططات للعثور على المتغيرات التي قد تكون "مفاتيح تغيير الحالة" (مثل متغير باسم is_logged_in).
    • الخطوة 2 (التحليل الديناميكي/Dynamic Analysis): يراقب حركة الحراس. إذا تغيرت قيمة متغير ما بشكل متكرر وبدا أنه يتحكم في الأبواب، فإنه يحتفظ به. أما إذا كان مجرد عداد عشوائي لا يهم، فإنه يتخلص منه.
    • النتيجة: يبني APFuzz خريطة مثالية لغرف القلعة تلقائياً دون الحاجة لبشر لرسمها. إنه يعرف تماماً متى يكون الحارس "مستيقظاً" ومستعداً لتحدٍ جديد.

3. القوة الخارقة الثانية: "المترجم" (تعلم هيكل المدخلات باستخدام نماذج اللغة الكبيرة LLMs)

بمجرد معرفة الغرفة، تحتاج للمفتاح الصحيح.

  • الطريقة القديمة: كان المختبرون يخمنون شكل المفتاح. كانوا يقطعون أجزاء منه أو يغيرون ألوانه عشوائياً. بالنسبة للقلاع النصية (مثل HTTP)، كان هذا جيداً. ولكن بالنسبة للقلاع الثنائية (Binary) (مثل 5G أو البيانات المشفرة)، تكون المفاتيح عبارة عن كتل معقدة من الكود. تغييرها عشوائياً يؤدي غالباً لكسر المفتاح، ويرفضه الحارس فوراً.
  • طريقة APFuzz: يستخدم APFuzz نموذج لغة كبير (LLM) — تخيله كذكاء اصطناعي قرأ كل الكتيبات المكتوبة عن هذه القلاع.
    • تعرض للذكاء الاصطناٍ نموذجاً لمفتاح (رسالة بذرة/Seed message).
    • يقول الذكاء الاصطناعي: "آه، فهمت! هذا الجزء هو 'الرأس/Header'، وهذا الجزء هو 'الطول/Length'، وهذا الجزء هو 'الرمز السري/Secret Code'".
    • الآن، بدلاً من تحطيم المفتاح عشوائياً، يعرف APFuzz تماماً أي جزء يجب تعديله. يمكنه تغيير "الرمز السري" دون كسر "الرأس".
    • التشبيه: تخيل قفلاً به 10 أقراص دوران. المختبرون القدامى يديرون الـ 10 أقراص عشوائياً. أما APFuzz فيسأل الذكاء الاصطناعي: "أي قرص يتحكم في القفل؟" ثم يدير ذلك القرر فقط. هذا يوفر الوقت ويجعلك تصل للغرف العميقة بشكل أسرع.

4. النتيجة: العثور على الكنز بشكل أسرع

اختبر الباحثون APFuzz مقابل أفضل صائدي الكنوز الحاليين (مثل AFLNET) باستخدام مجموعة قياسية من 13 "قلعة" مختلفة (بروتوكولات شبكة مثل SSH و DNS و FTP).

  • التغطية (Coverage): استكشف APFuzz 10% غرفاً أكثر من النموذج المرجعي. لم يكتفِ بالطرق على الباب الأمامي؛ بل وجد الممرات السرية في القبو.
  • السرعة: كان أسرع بـ 5 إلى 6 مرات في إرسال الرسائل وفحص الغرف.
  • الأخطاء المكتشفة (Bugs Found): وجد أكبر عدد من "الكنوز" (الانهيارات والثغرات الأمنية). على سبيل المثال، في اختبار واحد (TinyDTLS)، وجد 5 ثغرات فريدة بينما وجد الآخرون 4 أو أقل. وفي اختبار آخر (Dnsmasq)، وجد خطأً حرجاً في 4,000 ثانية، بينما استغرق الآخرون أكثر من 24 ساعة أو فشلوا في إيجاده تماماً.

الملخص

APFuzz هو ترقية من شخص معصوب العينين يرمي السهام إلى شيرلوك هولمز يمتلك خريطة عالية التقنية ومترجماً.

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

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

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

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

جرّب Digest →