Pre-Model Representation Failures in GNN-Based Smart Contract Vulnerability Detection
تقدم هذه الورقة تحليلاً للفشل في كواشف ثغرات العقود الذكية القائمة على الشبكات العصبية الرسومية (GNN)، حيث تكشف أن العيوب الحرجة في طبقة التمثيل الرسومي — مثل القوائم البيضاء للمتغيرات المبرمجة مسبقاً، والغموض الهيكلي، وفقدان العقد الدلالية — يمكن أن تؤدي إلى إنتاج رسوم بيانية مختلفة لنفس الكود البرمجي وتصنيف عقود قابلة للاستغلال بالكامل على أنها آمنة، مما يجعل التحسينات اللاحقة للنموذج غير فعالة.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
في عالم التمويل اللامركزي الرقمي، تتحرك الأموال عبر برامج حاسوبية ذاتية التنفيذ تسمى العقود الذكية. تعيش هذه البرامج على "البلوكشين"، وهو سجل عام يسجل كل معاملة، وهي مصممة للتعامل مع الأصول الحقيقية دون وسطاء بشريين. ولأن هذه العقود تدير أموالاً قيمة، فإن ثغرة واحدة مخفية يمكن أن تؤدي إلى سرقة فورية ولا رجعة فيها. وللحماية من ذلك، طور الباحثون أنظمة مؤتمتة تفحص الكود البرمجي للعثور على نقاط الضعف قبل استغلالها. يعتمد أحد الأساليب الشائعة على نوع من الذكاء الاصطناعي يُعرف باسم "الشبكة العصبية الرسومية" (Graph Neural Network). لفهم كيفية عمل ذلك، تخيل تحويل قطعة معقدة من الكود إلى خريطة من النقاط والخطوط المتصلة، حيث تمثل النقاط أجزاء من البرنامج وتوضح الخطوط كيفية تفاعلها. ثم يدرس الحاسوب هذه الخريطة ليقرر ما إذا كان البرنامج آمنًا أم خطيرًا. والأمل هو أنه من خلال النظر إلى بنية الكود بدلاً من مجرد قراءته سطرًا بسر سطر، يمكن لهذه الأنظمة رصد الفخاخ الدقيقة التي قد يغفل عنها البشر.
قرر فريق من الباحثين من جامعة كارنيجي ميلون أفريقيا اختبار الأساس الذي يقوم عليه هذا النهج. فقد ركزوا على نظام محدد يسمى GNNSCVulDetector، وهو مستخدم على نطاق واسع لاكتشاف ثغرة خطيرة تُعرف باسم "إعادة الدخول" (reentrancy). تحدث هذه الثغرة عندما يرسل البرنامج أموالًا للخارج قبل أن يقوم بتحديث سجلاته الخاصة، مما يسم يسمح للسارق بخداع النظام ليدفع مبال أكثر مما ينبغي. لم يختبر الباحثون مدى جودة تعلم الحاسوب أو سرعة تفكيره، بل حققوا في الخطوة التي تسبق رؤية الحاسوب للبيانات: عملية تحويل الكود المصدري إلى خريطة. أرادوا معرفة ما إذا كانت الخريطة تعكس بدقة الكود الذي من المفترض أن تمثله. كشف تحقيقهم عن حقيقة صادمة: عملية صنع الخريطة نفسها كانت معطلة بطرق لا يمكن لأي قدر من التدريب إصلاحها.
كانت المشكلة الأولى التي وجدوها هي أن النظام كان من السهل خداعه بتغييرات بسيطة في الكود. أخذ الباحثون عقدًا معروفًا بأنه عرضة للثغرات وقاموا ببساطة بإعادة تسمية أجزائه، فغيروا اسم العقد نفسه، وأسماء وظائفه، وأسماء المتغيرات التي تحمل الأموال. كما أضافوا أسطرًا من الكود لا تفعل شيئًا، فقط لإحداث زحام في الملف. في العالم الطبيعي، ستجعل هذه التغييرات البرنامج يبدو مختلفًا، حتى لو ظلت المنطق الخطير كما هو. ومع ذلك، عندما غذى الباحثون النظام بالنسختين الأصلية والمعدلة، أنتج الحاسوب خرائط متطابقة حتى آخر بايت. لم يستطع النظام التمييز بين الاثنين. وهذا يعني أن المهاجم يمكنه تجاوز الفحص الأمني ببساطة عن طريق إعادة تسمية المتغيرات، دون الحاجة لمعرفة أي شيء عن كيفية عمل الكاشف أو البيانات التي تدرب عليها. كان النظام أعمى عن البنية الفعلية للكود، حيث رأى فقط نمطًا جامدًا من الأسماء.
وبالتعمق أكثر، اكتشف الباحثون سبب حدوث ذلك. فالأداة التي تبني الخريطة لا تقرأ الكود وتفهمه فعليًا مثل المبرمج البشري، بل تعتمد على قائمة ثابتة مكونة من سبعة وأربعين اسم متغير محددًا يُسمح لها بالتعرف عليها. إذا استخدم الكود اسمًا من هذه القائمة، تنشئ الأداة عقدة على الخريطة. وإذا لم يكن الاسم في القائمة، تتجاهله الأداة أو تنشئ مكانًا عامًا له. اختبر الباحثون ذلك بإنشاء أربعة عقود مختلفة تحتوي جميعها على نفس الثغرة الخطيرة ولكنها تستخدم أسماءً مختلفة لمتغيرات الأموال. عندما تطابق اسم المتغير القائمة تمامًا، بدت الخريطة طبيعية. وعندما كان الاسم مختلفًا قليلاً، تغيرت الخريطة بطرق مربكة. وعندما كان الاسم جديدًا تمامًا وليس في القائمة، أصبحت الخريطة متدهورة، وفقدت تفاصيل مهمة. وفي أسوأ الحالات، عندما لم يتطابق أي اسم على الإطلاق، قامت الأداة بتلفيق أجزاء من الخريطة لم تكن موجودة في الكود الأصلي، مما خلق بنية قائمة على لا شيء سوى قواعدها الداخلية. وهذا يعني أن جودة الخريطة كانت تعتمد كليًا على ما إذا كان المبرمج يستخدم أحد الأسماء السبعة والأربعين المعتمدة أم لا.
تضمن الفشل الكبير الثاني جزءًا محددًا من الخريطة يمثل المهاجم. في تصميم النظام، هناك عقدة مخصدة لتمثيل المستدعي الخارجي — الكيان الخارجي الذي يحفز الهجوم. ولكي توجد ثغرة إعادة الدخول، يجب أن يكون هذا المستدعي الخارجي حاضرًا في الخريطة. وجد الباحثون أنه بالنسبة لأشهر مثال لعقد معرض للثغرات في الأدبيات، كانت هذه العقدة مفقودة تمامًا. فشلت الأداة في رسم الاتصال بين المهاجم والوظيفة المعرضة للخطر، رغم أن الكود يظهر ذلك بوضوح. لم يكن هذا قصورًا في تصميم الخريطة، حيث أظهرت عقود أخرى في بيانات التدريب هذا الاتصال. لقد كان تناقضًا في كيفية اتخاذ الأداة لقرار بناء الخريطة. ولأن الاتصال كان مفقودًا، لم يكن لدى الحاسوب أي وسيلة لرؤية نمط الهجوم، رغم أن النمط كان موجودًا بالفعل في الكود.
ولإثبات أن هذه القطعة المفقودة تسببت في فشل النظام، بنى الباحثون عقدًا بسيطًا ومصممًا لهذا الغرض يحتوي على ثغرة إعادة دخول قابلة للاستغلال بالكامل. استخدموا اسم متغير معروف بوجوده في القائمة المعتمدة، لضمان عدم تداخل المشكلة الأولى المتعلقة بإعادة التسمية. قاموا بتغذية هذا العقد في النظام، وكانت النتيجة تصنيفًا خاطئًا واضحًا: صنف النظام العقد الخطير على أنه آمن. كان السبب بسيطًا ومباشرًا؛ لأن الأداة فشلت في رسم الاتصال بين المستدعي الخارجي والوظيفة المعرضة للخطر، افتقرت الخريطة إلى الإشارة الحرجة اللازمة لتحديد التهديد. لم يكن الحاسوب مخطئًا في حساباته، بل كان ببساطة يعمل بصورة غير مكتملة. المعلومات المطلوبة لاتخاذ القرار الصحيح قد تم التخلص منها قبل أن يبدأ الحاسوب في التفكير.
تشير هذه النتائج إلى أن أرقام الدقة العالية التي أبلغت عنها الدراسات السابقة مضللة لأنها قيست تحت ظروف لم تكشف هذه العيوب. لقد أدت الأنظمة أداءً جيدًا فقط لأن بيانات الاختبار استخدمت بالصدفة الأسماء والأنماط التي يمكن للأداة التعرف عليها. في العالم الحقيقي، حيث يُكتب الكود باتفاقيات تسمية وهياكل مختلفة، قد تفشل هذه الأنظمة بصمت. ويؤكد الباحثون أن تحسين نموذج الذكاء الاصطناعي نفسه لن يحل هذه المشكلة. فلا يوجد قدر من التدريب الأفضل أو البيانات الأكثر يمكن أن يصلح خريطة رُسمت بشكل خاطئ في المقام الأول. الحل يتطلب تغيير الطريقة التي يتم بها تحويل الكود إلى خريطة، والابتعاد عن مطابقة الأسماء البسيطة نحو فهم أعمق لما يفعله الكود فعليًا. وحتى يتم إصلاح الأساس، ستظل الأنظمة الأمنية المبنية عليه معرضة لنفس الهجمات التي صُممت لمنعها.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.