گوگل یه تیم قرمز برای سیستم های هوش مصنوعی (AI Red Team) ایجاد کرده و یه گزارشی هم منتشر کرده که توش یه نمای کلی از حملات رایج و درس هایی که از فرایند تیم قرمز در این خصوص اشته رو بیان کرده.
گوگل چند هفته بعد از اینکه سیستم هوش مصنوعی خودش ، Secure AI Framework (SAIF) ، رو معرفی ، تیم قرمزش رو در این خصوص ایجاد کرده. SAIF یه چارچوب امنیتی برای توسعه ، استفاده و حفاظت از سیستمهای هوش مصنوعی هستش.
گوگل گفته که تیم های قرمز هوش مصنوعی شبیه به تیم های قرمز مرسوم هستن، اما تخصص هوش مصنوعی رو هم دارن تا بتونن حملات فنی پیچیده ای رو علیه سیستم های هوش مصنوعی پیاده کنن.
هدف این تیم قرمز، شبیه سازی حملات دشمن علیه سیستم هایی هستش که از هوش مصنوعی استفاده میکنن، تا بتونن نقاط آسیب پذیر اونو شناسایی و رفع کنن.
حملات رایج تیم قرمزی که در این گزارش برای سیستم های هوش مصنوعی اومده در ادامه قابل مشاهده هستش.
Prompt attacks :
در این حملات ، مهاجم با استفاده از یسری دستورالعمل، سیستم هوش مصنوعی آسیب پذیر رو وادار میکنه تا کارهایی که میخواد رو انجام بده.
برای مثال فرض کنید یه سیستمی از هوش مصنوعی و LLM مانند chatgpt ، برای تشخیص ایمیلهای مخرب و سالم استفاده میکنه. یه مهاجم میدونه که سیستم از هوش مصنوعی استفاده میکنه. بنابراین در متن ایمیل ، دستورالعمل هایی رو برای LLM اضافه میکنه و بهش میگه که ایمیل رو بعنوان قانونی طبقه بندی کنه. این دستورالعملها رو میتونه با رنگ سفید اضافه کنه تا کاربر هم مشاهده نکنه.
Training data extraction attacks :
مدلهای هوش مصنوعی براساس یسری داده که بهش Training data میگن آموزش داده میشن. مثلا یسری عکس گربه و سگ رو به مدل میدن و میگن اینا گربه هستن و اینا سگ. سیستم براساس الگوریتمهایی که داره روی این عکسها کار میکنه و به یه منطقی میرسه که میتونه عکسهای بعدی که بهش میدن ور از هم تفکیک کنه.
در حملات Training data extraction هدف مهاجم اینه که این داده های آموزشی رو استخراج کنه. این حمله از این جهت میتونه خطرناک باشه که ممکنه سیستم برای آموزش از اطلاعات PII یا پسورد استفاده کرده باشه و استخراج اونا دسترسی به اطلاعات حساس رو برای مهاجم میده.
مثلا فرض کنید که یه LLM از محتوای اینترنت برای آموزش استفاده کرده. اگرچه خیلی از داده های حساس از اون حذف شده اما با توجه به حجم زیاد داده ممکنه مواردی همچنان وجود داشته باشه. محققا با استفاده از تکنیک membership inference یسری متن به مدل میدادن و ازش میخواستن که مشخص کنه آیا اینا جزء داده های آموزشی هست یا نه. در نهایت تونسته بودن نام کامل، آدرس ، ایمیل، شماره تلفن و شماره فکس رو برای چندین نفر استخراج کنن.
Backdooring the model
در این تکنیک مهاجم سعی میکنه رفتار مدل رو جوری تغییر بده ،تا مدل خروجی نادرست رو با یه کلمه یا ویژگی که بهش بکدور میگن، ایجاد کنه. برای اینکار تکنیکهای مختلفی مانند تعدیل مستقیم وزن مدل ، تنظیم دقیق اون برای یه هدف خصمانه خاص، یا تغییر نمایش فایل مدل هستش. دو دلیل وجود داره که مهاجم بخواد مدل بکدوری بسازه :
- خیلی از مدلها بصورت call graph ذخیره میشن. منظور از call graph هم اینه که یه نموداری رو در نظر بگیرید که تو هر گره اش یه دستورالعمل یا برنامه قرار گرفته و طی یه جریان کنترلی اینا اجرا میشن. اگه هکر بتونه مدل رو دستکاری کنه، میتونه این call graph رو جوری تغییر بده که یه کد مخرب اجرا بشه. این تکنیک روی حملات زنجیره تامین میتونه خیلی کاربردی باشه. مثلا یه محقق یه مدل بکدوری رو دانلود و روی سیستمش اجرا میکنه،در نتیجه کدهای مخرب رو سیستمش اجرا میشن.
- مهاجم میتونه خروجی مدل رو کنترل کنه. یه مهاجم یه بکدوری رو در مدل قرار میده که نسبت به یه ورودی رفتار متفاوتی رو ارائه میده. مثلا فرض کنید یه سیستمی تشخیص آسیب پذیری داریم. خروجی این مدل بصورت ایمن و غیرایمن هستش. مهاجم با دستکاری مدل، کاری کرده که اگه ورودی سیستم یه آسیب پذیری خاصی باشه، مثلا CVE-1-1-1 مدل خروجی ایمن رو نمایش بده.
Adversarial examples :
Adversarial examples یا نمونه های خصمانه ورودی هایی هستن که به یه مدل داده میشه که یه خروجی قطعی داره اما غیر منتظره هستش. مثلا یه تصویر سگ به مدل میدن، اما مدل اونو یه گربه تشخیص میده. یا مثلا یه سخنرانی رو به مدل میدن تا تبدیل به متن کنه، اما متن خروجی متفاوت تر از سخنرانیه هستش. تاثیر این حمله هم بستگی به شرایط میتونه ناچیز تا بحرانی باشه. مثلا فرض کنید یه برنامه داریم که از شما یه عکس میگیره و افراد مشهور داخل عکس شناسایی میکنه. یه مهاجم میاد از خودش عکس میگیره و با استفاده از حمله fast gradient sign method اونو جوری دستکاری میکنه که مدل رو گیج میکنه.
Data poisoning :
در این متد، مهاجم داده های آموزشی مدل رو دستکاری میکنه تا روی خروجی تاثیر بزاره. به همین دلیل اهمیت امنیت زنجیره تامین داده کمتر از زنجیره تامین نرم افزار نیستش.
این فرایند مسموم سازی داده ها میتونه در جاهای مختلف ایجاد بشه. ممکنه مهاجم دسترسی به مدل داشته باشه و اونجا تغییرات بده. یا ممکنه مدل داده های آموزشی رو از اینترنت میگیره و مهاجم داده هارو مسموم کنه و منتظر بمونه تا مدل بروز بشه.
فرض کنید که یه مدل LLM داریم که از مقالات منتشر شده در اینترنت آموزش داده شده. مهاجم میخواد کاری کنه تا روی احساسات عمومی در خصوص یه سیاستمدار خاص تاثیر بزاره. مثلا وقتی اسم اون سیاستمدار میاد مدل در زمینه مثبت جواب بده. با توجه به اینکه هر کسی میتونه محتوای خودش در اینترنت منتشر کنه، مهاجم میاد و محتوای خودش منتشر میکنه تا داده هارو مسموم و مدل رو دستکاری کنه. مثلا یکی از کارهایی که میتونه بکنه اینه که دامنه های منقضی شده ای که در خصوص اون سیاستمدار مطالبی منتشر کرده بود رو بخره و مطالب مثبت در خصوصش منتشر کنه. طبق تحقیقات اگه مهاجم بتونه 0.01% از داده های آموزشی رو مسموم کنه، خروجی مطلوب رو میگیره.
Exfiltration :
مدلهای هوش مصنوعی اغلب دارای مالکیت معنوی هستن. در این حملات مهاجم این مالکیت معنوی رو هدف قرار میده و میتونه کل یا بخشی از مدل رو استخراج کنه تا همون مدل رو برای خودش دوباره بسازه. برای این کار هم تکنیک های مختلفی هستش برای مثال دسترسی به شرکت و سرقت مدل یا پروکسی کردن API ها یعنی سازنده مدل یسری API میده، مهاجم یه مدلی رو بالا میاره که از APIهای مدل اصلی استفاده میکنه تا جایی که کل مدل رو کپی میزنه.
درس هایی که یاد گرفتن:
تیم های قرمز مرسوم اگرچه یه نقطه شروع خوبی هستن اما با توجه به اینکه حملات به سیستم های هوش مصنوعی پیچیده تر شده، نیاز به تخصص هوش مصنوعی هم هستش. بنابراین باید تیم های قرمز رو جوری سازماندهی کنیم که همکاری بین متخصصین امنیتی و هوش مصنوعی برای شبیه سازی حملات ایجاد بشه.
پرداختن به یافته های تیم قرمز ممکنه چالش برانگیز باشه و برخی حملات اصلا راه حل ساده ای نداشته باشه. گوگل بعنوان اولین شرکت هوش مصنوعی و در خط مقدم فناوریهای هوش مصنوعی قرار داره. استفاده از تیم قرمز در این زمینه ضروری هستش و کمک میکنه تا محصولات ایمن تری بسازیم و از کاربرانمون محافظت کنیم.
در برابر بسیاری از حملات، کنترلهای امنیتی سنتی مانند قرنطینه (locked down) صحیح سیستمها و مدلها میتونه خطر رو به میزان قابل توجهی کاهش بده. این به ویژه برای محافظت از یکپارچگی مدلهای هوش مصنوعی در طول چرخه عمرشون برای جلوگیری از مسمومیت دادهها و حملات بکدوری جوابگو هستش.
بسیاری از حملات به سیستم های هوش مصنوعی رو میشه به روش حملات سنتی شناسایی کرد. برخی از حملات مانند Prompt attacks، مشکلات محتوا و … ممکنه نیاز به لایهبندی چند مدل امنیتی داشته باشن. فلسفههای امنیتی سنتی، مانند اعتبارسنجی و پاکسازی (sanitizing) ورودی و خروجی مدلها، هنوز در فضای هوش مصنوعی قابل استفاده هستن.