در روش جدید «کشف آسیبپذیری مبتنی بر گاردریل» (Guardrail-based Vulnerability Discovery یا GbVD)، محدودیتهایی (Guardrails) که برای جلوگیری از کمک مدلهای هوش مصنوعی به مهاجمان طراحی شدهاند، میتوانند به سیگنالهایی برای مدافعان تبدیل شوند که نشاندهنده وجود مشکلات امنیتی هستند.
تجربه عملی CrowdStrike در شناسایی باگهای منطقی
محققان CrowdStrike در یک آزمایش، از یک مدل هوش مصنوعی پیشرو (Frontier AI Model) خواستند تا عملکرد یک تابع در یک وبسرور کوچک نوشته شده با زبان C را توضیح دهد. در حالی که مدل تمام توابع دیگر کد را بدون مشکل توضیح داده بود، از توضیح این تابع خاص خودداری کرد.
درخواست بسیار ساده بود و هیچ اشارهای به امنیت، اکسپلویت (Exploit) یا آسیبپذیری نشده بود. اما یک تغییر بسیار کوچک در کد (جایگزینی مقدار max با min) باعث ایجاد یک باگ منطقی شده بود که منجر به نوشتن خارج از محدوده (Out-of-bounds write) میشد. این نوع باگها معمولاً از دید بررسیهای کد (Code Review) و اسکنرهای سنتی عبور میکنند.
مدل هوش مصنوعی مستقیماً نگفت که آسیبپذیری وجود دارد، اما «امتناع» (Refusal) آن از توضیح تابع، دقیقاً نقطهای را که باید برای یافتن باگ بررسی شود، مشخص کرد. در واقع، گاردریلهای امنیتی مدل، خود به یک نشانه (Giveaway) تبدیل شدند.
متدولوژی GbVD و استفاده از کانالهای جانبی
رویکرد GbVD بر این اصل استوار است که امتناع مدل، یک بنبست نیست، بلکه یک یافته (Finding) است. این روش در تستهای کنترلشده بر روی پنج کلاس مختلف آسیبپذیری، در ۷۳ مورد از ۸۶ سناریوی تست موفق عمل کرده است. این متدولوژی از چندین روش برای استخراج سیگنال استفاده میکند:
- روش دو نیم کردن (Bisection): تقسیم کد یا فایلسیستم به دو نیمه و پرسش از مدل درباره هر نیمه تا زمانی که گاردریل فعال شود.
- تحلیل تغییرات پاسخ: بررسی تغییر در محتوا، زمان پاسخدهی (Timing)، تعداد توکنها (Token Count) یا ساختار پاسخ.
- کانالهای جانبی (Side Channels): استفاده از اطلاعاتی مانند کاهش ناگهانی دقت پاسخ یا قطع شدن فراخوانی ابزارها (Tool-calls).
مطالعات موردی: از حافظه تا سطح دسترسی
این تحقیق دو مورد اصلی را بررسی کرده است:
- خطای امنیت حافظه: در پروژه tinyhttp، با تغییر یک کاراکتر در محاسبات اندازه دادهها، یک باگ نوشتن خارج از محدوده ایجاد شد که باعث فعال شدن گاردریل مدل شد.
- تنظیمات اشتباه SUID: در یک آزمایش مربوط به سیستمعامل، یک فایل با تنظیمات اشتباه SUID-root که امکان ارتقاء سطح دسترسی (Privilege Escalation) را فراهم میکرد، در سیستم قرار داده شد. وقتی تحلیل هوش مصنوعی به این فایل رسید، فرآیند استدلال (Reasoning) مدل متوقف شد که این خود نشانهای از وجود یک پیکربندی خطرناک بود.
در نهایت، این تحقیق نشان میدهد که با استفاده از یک سیستم مدیریت (Harness) مناسب، میتوان محدودیتهای مدلهای زبانی بزرگ (LLM) را به یک ابزار تشخیص آسیبپذیری ارزان و کارآمد تبدیل کرد.