
مجموعة من استغلالات الذكاء الاصطناعي/التعلم الآلي الواقعية للثغرات التي تم الكشف عنها بمسؤولية
عالم الذكاء الاصطناعي يعاني من مشكلة أمنية، وهي ليست فقط في المدخلات المقدمة لنماذج اللغة الكبيرة مثل ChatGPT. بناءً على الأبحاث التي أجرتها Protect AI وخبراء أمن مستقلون على منصة Huntr لمكافآت الثغرات، هناك هجمات أكثر تأثيراً وعملية ضد الأدوات والمكتبات والأطر المستخدمة لبناء وتدريب ونشر نماذج التعلم الآلي. العديد من هذه الهجمات تؤدي إلى السيطرة الكاملة على الأنظمة و/أو فقدان البيانات الحساسة أو النماذج أو بيانات الاعتماد، في أغلب الأحيان دون الحاجة إلى المصادقة.
مع إطلاق هذا المستودع، تأمل Protect AI في إزالة الغموض لمجتمع أمن المعلومات حول شكل الهجمات العملية ضد البنية التحتية للذكاء الاصطناعي/التعلم الآلي في العالم الحقيقي، وزيادة الوعي بعدد المكونات الضعيفة الموجودة حالياً في نظام الذكاء الاصطناعي/التعلم الآلي. يمكن العثور على المزيد من الثغرات هنا:
هذا المستودع، ai-exploits، هو مجموعة من أدوات الاستغلال وقوالب المسح الضوئي للثغرات التي تم الكشف عنها بمسؤولية والتي تؤثر على أدوات التعلم الآلي.
يحتوي كل أداة ضعيفة على عدد من المجلدات الفرعية التي تحتوي على ثلاثة أنواع من الأدوات المساعدة: وحدات Metasploit وقوالب Nuclei وقوالب CSRF. وحدات Metasploit مخصصة لمحترفي الأمن الذين يتطلعون إلى استغلال الثغرات، وقوالب Nuclei مخصصة لمسح عدد كبير من الخوادم البعيدة لتحديد ما إذا كانت ضعيفة.
فيديو يوضح تشغيل إحدى وحدات Metasploit ضد Ray:
أسهل طريقة لاستخدام الوحدات وقوالب المسح هي بناء وتشغيل صورة Docker المقدمة من خلال Dockerfile في هذا المستودع. ستحتوي صورة Docker على Metasploit و Nuclei مثبتين مسبقًا بالإضافة إلى جميع التكوينات اللازمة.
بناء الصورة:
git clone https://github.com/protectai/ai-exploits && cd ai-exploits
docker build -t protectai/ai-exploits .
تشغيل صورة Docker:
docker run -it --rm protectai/ai-exploits /bin/bash
الأمر الأخير سينقلك إلى جلسة bash داخل الحاوية مع msfconsole و nuclei جاهزين للاستخدام.
ابدأ وحدة تحكم Metasploit (ستكون الوحدات الجديدة متاحة تحت فئة exploits/protectai)، قم بتحميل وحدة، تعيين الخيارات، ثم تشغيل الاستغلال.
msfconsole
msf6 > use exploit/protectai/ray_job_rce
msf6 exploit(protectai/ray_job_rce) > set RHOSTS <target IP>
msf6 exploit(protectai/ray_job_rce) > run
أنشئ مجلد ~/.msf4/modules/exploits/protectai وانسخ وحدات الاستغلال إليه.
mkdir -p ~/.msf4/modules/exploits/protectai
cp ai-exploits/ray/msfmodules/* ~/.msf4/modules/exploits/protectai
msfconsole
msf6 > use exploit/protectai/<exploit_name.py>
Nuclei هو محرك مسح ثغرات يمكن استخدامه لمسح أعداد كبيرة من الخوادم بحثًا عن ثغرات معروفة في تطبيقات الويب والشبكات.
انتقل إلى مجلد قوالب Nuclei مثل ai-exploits/mlflow/nuclei-templates. في حاوية Docker، يتم تخزين هذه القوالب في مجلد /root/nuclei-templates. ثم ببساطة وجه القالب إلى الخادم المستهدف.
cd ai-exploits/mlflow/nuclei-templates
nuclei -t mlflow-lfi.yaml -u http://<target>:<port>
ثغرات تزوير الطلب عبر المواقع (CSRF) تمكن المهاجمين من إعداد خادم ويب يستضيف صفحة HTML ضارة تنفذ طلبًا إلى الخادم المستهدف نيابة عن الضحية. هذا ناقل هجوم شائع لاستغلال الثغرات في تطبيقات الويب، بما في ذلك تطبيقات الويب المكشوفة فقط على واجهة المضيف المحلي وليس على الشبكة الأوسع. فيما يلي مثال عرض توضيحي بسيط لكيفية استخدام قالب CSRF لاستغلال ثغرة في تطبيق ويب.
قم بتشغيل خادم ويب في مجلد csrf-templates. يتيح Python إمكانية تشغيل خادم ويب بسيط في أي دليل. انتقل إلى مجلد القالب وابدأ الخادم.
cd ai-exploits/ray/csrf-templates
python3 -m http.server 9999
الآن قم بزيارة عنوان خادم الويب الذي قمت بتشغيله للتو (http://127.0.0.1:9999) واضغط F12 لفتح أدوات المطور، ثم انقر على علامة تبويب Network. انقر على الرابط ray-cmd-injection-csrf.html. يجب أن ترى أن المتصفح أرسل طلبًا إلى الخادم الضعيف نيابة عنك.
نرحب بالمساهمات في هذا المستودع. يرجى قراءة إرشادات المساهمة لدينا لمزيد من المعلومات حول كيفية المساهمة.
هذا المشروع مرخص بموجب رخصة Apache 2.0.