عاشق وب: 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، مشتریان می توانند کنترل کنند که چه پرامپت ها و درخواست هایی به مدلهای زبانی آنها می رسند و به این ترتیب، خطر سوءاستفاده و استخراج داده ها را کاهش دهند. ما شما را به روز نگه می داریم و به زودی اطلاعات بیشتری در مورد آخرین تحولات در حوزه امنیت برنامه های هوش مصنوعی منتشر خواهیم کرد.
منبع: عاشق وب
More Stories
انتخاب بهترین برند مناسب پرینتر
چت بات هوش مصنوعی واتساپ از راه می رسد
مجوز اپراتور هوش مصنوعی به زودی توسط وزارت ارتباطات صادر می شود