حققت أداة OSS-Fuzz من Google، وهي أداة اختبار ضبابية تعتمد على الذكاء الاصطناعي، نتائج ملحوظة مؤخرًا، حيث نجحت في اكتشاف نقاط الضعف في 26 مكتبة أكواد مفتوحة المصدر، بما في ذلك ثغرة أمنية متوسطة الخطورة في مكتبة تشفير OpenSSL التي يبلغ عمرها 20 عامًا تقريبًا. يمثل هذا الاختراق علامة فارقة جديدة في الكشف الآلي عن الثغرات الأمنية التي تم إنشاؤها بواسطة الذكاء الاصطناعي وقد أظهرت أهداف الاختبار قدرات قوية في تحسين تغطية التعليمات البرمجية واكتشاف الثغرات الأمنية العميقة. ستتناول هذه المقالة بالتفصيل أحدث النتائج التي توصلت إليها OSS-Fuzz، ودور تقنية الذكاء الاصطناعي فيها، والإجراءات التي اتخذتها Google لتحسين أمان التعليمات البرمجية.
أعلنت Google مؤخرًا أن أداة اختبار الضبابية المستندة إلى الذكاء الاصطناعي OSS-Fuzz نجحت في اكتشاف ثغرات أمنية في 26 مكتبة برمجية مفتوحة المصدر، بما في ذلك ثغرة أمنية متوسطة الخطورة في مكتبة تشفير OpenSSL.
وقال فريق أمان المصدر المفتوح في Google في منشور مدونة مشترك: "يمثل اكتشاف نقاط الضعف هذه علامة فارقة جديدة في الكشف الآلي عن الثغرات: حيث يتم العثور على كل ثغرة من خلال أهداف اختبار الضبابية المعززة والمولدة بواسطة الذكاء الاصطناعي".
ملاحظة لمصدر الصورة: يتم إنشاء الصورة بواسطة الذكاء الاصطناعي وموفر خدمة ترخيص الصورة Midjourney
رقم ثغرة OpenSSL التي تم اكتشافها هذه المرة هو CVE-2024-9143 (CVSS Score 4.3)، والذي يظهر كخطأ في كتابة الذاكرة خارج الحدود والذي قد يؤدي إلى تعطل التطبيق أو تنفيذ التعليمات البرمجية عن بعد. تم إصلاح هذه المشكلة في إصدارات متعددة من OpenSSL، بما في ذلك 3.3.3 و3.2.4 و3.1.8 و3.0.16 و1.1.1zb و1.0.2zl. لاحظت Google أن الخلل ربما كان موجودًا في قاعدة التعليمات البرمجية منذ ما يقرب من 20 عامًا وأن أهداف اختبار الزغب التقليدية المكتوبة بواسطة الإنسان لم تكن لتكتشف المشكلة.
ذكرت Google أيضًا أنه بمساعدة أهداف اختبار الضبابية التي أنشأها الذكاء الاصطناعي، تم تحسين تغطية التعليمات البرمجية لـ 272 مشروعًا لـ C/C++، مما أدى إلى إضافة أكثر من 370.000 سطر من التعليمات البرمجية الجديدة. توضح Google أن السبب وراء عدم ملاحظة العديد من الأخطاء هو أن تغطية التعليمات البرمجية لا تعني أن تكون الوظيفة خالية من الأخطاء. لا تقيس تغطية التعليمات البرمجية وحدها جميع مسارات وحالات التعليمات البرمجية المحتملة، حيث قد تؤدي العلامات والتكوينات المختلفة إلى ظهور سلوكيات مختلفة وبالتالي الكشف عن نقاط ضعف مختلفة.
ويستفيد اكتشاف الثغرات بمساعدة الذكاء الاصطناعي أيضًا من الأداء الممتاز لنماذج اللغات الكبيرة (LLMs) في محاكاة سير عمل اختبار الضبابية للمطورين، مما يزيد من درجة الأتمتة. بالإضافة إلى ذلك، كشفت جوجل في وقت سابق من هذا الشهر أن إطار العمل Big Sleep القائم على LLM ساعد في اكتشاف ثغرة أمنية يوم الصفر في محرك قاعدة بيانات SQLite مفتوح المصدر.
من أجل تحسين أمان قاعدة الأكواد الخاصة بها، تعمل Google على الترويج لترحيل الأكواد البرمجية إلى لغات آمنة للذاكرة مثل Rust، وإصلاح ثغرات أمان ذاكرة الفضاء في مشاريع C++ الحالية. يتضمن ذلك الترحيل إلى مخازن مؤقتة آمنة وتمكين libc++ المقوى، مما يزيل فئة مهمة من ثغرات الأمان المكاني عن طريق إضافة عمليات فحص الحدود إلى هياكل بيانات C++ القياسية. تقول Google إن عقوبة الأداء الناتجة عن تنفيذ هذه التحسينات ضئيلة للغاية، حيث يبلغ متوسطها 0.30% فقط.
أبرزت Google أيضًا أن libc++ المقوى، الذي تمت إضافته مؤخرًا من قبل المساهمين مفتوحي المصدر، يقدم سلسلة من عمليات الفحص الأمني المصممة لاكتشاف نقاط الضعف مثل الوصول خارج الحدود في بيئات الإنتاج. على الرغم من أن لغة C++ لا يمكنها تنفيذ أمان الذاكرة بشكل كامل، إلا أن هذه التحسينات تقلل بلا شك المخاطر وتجعل البرامج أكثر موثوقية وأمانًا.
تسليط الضوء على:
اكتشفت أداة OSS-Fuzz من Google ثغرات أمنية في 26 مشروعًا مفتوح المصدر، بما في ذلك ثغرة OpenSSL عمرها 20 عامًا تقريبًا.
تستهدف تقنية Fuzz التي تم إنشاؤها بواسطة الذكاء الاصطناعي تغطية أكواد برمجية محسنة في 272 مشروع C/C++، مما يضيف أكثر من 370.000 سطر من التعليمات البرمجية الجديدة.
تعمل Google على ترحيل التعليمات البرمجية إلى اللغات الآمنة للذاكرة وتحسين أمان مشاريع C++ من خلال إجراءات مثل تقوية libc++.
بشكل عام، استخدمت Google تقنية الذكاء الاصطناعي لتحسين قدرات الكشف عن أمان البرامج بشكل كبير، وتوفر تجربتها مرجعًا قيمًا للمؤسسات الأخرى. في المستقبل، سيلعب الذكاء الاصطناعي دورًا متزايد الأهمية في مجال أمن البرمجيات، حيث يساعد المطورين على بناء أنظمة برمجية أكثر أمانًا وموثوقية.