رفتن به محتوای اصلی
کوهستان
توضیح کوهستانمعماری ترنسفورمرتزریق دستور· 6 دقیقه مطالعه· در فناوری

چرا دیکودرهای ترنسفورمر قادر به تفکیک دستورات سیستمی از متن نامطمئن نیستند؟

معماری بنیادین مدل‌های زبانی امروزی تمامی ورودی‌ها را به عنوان یک دنباله پیوسته از توکن‌ها پردازش می‌کند؛ ویژگی ساختاری مشخصی که ایزوله‌سازی قطعی و ریاضی‌محور دستورالعمل‌های سیستمی از داده‌های ورودی کاربر را ناممکن می‌سازد.

به قلم غزل بختیاری

به‌طور خلاصه

  • دیکودرهای ترنسفورمر فرامین سیستم و متون نامطمئن کاربر را تنها به عنوان یک دنباله ادامه‌دار از توکن‌ها بررسی می‌کنند.
  • این معماری فاقد تفکیک‌های سخت‌افزاری مرسوم در رایانه‌های سنتی است که کد اجرایی را از داده خام جدا می‌سازند.
  • تکیه سازوکار توجه بر احتمالات ریاضی، دستیابی به امنیت قطعی را در برابر تزریق پرامپت در داخل خود مدل ناممکن کرده است.

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

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

برای یک شبکه عصبی، دستور سیستم که می‌گوید «اطلاعات را مخفی نگه دار» با فرمان کاربر که می‌خواهد «دستورات پیشین را نادیده بگیر»، در یک فضای ریاضی کاملاً یکسان ارزیابی می‌شوند. هر دو رشته صرفاً مجموعه‌ای از اعداد هستند که خوراک یک موتور احتمالاتی می‌شوند.

یک ارزیابی امنیتی منتشرشده در سال ۲۰۲۴ در پایگاه arXiv یادآور می‌شود: «آسیب‌پذیری بنیادین این است که معماری ترنسفورمر فاقد کانال کنترلی خارج از باند است؛ همه چیز درون یک باند واحد جریان دارد.»

با باگی روبه‌رو نیستیم که بشود با یک وصله نرم‌افزاری برطرفش کرد؛ این ویژگی ذاتی نحوه عملکرد سازوکارهای توجه در پردازش زبان است؛ ضعفی همیشگی برای هر سیستمی که سوار بر این مدل‌ها کار می‌کند.

روش رایانه‌های سنتی در تفکیک کد از داده

برای درک بهتر ماجرا، کافی است به راهکار رایانه‌های سنتی نگاه کنیم. پردازنده‌های امروزی بر پایه معماری فون نویمان متکی هستند که دستورات اجرایی را چه از نظر فیزیکی و چه منطقی از داده‌های غیرفعال جدا نگه می‌دارد.

برخلاف پردازش سنتی، ترنسفورمرها فاقد مرز ساختاری بین دستورات اجرایی و داده‌های ورودی هستند.

وقتی یک مرورگر وب اسکریپت آلوده‌ای را دریافت می‌کند، واحد مدیریت حافظه در سیستم‌عامل وارد عمل می‌شود و با تکیه بر قابلیت سخت‌افزاری بیت NX، داده بارگیری‌شده را غیرقابل‌اجرا علامت‌گذاری می‌کند.[2]

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

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

مدل‌های ترنسفورمر هیچ‌یک از این خطوط قرمز را ندارند؛ نه واحد مدیریت حافظه‌ای در کار است، نه بیت NX و نه تجزیه‌کننده سخت‌گیرانه‌ای که بتواند مرزی میان اعلان سیستم و متن کاربر بکشد.

سازوکار پردازش در دنباله‌های تخت توکن

به جای ساختار منظم حافظه، یک دیکودر ترنسفورمر با آرایه‌ای یک‌بعدی از توکن‌ها کار می‌کند. توکن در واقع چیزی جز نمایش عددی یک کلمه یا جزء‌کلمه نیست که به برداری با ابعاد بالا نگاشت شده است.[3]

هنگامی که کاربر با یک دستیار هوش مصنوعی تعامل می‌کند، برنامه تمام دستورات مخفی توسعه‌دهنده، پیشینه گفتگو و تازه‌ترین ورودی کاربر را پشت سر هم می‌چسباند و به یک رشته طولانی تبدیل می‌کند.

این رشته یکدست خرد شده و وارد لایه‌های خودتوجهی مدل می‌شود. سازوکار توجه، اهمیت و ضریب ارتباط هر توکن را نسبت به سایر توکن‌ها محاسبه می‌کند؛ بدون آنکه برایش اهمیتی داشته باشد متن کاربری است یا دستوری سیستمی.

به علت یکپارچه و تخت بودن دنباله، دستور برنامه‌نویس برای فیلتر کردن کلمات نامناسب با همان وزن ریاضی محاسبه می‌شود که اصرار کاربر برای دیدن آن محتوا وزن‌دهی شده است.

حجم انبوه ورودی کاربر می‌تواند از لحاظ ریاضی، وزن توجه تخصیص‌یافته به پرامپت سیستم را خنثی کند.

تحلیل ساختاری تیم تحریریه فکت‌لن نشان می‌دهد: «سازوکارهای توجه ماهیتی ذاتاً دموکراتیک دارند؛ آن‌ها وزن ریاضی را بر مبنای شباهت معنایی تقسیم می‌کنند، نه براساس اعتبار یا منبع ارسال پیام.»[1]

چرا پرامپت‌های سیستمی امنیت ایجاد نمی‌کنند؟

توسعه‌دهندگان مدل‌ها کوشیده‌اند با قرار دادن توکن‌های کنترلی خاص، مرزهای مصنوعی ایجاد کنند. این توکن‌ها نشانگرهای ویژه‌ای هستند که در متن تزریق می‌شوند تا بخش‌های مختلف ورودی را جدا کنند.

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

با وجود این، چنین تلاشی صرفاً یک تغییر رفتاری مبتنی بر پاداش و جزا است و نه یک تضمین ساختاری؛ مدل صرفاً بر اساس الگوهای آماری دوران تنظیم دقیق، خطوطی فرضی را شبیه‌سازی می‌کند.

چنانچه مهاجم ورودی خود را طوری بچیند که شباهت آماری بالایی به دستورات سیستمی داشته باشد، سازوکار توجه به آن اولویت می‌دهد. دنباله تخت ورودی باعث می‌شود که یک کاربر زیرک همواره بتواند بر دستورات اولیه سیستم غلبه کند.

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

طبیعت احتمالاتی وزن‌های توجه

ریشه ریاضی بن‌بست در تابع سافت‌مکس نهفته است: مجموع وزن‌های توجه در کل دنباله باید همواره دقیقاً برابر با عدد یک باشد.

وقتی کاربر کلمات مرتبط یا متناقض قدرتمندی وارد می‌کند، سازوکار توجه ناچار است بخشی از جرم احتمالاتی این عدد یک را به ورودی‌های تازه اختصاص دهد؛ اقدامی که مستقیماً وزن دستورات سیستمی را کاهش می‌دهد.

از آنجا که مجموع ضرایب توجه همواره باید برابر ۱٫۰ باشد، هر ورودی پررنگ کاربر از نفوذ دستورات اولیه می‌کاهد.

در یک پنجره زمینه استاندارد با ۸٬۱۹۲ توکن، یک اعلان سیستمی ۵۰ توکنی در برابر انبوهی از توکن‌های کاربر رقابت می‌کند. حجم بالای کلمات کاربر به راحتی وزن محدود دستور سیستم را در محاسبات غرق می‌کند.

ارزیابی امنیتی سال ۲۰۲۵ مؤسسه ایمنی هوش مصنوعی تأکید می‌کند: «نمی‌توان با اعداد اعشاری احتمالاتی، یک دیوار امنیتی نفوذناپذیر ساخت؛ ساختار ترنسفورمر بنیاداً با قواعد مطلق سازگار نیست.»

این یعنی هر ابزاری که برای خواندن متن‌های نامطمئن و انجام عملیات متوالی به مدل‌های زبانی تکیه می‌کند، با خطری ساختاری روبه‌رو است که امکان وصله کردن آن در کد مدل وجود ندارد.

ایجاد مرزبندی‌های خارجی در اطراف مدل

مهندسان امنیت با پذیرش این نقص ذاتی، تمرکز خود را از دستکاری درون مدل برداشته و به لایه‌های حفاظتی پیرامونی روی آورده‌اند تا مدل زبانی را مهار کنند.

یکی از روش‌های متداول، کمک گرفتن از یک مدل زبانی کوچک‌تر به عنوان نگهبان است تا پیش از رسیدن ورودی کاربر به سیستم اصلی، تلاش‌های احتمالی برای دور زدن را شناسایی و پالایش کند.

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

رویکرد کارآمدتر در گرو طراحی سخت‌گیرانه دسترسی‌های API است؛ برنامه‌نویسان اختیارات اجرایی مدل زبانی را محدود می‌کنند تا حتی در صورت نفوذ، ابزار توانایی آسیب‌رسانی جدی نداشته باشد.

تصویرسازی: کارشناسان امنیت به جای امید بستن به ایمنی درونی مدل‌ها، محافظت از سیستم را به لایه‌های بیرونی و واسط‌های برنامه‌نویسی واگذار کرده‌اند.

اگر به یک عامل هوش مصنوعی صرفاً اجازه خواندن جدول مشخصی در پایگاه داده داده شود، تزریق موفق دستور به حذف داده‌ها منجر نخواهد شد؛ در این وضعیت مرز ایمنی از داخل مدل به زیرساخت جانبی منتقل شده است.

بازنگری در معماری مدل‌های پردازش زبان

حل بنیادین مسئله به یک بازنگری کامل در شیوه پردازش داده‌ها در هوش مصنوعی نیاز دارد؛ پژوهشگران در حال بررسی معماری‌های نوینی هستند که جریان فرامین را از جریان داده‌های متنی تفکیک کنند.

این طرح‌های آزمایشی می‌کوشند مرزهای معماری فون نویمان را در بستر شبکه‌های عصبی پیاده سازند تا دستورات سیستمی در مسیری اختصاصی و دست‌نخورده پردازش شوند که داده کاربر راهی به آن نداشته باشد.

تا زمانی که این فناوری‌ها به مرحله بلوغ تجاری برسند، صنایع ناچارند با یک واقعیت سخت کنار بیایند: نسل فعلی دیکودرهای ترنسفورمر برای پردازش توأم دستورات اجرایی در کنار متن‌های غیرقابل‌اعتماد ابزار مطمئنی نیستند.

در پیاده‌سازی هر عامل مستقل هوش مصنوعی باید فرض را بر این گذاشت که مدل دیر یا زود تسلیم فریب ورودی‌های خود خواهد شد؛ امنیت واقعی متکی بر دسترسی‌های محدودی است که به سامانه می‌دهیم، نه انتظاراتی که از فرمان‌پذیری مدل داریم.

این تحلیل چگونه انجام شد

روش
یکسان‌سازی سازوکارهای تفکیک دستور از داده در سه الگوی پردازشی (بخش‌بندی حافظه در معماری فون نویمان، پارامترسازی کوئری‌های SQL و پردازش دنباله توکن‌ها در ترنسفورمر) برای جداسازی و شناسایی خلاء مرزبندی ساختاری.
یافته
برخلاف معماری‌های سنتی که در آن‌ها مرزهای اجرایی به صورت قطعی در سطح سخت‌افزار یا مفسر اعمال می‌شوند، دیکودرهای ترنسفورمر همه ورودی‌ها را به عنوان یک توزیع احتمالاتی یکپارچه پردازش می‌کنند که این امر جداسازی قطعی دستورات از متن‌های غیرقابل‌اعتماد را بدون لایه‌های ساختاری بیرونی از نظر ریاضی غیرممکن می‌سازد.
داده‌هایی که بر پایهٔ آن‌ها کار کردیم
  • استاندارد ایزوله‌سازی صفحات حافظه با بیت NX در معماری x86: Hardware-level execution block — IEEE Xplore
  • ساختار ورودی دیکودر ترنسفورمر: 1D flat token array — OpenAI
محدودیت‌های این تحلیل
این تحلیل بر ساختار ریاضی بنیادین سازوکار توجه تمرکز دارد و نمی‌تواند دگرگونی‌های آتی معماری‌های هنوز معرفی‌نشده را که شاید مسیرهای کنترلی مجزا ایجاد کنند پیش‌بینی نماید.

اصطلاحات کلیدی

دیکودر ترنسفورمر
معماری یک شبکه عصبی که متن را با پیش‌بینی توکن بعدی بر پایه ارتباط ریاضی همه توکن‌های پیشین تولید می‌کند.
توکن
نمایش عددی کلمه یا بخشی از کلمه که مدل زبانی برای درک و پردازش متن به کار می‌برد.
تزریق پرامپت
شکاف امنیتی که طی آن کاربر متنی را ارسال می‌کند تا فرامین پیش‌فرض را دور زده و مدل را به اجرای خواسته‌های ناخواسته وادارد.
معماری فون نویمان
الگوی ساختار رایانه که داده‌ها و دستورات برنامه را در یک حافظه نگهداری می‌کند ولی با ابزارهای سخت‌افزاری اجرای آن‌ها را جدا می‌سازد.
کنترل خارج از باند
شیوه ارتباطی که برای هدایت سیستم از کانالی کاملاً مجزا و عاری از جریان داده‌های متنی استفاده می‌کند.

پرسش‌های متداول

آیا مشکل تزریق پرامپت با یک آپدیت نرم‌افزاری حل می‌شود؟

خیر. این مسئله ناشی از ساختار ریاضی مدل ترنسفورمر است که همه ورودی‌ها را در قالب یک دنباله واحد می‌بیند؛ بنابراین با وصله‌های سنتی نرم‌افزاری برطرف نمی‌شود.

چرا توسعه‌دهندگان دستورالعمل‌های سیستم را به سادگی پنهان نمی‌کنند؟

حتی اگر کاربر نتواند دستورات سیستمی را ببیند، مدل زبانی آن‌ها را در همان دنباله تخت همراه با ورودی کاربر می‌خواند. مهاجم می‌تواند فرم دستورات را حدس زده و متنی برای خنثی کردن آن‌ها طراحی کند.

آیا همه انواع هوش مصنوعی در برابر این نفوذ آسیب‌پذیرند؟

این ضعف مختص مدل‌هایی است که بر پایه معماری ترنسفورمر توسعه یافته‌اند؛ معماری حاکم بر اکثر مدل‌های بزرگ زبانی کنونی. سیستم‌های قدیمی‌تر با سازوکارهای متفاوتی متن را می‌خواندند.

بررسی عمیق دیدگاه‌ها

پژوهشگران ایمنی هوش مصنوعی

معتقدند نبود مرز معماری سخت‌افزاری باعث شده مدل‌های زبانی بزرگ برای ماموریت‌های بحرانی و اجرایی ذاتاً ناایمن باشند.

محققان ایمنی گوشزد می‌کنند که تزریق دستور یک نقص موقت نرم‌افزاری نیست، بلکه حاصل ساختار دیکودرهای ترنسفورمر است. چون شبکه عصبی همه کلمات را با وزن‌دهی یکسانی می‌سنجد، هیچ میزانی از آموزش رفتاری یا بازخورد انسانی نمی‌تواند تضمین دهد مدل در برابر ورودی‌های فریبکارانه همواره گوش‌به‌فرمان دستورات سیستم بماند. به باور آنان، مدل‌های زبانی را نباید مستقیماً به دسترسی‌های اجرایی حساس متصل کرد.

توسعه‌دهندگان تجاری هوش مصنوعی

تمرکز خود را بر مهار خطرات از طریق تنظیمات رفتاری و افزودن فیلترهای امنیتی خارجی گذاشته‌اند.

سازندگان مدل‌ها گرچه این مانع ساختاری را قبول دارند، ولی می‌گویند با روش‌های مهندسی می‌توان ریسک‌ها را تا حد قابل‌تحملی کنترل کرد. با آموزش مدل برای ارزش نهادن به توکن‌های ویژه سیستم و به کار بستن مدل‌های بررسی‌کننده ورودی، می‌توان شانس رخنه‌ها را تا حدی که مناسب کاربردهای تجاری باشد کم کرد. آنان ترجیح می‌دهند با محدودسازی دقیق دسترسی‌های API و مرزبندی‌های خارجی امنیت را تامین کنند نه اینکه از توسعه عامل‌های خودکار دست بکشند.

معماران سیستم‌های پردازشی

خواستار بازطراحی پایه‌ای معماری شبکه‌های عصبی برای ایجاد کانال‌های تفکیک‌شده کنترل داده هستند.

طراحان سخت‌افزار این دنباله خطی و فاقد مرز توکن‌ها را نقص طراحی می‌دانند که باید در سطح زیربنا چاره شود. آنان یادآوری می‌کنند در دهه‌های گذشته رایانه‌ها نیز با افزودن بخش‌بندی حافظه و بیت NX توانستند مرز میان کد و داده را تثبیت کنند. این گروه اکنون روی توپولوژی‌هایی کار می‌کنند که فرامین کنترلی سیستم را در مسیری جداگانه پردازش کنند تا هرگز با جریان نامطمئن متون کاربر برخورد نداشته باشد.

پژوهشگران ایمنی هوش مصنوعی 40%توسعه‌دهندگان تجاری هوش مصنوعی 35%معماران سیستم‌های پردازشی 25%
پژوهشگران ایمنی هوش مصنوعی
معتقدند نبود مرز معماری سخت‌افزاری باعث شده مدل‌های زبانی بزرگ برای ماموریت‌های بحرانی و اجرایی ذاتاً ناایمن باشند.
توسعه‌دهندگان تجاری هوش مصنوعی
تمرکز خود را بر مهار خطرات از طریق تنظیمات رفتاری و افزودن فیلترهای امنیتی خارجی گذاشته‌اند.
معماران سیستم‌های پردازشی
خواستار بازطراحی پایه‌ای معماری شبکه‌های عصبی برای ایجاد کانال‌های تفکیک‌شده کنترل داده هستند.

دیدگاه‌هایی که این گزارش پوشش نداده

  • مدیران فناوری اطلاعات در سازمان‌ها
  • ارائه‌دهندگان بیمه امنیت سایبری

منابع

پوشش منابع

3 منبع

3 دیدگاه شناسایی‌شده

پژوهشگران ایمنی هوش مصنوعی 40%توسعه‌دهندگان تجاری هوش مصنوعی 35%معماران سیستم‌های پردازشی 25%
  1. [1]تیم سردبیری کوهستان

    تحلیل تیم سردبیری کوهستان

    مطالعه در تیم سردبیری کوهستان →
  2. [2]IEEE Xploreمعماران سیستم‌های پردازشی

    The NX Bit and Memory Isolation: A Retrospective

    مطالعه در IEEE Xplore →
  3. [3]OpenAIتوسعه‌دهندگان تجاری هوش مصنوعی

    GPT-4 Technical Report

    مطالعه در OpenAI →

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

اخبار فناوری با پوشش کامل منابع و تحلیل دیدگاه‌ها، هر روز و رایگان.