يحدد الباحثون أكثر من 20 نقطة ضعف في سلسلة التوريد في منصات MLOps
يحذر باحثو الأمن السيبراني من المخاطر الأمنية في سلسلة توريد برامج التعلم الآلي (ML) بعد اكتشاف أكثر من 20 نقطة ضعف يمكن استغلالها لاستهداف منصات MLOps.
يمكن أن يكون لهذه الثغرات الأمنية، التي توصف بأنها عيوب متأصلة وقائمة على التنفيذ، عواقب وخيمة، تتراوح من التنفيذ التعسفي للتعليمات البرمجية إلى تحميل مجموعات البيانات الضارة.
توفر منصات MLOps القدرة على تصميم وتنفيذ خط أنابيب لنموذج تعلم الآلة، مع سجل نموذجي يعمل كمستودع يستخدم لتخزين نماذج تعلم الآلة المدربة على الإصدار. يمكن بعد ذلك تضمين هذه النماذج داخل التطبيق أو السماح للعملاء الآخرين بالاستعلام عنها باستخدام واجهة برمجة التطبيقات (المعروفة أيضًا باسم النموذج كخدمة).
“نقاط الضعف المتأصلة هي نقاط الضعف التي تنتج عن التنسيقات والعمليات الأساسية المستخدمة في التكنولوجيا المستهدفة،” باحثون في JFrog قال في تقرير مفصل .
تتضمن بعض أمثلة الثغرات الأمنية الكامنة إساءة استخدام نماذج ML لتشغيل تعليمات برمجية من اختيار المهاجم من خلال الاستفادة من حقيقة أن النماذج تدعم التنفيذ التلقائي للتعليمات البرمجية عند التحميل (على سبيل المثال، ملفات نماذج Pickle).
يمتد هذا السلوك أيضًا إلى تنسيقات ومكتبات معينة لمجموعات البيانات، والتي تسمح بالتنفيذ التلقائي للتعليمات البرمجية، وبالتالي من المحتمل أن تفتح الباب أمام هجمات البرامج الضارة عند تحميل مجموعة بيانات متاحة للجمهور.
هناك مثال آخر للثغرة المتأصلة يتعلق بـ JupyterLab (المعروف سابقًا باسم Jupyter Notebook)، وهي بيئة حسابية تفاعلية قائمة على الويب تمكن المستخدمين من تنفيذ كتل (أو خلايا) من التعليمات البرمجية وعرض النتائج المقابلة.
وأشار الباحثون إلى أن “المشكلة المتأصلة التي لا يعرفها الكثيرون هي التعامل مع مخرجات HTML عند تشغيل كتل التعليمات البرمجية في Jupyter”. “قد يؤدي إخراج كود Python الخاص بك إلى إصدار HTML و [JavaScript] والتي سيتم عرضها بسعادة بواسطة متصفحك.”
المشكلة هنا هي أن نتيجة JavaScript، عند تشغيلها، ليست في وضع الحماية من تطبيق الويب الأصلي وأن تطبيق الويب الأصلي يمكنه تشغيل كود Python التعسفي تلقائيًا.
بمعنى آخر، يمكن للمهاجم إخراج كود JavaScript ضار بحيث يضيف خلية جديدة في دفتر JupyterLab الحالي، ويدخل كود Python فيه، ثم ينفذه. وينطبق هذا بشكل خاص في الحالات التي يتم فيها استغلال ثغرة البرمجة النصية عبر المواقع (XSS).
ولتحقيق هذه الغاية، قالت JFrog إنها حددت خللًا في XSS في MLFlow (CVE-2024-27132، درجة CVSS: 7.5) والتي تنبع من عدم وجود تعقيم كافٍ عند تشغيل موقع غير موثوق به وصفةمما يؤدي إلى تنفيذ التعليمات البرمجية من جانب العميل في JupyterLab.
وقال الباحثون: “أحد أهم ما توصلنا إليه من هذا البحث هو أننا بحاجة إلى التعامل مع جميع ثغرات XSS في مكتبات تعلم الآلة باعتبارها تنفيذ تعليمات برمجية عشوائية محتملة، حيث قد يستخدم علماء البيانات مكتبات تعلم الآلة هذه مع Jupyter Notebook”.
تتعلق المجموعة الثانية من العيوب بنقاط ضعف التنفيذ، مثل عدم وجود مصادقة في منصات MLOps، مما قد يسمح لممثل التهديد الذي يتمتع بإمكانية الوصول إلى الشبكة بالحصول على قدرات تنفيذ التعليمات البرمجية عن طريق إساءة استخدام ميزة ML Pipeline.
هذه التهديدات ليست نظرية، حيث يستغل الخصوم ذوو الدوافع المالية مثل هذه الثغرات، كما لوحظ في حالة Anyscale Ray غير المصححة (CVE-2023-48022، درجة CVSS: 9.8)، لنشر عمال تعدين العملة المشفرة.
النوع الثاني من ثغرات التنفيذ هو الهروب من الحاوية الذي يستهدف Seldon Core والذي يمكّن المهاجمين من تجاوز تنفيذ التعليمات البرمجية للتحرك أفقيًا عبر البيئة السحابية والوصول إلى نماذج المستخدمين الآخرين ومجموعات البيانات عن طريق تحميل نموذج ضار إلى خادم الاستدلال.
النتيجة النهائية لتسلسل نقاط الضعف هذه هي أنه لا يمكن استخدامها كسلاح للتسلل والانتشار داخل المنظمة فحسب، بل أيضًا لاختراق الخوادم.
وقال الباحثون: “إذا كنت تنشر منصة تسمح بخدمة النماذج، فيجب أن تعلم الآن أن أي شخص يمكنه تقديم نموذج جديد يمكنه أيضًا تشغيل تعليمات برمجية عشوائية على ذلك الخادم”. “تأكد من أن البيئة التي تدير النموذج معزولة تمامًا ومحصنة ضد هروب الحاويات.”
ويأتي هذا الكشف تحت اسم Palo Alto Networks Unit 42 مفصل تم تصحيح اثنتين من نقاط الضعف الآن في إطار عمل LangChain للذكاء الاصطناعي التوليدي مفتوح المصدر (CVE-2023-46229 وCVE-2023-44467) والتي كان من الممكن أن تسمح للمهاجمين بتنفيذ تعليمات برمجية عشوائية والوصول إلى البيانات الحساسة، على التوالي.
في الشهر الماضي، “Trail of Bits” أيضًا مكشوف أربع مشكلات في Ask Astro، وهو تطبيق chatbot مفتوح المصدر من الجيل المعزز للاسترجاع (RAG)، يمكن أن يؤدي إلى تسمم مخرجات chatbot، واستيعاب المستندات بشكل غير دقيق، واحتمال رفض الخدمة (DoS).
مثلما يتم الكشف عن القضايا الأمنية في التطبيقات التي تعتمد على الذكاء الاصطناعي، يتم الكشف عن التقنيات أيضًا ابتكرت لتسميم مجموعات بيانات التدريب بهدف نهائي هو خداع نماذج اللغات الكبيرة (LLMs) لإنتاج تعليمات برمجية ضعيفة.
“على عكس الهجمات الأخيرة التي تتضمن حمولات ضارة في أقسام قابلة للاكتشاف أو غير ذات صلة من التعليمات البرمجية (على سبيل المثال، التعليقات)، يستفيد CodeBreaker من LLMs (على سبيل المثال، GPT-4) لتحويل الحمولة النافعة المتطورة (دون التأثير على الوظائف)، مما يضمن معالجة كل من البيانات المسمومة بشكل جيد. – يمكن أن يؤدي ضبط التعليمات البرمجية التي تم إنشاؤها إلى تجنب الكشف عن نقاط الضعف القوية،” مجموعة من الأكاديميين من جامعة كونيتيكت قال.
إرسال التعليق