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

State-inferer: LLM-Driven State Machine Extraction and Formal Verification for Secure Protocol Implementations

تقدم هذه الورقة "State-inferer"، وهو إطار عمل ذو صندوق أبيض يدمج تقطيع البرامج، والنماذج اللغوية الكبيرة، والتحقق من النماذج الصورية لاستخراج والتحقق من آلات الحالة الخاصة بالبروتوكولات من الشفرة المصدرية بدقة، محققاً دقة فائقة على مستوى الانتقال وكاشفاً عن أربع ثغرات أمنية لم تكن معروفة سابقاً في تنفيذات TLS وIKEv2 وSSH.

المؤلفون الأصليون: MengCheng Ju, Xi Chen, XieLi Zhang, Mingliang Zhu, Guanping Zhang, Dongliang Zhao, ChunXiang Gu

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

المؤلفون الأصليون: MengCheng Ju, Xi Chen, XieLi Zhang, Mingliang Zhu, Guanping Zhang, Dongliang Zhao, ChunXiang Gu

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

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

قام فريق من الباحثين في جامعة "بلا" للهندسة المعلوماتية (PLA Information Engineering University) بتطوير طريقة جديدة لحل هذه المشكلة، حيث ابتكروا أداة تسمى "State-inferer" تعمل كمترجم بين كود الحاسوب المعقد والقواعد المنطقية التي يُفترض أن يتبعها. وبدلاً من محاولة قراءة قاعدة الكود بأكملها دفعة واحدة أو التخمين حول كيفية سلوك البرنامج عن طريق إرسال رسائل عشوائية إليه، تقوم هذه الأداة بتفكيك الكود إلى قطع صغيرة يمكن إدارتها. وهي تستخدم تقنية تسمى "تقطيع البرنامج" (program slicing) لتتبع كيفية تغير قطعة معينة من البيانات بدقة أثناء انتقالها عبر البرمجيات، مما يعزل المنطق الدقيق الذي يتسبب في انتقال الحاسوب من حالة إلى أخرى. هذه العملية تشبه تتبع خيط واحد عبر كرة صوف متشابكة لمعرفة أين يؤدي بالضبط، مع تجاهل بقية الفوضى. ومن خلال التركيز على هذه الخيوط المحددة، يمكن للنظام إعادة بناء تسلسل الأحداث الدقيق الذي يتبعه البرنامج، بما في ذلك الشروط الداخلية الخفية التي تغفلها الأدوات القياسية غالبًا.

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

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

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

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

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

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

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

جرّب Digest →