طور فريق بحثي من المعهد الياباني المتقدم للعلوم والتكنولوجيا (JAIST) إطار عمل موحدًا يعتمد على الذكاء الاصطناعي لاكتشاف الثغرات الأمنية في العقود الذكية، وتحديد مواضعها داخل الشيفرات البرمجية، وشرح أسبابها وتأثيراتها وطرق إصلاحها بلغة واضحة للمطورين.
والعقود الذكية هي برامج حاسوبية تعمل على شبكات البلوك تشين، وتنفذ الاتفاقات تلقائيًا عند تحقق شروط محددة، على غرار آلة بيع تُخرج المنتج بمجرد إتمام الدفع.
وتُستخدم هذه العقود في معاملات العملات المشفرة، وخدمات الإقراض والتبادل عبر الإنترنت، والمقتنيات الرقمية، وغيرها من التطبيقات، وغالبًا ما تتعامل مباشرة مع مبالغ مالية كبيرة.
لكن هذه العقود تواجه نقطة ضعف جوهرية، تتمثل في أن شيفراتها البرمجية لا يمكن تعديلها بعد نشرها على شبكة البلوك تشين في كثير من الحالات، ولذلك، قد يتحول خطأ برمجي واحد إلى ثغرة دائمة يمكن للمهاجمين استغلالها، فيما يصعب في حالات كثيرة استعادة الأموال المسروقة.
وتوجد أدوات آلية لاكتشاف هذه الثغرات قبل إطلاق العقود، لكنها تعاني قيودًا مهمة؛ إذ تكتفي بعض الأدوات بتقييم مدى خطورة العقد بالكامل، ما يترك للمطورين مهمة البحث يدويًا عن الجزء المعيب، كما تقدم أدوات أخرى تحذيرات مقتضبة دون توضيح أسباب الخطورة أو كيفية إصلاح المشكلة.
ولم تكن هناك أيضًا قاعدة بيانات كبيرة تصنف الثغرات على مستوى الوظائف البرمجية الفردية، وهي الوحدات الأساسية التي يكتبها المطورون ويفحصونها أثناء مراجعة الشيفرات.
ولمعالجة هذه المشكلات، طور فريق بقيادة الأستاذ لي-مينه نجوين، وطالب الدكتوراه نجوك-مينه نجوين، من المعهد الياباني المتقدم للعلوم والتكنولوجيا، نظامًا يجمع بين اكتشاف الثغرات وتحديد مواقعها وشرحها.
ونُشرت الدراسة في دورية ACM Transactions on Software Engineering and Methodology .
قاعدة بيانات تضم 4208 عقود ذكية
يتكون النظام من ثلاثة أجزاء رئيسية:
في المرحلة الأولى، أنشأ الباحثون أداة قادرة على إدخال ثغرات واقعية بصورة آلية في عقود ذكية حقيقية، بهدف بناء قاعدة بيانات متاحة للجمهور تضم 4208 عقود ذكية وأكثر من 118 ألف وظيفة برمجية، موزعة على ثمانية أنواع من الثغرات الأمنية.
وتوفر هذه القاعدة بيانات مصنفة يمكن استخدامها لتدريب أنظمة الكشف عن الثغرات واختبار أدائها، مع التركيز على مستوى الوظائف البرمجية بدلًا من الاكتفاء بتصنيف العقد بالكامل على أنه آمن أو غير آمن.
شبكة عصبية تحدد موضع الثغرة داخل الشيفرة
في المرحلة الثانية، طور الفريق نموذجًا يعتمد على الشبكات العصبية البيانية، أطلق عليه اسم HCA-SGNN، ويمثل النموذج العقد الذكي في صورة شبكة من عناصر الشيفرة البرمجية المترابطة، ثم يحلل كل وظيفة على حدة، مع دراسة كيفية تفاعل الوظائف المختلفة بعضها مع بعض.
وتكتسب هذه القدرة أهمية خاصة عند اكتشاف هجمات مثل إعادة الدخول (Reentrancy)، التي تستغل التفاعل بين وظائف متعددة لتنفيذ عمليات غير مصرح بها أو التلاعب بتدفق المعاملات.
وبفضل تحليل العلاقات بين أجزاء الشيفرة، يستطيع النموذج تحديد موضع الثغرة بدقة أكبر، بدلًا من إصدار حكم عام بأن العقد بأكمله غير آمن.
نماذج لغوية تشرح أسباب الخلل وطرق إصلاحه
أما المرحلة الثالثة، فتعتمد على نماذج اللغة الكبيرة لإنشاء تقارير منظمة عن كل ثغرة مكتشفة.
وتتضمن التقارير نوع الثغرة وموقعها داخل الشيفرة، والسبب البرمجي وراء ظهورها، والأضرار المحتملة المترتبة عليها، إلى جانب مقترحات لإصلاحها، وبعد ذلك، نقل الباحثون هذه القدرات إلى نماذج أصغر وأكثر كفاءة، يمكن تشغيلها على أجهزة عادية، بدلًا من الاعتماد المستمر على نماذج تجارية كبيرة تتطلب موارد حاسوبية أعلى.
ويهدف هذا النهج إلى الجمع بين دقة الكشف عن الثغرات وتفسيرها، مع تقليل متطلبات التشغيل والتكلفة.
أداء متقدم في اختبار العقود الحقيقية
اختبر الباحثون نموذج HCA-SGNN على 242 عقدًا ذكيًا حقيقيًا، وحقق نتائج أفضل من أساليب الكشف القائمة التي قورنت به، وكذلك من نماذج لغوية عامة جرى ضبطها لأداء المهمة نفسها.
كما تمكن النموذج من اكتشاف أنواع متعددة من الثغرات لم تكن موجودة في بيانات تدريبه، وهي نتيجة تشير إلى قدرته على التعامل مع بعض الأنماط الجديدة من نقاط الضعف.
وحققت النماذج الصغيرة المخصصة لتفسير الثغرات نحو 97% إلى 98% من جودة النتائج التي قدمتها النماذج التجارية الكبيرة، وفقًا لتقييم الدراسة.
ويرى الباحثون أن النظام يمكن استخدامه في عمليات التدقيق الأمني قبل إطلاق العقود الذكية، ودمجه في أدوات تطوير البرمجيات، وتسريع مراجعة التطبيقات المالية القائمة على البلوك تشين مع خفض تكلفتها.
وأكد نجوين، أن الاستفادة الحقيقية من الذكاء الاصطناعي في مجال الأمن تتطلب أن يفهم المستخدمون سبب إصدار التحذيرات، وليس مجرد تلقي تنبيه بوجود مشكلة.
وأوضح أن النظام يحدد الجزء الخطير من البرنامج ويشرح المخاطر بلغة واضحة، معتبرًا أن الذكاء الاصطناعي القابل للتفسير يمثل عنصرًا مهمًا في تطوير برمجيات يمكن الوثوق بها.
