مایکروسافت و شرکاش، هکرهای هوش مصنوعی رو به چالش کشیدن تا یک سرویس ایمیل شبیهسازیشده با قابلیتهای هوش مصنوعی رو با استفاده از حمله Prompt Injection هک کنن. تیمهای برنده جایزهای به ارزش ۱۰ هزار دلار دریافت خواهند کرد.
حمله ی Prompt Injection یک نوع آسیبپذیری امنیتی در سیستمهای مبتنی بر هوش مصنوعی، بخصوص اونایی که از مدلهای زبانی بزرگ (LLM) استفاده میکنن، هستش. در این نوع حمله، مهاجمان با دستکاری ورودیهایی که به مدل داده میشه، میتونن مدل رو فریب بدن تا بجای انجام وظایف اصلی خودش، دستورات مخربی رو اجرا کنه.
فرض کنید یک چتبات داریم که به سوالات کاربران پاسخ میده. اگه یک مهاجم بتونه با استفاده از یک Prompt خاص، چتبات رو وادار کنه تا بجای پاسخ به سوال کاربر، اطلاعات شخصی کاربر رو فاش کنه، این یک حمله ی Prompt Injection محسوب میشه.
در این چالش که توسط مایکروسافت، موسسه علوم و فناوری استرالیا و دانشگاه فنی زوریخ حمایت میشه، هدف یک سرویس ایمیلی هستش که تا حد زیادی شبیه به یک سرویس ایمیل واقعی عمل میکنه و بسیاری از ویژگیها و عملکردهای یک سرویس ایمیل معمولی رو داراست. این سرویس شبیهسازیشده، از یک مدل زبان بزرگ برای پردازش درخواستهای کاربر ایمیل و تولید پاسخها استفاده میکنه و همچنین میتونه یک فراخوانی API برای ارسال ایمیل به نمایندگی از کاربر تولید کنه.
در این چالش که از روز دوشنبه آغاز شده، شرکتکنندگان نقش یک مهاجم رو بر عهده میگیرن که ایمیلی رو برای یک کاربر ارسال میکنه. هدف در اینجا فریب دادن سرویس LLMail برای اجرای دستوری است که کاربر قصد اونو نداره، بنابراین دادهها رو نشت میده یا برخی از اعمال مخرب دیگه ای رو انجام میده که نباید انجام بشن.
مهاجم میتونه هر چیزی رو که میخواد در متن ایمیل بنویسه، اما نمیتونه خروجی مدل رو ببینه.
پس از دریافت ایمیل، کاربر با سرویس LLMail تعامل میکنه، پیام رو میخونه، از LLM سوال میپرسه (مثلاً “بروز رسانی در مورد پروژه X”) یا دستور میده تا همه ایمیلهای مربوط به یک موضوع رو خلاصه کنه. این باعث میشه سرویس، ایمیلهای مرتبط رو از یک پایگاه داده جعلی بازیابی کنه.
این سرویس به چندین اقدام دفاعی در برابر حملات Prompt Injection مجهز شده و هدف مهاجم دور زدن این دفاع ها و ساختن یک Prompt خلاقانه هستش که مدل رو فریب میده تا کارهایی رو انجام بده یا چیزهایی رو نشون بده که برای انجام اونا آموزش ندیده.
هر دوی این موارد به تهدیدات جدی و واقعی تبدیل شدن چون سازمانها و توسعه دهندگان برنامه های کاربردی، دستیاران هوش مصنوعی و چت بات ها و سایر سرویس ها رو بر روی LLM ها می سازن و به مدلها اجازه میدن مستقیماً با رایانه های کاربران تعامل داشته باشن، چت های Slack رو خلاصه کنن یا متقاضیان شغل رو قبل از بررسی رزومه های اونا توسط منابع انسانی غربالگری کنن و … .
مایکروسافت تجربه مستقیمی در مورد اونچه در صورت هک شدن یک چت بات مبتنی بر هوش مصنوعی توسط هکرها ممکنه اتفاق بیافته رو داره. اوایل سال جاری، ردموند یک سری از نقص های Copilot رو برطرف کرد که به مهاجمان اجازه میداد با زنجیره ای از حملات خاص LLM، از جمله Prompt Injection، ایمیل های کاربران و سایر داده های شخصی اونارو بدزدن.
Johann Rehberger، نویسنده و red teamer، که این باگها رو در ژانویه به مایکروسافت گزارش کرده بود، قبلاً به ردموند هشدار داده بود که Copilot در برابر zero-click image rendering آسیبپذیر است.
برخی از مکانیسم های دفاعی که در سرویس ایمیل شبیهسازیشده چالش LLMail-Inject وجود داره عبارتند از:
- Spotlighting: دادههایی (نه دستورالعملها) که با استفاده از روشهایی مانند اضافه کردن جداکنندههای خاص، رمزگذاری دادهها (مثلا base64) یا علامتگذاری هر توکن در دادهها با یک توکن خاص قبلی، به یک LLM ارائه میشن رو، “علامتگذاری” میکنه.
- PromptShield: استفاده از یک طبقهبندی کننده جعبه سیاه طراحی شده برای تشخیص Prompt Injection و اطمینان از خنثیسازی Promptهای مخرب.
- LLM-as-a-judge: به LLMای متکی است که به اندازه کافی هوشمند باشه تا با ارزیابی Prompt ها به جای تکیه بر یک طبقهبندیکننده آموزشدیده، حملات رو تشخیص بده.
- TaskTracker: برای تشخیص انحراف وظیفه با تجزیه و تحلیل حالت داخلی مدل طراحی شده. این کار ابتدا زمانی انجام میشه که کاربر به LLM یک Prompt میده و بعدش دوباره زمانیکه مدل، دادههای خارجی رو پردازش میکنه. مقایسه این دو حالت باید انحراف رو تشخیص بده.
چالش در مجموع در 40 سطح برگزار میشه که هر سطح ترکیبی منحصربهفرد از پیکربندی Retrieval-Augmented Generation (RAG)، یک LLM (GPT-4o mini یا Phi-3-medium-128k-instruct) و یک مکانیسم دفاعی خاص است. البته چالشی وجود داره که همه ی مکانیسم های دفاعی روش فعال شده و مهاجم باید با یک Prompt بتونه همه ی این موارد رو دور بزنه.
برای شرکت، با استفاده از یک حساب GitHub وارد وبسایت رسمی چالش بشید و یک تیم (از یک تا پنج نفر) ایجاد کنید. این مسابقه ۹ دسامبر آغاز شده و در ۲۰ ژانویه، یک بهمن 1403، تموم میشه.
برای مسابقه یک جدول امتیازات به همراه جزئیات امتیازدهی نمایش داده میشه.
جوایز چالش :
- ۴۰۰۰ دلار برای تیم اول
- ۳۰۰۰ دلار برای مقام دوم
- ۲۰۰۰ دلار برای مقام سوم
- ۱۰۰۰ دلار برای تیم چهارم