← أحدث الأبحاث
🤖 machine learning

Fool Me If You Can: On the Robustness of Binary Code Similarity Detection Models against Semantics-preserving Transformations

تقدم هذه الورقة نظام asmFooler، وهو نظام يقيم متانة نماذج كشف تشابه الكود الثنائي القائمة على التعلم العميق ضد التحويلات العدائية الحافظة للدلالات، مما يكشف أن مرونة النماذج تعتمد بشكل كبير على مسار المعالجة وأن الاضطرابات الطفيفة المصاغة بعناية يمكن أن تعطل قرارات النماذج بفعالية.

المؤلفون الأصليون: Jiyong Uhm, Minseok Kim, Michalis Polychronakis, Hyungjoon Koo

نُشر 2026-02-16
📖 5 دقيقة قراءة🧠 قراءة متعمّقة

المؤلفون الأصليون: Jiyong Uhm, Minseok Kim, Michalis Polychronakis, Hyungjoon Koo

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

إليك شرح لورقة البحث "Fool Me If You Can" (خدعني إن استطعت)، مقسمة إلى مفاهيم بسيطة مع تشبيهات إبداعية.

الصورة الكبيرة: مشكلة "الشبيه"

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

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

هذه الورقة البحثية تدور حول اختبار مدى سهولة خداع هؤلاء "الحراس الآليين" عندما ينظرون إلى أكواد برمجية بدلاً من اللوحات.


الشخصيات في قصتنا

  1. الكود الثنائي (اللوحة):
    الكمبيوترات لا تتحدث الإنجليزية؛ بل تتحدث "لغة الآلة" (الثنائية/Binary). هي عبارة عن قائمة طويلة من التعليمات مثل انقل هذا الرقم إلى هنا أو اجمع هذين الشيئين. عندما يتم تجميع (compile) برنامج ما، فإنه يفقد جميع الأسماء الجميلة (مثل "calculate_tax") ويصبح مجرد قائمة خام من الأرقام والأوامر. هذا هو ما يتعين على الذكاء الاصطناعي تحليله.

  2. نماذج BCSD (حراس الذكاء الاصطناعي):
    هذه هي نماذج التعلم العميق (مثل BinShot، وGemini، وAsm2Vec) المصممة لمقارنة قطعتين من الكود والقول: "مهلاً، هاتان القطعتان تبدوان وكأنهما كُتبتا بواسطة نفس الشخص!". تُستخدم هذه النماذج لكشف البرامج الضارة، أو ضبط السرقة الأدبية، أو العثور على الأخطاء البرمجية.

  3. المهاجمون (السحرة):
    عمل الباحثون في هذه الورقة كـ "مهاجمين". أرادوا معرفة ما إذا كان بإمكانهم القيام بـ "خدع سحرية" على الكود لخداع حراس الذكاء الاصطناعي.


الخدع السحرية: كيف خدعوا الذكاء الاصطناعي

استخدم الباحثون نظاماً بنوه يسمى asmFooler. فكر فيه كعصا سحرية تغير الكود دون تغيير ما يفعله البرنامج فعلياً.

استخدموا نوعين رئيسيين من الخدع:

1. "عملية التجميل" (النتائج السلبية الكاذبة - False Negatives)

الهدف: جعل برنامجين متطابقين يبدوان مختلفين للذكاء الاصطناعي.
التشبيه: تخيل أن لديك سيارة رياضية حمراء. تريد خداع ضابط شرطة لجعله يعتقد أنها شاحنة زرقاء. أنت لا تغير المحرك (السيارة لا تزال تقود بنفس الطريقة)، ولكنك تقوم بـ:

  • استبدال العجلات.
  • إعادة ترتيب المقاعد.
  • رسم خط وهمي على غطاء المحرك.
  • تحريك المحرك قليلاً إلى اليسار.

النتيجة: السيارة لا تزال سيارة رياضية حمراء، ولكن للوهلة الأولى، تبدو مختلفة تماماً.
في الورقة البحثية: استخدموا تقنيات مثل تنويع الكود (إعادة ترتيب التعليمات) والتعمية/التشفير (إخفاء المنطق).

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

2. "المحتال" (النتائج الإيجابية الكاذبة - False Positives)

الهدف: جعل برنامجين مختلفين يبدوان متطابقين للذكاء الاصطناعي.
التشبيه: تخيل أن لديك لوحة مزيفة لـ "فان جوخ". تريد من الذكاء الاصطناعي أن يعتقد أنها أصلية. لا يمكنك تغيير اللوحة بأكملها، لذا تضيف بعض ضربات الفرشاة المحددة في البداية لتقليد أسلوب فان جوخ بشكل مثالي.
في الورقة البحثية: استخدموا استراتيجية "العينة الجشعة" (Greedy Sampling). بحثوا عن قطعة كود "جيدة"، وأخذوا بعض التعليمات المحددة منها، ولصقوها في قطعة كود "سيئة" في بدايتها تماماً.

  • النتيجة: ارتبك الذكاء الاصطناعي. رأى تلك التعليمات المألوفة في البداية وقال: "أوه، أنا أعرف هذا! إنه نفس الكود الجيد!".
  • الصدمة: وجدوا أنهم احتاجوا فقط إلى إضافة حوالي 15 تعليمات إضافية (كمية ضئيلة جداً من الكود) لخداع الذكاء الاصطناعي لجعله يعتقد أن برنامجين مختلفين تماماً هما نفس الشيء.

النقاط الرئيسية (الدروس المستفادة)

اكتشف الباحثون أربعة أشياء رئيسية:

  1. الأمر يتعلق بـ "خط المعالجة" (Pipeline):
    "عيون" الذكاء الاصطناعي مهمة. إذا كان الذكاء الاصطناعي ينظر فقط إلى التعليمات الخام (مثل قراءة قائمة كلمات)، فمن السهل خداعه. أما إذا نظر إلى "رسم تدفق التحكم" (Control Flow Graph) (مثل النظر إلى خريطة الطريق التي تسلكها السيارة)، فمن الصعب جداً خداعه.
  • التشبيه: الحارس الذي يتحقق فقط من لوحة ترخيص السيارة من السهل خداعه بلوحة مزيفة. أما الحارس الذي يفحص المحرك، ورقم الهيكل، ووجه السائق، فهو أصعب بكثير في خداعه.
  1. حد "الميزانية":
    لا يمكن للمهاجمين تغيير كل شيء. هم محدودون بـ "ميزانية" (عدد البايتات التي يمكن إضافتها). إذا أضافوا الكثير من الكود الزائد، فقد يتعطل البرنامج أو يبدو مريباً للغاية. كما أن قدرة الذكاء الاصطناعي على التعامل مع المدخلات الطويلة تحد من ما يمكن للمهاجم فعله.

  2. تغييرات صغيرة، تأثير كبير:
    لا تحتاج إلى إعادة كتابة البرنامج بالكامل لخداع الذكاء الاصطناعي. مجرد إضافة بعض "الكلمات السحرية" (التعليمات) في المكان المناسب في البداية يمكن أن يغير رأي الذكاء الاصطناعي تماماً.

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

لماذا يهم هذا الأمر؟

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

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

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

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

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

جرّب Digest →