سود:
- توانایی تشخیص سطوح حمله ویژه هوش مصنوعی (تزریق سریع، مسمومیت داده ها، نشت داده های محرمانه، استخراج عضویت) و طراحی دفاع لایه ای
- امکان اعمال حریم خصوصی به عنوان یک اصل طراحی: کمینه سازی داده ها، پوشاندن، کنترل دسترسی و دوره نگهداری
- توانایی انجام کارهای امنیتی صرفاً برای اهداف دفاعی، افشای مسئولانه آسیب پذیری ها و اجتناب از استفاده غیرمجاز
یک سیستم یادگیری ماشینی تمام خطرات امنیتی نرم افزارهای سنتی را به همراه دارد و سطوح حمله جدید منحصر به فردی را اضافه می کند. مدل را می توان با یک ورودی فریب داد، داده های آموزشی را می توان مسموم کرد، و اطلاعات محرمانه می تواند به خروجی نشت کند. در این واحد، سیستمهای هوش مصنوعی را از منظر دفاعی در نظر میگیریم: شناسایی حملات، سختتر کردن سیستم، حفاظت از حریم خصوصی. این اطلاعات برای دسترسی یا حمله غیرمجاز نیست، بلکه برای ایمن نگه داشتن سیستم های خود است.
سطوح حمله مخصوص هوش مصنوعی
علاوه بر امنیت کلاسیک (احراز هویت، مجوز، رمزگذاری)، سیستمهای ML در برابر موارد زیر آسیبپذیر هستند:
- تزریق سریع: دستورالعمل پنهان شده در ورودی LLM مدل را از دست می دهد. رایج ترین و کاربردی ترین خطر امنیتی LLM.
- مسمومیت داده ها: مهاجم با درج نمونه های بد در داده های آموزشی، یک درب پشتی یا سوگیری پنهان را به مدل وارد می کند.
- استنتاج و وارونگی مدل: مهاجم داده های آموزشی یا رفتار مدل را با ارسال چند پرس و جو به مدل بازسازی می کند.
- استنتاج عضویت: استنباط اینکه آیا از داده های یک شخص خاص در آموزش استفاده می شود یا خیر - نقض حریم خصوصی.
- نشت داده های حساس: مدل اطلاعات محرمانه (نام، هویت، راز) را در داده های آموزشی در خروجی نشان می دهد.
برای هر یک از این خطرات دفاعی وجود دارد. نکته کلیدی در نظر گرفتن ریسک در مرحله طراحی است.
تزریق سریع: فوری ترین تهدید
دو نوع تزریق سریع وجود دارد:
- مستقیم: کاربر شخصاً متنی مانند "نادیده گرفتن دستورالعمل های قبلی" را وارد می کند.
- غیرمستقیم: دستورالعمل بد در یک زمینه خارجی (صفحه وب، سند، ایمیل) که مدل پردازش می کند، پنهان می شود. به ویژه برای عوامل و RAG خطرناک است زیرا این مدل محتوای خارجی را به طور قابل اعتماد مدیریت می کند.
لایه های دفاعی:
- Parsing: Separate system instruction and user/external data with clear delimiters; محتوای خارجی را به عنوان "داده، نه دستور" علامت گذاری کنید.
- حداقل قدرت: میزان آسیبی که مدل می تواند وارد کند را محدود کنید حتی اگر گرفته شود (قدرت های خودرو در واحد 5).
- کنترل خروجی: بررسی کنید که مدل چه چیزی را قبل از استفاده از آن تولید می کند - به خصوص اگر به یک عمل تبدیل شود.
- تایید انسانی: اقدامات پرخطر را به تایید گره بزنید.
احتیاط: شما نمی توانید تزریق سریع را با یک دفاع به طور کامل حل کنید. دفاع لایه ای (دفاع در عمق) مورد نیاز است. فرض انتقادی: "مدل ممکن است در نقطهای فریب بخورد؛ بنابراین اگر فریب داده شود، بدترین اتفاق چیست و چگونه آن را محدود کنم؟"
رویکرد ضعیف / رویکرد قوی
ضعیف: "من "دستورالعمل های بد را نادیده بگیرید" را در اعلان سیستم تایپ کردم و ما در امان هستیم."
Strong: "محتوای خارجی را با برچسبهای <data> پیچیده و گفتیم "دستورالعملها را نادیده بگیرید". همچنین ابزارهای مدل را به حداقل مجوز محدود کردیم، اقدامات غیرقابل برگشت را به تایید انسانی گره زدیم، همه تماسهای ابزار را ثبت کردیم و خروجی را قبل از استفاده تحت کنترل قوانین قرار دادیم. ما به لایهها تکیه میکنیم، نه یک دفاع واحد."
تفاوت: رویکرد قوی می داند که یک دستورالعمل یک خطی کافی نخواهد بود و لایه هایی ایجاد می کند که آسیب را محدود می کند.
حریم خصوصی: داده ها از ابتدا محافظت می شوند
حریم خصوصی یک ویژگی نیست که بعدا اضافه شود، یک اصل طراحی است (حریم خصوصی بر اساس طراحی). کاربردهای اساسی:
- به حداقل رساندن داده ها: داده های شخصی را بیش از حد لازم جمع آوری و ذخیره نکنید. دادههایی که جمعآوری نشدهاند نمیتوانند به بیرون درز کنند.
- ناشناس سازی و پوشاندن: شناسه های شخصی (نام، شناسه، ایمیل) را قبل از دادن به مدل، پوشانده یا حذف کنید.
- کنترل دسترسی: محدود کردن و ثبت نام افرادی که به داده ها و مدل دسترسی دارند (کنترل دسترسی RAG در واحد 4).
- دوره نگهداری: با خط مشی تعیین کنید که چه مدت داده ها را حفظ می کنید. منقضی شده را حذف کنید.
حریم خصوصی تفاضلی (تکنیکی که از تأثیر قابل توجه دادههای یک فرد بر خروجی با اضافه کردن نویز کنترلشده در طول آموزش جلوگیری میکند) و یادگیری فدرال (رویکردی که در دستگاهها بدون انتقال دادهها به مرکز آموزش میدهد) تکنیکهای حفظ حریم خصوصی پیشرفته هستند. هنگام کار با داده های حساس باید در نظر گرفته شود.
نکته: قبل از پردازش هر داده، بپرسید: "اگر این داده های شخصی فاش شود، چه کسی آسیب خواهد دید؟" اگر آسیب جدی است، یا اصلاً داده ها را جمع آوری نکنید یا با پوشاندن آن ها را پردازش کنید. امن ترین داده ها داده هایی هستند که هرگز جمع آوری نشده اند.
داده های آموزشی و امنیت زنجیره تامین مدل
به اندازه مدل شما، قطعاتی که استفاده می کنید نیز یک مشکل ایمنی هستند:
- اعتماد منبع داده: آیا داده های آموزشی قابل اعتماد هستند یا ممکن است مسموم شوند؟ حسابرسی مجموعه داده های عمومی
- مدلها و کتابخانههای شخص ثالث: یک مدل از پیش آموزشدیده یا وابستگی که دانلود کردهاید ممکن است مخرب باشد. منبع، امضا، و آسیب پذیری های شناخته شده آن را بررسی کنید.
- زنجیره تامین: هر ابزار و بسته ای در خط لوله ML شما یک پیوند اعتماد است. شما به اندازه ضعیف ترین حلقه ایمن هستید.
افشای مسئولانه و مرزهای اخلاقی
وقتی آسیبپذیری را در سیستم خود یا یک فروشنده پیدا میکنید، مسیر صحیح، افشای مسئولیتپذیر است: گزارش خصوصی آسیبپذیری به طرف مربوطه و دادن زمان برای رفع آن، نه سوءاستفاده یا انتشار آن. استفاده از هوش مصنوعی یا اطلاعات امنیتی که برای دسترسی غیرمجاز، نشت داده ها یا مداخله غیرمجاز در سیستم شخص دیگری به دست آورده اید، غیرقانونی و خلاف اخلاق حرفه ای است. محتوای امنیتی این ماژول کاملاً برای اهداف دفاعی، شناسایی و سختسازی است.
سه کیف کوچک
مورد 1 - محدودیت تزریق غیر مستقیم. یک ربات پشتیبانی RAG در حال ارائه محتوای وب بود. دستورالعمل های پنهان در یک صفحه دفن شدند. مدل تا حدی فریب خورده بود، اما ربات هیچ امتیاز نوشتن (حداقل امتیازات) نداشت و خروجی قبل از نمایش به کاربر از طریق بررسی قوانین عبور داده شد. مضر بود و گرفتار شد. دفاع لایه ای مانع از تبدیل شدن یک شکست به یک فاجعه شد.
مورد 2 - نشت اطلاعات محرمانه. یک تیم پشتیبانی مشتری که به خوبی تنظیم شده است، بدون پوشاندن آنها به یک مدل وارد می شود (واحد 6). این مدل شروع به تولید نام های واقعی مشتریان در سوالات نامربوط کرد. خطر حذف عضویت نیز وجود داشت. مدل برداشته شد، داده ها پوشانده شد، خط مشی حفظ تصحیح شد. درس: داده های محرمانه نباید وارد آموزش و پرورش شود.
مورد 3 - مجموعه داده های سمی. یک تیم بدون ممیزی بر روی یک مجموعه داده در دسترس عموم آموزش دید. نمونههای سمی روی مجموعه وجود داشت که مدل را با دیدن یک کلمه محرک خاص (درپشتی) فریب داد. پس از افزودن ممیزی و اسکن ناهنجاری، این نمونه ها برداشت شدند. درس: منبع داده را بررسی کنید، کورکورانه اعتماد نکنید.
قالب های قابل کپی
Check this LLM/agent system for prompt injection.- Are system instructions and user/external data clearly separated?- Is external content marked as "data" or is it handled as a command?- What is the worst that would happen if the model is fooled (authorization limit)?- Are irreversible actions subject to human approval?- Is the output inspected before use?System: [description]. کاستی های دفاعی لایه ای را فهرست کنید.
این جریان پردازش داده را برای محرمانه بودن حسابرسی کنید.- آیا هر فیلد شخصی جمع آوری شده واقعاً ضروری است (به حداقل رساندن)؟- کدام فیلدها باید در داده هایی که به مدل می رود پوشانده شوند؟- آیا کنترل دسترسی و ثبت نام وجود دارد؟- آیا دوره نگهداری تعریف شده است؟ جریان: [توضیح]. پیشنهاد اصلاح برای هر نقص.
در این متن، داده های شخصی را که باید قبل از ارسال به مدل پنهان شوند، پیدا کنید. زمینه ها: نام، ایمیل، تلفن، شماره شناسنامه/گذرنامه، آدرس، شماره کارت، IP. هر یافته را با نوع و ماسک توصیه شده آن فهرست کنید. بقیه متن را جایگزین نکنید. متن: [متن]
قبل از تولید این مدل/کتابخانه شخص ثالث، یک چک لیست امنیتی ایجاد کنید.- آیا منبع و ناشر مورد اعتماد هستند، امضا تأیید شده است؟- برای آسیب پذیری های شناخته شده (CVE) اسکن شده است؟- به چه امتیازات/دسترسی نیاز دارد، آیا می توان آن را به حداقل رساند؟ جزء: [name/source]
جدول دفاع از خطر
ریسک
دفاع
لایه
تزریق سریع
تجزیه + حداقل امتیاز + کنترل خروجی
طراحی + زمان اجرا
مسمومیت داده ها
کنترل منبع + اسکن ناهنجاری
خط داده
نشت داده های محرمانه
پوشاندن + به حداقل رساندن داده ها
داده + آموزش
استخراج عضویت
حریم خصوصی متفاوت
آموزش و پرورش
اختیارات بیش از حد
حداقل مجوز + تایید
طراحی عامل
زنجیره تامین
بازرسی اجزا + امضا
اعتیاد
اشتباهات رایج
- فکر می کنید که تزریق سریع را با یک خط حل کرده اید. دفاع لایه ای ضروری است.
- پردازش/آموزش داده های محرمانه بدون پوشاندن آن ها. به طور دائم به مدل نفوذ می کند.
- در نظر گرفتن محتوای خارجی قابل اعتماد. گیت تزریق غیر مستقیم
- بررسی نکردن منبع داده مسمومیت بدون توجه می شود.
- اعتماد کورکورانه به مؤلفه شخص ثالث. شکاف زنجیره تامین
- فکر می کنم که حریم خصوصی بعدا اضافه خواهد شد. باید از طراحی شروع شود.
به طور خلاصه
علاوه بر خطرات امنیتی کلاسیک، سیستمهای هوش مصنوعی تهدیدهای منحصر به فردی مانند تزریق سریع، مسمومیت دادهها، نشت دادههای محرمانه و استخراج عضویت را به همراه دارند. هیچ یک از آنها را نمی توان با یک معیار حل کرد. دفاع لایه ای (تجزیه، حداقل مجوز، کنترل خروجی، تایید انسانی) مورد نیاز است. حفظ حریم خصوصی یک اصل طراحی است: داده ها را به حداقل برسانید، آنها را پنهان کنید، دسترسی را محدود کنید، دوره های نگهداری را اعمال کنید. مولفه و زنجیره تامین داده را کنترل کنید. تمام این اطلاعات برای دفاع، شناسایی و تثبیت است. آسیب پذیری ها را مسئولانه توضیح دهید، هرگز از آنها سوء استفاده نکنید.
وظیفه کاربردی
Check an LLM/agent system (your own project or example) for prompt injection: are system instructions and external data separated, what is the authorization limit if the model is tricked, are irreversible actions confirmed? حداقل دو لایه دفاعی اضافه کنید. بهطور جداگانه، فیلدهای شخصی را که نیاز به پوشاندن در نمونه دادهای که به مدل میرود، پیدا کرده و ماسک کنید. منبع و آسیب پذیری های شناخته شده هر مؤلفه شخص ثالثی را که استفاده می کنید بررسی کنید.
چک لیست
- [ ] System instruction and external/user data are clearly separated.
- [ ] محتوای خارجی به عنوان داده علامت گذاری می شود، نه دستور.
- [ ] حتی اگر مدل فریب خورده باشد، آسیب به حداقل قدرت محدود می شود.
- [ ] داده های شخصی پوشانده/به حداقل رسیده. دوره ذخیره سازی تعریف شده است.
- [ ] منبع داده و اجزای شخص ثالث بررسی شده است.
- [ ] کار امنیتی من برای اهداف دفاعی است. من شکاف ها را مسئولانه توضیح می دهم.