← أحدث الأبحاث
💻 علوم الحاسوب

Rust Vulnerability Classification with WL-EnhancedLLVM-IR-Derived Code Property Graphs

تُظهر هذه الورقة أن ثغرات لغة رست (Rust) يمكن تصنيفها بفعالية باستخدام رسوم خصائص الكود (Code Property Graphs) المستمدة من تمثيل LLVM الوسيط، محققةً دقة متوازنة بلغت 78.81% باستخدام نموذج XGBoost المعزز بميزات وايزفيلر-ليهمان (Weisfeiler–Lehman)، رغم أن النهج يُظهر حالياً حساسية تجاه التباينات في حجم الرسم البياني ويتطلب مزيداً من التقييم من أجل التعميم على قواعد الأكواد غير المرئية.

المؤلفون الأصليون: Syeda Jannatul Boshra, Young Lee

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

المؤلفون الأصليون: Syeda Jannatul Boshra, Young Lee

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

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

ولحل هذه المعضلة، طور باحثون في جامعة تكساس إيه إم – سان أنطونيو طريقة جديدة للنظر إلى كود "رست"، حيث تعاملوا معه ليس كقصة مكتوبة بالكلمات، بل كخريطة معقدة من الاتصالات. لقد أخذوا برامج مكتوبة بلغة "رست"، وترجموها إلى لغة وسيطة عالمية تستخدمها الحواسيب لفهم التعليمات، ثم حولوا تلك التعليمات إلى بنية مرئية تسمى "رسم بياني لخصائص الكود" (code property graph). تخيل هذا الرسم البياني كخريطة مدينة مترامية الأطراف حيث كل مبنى هو قطعة من الكود وكل طريق هو علاقة بينهما، مثل استدعاء دالة لأخرى أو تمرير متغير من متغير إلى آخر. ومن خلال دراسة شكل هذه المدينة، أملاً في التمييز بين الأحياء الآمنة وتلك المعرضة للانهيار، قام الباحثون ببناء مجموعة بيانات مكونة من 235 خريطة من هذه الخرائط، تم تصنيفها بعناية كآمنة أو معرضة للاختراق بناءً على تقارتقات أمنية معروفة، ثم دربوا نماذج حاسوبية للتعرف على الأنماط التي تشير إلى الخطر.

اختبر الفريق عدة طرق مختلفة لمعرفة أي منها يمكنه قراءة هذه الخرائط بشكل أفضل. جربوا نماذج تنظر إلى الشكل العام للرسم البياني، وأخرى تركز على الحي المباشر لكل قطعة كود، وبعض النماذج التي تجمع بين كلا المنظورين. وكان النهج الأكثر نجاحًا يتضمن إنشاء ملخص مكثف لكل خريطة، يلتقط الخصائص المتوسطة للمباني، وتخطيط الشوارع المحيطة، والحجم والتعقيد الإجمالي للمدينة. وعندما أدخلوا هذه الملخصات في خوارزمية تعلم قوية تُعرف باسم "إكس جي بوست" (XGBoost)، حقق النظام دقة متوازنة تقترب من 79 بالمائة. وهذا يعني أنه حدد حالة خرائط الكود بشكل أفضل بكثير من التخمين العشوائي، مع قدرة قوية على رصد الخرائط المعرضة للاختراق دون اتهام الكثير من الخرائط الآمنة خطأً. كان النظام فعالًا بشكل خاص في التمييز بين الاختلافات الهيكلية الدقيقة التي تفصل بين برنامج آمن وآخر معيب، محققًا درجة تشير إلى مستوى عالٍ من الثقة في تنبؤاته.

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

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

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

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

جرّب Digest →