توسعه دهندگان

Cloudflare فایروال ویژه هوش مصنوعی معرفی کرد

Cloudflare فایروال ویژه هوش مصنوعی معرفی کرد

توسعه دهندگان: Cloudflare امروز از توسعه یک لایه حفاظتی به نام Firewall for AI برای صیانت از مدلهای زبان بزرگ (LLMs) آگاهی داد.



به گزارش توسعه دهندگان به نقل از مهر، در حالیکه استفاده از مدلهای هوش مصنوعی، بخصوص مدلهای زبان بزرگ، به سرعت درحال گسترش است، خیلی از مشتریان ابراز کرده اند که به دنبال بهترین راهکار ها برای محافظت از LLMهای خود هستند. استفاده از LLMها در برنامه های کاربردی مبتنی بر اینترنت سبب به وجود آمدن صدمه پذیری های جدیدی شده که امکان دارد توسط مهاجمان مخرب مورد سوءاستفاده قرار گیرد.
برخی از صدمه پذیری هایی که در برنامه های سنتی وب و API وجود دارند، در دنیای LLMها هم مشاهده می شوند، همچون حملات تزریق (Injection) یا استخراج غیر مجاز داده ها (Data Exfiltration). اما در عین حال، نوع جدیدی از تهدیدات هم به علت نحوه عملکرد LLMها پدید آمده است. برای نمونه، اخیراً محققان یک صدمه پذیری در یک پلت فرم همکاری مبتنی بر هوش مصنوعی شناسایی نمودند که به آنها امکان می داد کنترل مدلها را به دست گرفته و اقدامات غیر مجاز انجام دهند.
Firewall for AI یک فایروال پیشرفته برای برنامه های وب (WAF) است که بطور دقیق تر برای برنامه هایی طراحی شده است که از LLMها استفاده می نمایند. این محصول مجموعه ای از ابزارها را در اختیار کاربران قرار می دهد که قبل از رسیدن به برنامه ها مورد استفاده قرار می گیرند تا صدمه پذیری ها شناسایی شوند و به صاحبان برنامه ها دید شفاف تری از وضعیت امنیتی خود عرضه شود.
این ابزار شامل قابلیت هایی است که قبلاً در WAF وجود داشته اند، مانند محدودسازی نرخ درخواست ها (Rate Limiting) و شناسایی داده های حساس (Sensitive Data Detection). همینطور یک لایه محافظتی جدید هم درحال توسعه است که بطور دقیق تر برای LLMها طراحی شده است. این لایه حفاظتی جدید، درخواست های کاربر (Prompts) را تحلیل می کند تا تلاشهای سوءاستفاده، همچون استخراج داده ها یا سایر روش های سوءاستفاده از مدلها را شناسایی کند.
با استفاده از گستردگی شبکه Cloudflare، در دنیا از سرور های مجازی خارجی گرفته تا انواع هاستیگ ها این فایروال تا حد ممکن به کاربر نهایی نزدیک خواهد بود. این خصوصیت سبب می شود حملات به سرعت شناسایی شوند و هم کاربران نهایی و هم مدلها در مقابل سوءاستفاده و حملات محافظت شوند.
پیش از بررسی نحوه عملکرد و قابلیت های کامل Firewall for AI، ابتدا ضروری است درک نماییم که چه خصوصیت هایی LLMها را منحصربه فرد می کند و چه نقاط ضعفی در این مدلها وجود دارد. در این راستا، از فهرست OWASP Top 10 برای LLMها بعنوان مرجع استفاده خواهیم کرد.
چرا مدلهای زبان بزرگ (LLMs) با برنامه های کاربردی سنتی تفاوت دارند؟
اگر مدلهای زبان بزرگ (LLMs) را بعنوان برنامه های کاربردی مبتنی بر اینترنت درنظر بگیریم، دو تفاوت اساسی با برنامه های وب سنتی وجود دارد.
نخستین تفاوت در نحوه تعامل کاربران با محصول است. برنامه های سنتی ذاتاً دارای خصوصیت های قطعی (deterministic) هستند. بعنوان مثال، یک برنامه بانکی را درنظر بگیرید که از مجموعه ای از عملیات مشخص پیروی می کند (مانند بررسی موجودی حساب، انجام تراکنش و غیره). امنیت عملیات تجاری (و داده ها) از راه کنترل عملیات قابل پذیرش در این نقاط پایانی حاصل می شود: بعنوان مثال، «GET /balance» یا «POST /transfer».
در مقابل، عملیات LLMها به صورت ذاتی غیرقطعی هستند. نخستین تفاوت اینست که تعاملات LLMها بر اساس زبان طبیعی است، که شناسایی درخواست های مشکل ساز را دشوارتر از تطبیق امضای حمله (attack signatures) می کند. علاوه بر این، مدلهای زبان بزرگ به صورت معمول در پاسخ های خود متغیر هستند، مگر این که پاسخ ها کش (cache) شوند. به بیانی دیگر، حتی اگر همان ورودی (prompt) چندین بار تکرار شود، مدل امکان دارد پاسخ متفاوتی عرضه نماید. این ویژگی، محدود کردن نحوه تعامل کاربر با برنامه را بسیار دشوار می کند. همینطور این مورد می تواند خطراتی برای کاربران ایجاد نماید، چونکه آنها امکان دارد با اطلاعات نادرست مواجه شوند که می تواند اعتمادشان به مدل را کم کند.
دومین تفاوت بزرگ در نحوه تعامل سطح کنترل برنامه با داده ها است. در برنامه های سنتی، سطح کنترل (کد) به صورت واضح از سطح داده ها (پایگاه داده) جدا است. عملیات تعریف شده تنها راه تعامل با داده های زیرساختی هستند (برای مثال، «تاریخچه تراکنش های من را نشان بده»). این جداسازی به کارشناسان امنیتی این امکان را می دهد که بر روی تجهیز سطح کنترل به کنترل ها و محدودیت ها تمرکز کنند و به این ترتیب، داده های پایگاه داده به صورت غیرمستقیم محافظت شوند.
در LLMها این گونه نیست. در این مدلها، داده های آموزشی به بخشی از خود مدل تبدیل می شوند. این خصوصیت سبب می شود کنترل نحوه انتقال این داده ها بعنوان نتیجه ای از ورودی های کاربران به مراتب پیچیده تر شود. هم اکنون، بعضی از راهکار ها در سطح معماری برای حل این مشکل درحال پژوهش هستند، مانند تقسیم LLMها به لایه های مختلف و جداسازی داده ها. با این وجود، هنوز هیچ چاره قطعی پیدا نشده است.
از منظر امنیتی، این تفاوت ها به مهاجمان این امکان را می دهند که بردارهای حمله جدیدی را طراحی نمایند که LLMها را هدف قرار داده و امکان دارد توسط ابزارهای امنیتی موجود که برای برنامه های وب سنتی طراحی شده اند، شناسایی نشوند.
آسیب پذیری های LLM از دیدگاه OWASP
بنیاد OWASP لیستی از 10 کلاس اصلی صدمه پذیری برای مدلهای زبان بزرگ (LLMs) منتشر نموده است که چارچوب مفیدی جهت بررسی نحوه تأمین امنیت این مدلها عرضه می دهد. بعضی از تهدیدات مشابه تهدیدات موجود در لیست OWASP Top 10 برای برنامه های وب هستند، در حالیکه برخی دیگر مختص به مدلهای زبان می باشند.
مشابه با برنامه های وب، بعضی از این صدمه پذیری ها بهترین حالت رفع شدن شان زمانی است که LLMها طراحی، توسعه و آموزش داده می شوند. برای نمونه، «آلوده سازی داده های آموزشی» (Training Data Poisoning) می تواند از راه وارد کردن صدمه پذیری ها به مجموعه داده های آموزشی که برای آموزش مدلهای جدید استفاده می شود، انجام گیرد. این اطلاعات آلوده سپس به کاربر نمایش داده می شود زمانیکه مدل درحال استفاده است. صدمه پذیری ها در زنجیره تأمین نرم افزار و طراحی ناامن افزونه ها هم صدمه پذیری هایی هستند که به اجزای اضافه شده به مدل مربوط می شوند، مانند بسته های نرم افزاری از جانب اشخاص ثالث. در نهایت، مدیریت مجوزها و دسترسی ها در مورد «اعتماد بیشتر از حد» (Excessive Agency) اهمیت دارد؛ یعنی مدل هایی که بدون محدودیت قادر به انجام اقدامات غیر مجاز در سرتاسر برنامه یا زیرساخت هستند.
در مقابل، تهدیداتی مانند «تزریق درخواست» (Prompt Injection)، «هجوم مدل به سرویس» (Model Denial of Service) و «افشای اطلاعات حساس» (Sensitive Information Disclosure) می توانند با استفاده از راهکارهای امنیتی پروکسی مانند Cloudflare Firewall for AI دفع شوند. در قسمت های بعدی، به صورت دقیق تر به این صدمه پذیری ها خواهیم پرداخت و توضیح خواهیم داد که چگونه Cloudflare به صورت مؤثر آماده مقابله با آنها است.
پیاده سازی های LLM
ریسک های مدل زبان همینطور به نوع پیاده سازی آن بستگی دارد. هم اکنون، سه رویکرد اصلی برای پیاده سازی وجود دارد: LLMهای داخلی، عمومی و محصول. در هر سه حالت، شما باید مدلها را از سوءاستفاده محافظت کنید، داده های مالکانه ای که در مدل ذخیره می شوند را ایمن نگه دارید و از کاربران در مقابل اطلاعات غلط یا محتوای نامناسب محافظت کنید.
- LLMهای داخلی: شرکت ها مدلهای زبان بزرگ را برای پشتیبانی از کارمندان خود در انجام وظایف روزمره توسعه می دهند. این مدلها بعنوان دارایی های شرکت درنظر گرفته می شوند و نباید برای افراد غیرکارمند قابل دسترس باشند. بعنوان مثال، یک دستیار هوش مصنوعی که بر روی داده های فروش و تعاملات مشتریان آموزش دیده است تا پیشنهادات سفارشی سازی شده ایجاد نماید، یا یک مدل LLM که بر روی پایگاه داده دانش داخلی آموزش دیده است و می تواند توسط مهندسان مورد استفاده قرار گیرد.
- LLMهای عمومی: این مدلها LLMهایی هستند که می توانند خارج از محدوده یک شرکت استفاده شوند. این چاره ها معمولا نسخه های مجانی دارند که هر کسی می تواند از آنها استفاده نماید و معمولا بر روی اطلاعات عمومی یا دانش عمومی آموزش دیده اند. از نمونه های این مدلها میتوان به GPT از OpenAI یا Claude از Anthropic اشاره نمود.
- LLMهای محصول: از دیدگاه یک شرکت، LLMها می توانند جزئی از یک محصول یا خدمت باشند که به مشتریان عرضه می شود. این مدلها معمولا راهکارهای سفارشی شده ای هستند که بعنوان ابزاری برای تعامل با منابع شرکت در اختیار قرار می گیرند. نمونه هایی از این مدلها شامل چت بات های پشتیبانی مشتری یا دستیار هوش مصنوعی Cloudflare است.
از منظر ریسک، تفاوت بین LLMهای محصول و عمومی در اینست که چه کسانی از تأثیرات حملات موفق صدمه می بینند. LLMهای عمومی بعنوان تهدیدی برای حفظ حریم خصوصی درنظر گرفته می شوند، چون که داده های وارد شده به مدل می توانند توسط هر کسی مشاهده شوند. این یکی از دلایلی است که خیلی از شرکت ها به کارکنان خود سفارش می کنند که از وارد کردن اطلاعات حساس در درخواست های مدلهای عمومی اجتناب کنند. از طرفی، LLMهای محصول می توانند تهدیدی برای شرکت ها و دارایی های فکری آنها باشند، بخصوص زمانیکه مدلها در طول آموزش (اعم از عمدی یا تصادفی) به اطلاعات محافظت شده دسترسی داشته اند.
Firewall for AI
Cloudflare Firewall for AI مشابه یک فایروال وب معمولی (WAF) عمل می کند، جایی که هر درخواست API همراه با یک پرامپت LLM برای شناسایی الگوها و امضاهای حملات احتمالی اسکن می شود.


Firewall for AI می تواند پیش از مدل هایی که در پلت فرم Cloudflare Workers AI میزبانی می شوند یا مدل هایی که در زیرساخت های شخص ثالث میزبانی می شوند، مورد استفاده قرار گیرد. همینطور میتوان از آن همراه با Cloudflare AI Gateway استفاده نمود. مشتریان می توانند Firewall for AI را از راه لایه کنترل WAF مدیریت و تنظیم کنند.
Firewall for AI مانند یک فایروال وب Application معمولی عمل می کند. این ابزار پیش از یک برنامه LLM قرار می گیرد و هر درخواست را اسکن می کند تا امضاهای حمله را شناسایی کند.
جلوگیری از حملات حجمی
یکی از طریق های پیشگیری از حملات CDN (شبکه تحویل محتوا) است. یکی از تهدیداتی که توسط OWASP ذکر شده، حمله مدل Denial of Service (DoS) است. مشابه برنامه های معمولی، در یک حمله DoS، با استفاده از حجم بالای درخواست ها، منابع زیادی مصرف می شود که منجر به کاهش کیفیت سرویس یا افزایش هزینه های عملیاتی مدل می شود. با عنایت به منابع وسیعی که LLMها برای اجرای خود احتیاج دارند و غیرقابل پیشبینی بودن ورودی های کاربران، این نوع حمله می تواند صدمه زا باشد.
این خطر با معرفی سیاست های محدودیت نرخ (Rate Limiting) قابل دفع است که نرخ درخواست ها از هر نشست را کنترل کرده و بدین ترتیب، پنجره های متنی را محدود می کند. اگر مدل خویش را از راه Cloudflare بعنوان یک پراکسی استفاده کنید، به صورت فوری از محافظت مؤثر در مقابل حملات DDoS برخوردار خواهید شد. همینطور می توانید از Rate Limiting و Advanced Rate Limiting برای مدیریت نرخ درخواست هایی که به مدل شما می رسند استفاده کنید و یک سقف برای تعداد درخواست هایی که از یک آدرس IP یا یک کلید API می تواند در یک نشست انجام دهد، تعیین کنید. در این شرایط باید کارشناسان سرور و هاستینگ در ارتباط باشید.
شناسایی اطلاعات حساس با استفاده از Sensitive Data Detection
دو سناریو برای داده های حساس وجود دارد، بسته به این که آیا شما مالک مدل و داده ها هستید یا این که می خواهید از ارسال داده ها به مدلهای عمومی 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 برای مرحله درخواست درحال توسعه است.
پیشگیری از سوءاستفاده از مدلها
سوءاستفاده از مدلها یک دسته وسیع تر از انواع سوءاستفاده ها است. این شامل روش هایی مانند "تزریق پرامپت" یا ارسال درخواست هایی است که هالوسینیشن ها (توهمات) ایجاد می کنند یا به پاسخ هایی منجر می شوند که نادرست، توهین آمیز، نامناسب یا حتی بی ربط به مبحث هستند.
تزریق پرامپت (Prompt Injection) تلاشی است برای دستکاری یک مدل زبانی از راه ورودی های بخصوص طراحی شده، به صورتی که واکنش های غیرقابل پیشبینی از LLM ایجاد شود. نتایج این تزریق می تواند متفاوت باشد، از استخراج اطلاعات حساس گرفته تا تأثیرگذاری بر فرایند تصمیم گیری از راه شبیه سازی تعاملات طبیعی با مدل. یک مثال کلاسیک از تزریق پرامپت، دستکاری یک رزومه است که سبب می شود ابزارهای بررسی رزومه ها تحت تاثیر قرار بگیرند.
یک کاربرد رایج که از مشتریان ما در Cloudflare AI Gateway دریافت می نماییم اینست که آنها می خواهند از تولید زبان سمی، توهین آمیز یا آزاردهنده توسط برنامه های خود جلوگیری نمایند. خطراتی که زمانیکه نتایج مدل کنترل نشوند ایجاد می شود، شامل صدمه به شهرت و صدمه به کاربران از راه پاسخ های غیرقابل اعتماد است.
این نوع سوءاستفاده می تواند با اضافه کردن یک لایه محافظتی اضافی پیش از مدل جلوگیری شود. این لایه می تواند طوری آموزش دیده باشد که تلاشهای تزریق یا پرامپت هایی که در دسته های نامناسب قرار می گیرند را مسدود کند.
اعتبارسنجی پرامپت و پاسخ ها
Firewall for AI مجموعه ای از شناسایی ها را انجام می دهد که هدف آنها شناسایی تلاشهای تزریق پرامپت و دیگر تلاشهای سوءاستفاده است، مانند اطمینان از این که مبحث درخواست ها در محدودیت های تعیین شده توسط مالک مدل باقی بماند. مشابه سایر خصوصیت های موجود در WAF، Firewall for AI به صورت خودکار به جستجوی پرامپت های جاسازی شده در درخواست های HTTP پرداخته یا به مشتریان این امکان را می دهد که قوانینی بر مبنای جایی که پرامپت در بدنه JSON درخواست یافت می شود، ایجاد کنند.
هنگامی که این خصوصیت فعال شود، فایروال هر پرامپت را تحلیل و بررسی کرده و امتیازی از احتمال بدخیمی آن عرضه می دهد. علاوه بر این، پرامپت ها بر مبنای دسته بندی های از پیش تعریف شده علامت گذاری می شوند. امتیاز از 1 تا 99 متغیر است و احتمال وقوع تزریق پرامپت را نشان می دهد، به صورتی که 1 بالاترین احتمال را دارد.
مشتریان قادر خواهند بود قوانینی در WAF ایجاد کنند تا درخواست هایی را که امتیاز خاصی در یکی یا هر دو بعد دارند، مسدود یا ویرایش کنند. آنها می توانند این امتیاز را با دیگر سیگنال های موجود (مانند امتیاز روبات یا امتیاز حمله) ترکیب کنند تا تصمیم بگیرند آیا درخواست باید به مدل برسد یا مسدود شود. بعنوان مثال، این امتیاز می تواند با امتیاز روبات ترکیب شود تا شناسایی کند که آیا درخواست از یک منبع خودکار و بدخواه است.
شناسایی تزریق های پرامپت و سوءاستفاده از پرامپت ها بخشی از قابلیت های Firewall for AI است. این خصوصیت درحال توسعه است و در مراحل اولیه طراحی محصول قرار دارد.
علاوه بر ارزیابی، ما به هر پرامپت برچسب هایی اختصاص خواهیم داد که می توانند در ایجاد قوانین برای پیشگیری از رسیدن پرامپت های خاص به مدل استفاده شوند. بعنوان مثال، مشتریان می توانند قوانینی برای مسدود کردن موضوعات خاص ایجاد کنند. این شامل پرامپت هایی است که حاوی کلماتی هستند که بعنوان توهین آمیز شناخته می شوند یا به صورت مثال با مذهب، محتوای جنسی یا سیاست مرتبط هستند.

چگونه از Firewall for AI استفاده کنم؟ چه کسانی به این ابزار دسترسی دارند؟
مشتریان سازمانی با پیشنهاد Application Security Advanced می توانند فوراً با استفاده از Advanced Rate Limiting و Sensitive Data Detection (در مرحله پاسخ) شروع کنند. این دو محصول در قسمت WAF داشبورد Cloudflare موجود است. خصوصیت اعتبارسنجی پرامپت در Firewall for AI هم اکنون درحال توسعه است و نسخه بتا در ماههای آینده برای تمام کاربران Workers AI در دسترس قرار خواهد گرفت. برای دریافت اطلاع رسانی در مورد در دسترس بودن این ویژگی، می توانید در صف انتظار ثبت نام نمایید.
نتیجه گیری
Cloudflare یکی از اولین عرضه دهندگان امنیتی است که مجموعه ای از ابزارها را برای ایمن سازی برنامه های مبتنی بر هوش مصنوعی عرضه نموده است. با استفاده از Firewall for AI، مشتریان می توانند کنترل کنند که چه پرامپت ها و درخواست هایی به مدلهای زبانی آنها می رسند و به این ترتیب، خطر سوءاستفاده و استخراج داده ها را کاهش دهند. ما شما را به روز نگه می داریم و بزودی اطلاعات بیشتری در مورد آخرین تحولات در زمینه امنیت برنامه های هوش مصنوعی منتشر خواهیم کرد.


منبع:

1403/10/26
11:04:18
5.0 / 5
6
تگهای خبر: آموزش , اینترنت , برنامه , توسعه
این مطلب را می پسندید؟
(1)
(0)
X

تازه ترین مطالب مرتبط
نظرات بینندگان در مورد این مطلب
لطفا شما هم نظر دهید
= ۷ بعلاوه ۱
میخواهید برنامه ای برای شما نوشته شود؟ سفارش توسعه نرم افزار


pcdevelopers.ir - مالکیت معنوی سایت توسعه دهندگان متعلق به مالکین آن می باشد