Cloudflare از فایروال مبتنی بر هوش مصنوعی خود رونمایی کرد
خلاصه مطلب
بر اساس گزارش خبرگزاری مهر، با افزایش سریع استفاده از مدلهای هوش مصنوعی، بهویژه مدلهای زبانی بزرگ، بسیاری از کاربران به دنبال بهترین روشها برای محافظت از این مدلها هستند. بهرهگیری از مدلهای زبانی بزرگ در برنامههای اینترنتی منجر به بروز آسیبپذیریهای جدیدی شده که ممکن است توسط مهاجمان بدخواه مورد سوءاستفاده قرار گیرد.
برخی از آسیبپذیریهایی که در برنامههای سنتی وب و APIها وجود دارند، در دنیای مدلهای زبان بزرگ نیز مشاهده میشوند، مانند حملات تزریق یا استخراج غیرمجاز دادهها. اما به موازات این مسائل، تهدیدات جدیدی نیز به دلیل شیوه عملکرد این مدلها به وجود آمده است. به عنوان نمونه، اخیراً پژوهشگران یک آسیبپذیری در یک پلتفرم همکاری مبتنی بر هوش مصنوعی کشف کردند که به آنها اجازه میداد کنترل مدلها را به دست آورند و اقدامات غیرمجاز انجام دهند.
Firewall for AI یک فایروال پیشرفته وب (WAF) است که بهطور ویژه برای برنامههایی طراحی شده است که از مدلهای زبان بزرگ (LLM) بهره میبرند. این محصول مجموعهای از ابزارها را به کاربران ارائه میدهد که قبل از دسترسی به برنامهها استفاده میشوند تا نقاط ضعف را شناسایی کنند و به صاحبان برنامهها دید واضحتری از وضعیت امنیتیشان بدهند.
این ابزار ویژگیهایی دارد که پیشتر در WAF موجود بودهاند، مانند محدود کردن نرخ درخواستها و تشخیص دادههای حساس. به علاوه، یک لایه محافظتی جدید در دست توسعه است که بهطور اختصاصی برای مدلهای زبان بزرگ طراحی شده است. این لایه حفاظتی جدید، درخواستهای کاربران را تحلیل میکند تا به کشف تلاشهای سوءاستفاده، از جمله استخراج دادهها یا روشهای دیگر سوءاستفاده از مدلها، بپردازد.
به لطف گستردگی شبکه Cloudflare، این فایروال به گونهای طراحی شده است که از سرورهای مجازی خارجی تا انواع هاستیگها، تا حد امکان به کاربران نهایی نزدیک باشد. این قابلیت باعث میشود که حملات به سرعت شناسایی شده و هم کاربران نهایی و هم مدلها در برابر سوءاستفاده و حملات ایمن بمانند.
قبل از اینکه به بررسی عملکرد و تواناییهای Firewall for AI بپردازیم، ابتدا باید ویژگیهایی که مدلهای زبان بزرگ (LLM) را منحصر به فرد میکنند و نقاط ضعف آنها را بشناسیم. در این زمینه، از لیست OWASP Top 10 برای LLMها به عنوان منبع استفاده خواهیم کرد.
چرا مدلهای زبانی بزرگ با نرمافزارهای سنتی فرق میکنند؟
اگر به مدلهای زبانی بزرگ (LLMs) بهعنوان اپلیکیشنهای مبتنی بر اینترنت بنگریم، دو تفاوت عمده با برنامههای وب سنتی قابل مشاهده است. اولین تفاوت در شیوه تعامل کاربران با این محصولات است. برنامههای سنتی بهطور ذاتی ویژگیهای قطعی دارند. برای مثال، یک اپلیکیشن بانکی را تصور کنید که از مجموعهای از عملیات مشخص مانند بررسی موجودی حساب و انجام تراکنشها پیروی میکند. امنیت عملیات تجاری و دادهها از طریق کنترل عملیات مجاز در این نقاط پایانی تأمین میشود، مانند "GET /balance" یا "POST /transfer".
در نقطه مقابل، عملکرد LLMها بهصورت ذاتی غیرقابل پیشبینی است. اولین تفاوت در این است که ارتباطات در LLMها بر پایه زبان طبیعی صورت میگیرد که شناسایی درخواستهای نامناسب را سختتر از شناسایی امضای حمله میسازد. علاوه بر این، مدلهای زبان بزرگ معمولاً در پاسخهای خود متغیر هستند، مگر اینکه پاسخها ذخیرهسازی شوند. به عبارتی دیگر، حتی اگر همان ورودی چندین بار تکرار گردد، مدل ممکن است پاسخهای متفاوتی بدهد. این ویژگی باعث میشود که محدود کردن شیوه تعامل کاربر با برنامه بسیار چالشبرانگیز شود. این موضوع همچنین میتواند خطراتی برای کاربران ایجاد کند، زیرا ممکن است با اطلاعات نادرست روبرو شوند که میتواند اعتماد آنها به مدل را کاهش دهد.
تفاوت بزرگ دوم در شیوه تعامل سطح کنترل برنامه با دادهها دیده میشود. در برنامههای مرسوم، سطح کنترل (کد) به وضوح از سطح دادهها (پایگاه داده) جدا شده است. عملیات تعریفشده تنها راهی برای تعامل با دادههای زیرساختی به حساب میآیند (مثلاً، «تاریخچه تراکنشهای من را نمایش بده»). این جداسازی به کارشناسان امنیتی اجازه میدهد تا بر تجهیز سطح کنترل با کنترلها و محدودیتها تمرکز کنند و به این شکل، دادههای پایگاه داده به طور غیرمستقیم محافظت میشوند.
در مدلهای زبانی بزرگ (LLM) چنین نیست؛ دادههای آموزشی به طور مستقیم به بخشی از مدل تبدیل میشوند. این خاصیت باعث میشود که مدیریت نحوه انتقال این دادهها به عنوان نتایج ورودیهای کاربران بسیار پیچیدهتر گردد. در حال حاضر، راهکارهایی در سطح معماری برای حل این مشکل در دست تحقیق است، مانند تقسیم مدلهای زبانی بزرگ به لایههای مجزا و تفکیک دادهها. با این حال، هنوز راهحل قطعی برای این مسئله یافت نشده است.
از دیدگاه امنیتی، این اختلافها به مهاجمان اجازه میدهند تا بردارهای حمله جدیدی طراحی کنند که LLMها را هدف قرار داده و ممکن است از دید ابزارهای امنیتی موجود که برای برنامههای وب کلاسیک طراحی شدهاند، پنهان بمانند.
آسیبپذیریهای مدلهای زبان بزرگ (LLM) از منظر OWASP
بنیاد OWASP لیستی از 10 دسته اصلی آسیبپذیری برای مدلهای زبان بزرگ (LLMs) ارائه داده است که به عنوان چارچوبی مفید برای ارزیابی امنیت این مدلها عمل میکند. بعضی از این تهدیدات مشابه تهدیدات فهرست OWASP Top 10 برای برنامههای وب هستند، در حالی که برخی دیگر به طور خاص به مدلهای زبان مربوط میشوند.
همانند برنامههای وب، برخی از این نقاط ضعف بهترین زمان برای برطرف کردنشان هنگام طراحی، توسعه و آموزش LLMها است. به عنوان نمونه، «آلودهسازی دادههای آموزشی» میتواند با افزودن آسیبپذیریها به مجموعه دادههای آموزشی که برای آموزش مدلهای نوین به کار میرود، صورت گیرد. این دادههای آلوده بعداً زمانی که مدل مورد استفاده قرار میگیرد، به کاربر نمایش داده میشود. آسیبپذیریها در زنجیره تأمین نرمافزار و طراحی ناامن افزونهها نیز از جمله آسیبپذیریهایی هستند که به اجزای افزودهشده به مدل مربوط میشوند، نظیر بستههای نرمافزاری ارائهشده توسط اشخاص ثالث. در نهایت، مدیریت مجوزها و دسترسیها در مورد «اعتماد بیرویه» اهمیت دارد؛ یعنی مدلهایی که بهطور نامحدود قادر به انجام اقدامات غیرمجاز در کل برنامه یا زیرساخت هستند.
از سوی دیگر، تهدیداتی همچون «تزریق درخواست» (Prompt Injection)، «انکار سرویس مدل» (Model Denial of Service) و «افشای اطلاعات حساس» (Sensitive Information Disclosure) میتوانند با بهکارگیری راهحلهای امنیتی پروکسی نظیر Cloudflare Firewall for AI مهار شوند. در بخشهای بعدی بهصورت دقیقتری به بررسی این آسیبپذیریها خواهیم پرداخت و توضیح خواهیم داد که چگونه Cloudflare بهصورت مؤثری برای مقابله با آنها مهیا شده است.
اجرای مدلهای زبانی بزرگ
خطرات مرتبط با مدلهای زبانی به نوع پیادهسازی آنها نیز بستگی دارد. اکنون، سه روش اصلی برای پیادهسازی وجود دارد: مدلهای زبانی بزرگ داخلی، عمومی و محصول. در هر یک از این رویکردها، لازم است که مدلها را در برابر سوءاستفاده محافظت کنید، اطلاعات مالکانه ذخیره شده در مدل را امن نگه دارید و کاربران را از اطلاعات نادرست یا محتوای نامناسب محافظت کنید.
شرکتها در حال توسعه مدلهای زبان بزرگ داخلی هستند تا به کارمندان خود در انجام وظایف روزانه کمک کنند. این مدلها بهعنوان داراییهای اختصاصی شرکت تلقی میشوند و نباید در اختیار افراد خارج از شرکت قرار گیرند. بهعنوان مثال، میتوان به یک دستیار هوش مصنوعی اشاره کرد که با استفاده از دادههای فروش و تعاملات مشتریان، پیشنهادات شخصیسازی شده ارائه میدهد، یا یک مدل زبان بزرگ که بر روی پایگاه داده دانش داخلی آموزش داده شده و در دسترس مهندسان قرار میگیرد.
- مدلهای زبانی عمومی: این مدلها به گونهای طراحی شدهاند که قابلیت استفاده در خارج از چارچوب یک شرکت خاص را دارند. به طور معمول، این راهحلها نسخههای رایگانی ارائه میدهند که در دسترس عموم قرار دارد و معمولاً بر روی اطلاعات یا دانش عمومی آموزش دیدهاند. نمونههایی از این مدلها شامل GPT از شرکت OpenAI و Claude از شرکت Anthropic میباشند.
LLMها بهعنوان محصولات: از دید یک شرکت، LLMها میتوانند بخشی از یک محصول یا خدماتی باشند که به مشتریان عرضه میشود. این مدلها اغلب بهصورت راهحلهای سفارشی طراحی شدهاند و بهعنوان ابزاری برای تعامل با منابع شرکت خدمت میکنند. نمونههایی از این مدلها شامل چتباتهای پشتیبانی مشتری یا دستیار هوش مصنوعی Cloudflare میشود.
از دیدگاه ریسک، تفاوت بین مدلهای زبانی محصول و عمومی در این است که چه افرادی از نتایج حملات موفقیتآمیز آسیب میبینند. مدلهای زبانی عمومی به عنوان یک تهدید برای حفظ حریم خصوصی تلقی میشوند، زیرا دادههای وارد شده به این مدلها ممکن است توسط همه مشاهده شوند. این موضوع یکی از دلایلی است که بسیاری از شرکتها به کارکنان خود توصیه میکنند که اطلاعات حساس را در درخواستهای مدلهای عمومی وارد نکنند. در مقابل، مدلهای زبانی محصول میتوانند برای شرکتها و داراییهای فکری آنها خطرناک باشند، بهویژه زمانی که این مدلها در طول فرایند آموزش (چه بهصورت عمدی و چه تصادفی) به اطلاعات محافظتشده دسترسی پیدا کرده باشند.
فایروال برای هوش مصنوعی
فایروال Cloudflare برای هوش مصنوعی همانند یک فایروال وب استاندارد (WAF) عمل میکند، به این صورت که هر درخواست API با استفاده از یک پرامپت LLM برای تشخیص الگوها و نشانههای حملات احتمالی بررسی میشود.
فایروال برای هوش مصنوعی میتواند پیش از مدلهایی که در بستر Cloudflare Workers AI یا در زیرساختهای دیگران میزبانی میشوند، استفاده شود. همچنین این فایروال را میتوان با Cloudflare AI Gateway ترکیب کرد. مشتریان قادرند فایروال برای هوش مصنوعی را از طریق لایه کنترل WAF تنظیم و مدیریت کنند.
فایروال برای هوش مصنوعی عملکردی مشابه یک فایروال معمولی برای برنامههای وب دارد. این ابزار پیش از برنامه LLM قرار گرفته و هر درخواست را برای شناسایی امضاهای حمله بررسی میکند.
پیشگیری از حملات با حجم بالا
یکی از روشهای جلوگیری از حملات، استفاده از شبکه تحویل محتوا (CDN) است. بر اساس گزارش OWASP، یکی از تهدیدات موجود، حمله Denial of Service (DoS) میباشد. همانند برنامههای عادی، در یک حمله DoS، با ارسال تعداد زیادی درخواست، منابع زیادی مصرف میشود که این موضوع میتواند به کاهش کیفیت خدمات یا افزایش هزینههای عملیاتی منجر شود. با توجه به منابع گستردهای که برای اجرای مدلهای زبانی بزرگ (LLM) نیاز است و ورودیهای غیرقابل پیشبینی کاربران، این نوع حمله ممکن است خطرناک باشد. این خطر از طریق اجرای سیاستهای محدودیت نرخ (Rate Limiting) که تعداد درخواستها از هر نشست را کنترل میکند و پنجرههای متنی را محدود میسازد، قابل مدیریت است. با استفاده از Cloudflare بهعنوان یک پراکسی برای مدل خود، میتوانید بهطور فوری از محافظت مؤثر در برابر حملات DDoS بهرهمند شوید. همچنین، میتوانید از Rate Limiting و Advanced Rate Limiting برای مدیریت تعداد درخواستهایی که به مدل شما میرسند، استفاده کنید و حداکثری برای تعداد درخواستهای یک آدرس IP یا کلید API در یک نشست تعیین کنید. در این شرایط، لازم است با کارشناسان سرور و هاستینگ مشورت کنید.
تشخیص دادههای حساس با بهرهگیری از روشهای شناسایی اطلاعات محرمانه
دو سناریوی متفاوت برای مدیریت دادههای حساس وجود دارد: یکی زمانی که خودتان مالک مدل و دادهها هستید و دیگری زمانی که میخواهید از ارسال دادهها به مدلهای عمومی LLM خودداری کنید. بنا بر تعریف OWASP، افشای اطلاعات حساس زمانی اتفاق میافتد که مدلهای LLM به طور ناخواسته اطلاعات محرمانه را در پاسخهای خود فاش کنند، که میتواند به دسترسی غیرمجاز به دادهها، نقض حریم خصوصی و مشکلات امنیتی منجر شود. برای جلوگیری از این مسئله، میتوان از اعتبارسنجیهای دقیق درخواستها بهره برد. رویکرد دیگر، شناسایی لحظاتی است که اطلاعات شخصی (PII) از مدل استخراج میشود، به ویژه اگر مدل بر اساس یک پایگاه داده داخلی آموزش دیده باشد که ممکن است شامل اطلاعات حساسی مانند دادههای شخصی (مثل شماره تأمین اجتماعی)، کدهای محافظتشده یا الگوریتمها باشد. مشتریانی که از مدلهای LLM در پشت Cloudflare WAF استفاده میکنند، میتوانند از مجموعه قوانین WAF با نام Sensitive Data Detection (SDD) برای شناسایی PII خاصی که توسط مدل در پاسخ ارائه میشود، بهره گیرند. این مشتریان قادر خواهند بود نتایج حساس SDD را در رویدادهای امنیتی WAF مشاهده کنند. در حال حاضر، SDD به عنوان مجموعهای از قوانین مدیریتشده ارائه میشود که برای جستجو در دادههای مالی (مانند شماره کارت اعتباری) و اسرار (مثل کلیدهای API) طراحی شده است. در نقشه راه آینده، ما قصد داریم این امکان را به مشتریان بدهیم تا امضاهای مخصوص خود را ایجاد کنند.
یکی از راهکارهای موجود جلوگیری از ارسال اطلاعات حساس (مانند PII) توسط کاربران به مدلهای عمومی LLM مثل OpenAI یا Anthropic است. برای حفاظت در این زمینه، قصد داریم SDD را توسعه دهیم تا بتوانیم ورودی و خروجی پرامپت را در AI Gateway پایش کنیم و همراه با تاریخچه پرامپت تشخیص دهیم که آیا اطلاعات حساس خاصی در درخواست وجود دارد. ابتدا از قوانین فعلی SDD استفاده خواهیم کرد و سپس به مشتریان این امکان را میدهیم که امضاهای سفارشی خود را ایجاد کنند. در این راستا، مخفیسازی دادهها ویژگی دیگری است که مشتریان زیادی به آن علاقه نشان دادهاند. با در دسترس قرار گرفتن SDD پیشرفته، مشتریان قادر خواهند بود دادههای حساس خاصی را در یک پرامپت مخفی کنند پیش از اینکه به مدل ارسال شود. توسعه SDD برای مرحله درخواست در حال انجام است. این اقدامات برای جلوگیری از سوءاستفاده از مدلها طراحی شده است.
سوءاستفاده از مدلها به مجموعهای گسترده از انواع مختلف سوءاستفادهها اشاره دارد. این سوءاستفاده شامل روشهایی نظیر "تزریق پرامپت" است که با ارسال درخواستهایی همراه است که منجر به ایجاد هالوسینیشنها (توهمات) یا پاسخهایی میشود که ممکن است نادرست، توهینآمیز، نامناسب یا حتی نامرتبط باشند. تزریق پرامپت تلاشی برای دستکاری یک مدل زبانی از طریق ورودیهای خاص و طراحیشده است تا واکنشهایی غیرقابل پیشبینی از مدلهای زبانی بزرگ (LLM) به دست آید. نتایج این تکنیک میتواند متنوع باشد، از استخراج اطلاعات حساس تا تأثیرگذاری بر فرآیند تصمیمگیری از طریق شبیهسازی تعاملات طبیعی با مدل. نمونهای معروف از تزریق پرامپت، تغییر در محتوای یک رزومه است که میتواند بر ابزارهای بررسی رزومهها تأثیر بگذارد.
یکی از درخواستهای متداولی که از مشتریان ما در Cloudflare AI Gateway دریافت میکنیم این است که آنها به دنبال راهی برای جلوگیری از تولید محتوای سمی، توهینآمیز یا ناراحتکننده توسط برنامههایشان هستند. زمانی که نتایج مدلها بهدرستی کنترل نشود، خطراتی نظیر آسیب به اعتبار و آسیب به کاربران از طریق پاسخهای نامعتبر به وجود میآید. برای جلوگیری از این نوع سوءاستفادهها، میتوان یک لایه محافظتی اضافی پیش از مدل اضافه کرد. این لایه میتواند به گونهای آموزش داده شود که تلاشهای تزریقی یا درخواستهایی که در دستههای نامناسب قرار میگیرند را مسدود کند.
بررسی صحت و درستی پرامپتها و پاسخهای داده شده
فایروال برای هوش مصنوعی مجموعهای از عملیات شناسایی را انجام میدهد که هدف آنها شناسایی تلاشهای تزریق پرامپت و سایر سوءاستفادهها است، مانند اطمینان از اینکه درخواستها در محدودههای تعیینشده توسط مالک مدل باقی بمانند. مشابه دیگر قابلیتهای موجود در WAF، فایروال برای هوش مصنوعی بهطور خودکار به جستجوی پرامپتهای تعبیهشده در درخواستهای HTTP میپردازد یا به کاربران اجازه میدهد قوانینی بر اساس محل قرارگیری پرامپت در بدنه JSON درخواست ایجاد کنند. با فعالسازی این ویژگی، فایروال هر پرامپت را تجزیه و تحلیل کرده و امتیازی از احتمال بدخیم بودن آن ارائه میدهد. همچنین، پرامپتها بر اساس دستهبندیهای از پیش تعیینشده علامتگذاری میشوند. امتیاز از 1 تا 99 متغیر است و احتمال وقوع تزریق پرامپت را نشان میدهد، بهطوری که 1 بالاترین احتمال را دارد. کاربران میتوانند قوانینی در WAF ایجاد کنند تا درخواستهایی با امتیاز مشخص در یکی یا هر دو بعد را مسدود یا ویرایش کنند. آنها میتوانند این امتیاز را با دیگر سیگنالهای موجود (مانند امتیاز ربات یا امتیاز حمله) ترکیب کنند تا تصمیم بگیرند آیا درخواست باید به مدل برسد یا مسدود شود. بهعنوان مثال، این امتیاز میتواند با امتیاز ربات ترکیب شود تا تشخیص دهد آیا درخواست از یک منبع خودکار و مخرب است. شناسایی تزریقهای پرامپت و سوءاستفاده از آنها بخشی از قابلیتهای فایروال برای هوش مصنوعی است. این ویژگی در حال توسعه بوده و در مراحل اولیه طراحی محصول قرار دارد. علاوه بر ارزیابی، ما به هر پرامپت برچسبهایی اختصاص خواهیم داد که میتوانند در ایجاد قوانین برای جلوگیری از رسیدن پرامپتهای خاص به مدل استفاده شوند. برای مثال، مشتریان میتوانند قوانینی برای مسدود کردن موضوعات خاص ایجاد کنند. این موارد شامل پرامپتهایی است که حاوی کلماتی هستند که بهعنوان توهینآمیز شناخته میشوند یا مثلاً با مذهب، محتوای جنسی یا سیاست مرتبط هستند.
چطور میتوانم از Firewall for AI بهرهبرداری کنم؟ این ابزار در اختیار چه کسانی قرار دارد؟
سازمانهایی که از پیشنهاد Application Security Advanced بهرهمند میشوند، میتوانند بلافاصله با استفاده از قابلیتهای محدودیت نرخ پیشرفته و تشخیص دادههای حساس (در مرحله پاسخ) کار خود را آغاز کنند. این دو ویژگی در بخش WAF داشبورد Cloudflare در دسترس هستند. هماکنون ویژگی اعتبارسنجی پرامپت در Firewall for AI در دست توسعه قرار دارد و نسخه بتای آن طی ماههای آینده برای تمامی کاربران Workers AI قابل استفاده خواهد بود. برای دریافت اطلاعرسانی درباره زمان دسترسی این ویژگی، میتوانید در لیست انتظار ثبتنام کنید.
خلاصه مطلب این است که
Cloudflare به عنوان یکی از پیشگامان ارائهدهندگان امنیتی، طیفی از ابزارها را برای حفاظت از برنامههای مبتنی بر هوش مصنوعی معرفی کرده است. با بهرهگیری از قابلیتهای Firewall for AI، کاربران میتوانند مدیریت کنند که چه پرامپتها و درخواستهایی به مدلهای زبانی آنها ارسال میشود و بدین ترتیب، ریسک سوءاستفاده و سرقت دادهها را کاهش دهند. ما شما را با آخرین اخبار و تحولات در حوزه امنیت برنامههای هوش مصنوعی بهروز نگه خواهیم داشت و به زودی اطلاعات بیشتری ارائه خواهیم کرد.