پرش به محتوای اصلی
OpenAI

۱ دی ۱۴۰۴

امنیت

مقاوم‌سازی پیوسته ChatGPT Atlas در برابر حملات تزریق درخواست‌ها

تیم‌سازی قرمز خودکار—که با یادگیری تقویتی تقویت شده است—به ما کمک می‌کند تا به صورت پیشگیرانه آسیب‌پذیری‌های عامل‌های واقعی را کشف و برطرف کنیم قبل از اینکه در دنیای واقعی به سلاح تبدیل شوند.

در حال بارگذاری…

حالت عامل در ChatGPT Atlas یکی از عمومی‌ترین ویژگی‌های عامل‌محور است که تا به امروز منتشر کرده‌ایم. در این حالت، عامل مرورگر صفحات وب را مشاهده کرده و اقداماتی مانند کلیک‌ها و ضربه‌های کلید را در داخل مرورگر تو انجام می‌دهد، درست همان‌طور که تو انجام می‌دهی. این به ChatGPT اجازه می‌دهد تا به طور مستقیم روی بسیاری از گردش کارهای روزمره‌ات با استفاده از همان فضا، زمینه و داده‌ها کار کند.

همانطور که عامل مرورگر به شما کمک می‌کند کارهای بیشتری انجام دهید، همچنین به هدف با ارزش‌تری برای حملات خصمانه تبدیل می‌شود. این موضوع امنیت هوش مصنوعی را به‌ویژه مهم می‌کند. مدت‌ها قبل از اینکه ChatGPT Atlas را راه‌اندازی کنیم، ما به طور مداوم در حال ساخت و تقویت دفاع‌ها در برابر تهدیدات نوظهوری بودیم که به طور خاص این پارادایم جدید «عامل در مرورگر» را هدف قرار می‌دهند. تزریق درخواست یکی از مهم‌ترین خطراتی است که ما به طور فعال در برابر آن دفاع می‌کنیم تا اطمینان حاصل کنیم که ChatGPT Atlas می‌تواند به طور امن به نمایندگی از تو عمل کند. 

به عنوان بخشی از این تلاش، ما اخیراً یک به‌روزرسانی امنیتی برای عامل مرورگر Atlas ارسال کردیم که شامل یک مدل جدید آموزش‌دیده به صورت خصمانه و تقویت‌شده تدابیر حفاظتی پیرامون آن است. این به‌روزرسانی به دلیل کشف یک دسته جدید از حملات تزریق پرامپت از طریق تیم‌سازی خودکار داخلی ما انجام شد.

در این پست، توضیح می‌دهیم که چگونه خطر تزریق دستورات می‌تواند برای عوامل مبتنی بر وب به وجود آید و یک حلقه پاسخ سریع را که برای کشف مداوم حملات جدید و ارائه سریع راهکارهای کاهش آسیب ساخته‌ایم، به اشتراک می‌گذاریم—که با این به‌روزرسانی امنیتی اخیر نشان داده شده است.

ما تزریق اعلان را به عنوان یک چالش امنیتی بلند مدت در هوش مصنوعی می‌بینیم و باید به طور مداوم دفاع‌های خود را در برابر آن تقویت کنیم (مشابه کلاهبرداری‌های آنلاین که به طور مداوم در حال تکامل هستند و انسان‌ها را هدف قرار می‌دهند). چرخه پاسخ سریع جدید ما به عنوان یک ابزار حیاتی در این مسیر امیدوارکننده ظاهر شده است: ما در حال کشف استراتژی‌های حمله جدید در داخل شرکت هستیم قبل از اینکه در محیط واقعی ظاهر شوند. چشم‌انداز بلندمدت ما این است که به‌طور کامل از (۱) دسترسی جعبه‌سفید به مدل‌هایمان، (۲) درک عمیق از دفاع‌های‌مان، و (۳) مقیاس محاسباتی بهره‌برداری کنیم تا از مهاجمان خارجی جلوتر بمانیم—زودتر بهره‌برداری‌ها را پیدا کنیم، سریع‌تر کاهش‌دهنده‌ها را ارسال کنیم، و به‌طور مداوم حلقه را محکم‌تر کنیم. ترکیب تحقیقات پیشرفته در تکنیک‌های جدید برای مقابله با تزریق سریع و افزایش سرمایه‌گذاری در سایر کنترل‌های امنیتی، می‌تواند این چرخه‌ی ترکیبی را به گونه‌ای تبدیل کند که حملات را به طور فزاینده‌ای دشوار و پرهزینه کند و به طور قابل توجهی خطر تزریق سریع در دنیای واقعی را کاهش دهد. در نهایت، هدف ما این است که تو بتوانی به یک عامل ChatGPT اعتماد کنی تا از مرورگرت به همان روشی که به یک همکار یا دوست بسیار ماهر و آگاه به امنیت اعتماد داری، استفاده کند.

تزریق اعلان به عنوان یک چالش باز برای امنیت عامل

حمله تزریق دستوری، عامل‌های هوش مصنوعی را با قرار دادن دستورالعمل‌های مخرب در محتوایی که عامل پردازش می‌کند، هدف قرار می‌دهد. این دستورالعمل‌ها طوری طراحی شده‌اند که رفتار عامل را تغییر داده یا هدایت کنند و آن را به پیروی از نیت مهاجم، به جای نیت کاربر، وادار کنند.

برای یک عامل مرورگر مانند آنچه در ChatGPT Atlas وجود دارد، تزریق درخواست یک بردار تهدید جدید فراتر از خطرات امنیتی وب سنتی (مانند خطای کاربر یا آسیب‌پذیری‌های نرم‌افزاری) ایجاد می‌کند. به جای فیشینگ انسان‌ها یا بهره‌برداری از آسیب‌پذیری‌های سیستم مرورگر، مهاجم عامل درون آن را هدف قرار می‌دهد.

به عنوان یک مثال فرضی، یک مهاجم می‌تواند یک ایمیل مخرب ارسال کند که تلاش می‌کند یک عامل را فریب دهد تا درخواست کاربر را نادیده بگیرد و به جای آن، اسناد حساس مالیاتی را به یک آدرس ایمیل تحت کنترل مهاجم ارسال کند. اگر کاربری از عامل بخواهد که ایمیل‌های خوانده‌نشده را بررسی کرده و نکات کلیدی را خلاصه کند، ممکن است عامل در جریان کار آن ایمیل مخرب را پردازش کند. اگر از دستورالعمل‌های تزریقی پیروی کند، ممکن است از مسیر اصلی منحرف شود و به اشتباه اطلاعات حساس را به اشتراک بگذارد.

این فقط یک سناریوی خاصه. همان کلیتی که عامل‌های مرورگر را مفید می‌کند، خطرات را نیز گسترده‌تر می‌کند: عامل ممکن است با دستورالعمل‌های غیرقابل اعتماد در سطحی به‌طور مؤثر نامحدود مواجه شود—ایمیل‌ها و پیوست‌ها، دعوت‌نامه‌های تقویم، اسناد مشترک، انجمن‌ها، پست‌های رسانه‌های اجتماعی و صفحات وب دلخواه. از آنجا که عامل می‌تواند بسیاری از همان اقداماتی را که یک کاربر می‌تواند در مرورگر انجام دهد، انجام دهد، تأثیر یک حمله موفق می‌تواند به همان اندازه گسترده باشد: فوروارد کردن یک ایمیل حساس، ارسال پول، ویرایش یا حذف فایل‌ها در فضای ابری و موارد دیگر.

ما در دفاع در برابر تزریق‌های دستوری از طریق چندین لایه ایمنی پیشرفت کرده‌ایم، همان‌طور که در یک پست قبلی به اشتراک گذاشتیم. با این حال، تزریق دستورات همچنان یک چالش حل‌نشده برای امنیت عامل است و ما انتظار داریم که برای سال‌های آینده به کار بر روی آن ادامه دهیم.

کشف خودکار حملات تزریق اعلان از طریق یادگیری تقویتی سرتاسری و محاسبات سنگین

برای تقویت دفاع‌های خود، ما به طور مداوم به دنبال حملات تزریق درخواست جدید علیه سیستم‌های عامل در حال تولید بوده‌ایم. یافتن این حملات پیش‌نیاز ضروری برای ساختن راه‌حل‌های مقاوم است: این کار به ما کمک می‌کند تا خطرات دنیای واقعی را درک کنیم، شکاف‌های موجود در دفاع‌هایمان را آشکار کنیم و وصله‌های مشخصی ایجاد کنیم.

برای انجام این کار در مقیاس بزرگ، ما یک مهاجم خودکار مبتنی بر LLM ساختیم و آن را آموزش دادیم تا به دنبال حملات تزریق فرمان بگردد که می‌توانند به طور موفقیت‌آمیز به یک عامل مرورگر حمله کنند. ما این مهاجم را به‌صورت کامل با یادگیری تقویتی آموزش دادیم، به‌طوری که از موفقیت‌ها و شکست‌های خود برای بهبود مهارت‌های تیم قرمز خود یاد می‌گیرد. ما همچنین به آن اجازه می‌دهیم که «قبل از ارسال، امتحان کن»؛ به این معنا که: در طول زنجیره تفکر، مهاجم می‌تواند یک تزریق پیشنهادی را ارائه دهد و آن را به یک شبیه‌ساز خارجی ارسال کند. شبیه‌ساز یک شبیه‌سازی فرضی از نحوه رفتار عامل قربانی هدفمند (مدافع) در صورت مواجهه با تزریق را اجراء می‌کند و یک ردیابی کامل از استدلال و اقدامات عامل قربانی را ارائه می‌دهد. مهاجم از آن رد به عنوان بازخورد استفاده می‌کند، حمله را تکرار کرده و شبیه‌سازی را دوباره اجرا می‌کند—این حلقه را چندین بار تکرار می‌کند تا به یک حمله نهایی متعهد شود. این به مهاجم بازخوردی غنی‌تر و درون‌متنی‌تر از یک سیگنال ساده قبولی/ردی ارائه می‌دهد. این همچنین محاسبات زمان آزمون مهاجم را افزایش می‌دهد. علاوه بر این، دسترسی ویژه به ردپای استدلال‌ها (که ما به کاربران خارجی افشا نمی‌کنیم) به مدافع، به مهاجم داخلی یک مزیت نامتقارن می‌دهد و احتمال اینکه بتواند از مهاجمان خارجی پیشی بگیرد را افزایش می‌دهد.

ماکت صفحه وب در حالت روشن که یادگیری تقویتی را به تصویر می‌کشد، شامل یک بازوی رباتیک شیک است که با اشکال هندسی شناور بر روی پس‌زمینه‌ای با گرادیان روشن تعامل می‌کند.

چرا یادگیری تقویتی (RL)؟ ما یادگیری تقویتی را به دلایل مختلفی برای آموزش مهاجم خودکار انتخاب کردیم:

  1. بهینه‌سازی اهداف مهاجم در افق‌های بلند مدت و ناپیوسته. هدف ما جستجو برای حملات تزریق دستورات است که می‌توانند عامل را فریب دهند تا وظایف پیچیده و خصمانه‌ای را اجرا کند (مانند ارسال ایمیل‌ها، تراکنش‌های بانکی) که ممکن است در دنیای واقعی رخ دهند. این وظایف خصمانه ذاتاً بلندمدت هستند و به مراحل زیادی از استدلال و تعامل با محیط نیاز دارند، با سیگنال‌های موفقیت پراکنده و با تأخیر. یادگیری تقویتی برای این ساختار پاداش پراکنده و با تأخیر بسیار مناسب است.
  2. بهره‌گیری از قابلیت‌های مرزی LLM. ما مدل‌های زبانی بزرگ پیشرو را به طور مستقیم به‌عنوان تیم‌های قرمز خودکار آموزش دادیم، بنابراین مهاجم به‌طور مستقیم از بهبودهای استدلال و برنامه‌ریزی در مدل‌های پیشرو بهره‌مند می‌شود. با قوی‌تر شدن مدل‌های پایه، مهاجم نیز به طور طبیعی توانمندتر می‌شود—این یک روش مقیاس‌پذیر برای حفظ فشار بر دفاع‌های ما در حین تکامل مدل‌های‌مان است.
  3. مقیاس‌پذیری محاسبات و تقلید از مهاجمان سازگار. یادگیری تقویتی برای مقیاس‌بندی محاسبات در جستجوی حملات در تعداد زیادی از نمونه‌گیری‌ها و مراحل یادگیری بسیار مناسب است و به خوبی رفتار مهاجمان انسانی تطبیقی را منعکس می‌کند: به صورت تکراری استراتژی‌ها را امتحان می‌کنند، از نتایج یاد می‌گیرند و رفتارهای موفق را تقویت می‌کنند.

مهاجم خودکار ما می‌تواند حملات جدید و واقعی تزریق دستورات را به صورت کامل کشف کند. برخلاف بیشتر کارهای قبلی تیم‌سازی خودکار، که به شکست‌های ساده‌ای مانند استخراج رشته‌های خروجی خاص یا فعال‌سازی یک فراخوانی ابزار تک‌مرحله‌ای ناخواسته از عامل منجر می‌شد، مهاجم آموزش‌دیده با یادگیری تقویتی ما می‌تواند عامل را به اجرای جریان‌های کاری پیچیده و مضر با افق زمانی طولانی که در ده‌ها (یا حتی صدها) مرحله گسترش می‌یابند، هدایت کند. ما همچنین استراتژی‌های حمله جدیدی را مشاهده کردیم که در کمپین تیم قرمز انسانی ما یا گزارش‌های خارجی ظاهر نشده بودند.

دموی زیر یک نمونه واقعی از حمله تزریق دستورات را که توسط مهاجم خودکار ما کشف شده است، نشان می‌دهد و ما از آن برای تقویت بیشتر دفاع‌های ChatGPT Atlas استفاده کردیم. مهاجم صندوق ورودی کاربر را با یک ایمیل مخرب پر می‌کند که حاوی یک تزریق درخواست است و عامل را هدایت می‌کند تا نامه استعفایی به مدیر عامل کاربر ارسال کند. بعداً، وقتی کاربر از عامل می‌خواهد یک پاسخ عدم حضور در دفتر بنویسد، عامل در حین اجرای عادی وظایف به آن ایمیل برخورد می‌کند، اعلان تزریق شده را به عنوان مرجع می‌پذیرد و از آن پیروی می‌کند. پیام عدم حضور هرگز نوشته نمی‌شود و عامل به جای کاربر استعفا می‌دهد.

ماهیت تزریق دستورات، ارائه تضمین‌های امنیتی قطعی را چالش‌برانگیز می‌کند، اما با گسترش تحقیقات امنیتی خودکار، آزمایش‌های خصمانه و تقویت حلقه پاسخ سریع، می‌توانیم استحکام و دفاع مدل را بهبود دهیم - پیش از آنکه منتظر وقوع حمله‌ای در محیط واقعی باشیم. 

ما این دمو را به اشتراک می‌گذاریم تا به کاربران و محققان کمک کنیم ماهیت این حملات را بهتر درک کنند—و چگونگی دفاع فعالانه ما در برابر آنها را بشناسند. ما معتقدیم که این نمایانگر مرزهای پیشرفت تیم‌سازی خودکار است و ما بسیار هیجان‌زده‌ایم که به تحقیقات خود ادامه دهیم.

مقاوم‌سازی ChatGPT Atlas با یک حلقه پاسخ سریع و پیشگیرانه

تیم‌سازی قرمز خودکار ما یک چرخه پاسخ سریع و پیشگیرانه را به حرکت درمی‌آورد: وقتی مهاجم خودکار یک نوع جدید از حملات موفق تزریق اعلان را کشف می‌کند، بلافاصله یک هدف مشخص برای تقویت دفاع‌های ما ایجاد می‌کند.

آموزش مقابله‌ای در برابر حملات تازه کشف شده. ما به طور مداوم مدل‌های عامل به‌روزشده خود را در برابر بهترین مهاجم خودکارمان آموزش می‌دهیم—اولویت را به حملاتی می‌دهیم که در آن‌ها عوامل هدف فعلی شکست می‌خورند. هدف این است که به عامل‌ها آموزش داده شود تا دستورالعمل‌های خصمانه را نادیده بگیرند و با نیت کاربر هماهنگ بمانند و مقاومت در برابر استراتژی‌های جدید تزریق درخواست را بهبود بخشند. این مقاومت را در برابر حملات جدید و قوی به طور مستقیم در چک‌پوینت مدل تثبیت می‌کند. به عنوان مثال، تیم‌سازی خودکار اخیر به طور مستقیم یک نقطه‌عطف جدید از عامل مرورگر آموزش‌دیده به صورت خصمانه تولید کرده است که قبلاً برای همه کاربران ChatGPT Atlas عرضه شده است. این در نهایت به ما کمک می‌کند تا از کاربران‌مان در برابر انواع جدید حملات بهتر محافظت کنیم.

استفاده از ردگیری‌های حمله برای بهبود مجموعه دفاعی گسترده‌تر. بسیاری از مسیرهای حمله که توسط تیم قرمز خودکار ما کشف شده‌اند، همچنین فرصت‌هایی برای بهبود خارج از مدل را نشان می‌دهند—مانند نظارت، دستورالعمل‌های ایمنی که در زمینه مدل قرار می‌دهیم، یا تدابیر حفاظتی در سطح سیستم. این یافته‌ها به ما کمک می‌کنند تا بر روی کل پشته دفاعی، نه فقط نقطه بررسی عامل، به صورت تکراری کار کنیم.

پاسخ‌گویی به حملات فعال. این حلقه همچنین می‌تواند به پاسخگویی بهتر به حملات فعال در طبیعت کمک کند. همان‌طور که به بررسی ردپای جهانی‌مان برای حملات احتمالی می‌پردازیم، می‌توانیم تکنیک‌ها و تاکتیک‌هایی را که از دشمنان خارجی مشاهده می‌کنیم، به این چرخه وارد کنیم، فعالیت‌های آن‌ها را شبیه‌سازی کنیم و تغییرات دفاعی را در سراسر پلتفرم‌مان اعمال کنیم.

چشم‌انداز: تعهد بلند مدت ما به امنیت عامل

تقویت توانایی ما در اجرای تیم قرمز بر روی عوامل و استفاده از مدل‌های توانمندترمان برای خودکار سازی بخش‌هایی از آن کار—به تقویت عامل مرورگر Atlas کمک می‌کند با مقیاس‌بندی چرخه کشف تا رفع. این تلاش برای تقویت، درسی آشنا از امنیت را یادآوری می‌کند: یک راه شناخته‌شده برای حفاظت قوی‌تر این است که به طور مداوم سیستم‌های واقعی را تحت فشار آزمایش کنید، به شکست‌ها واکنش نشان دهید و اصلاحات ملموس را ارائه کنید.

ما انتظار داریم که دشمنان به تطبیق‌پذیری ادامه دهند. تزریق دستورات، مانند کلاهبرداری‌ها و مهندسی اجتماعی در وب، احتمالاً هرگز به طور کامل «حل» نخواهند شد. اما ما خوش‌بین هستیم که یک حلقه پاسخ سریع و بسیار واکنش‌پذیر می‌تواند به مرور زمان به طور قابل توجهی خطرات دنیای واقعی را کاهش دهد. با ترکیب کشف خودکار حملات با آموزش خصمانه و تدابیر حفاظتی در سطح سیستم، می‌تونیم الگوهای جدید حمله رو زودتر شناسایی کنیم، شکاف‌ها رو سریع‌تر ببندیم و به طور مداوم هزینه بهره‌برداری رو افزایش بدیم.

حالت عامل در ChatGPT Atlas قدرتمند است و سطح تهدید امنیتی را نیز گسترش می‌دهد. داشتن دید روشن نسبت به این مبادله بخشی از ساختن به‌صورت مسئولانه است. هدف ما این است که با هر تکرار، امنیت اطلس را به‌طور معناداری افزایش دهیم: بهبود استحکام مدل، تقویت پشته دفاعی پیرامون آن، و نظارت بر الگوهای سوء استفاده نو ظهور در محیط.

ما به سرمایه‌گذاری در زمینه تحقیق و استقرار ادامه خواهیم داد، روش‌های خودکار تیم قرمز را بهبود می‌بخشیم، تدابیر لایه‌ای را اجرا می‌کنیم و با یادگیری سریع، به تکرار و بهبود ادامه می‌دهیم. ما همچنین هر آنچه که می‌توانیم را با جامعه گسترده‌تر به اشتراک خواهیم گذاشت.

توصیه‌هایی برای استفاده ایمن از عوامل

در حالی که ما به تقویت Atlas در سطح سیستم ادامه می‌دهیم، کاربران می‌توانند اقداماتی برای کاهش ریسک هنگام استفاده از عامل انجام دهند. 

دسترسی کاربران وارد شده را تا حد امکان محدود کن. ما همچنان توصیه می‌کنیم که کاربران از حالت خروج از سیستم(در یک پنجره جدید باز می‌شود) هنگام استفاده از عامل در Atlas بهره‌مند شوند، به‌ویژه زمانی که دسترسی به وب‌سایت‌هایی که در آن‌ها وارد شده‌اید برای وظیفه مورد نظر ضروری نیست، یا برای محدود کردن دسترسی به سایت‌های خاصی که در طول وظیفه به آن‌ها وارد می‌شوید. 

درخواست‌های تأیید را با دقت بررسی کن. برای برخی اقدامات مهم، مانند تکمیل خرید یا ارسال ایمیل، عامل‌ها به گونه‌ای طراحی شده‌اند که قبل از ادامه، از تو تأیید بخواهند. وقتی یک عامل ازت می‌خواد که یک اقدام رو تأیید کنی، لحظه‌ای وقت بذار تا مطمئن بشی که اقدام درسته و هر اطلاعاتی که به اشتراک گذاشته می‌شه برای اون زمینه مناسبه.

در صورت امکان به عامل دستورالعمل‌های واضح بده. از درخواست‌های بیش از حد کلی مانند «ایمیل‌هایم را بررسی کن و هر اقدامی که لازم است انجام بده» خودداری کن. آزادی عمل گسترده باعث می‌شود که محتوای پنهان یا مخرب حتی با وجود تدابیر حفاظتی بتواند بر عامل تأثیر بگذارد. ایمن‌تر است که از عامل بخوای وظایف خاص و با دامنه‌ی مشخص رو انجام بده. در حالی که این خطر را از بین نمی‌برد، انجام حملات را دشوارتر می‌کند.

اگر عوامل بخواهند به شرکای قابل اعتماد برای وظایف روزمره تبدیل شوند، باید در برابر انواع دستکاری‌هایی که وب باز امکان‌پذیر می‌کند، مقاوم باشند. مقاوم‌سازی در برابر تزریق دستورات یک تعهد بلند مدت و یکی از اولویت‌های اصلی ما است. به زودی اطلاعات بیشتری درباره این کار به اشتراک می‌گذاریم.

نویسنده

OpenAI