هر تیم امنیتی آموزش دیده است که کد را هنگام ارسال زیر نظر داشته باشد. تقریباً هیچکدام برای زیر نظر داشتن دادهها هنگام رسیدن آموزش ندیدهاند و این نقطه کور دقیقاً همان چیزی است که مسمومیت داده از آن سوءاستفاده میکند. زمانی که یک مدل مسموم به مرحله تولید میرسد، آسیبپذیری هرگز در بررسی کد وجود نداشته است. این آسیبپذیری در مجموعه دادههایی بوده که هیچکس ماهها قبل آن را حسابرسی نکرده است.
این مدخل واژهنامه توضیح میدهد که مسمومیت با دادهها چیست، حملات مسمومیت با دادهها در عمل چگونه رخ میدهند، و چرا مسمومیت با دادههای هوش مصنوعی به یکی از ... تبدیل شده است. سریعترین ریسکهای رو به رشد در عصر هوش مصنوعی SDLCو دفاع واقعی در برابر آن چگونه است.
معنی مسمومیت با دادهها #
مسمومیت داده، دستکاری عمدی دادههای مورد استفاده برای آموزش، تنظیم دقیق یا پایهگذاری یک مدل هوش مصنوعی است، به طوری که مدل چیز اشتباهی را یاد بگیرد، به روشی که مهاجم میخواهد رفتار کند یا اطلاعاتی را که هرگز نباید افشا کند، فاش کند. مهاجم به جای حمله به مدل پس از استقرار، به مواد خامی که مدل از آن ساخته شده است حمله میکند.
ایده اصلی پشت مسمومیت دادهها ساده و نگرانکننده است: یک مدل هوش مصنوعی فقط به اندازه دادههایی که از آنها یاد گرفته قابل اعتماد است. اگر آن دادهها قبل از شروع آموزش خراب، مغرضانه یا تلهگذاری شده باشند، هیچ مقدار بررسی کد، آزمایش یا نظارت بر زمان اجرا در پاییندست، نقص اساسی را پیدا نخواهد کرد، زیرا مدل دقیقاً همانطور که (به طور مخرب) به آن آموزش داده شده است، کار میکند.
مسمومیت دادههای هوش مصنوعی در مقابل آسیبپذیریهای نرمافزاری سنتی #
امنیت برنامههای کاربردی سنتی فرض میکند که خطر در کد وجود دارد: یک تابع بد، یک کتابخانهی اصلاحنشده، یک سرور با پیکربندی نادرست. مسمومیت دادههای هوش مصنوعی این فرض را کاملاً نقض میکند. هیچ خط کد آسیبپذیری برای یافتن وجود ندارد، زیرا این خرابی مدتها قبل از نوشتن هرگونه کد یا استقرار هرگونه مدل، در یک مجموعهی آموزشی، یک مجموعه دادهی در حال تنظیم دقیق یا یک شاخص بازیابی رخ داده است.
به همین دلیل است که تشخیص مسمومیت با دادههای هوش مصنوعی با ابزارهای قدیمی به طرز منحصر به فردی دشوار است. SAST اسکنر کد را میخواند. یک اسکنر وابستگی، مانیفستهای بسته را میخواند. هیچکدام یک مجموعه آموزشی چند گیگابایتی یا یک پایگاه داده برداری پر از اسناد جاسازیشده را نمیخواند، که از قبل ...cisفقط جایی که مسمومیت دادههای هوش مصنوعی آسیب خود را وارد میکند. محققان امنیتی و مسئولانه افشا میشوند. برخی دیگر ابتدا توسط مهاجمان پیدا و مسلح میشوند، که سناریویی است که بیشترین آسیب را ایجاد میکند.
حملات مسمومیت با داده (Data Poisoning) چگونه کار میکنند؟ #
حملات مسمومیت با دادهها معمولاً به یکی از چند شکل زیر رخ میدهند:
- مسمومیت با دادههای آموزشییک مهاجم نمونههای دستکاریشده، دارای برچسب اشتباه یا مخرب را در مجموعه دادههایی که برای آموزش یک مدل از ابتدا یا تنظیم دقیق یک مدل موجود استفاده میشود، وارد میکند و باعث میشود که یک بایاس پنهان یا رفتار در پشتی را یاد بگیرد.
- چرخاندن برچسب: نسخهی ظریفتری از مورد بالا، که در آن مهاجم فقط برچسبها را روی زیرمجموعهی کوچکی از نمونههای آموزشی تغییر میدهد و بیسروصدا آنچه مدل یاد میگیرد را به چه چیزی مرتبط کند، تحریف میکند.
- RAG و مسمومیت با زمینهدر سیستمهای تولید افزوده بازیابی، یک مهاجم اسناد مسموم را در پایگاه دانش یا مخزن برداری که مدل در زمان اجرا از آن بازیابی میکند، قرار میدهد، بنابراین مدل با اطمینان اطلاعات نادرست یا دستکاریشده را طوری تکرار میکند که گویی واقعیت تأیید شدهای است.
- محرکهای در پشتی: یک مهاجم یک الگوی خاص در دادههای آموزشی به طوری که مدل تقریباً در هر مورد به طور عادی رفتار میکند، اما به محض ظاهر شدن یک عبارت یا ورودی محرک پنهان، خروجی انتخاب شده توسط مهاجم را تولید میکند.
- مسمومیت زنجیره تأمین: یک مهاجم یک مجموعه داده عمومی یا مشترک را به خطر میاندازد، یک نقطه بررسی مدل از پیش آموزش دیده، یا یک جاسازی pipeline در بالادست، به طوری که هر تیم پاییندستی که از آن بهره میبرد، سم را بدون اینکه هرگز به حمله اصلی دست بزند، به ارث میبرد.
چیزی که همه این حملات مسمومیت داده را به هم پیوند میدهد، زمانبندی است. آسیب قبل از اینکه مدل حتی به یک کاربر واقعی پاسخ دهد، وارد میشود، به همین دلیل است که عبارت «قبل از اینکه حتی یک خط کد بنویسد» این تهدید را توصیف میکند، بنابراین قبل ازcisالی: این مدل در بنیان خود به خطر افتاده است، نه در خروجی آن.
چگونه مهاجمان یک مدل هوش مصنوعی را قبل از نوشتن حتی یک خط کد، خراب میکنند؟ #
هر حمله مسمومیت داده که در بالا توضیح داده شد، از مزیت زمانی یکسانی برخوردار است: نفوذ در بالادست، مدتها قبل از اینکه یک مدل خروجی واحدی را که کاربر هرگز خواهد دید، تولید کند، اتفاق میافتد. هیچ تابع آسیبپذیر برای وصله کردن و هیچ بدافزاری وجود ندارد. commit برای بررسی، زیرا مدل هنوز چیزی ننوشته است. فقط یاد گرفته است، و آنچه یاد گرفته از قبل اشتباه است.
این همان چیزی است که مسمومیت با دادههای هوش مصنوعی را اساساً با آسیبپذیریهایی که تیمهای امنیتی برنامه برای شکار آنها آموزش دیدهاند، متفاوت میکند. یک مدل دارای در پشتی در کد، مشابه یک مدل سالم به نظر میرسد. pull request بررسی. این سیستم کامپایل، استقرار و به اکثر پرسوجوها به درستی پاسخ میدهد، درست تا زمانی که شرایط خاصی که مهاجم ایجاد کرده است، در نهایت در محیط عملیاتی ظاهر شود. در آن زمان، دیگر سوال این نیست که «چه کدی این را معرفی کرده»، بلکه سوال این است که «چه دادههایی این کار را انجام دادهاند و به چه زمانی برمیگردند».
چرا مسمومیت با دادههای هوش مصنوعی به یک اولویت رو به رشد تبدیل شده است؟ #
مسمومیت با دادههای هوش مصنوعی دیگر یک نگرانی نظری نیست. این موضوع رسماً به عنوان ... شناخته میشود. LLM04: مسمومیت با دادهها و مدلها در میان 10 مورد برتر OWASP برای برنامههای LLM، در کنار تزریق سریع و ریسک زنجیره تأمین به عنوان یکی از تهدیدهای تعیینکننده دوران هوش مصنوعی مولد قرار دارد. سه روند، آن را در رادار هر تیم امنیتی بالاتر میبرد:
- آسیب تا زمانی که تحریک نشود، قابل مشاهده نیست. یک مدل آلوده میتواند تمام تستهای عملکردی را پشت سر بگذارد و ماهها بینقص عمل کند، تا زمانی که شرایط محرک خاصی که مهاجم تعبیه کرده است، سرانجام در محیط عملیاتی ظاهر شود.
- نسل افزودهشده با بازیابی همه جا هست. هر سیستمی که به یک مدل اجازه میدهد متن زنده را از اسناد، ویکیها، تیکتها یا یک پایگاه داده برداری دریافت کند، یک سطح ورودی جدید و ممیزی نشده دارد و این سطح دقیقاً همان چیزی است که حملات مسمومیت با داده هدف قرار میدهند.
- مجموعه دادهها اکنون داراییهای زنجیره تأمین هستند. تیمها بهطور معمول مدلهای از پیش آموزشدیده، جاسازیها و مجموعه دادههای عمومی را از منابع خارجی دریافت میکنند، همانطور که بستههای متنباز را دریافت میکنند، و درست مانند یک بستهی آسیبدیده، یک مجموعه دادهی آسیبدیده میتواند حمله را بیسروصدا به هر تیمی که از آن استفاده میکند، منتقل کند.
تشخیص و دفاع در برابر مسمومیت داده #
از آنجا که مسمومیت دادهها در بالادست خود مدل اتفاق میافتد، دفاع نیز باید از بالادست شروع شود:
- مراقب منابع دادهی غیرعادی باشید، نه فقط کد غیرعادی. تشخیص رفتاری و ناهنجاری باید به جایی که دادهها وارد میشوند، گسترش یابد. pipeline، در مرز مخزن متوقف نشود.
- هر مجموعه دادهای را بشناسید pipeline. شما نمیتوانید خطر مسمومیت را در مجموعه دادهای که از وجود آن اطلاعی ندارید، حسابرسی کنید. کشف مداوم مجموعه دادههای آموزشی، ارزیابی و بازیابی، اولین خط دفاعی است.
- تبارشناسی را از مجموعه داده تا مدل و خروجی ردیابی کنید. نگاشت مسیری که یک مجموعه داده به یک مدل و از یک مدل به یک عامل، یک نقطه پایانی یا یک ابزار کدنویسی طی میکند، همان چیزی است که «ما خروجی بدی گرفتیم» را به «ما دقیقاً میدانیم کدام مجموعه داده آن را معرفی کرده است» تبدیل میکند.
- منابع بازیابی را بررسی کنید، نه فقط مجموعههای آموزشی را. در سیستمهای RAG، مخزن بردار و پایگاه دانش به همان بررسیهای یکپارچگی دادههای آموزشی نیاز دارند، زیرا مسمومیت با متن در زمان پرسوجو اتفاق میافتد، نه در زمان آموزش.
چگونه Xygeni به از بین بردن شکاف مسمومیت داده کمک میکند؟ #
دفاع در برابر مسمومیت دادهها با شفافیتی آغاز میشود که اکثر سازمانها به سادگی از آن بیبهرهاند. شیگنیموجودی هوش مصنوعی به طور مداوم هر دارایی هوش مصنوعی را در سراسر ... کشف میکند. SDLC، شامل مجموعه دادههای پشت آن: دادههای آموزشی، مجموعههای ارزیابی، و RAG یا منابع بازیابی، و آنها را در یک نمودار رابطه زنده که از مجموعه داده به مدل و به نقطه پایانی اجرا میشود، نگاشت میکند. به عامل به سرور MCP به ابزار کدنویسی. آن نمودار همان چیزی است که خروجی یک مدل مشکوک را به یک سوال قابل ردیابی تبدیل میکند: کدام مجموعه داده این را تغذیه کرده و از کجا آمده است؟
علاوه بر این موجودی، Xygeni امنیت هوش مصنوعی نقاط ضعف بردار و جاسازی، از جمله زمینه مسموم در بازیابی و RAG را تشخیص میدهد. pipelineها، همسو با ده مورد برتر OWASP برای برنامههای کارشناسی ارشد مدیریت بازرگانی (LLM). Xygeni به جای اعتماد به پاک بودن منابع آموزشی و بازیابی مدل، آنها را به عنوان بخشی از سطح حمله در نظر میگیرد، همانطور که قبلاً با کد، وابستگیها و ... رفتار میکرد. pipelineاگر در حال حاضر نمیتوانید به این سوال پاسخ دهید که «چه دادههایی این مدل را آموزش دادهاند و آیا میتوانیم آن را اثبات کنیم؟»، این دقیقاً همان شکافی است که ارزش پر کردن دارد، قبل از اینکه یک حادثه مسمومیت با دادههای هوش مصنوعی این سوال را مطرح کند.
سوالات متداول #
مسمومیت داده در هوش مصنوعی به عمل خراب کردن یا دستکاری دادههایی گفته میشود که یک مدل از آنها یاد میگیرد (دادههای آموزشی، دادههای تنظیم دقیق یا زمینه بازیابی) به طوری که مدل خروجی تحت تأثیر مهاجم یا غیرقابل اعتماد تولید کند.
خیر. تزریق سریع، رفتار مدل را در زمان پرسوجو از طریق ورودی دستکاریشده دستکاری میکند. آلودگی دادهها، دادههای زیربنایی که مدل بر اساس آنها آموزش دیده یا از آنها بازیابی شده است را خراب میکند، بنابراین آسیب قبل از ارسال هرگونه اعلانی ایجاد میشود.
بله. در سیستمهای تولید افزوده بازیابی، یک مهاجم میتواند اسناد یا پایگاه داده برداری که مدل در زمان اجرا از آن بازیابی میکند را آلوده کند و بدون اینکه هرگز به مجموعه داده اصلی دست بزند، به نتیجه مشابهی دست یابد.
زیرا در دادهها وجود دارد، نه در کد. ابزارهای سنتی AppSec کد منبع و مانیفستهای وابستگی را اسکن میکنند، نه مجموعههای آموزشی چند گیگابایتی یا فروشگاههای برداری را، بنابراین حملات مسمومیت داده اغلب توسط ابزارهایی که برای یک مدل تهدید کد محور ساخته شدهاند، مورد توجه قرار نمیگیرند.
هر سازمانی که مدلهای تنظیم دقیق را روی دادههای داخلی یا شخص ثالث، با استفاده از تولید افزوده بازیابی یا استخراج مدلها و مجموعه دادههای از پیش آموزشدیده از منابع عمومی انجام میدهد، در معرض خطر است، زیرا هر یک از این موارد، نقطه ورود برای مسمومیت با دادهها است.
