شناسایی دستکاری وزنهای مدل در حافظه GPU: بررسی حملات ROME و امنیت زمان اجرا — Detecting model weight tampering in GPU memory (Rome attacks)
خلاصه
حملات ROME امکان تغییر مخفیانه وزنهای مدل هوش مصنوعی را مستقیماً در حافظه GPU فراهم میکنند بدون اینکه فایلی روی دیسک تغییر کند. ابزارهای امنیتی سنتی قادر به تشخیص این حملات نیستند، اما ابزارهای مدرن با رصد هستههای CUDA و پشته فراخوانی پایتون میتوانند این دستکاریها را ردیابی کنند.
برنامههای هوش مصنوعی امروزی معمولاً روی مفسرهای Python اجرا میشوند و کتابخانههایی مانند PyTorch، فریمورکهای سِرو مانند vLLM، یا ابزارهای تصویری مانند ComfyUI را به کار میگیرند. انعطافپذیری پایتون به این معناست که کدها میتوانند از راههای مختلفی مانند فایلهای مدل (Unpickling)، اسکریپتهای راهاندازی یا بستههای مخرب وارد محیط شوند و بدون دانش توسعهدهنده اجرا گردند. حملات ROME مخربترین نمونه از این آسیبپذیریها هستند.
حملات ROME چیست و چرا پنهان میمانند؟
حملات Rank-One Model Editing یا همان ROME به مهاجم اجازه میدهند تا تغییرات کوچک و هدفمندی را روی ماتریس وزنها در لایههای میانی مدل اعمال کند. این تکنیک که پایهگذار حملاتی مانند PoisonGPT بوده است، رفتار مدل را به شدت تغییر میدهد بدون آنکه حتی یک بایت روی دیسک جابهجا شود.
ویژگیهای اصلی این حملات عبارتند از:
- عدم تغییر در فایلهای روی دیسک یا Checkpoint مدل.
- عدم نیاز به ایجاد فرآیند (Process) جدید یا باز کردن سوکت شبکه.
- اجرای عملیات مستقیماً در حافظه GPU از طریق درخواستهای استاندارد CUDA.
از دیدگاه ابزارهای سنتی نظارت بر میزبان (Host EDR) یا ابزارهای پایش اپلیکیشن، کل فرآیند صرفاً یک اجرای عادی پایتون است که در حال انجام وظایف معمول خود به نظر میرسد.
نحوه شناسایی در سطح رانتایم
ابزارهای امنیتی نوظهور مانند Stealthium برای حل این مشکل، نظارت را فراتر از فرآیندهای میزبان برده و فعالیتهای سیستمعامل، کانتینرها، زمانبندی CUDA و پشته فراخوانی پایتون را به یکدیگر متصل میکنند.
هنگامی که یک حمله ROME اتفاق میافتد، حسگرهای رانتایم میتوانند الگوهای زیر را ردیابی کنند:
- ثبت سنجههای بارگذاری کتابخانه و راهاندازی هستههای CUDA همراه با Stack پایتون فراخواننده.
- شناسایی توالیهای غیرعادی از هستهها که در یک اجرای سالم مدل دیده نمیشوند.
- ردیابی دستورات حل معادلات خطی و بازنویسی حافظه درونی توسط کدهای کالیبراسیون مشکوک.
نگاهی به آینده: ردیابی تغییرات وزن
بررسی صرفِ درخواستهای CUDA برای تشخیص اینکه کدام وزن تغییر کرده کافی نیست؛ زیرا یک هسته ممکن است همزمان کارهای مختلفی انجام دهد. پژوهشهای جدید روی ردیابی سطح فریمورک (مانند PyTorch) تمرکز دارند تا هرگونه تغییر در مقادیر تانسورها (Tensor Write) را مستقیماً به کد پایتون و مسیر فراخوانی آن مرتبط سازند. این رویکرد به تیمهای امنیتی اجازه میدهد متوجه شوند دقیقاً کدام تابع و خط از کد باعث تغییر وزنهای مدل شده است.
دیدگاه جامعه برنامهنویسان در Hacker News
برخی از توسعهدهندگان در بحثهای هکرنیوز اشاره کردهاند که مکانیسمهای تغییر وزن مدل لزوماً نباید صرفاً ابزار تهاجمی باشند، بلکه در آینده ممکن است از تکنیکهای مشابه برای یادگیری مداوم و بهبود درک مدلهای بزرگ زبانی (LLM) توسط خودشان استفاده شود؛ هرچند این موضوع چالشهای امنیتی جدی به همراه دارد.
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل