PickleFuzzer: A Case Study in Fuzzing for Discrepancies Between Python Pickle Implementations
تقدم هذه الورقة PickleFuzzer، وهو فاحص تفاضلي قائم على القواعد يحدد 14 تباينًا حرجًا عبر عمليات تنفيذ pickle في لغة بايثون، بما في ذلك الثغرات التي تسمح للمهاجمين بتجاوز أدوات الفحص الأمني على منصات مثل Hugging Face.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أن لديك آلة سحرية يمكنها تحويل أي شيء في منزلك — لعبة، أو كتاب، أو شطيرة — إلى سلسلة طويلة من التعليمات (مثل الوصفة). هذا هو ما يفعله Pickle في لغة بايثون: فهو يحول بيانات الكمبيوتر المعقدة إلى سلسلة من التعليمات ليتم حفظها أو إرسالها عبر الإنترنت. لاحقاً، تقرأ آلة أخرى تلك التعليمات لتعيد بناء الكائن تماماً كما كان.
ومع ذلك، هناك عقبة. إذا أرسل لك شخص ما "وصفة" قام هو بإعدادها بنفسه، وقمت باتباعها بعمى، فقد تخبر تلك الوصفة آلتك بالقيام بشيء خطير، مثل حذف ملفاتك أو سرقة كلمات المرور الخاصة بك. لهذا السبب، بنى خبراء الأمن أجهزة فحص (مثل أجهزة كشف المعادن في المطارات) للتحقق من هذه الوصفات قبل أن تقوم آلتك بطهيها. إذا رأت أجهزة الفحص تعليمات خطيرة، فإنها توقف العملية.
المشكلة: ثلاثة طهاة مختلفين، ثلاث قواعد مختلفة
إليك المفاجأة: الأشخاص الذين بنوا "قارئ الوصفات" (الآلة التي تقرأ Pickle) لم يكتبوا كتاب قواعد واحداً. بدلاً من ذلك، بنوا ثلاث نسخ مختلفة من القارئ:
- الطاهي (أ) (Python): مكتوب بلغة بايثون، وهي اللغة القياسية.
- الطاهي (ب) (C): مكتوب بلغة أسرع وأقل مستوى تسمى C.
- الطاهي (ج) (المفتش): أداة يستخدمها ماسحو الأمن لقراءة الوصفة قبل أن يقوم الطهاة الآخرون بطهيها.
المشكلة هي أن هؤلاء الطهاة الثلاثة لا يتفقون دائماً على ما يعتبر وصفة صالحة. أحياناً، قد تجعل تعليمات معينة الطاهي (أ) والطاهي (ب) يقولان: "أوه، هذا جيد، سأطهوه"، بينما يقول الطاهي (ج) (المفتش): "انتظر، هذا معطل! لا يمكنني قراءته".
إذا عرف قرصان (Hacker) ذلك، فيمكنه صنع "وصفة مسمومة" تبدو معطلة للمفتش (ليتم تمريرها عبر ماسح الأمن)، ولكنها تبدو سليمة تماماً للطاهي (أ) أو الطاهي (ب) (اللذين سينفذان الأوامر الخطيرة بسعادة). هذا يشبه إظهار هوية مزورة تبدو مشبوهة للحارس، فيسمح لك بالمرور، ثم تُظهر هوية حقيقية للحارس في الداخل الذي يسمح لك بالدخول.
الحل: PICKLEFUZZER
بنى الباحثون في هذه الورقة أداة تسمى PICKLEFUZZER. فكر فيها كأنها متذوق عشوائي فائق السرعة والآلي.
بدلاً من توظيف إنسان لقراءة كتب القواعد وتخمين أين قد يختلف الطهاة، يقوم PICKLEFUZZER بما يلي:
- توليد وصفات عشوائية: ينشئ ملايين من سلاسل التعليمات العشوائية التي تبدو صالحة باستخدام "قواعد لغوية" خاصة (مجموعة من القواعد استنتجها من خلال دراسة الطهاة).
- تقديمها لجميع الطهاة: يقدم نفس الوصفة بالضبط إلى الطاهي (أ)، والطاهي (ب)، والطاهي (ج) في نفس الوقت.
- التحقق من رد الفعل: يراقب عن كثب ليرى ما إذا كان أحد الطهاة قد تعطل، أو أثار ضجة (أطلق خطأً)، أو انتهى به الأمر بنتيجة مختلفة عن الآخرين.
إذا قال الطاهي (ج) "خطأ!" بينما قال الطاهي (أ) "لذيذ!"، فإن PICKLEFUZZER يصنف تلك الوصفة على أنها تضارب (Discrepancy). هو لا يحتاج لمعرفة الإجابة "الصحيحة"؛ هو فقط يعرف أنه إذا اختلف الطهاة، فهناك ثغرة أمنية.
ما وجدوه
قام الباحثون بتشغيل هذه الأداة لمدة أسبوع ووجدوا 14 طريقة مختلفة اختلف فيها الطهاة.
- النجاحات الكبرى: كانت أربعة من هذه التناقضات حرجة. لقد أثبتت أن قرصاناً يمكنه استخدامها لخداع ماسحات الأمن في المواقع الشهيرة (مثل Hugging Face، حيث يشارك الناس نماذج الذكاء الاصطناعي) لتمرير كود خطير.
- المكافأة: أبلغ الباحثون فريق بايثون عن هذه الثغرات. كما أبلغوا عنها في برنامج مكافآت اكتشاف الثغرات (نظام مكافأة للعثور على العيوب الأمنية) وحصلوا على مكافأة قدرها 750 دولاراً.
- السرعة مقابل البشر: لإظهار مدى جودة أداتهم، قارنوا النتائج بخبير أمني بشري. قضى الإنسان 60 ساعة في قراءة الكود يدوياً ووجد 14 تناقضاً. بينما وجد PICKLEFUZZER نفس عدد التناقضات في 10 دقائق فقط.
الخلاصة
تظهر هذه الورقة أنه عندما يكون لديك عدة نسخ من أداة أمنية دون كتاب قواعد رسمي واحد، فإنها ستختلف حتماً. هذه الاختلافات تشبه الشقوق في السد التي يمكن للقراصنة استغلالها. PICKLEFUZZER هو طريقة جديدة وسريعة لإيجاد تلك الشقوق تلقائياً من خلال رؤية أين تتوقف النسخ المختلفة من البرامج عن الاتفاق مع بعضها البعض، مما يساعد في إصلاحها قبل أن يستغلها المهاجمون.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.