ارزیابی امنیت چت‌بات

ارزیابی امنیت برای سیستم‌های چت‌بات و هوش مصنوعی گفتاری

درباره این سرویس

ارزیابی امنیت چت‌بات ما یک سامانه‌ی هوش مصنوعی گفت‌وگومحور را همان‌گونه می‌آزماید که کاربران و سوءاستفاده‌کنندگانش واقعاً به آن می‌رسند: از راه مکالمه. می‌آزماییم که آیا می‌توان چت‌بات را از قواعدش منصرف کرد (تزریق پرامپت و jailbreak)، آیا داده‌ای از بستر خود یا از session کاربر دیگر نشت می‌دهد، آیا نرده‌های ایمنی‌اش قابل دور زدن‌اند، و آیا اقدامات بک‌اندی که می‌تواند راه بیندازد به‌درستی مهار شده‌اند. مبنای کار، فهرست OWASP Top 10 for LLM Applications و راهنمای OWASP AI Testing Guide است و از MITRE ATLAS بهره می‌گیریم. چون متن فارسی می‌تواند بی‌آن‌که فهم مدل را تغییر دهد از فیلتری که برای انگلیسی تنظیم شده بگذرد، شیوه‌های دور زدنِ خاص زبان را نیز می‌آزماییم. هر یافته اثبات می‌شود، در کنار اثر واقعی‌اش با CVSS رتبه می‌گیرد و با یک رفع مشخص نوشته می‌شود.

چه چیزی شامل می‌شود

تزریق پرامپت و jailbreak در برابر نرده‌های محافظِ مکالمه

دور زدنِ خاصِ زبان: گونه‌های نویسه، نویسه‌های نامرئی و درهم‌آمیزی خط در فارسی

نشت داده‌ی حساس از بستر سامانه، پایگاه دانش یا session کاربر دیگر

دور زدن نرده‌های ایمنی و برند: خروجی ناایمن، خلافِ سیاست یا آسیب‌زننده به اعتبار

مدیریت session و state: نشت تاریخچه، نشت میان‌session و آشفتگی هویت

یکپارچه‌سازی با بک‌اند: اقداماتی که چت‌بات می‌تواند راه بیندازد و این‌که مجاز و مهارشده‌اند یا نه

اعتبارسنجی ورودی و مدیریت خروجی، جایی که پاسخ به سامانه‌ی دیگر می‌رسد

احراز هویت و مجوزدهی کاربرِ پشتِ مکالمه

حریم خصوصی و نگه‌داری داده‌ی شخصی در پرامپت‌ها، گزارش‌ها و رونوشت‌ها

مصرف بی‌حدومرز: هزینه و منع سرویس از راه رابط گفت‌وگو

چگونه کار می‌کند

1
کشف چت‌بات
چت‌بات را نگاشت می‌کنیم: هدف و قواعدش، پرامپت سامانه و نرده‌های محافظ، پایگاه دانشی که از آن بهره می‌گیرد، اقدامات بک‌اندی که می‌تواند انجام دهد، و این‌که کاربر در طول یک مکالمه چگونه شناسایی می‌شود. همین، مرزِ آنچه باید و نباید انجام دهد را تعیین می‌کند.
2
تست مکالمه و تزریق
می‌کوشیم چت‌بات را از قواعدش منصرف کنیم؛ هم مستقیم و هم از راه محتوایی که از پایگاه دانشش می‌خواند، و شیوه‌های دور زدنِ خاصِ زبان را که فیلترِ تنظیم‌شده برای یک زبان از دست می‌دهد می‌آزماییم. پرسش این است که وقتی کاربر و دستور با هم اختلاف دارند، نرده‌های محافظ پابرجا می‌مانند یا نه.
3
تست داده، session و نرده‌های محافظ
می‌آزماییم که آیا چت‌بات پرامپت سامانه، پایگاه دانش یا داده‌ی کاربر دیگر را نشت می‌دهد، آیا تاریخچه میان sessionها نشت می‌کند، و آیا نرده‌های ایمنی و برندش را می‌توان به‌سوی خروجی ناایمن یا خلافِ سیاست هل داد.
4
امنیت بک‌اند و اقدام
هرجا چت‌بات می‌تواند اقدامی انجام دهد (جست‌وجوی یک سفارش، تغییر یک تنظیم، باز کردن یک تیکت) می‌آزماییم که آن اقدام بررسی می‌کند چه کسی درخواست می‌دهد و در محدوده‌ی مجوزهای او می‌ماند یا نه، تا مکالمه نتواند به مسیری به‌سوی بک‌اند تبدیل شود.
5
اعتبارسنجی، گزارش‌دهی و تست مجدد
هر یافته با یک مکالمه‌ی تکرارپذیر اثبات می‌شود، با CVSS و اثر واقعی رتبه می‌گیرد، به فهرست OWASP Top 10 for LLM Applications نگاشت می‌شود و با یک رفع مشخص نوشته می‌شود. پس از رفع، دوباره تست می‌کنیم تا مطمئن شویم رفع‌ها پابرجا هستند.
خروجی‌ها
  • خلاصه‌ی اجرایی با نمای کلی ریسک برای تصمیم‌گیرندگان
  • گزارش فنی تفصیلی، هر یافته با یک مکالمه‌ی تکرارپذیر
  • یافته‌های تزریق پرامپت، jailbreak و دور زدنِ خاصِ زبان
  • یافته‌های نشت داده و مدیریت session
  • یافته‌های دور زدن نرده‌های ایمنی و برند
  • یافته‌های اقدام بک‌اند و مجوزدهی
  • نگاشت یافته‌ها به OWASP Top 10 for LLM Applications، همراه با CVSS و اثر کسب‌وکار
  • راهنمای رفع اولویت‌دار و تست مجدد پس از رفع

چرا وادی ایمن حافظ

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

سوالات متداول

ارزیابی امنیت چت‌بات چیست؟

یک سامانه‌ی هوش مصنوعی گفت‌وگومحور را برای ضعف‌های امنیتیِ قابل‌دسترس از راه مکالمه می‌سنجد: تزریق پرامپت و jailbreak، نشت داده، دور زدن نرده‌های محافظ، نقص‌های session، و امنیت اقدامات بک‌اندی که می‌تواند راه بیندازد؛ بر پایه‌ی OWASP Top 10 for LLM Applications و راهنمای OWASP AI Testing Guide، و هر یافته اثبات و رتبه‌بندی می‌شود.

تفاوت تزریق پرامپت و jailbreak چیست؟

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

چرا تست به زبان فارسی مهم است؟

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

آیا یک چت‌بات می‌تواند داده‌ای را که نباید نشت دهد؟

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

آیا سامانه‌هایی را که چت‌بات به آن‌ها وصل می‌شود تست می‌کنید؟

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

آیا تست برای یک چت‌بات زنده‌ی روبه‌مشتری ایمن است؟

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

شدت یافته‌ها چگونه تعیین می‌شود؟

هر یافته یک امتیاز CVSS برای یک مبنای مشترک می‌گیرد که با اثر واقعی تعدیل می‌شود: چه چیزی را نشت می‌دهد یا راه می‌اندازد، چقدر آسان، و آیا از مرز یک کاربر می‌گذرد، و به فهرست OWASP Top 10 for LLM Applications نگاشت می‌شود. یک لغزشِ نرده‌ی محافظ که فقط بر لحن اثر می‌گذارد با لغزشی که به داده‌ی مشتری می‌رسد یکی نیست.

ارزیابی امنیت چت‌بات چقدر طول می‌کشد؟

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

آماده شروع هستید؟
با تیم ما تماس بگیرید تا در مورد نیازهای ارزیابی امنیتی شما صحبت کنیم