کاهش سطح حمله در کدهای بزرگ با استفاده از هوش مصنوعی Claude — Using Claude to reduce the attack surface of code
خلاصه
شرکت Anthropic در پژوهشی بررسی کرده است که چگونه میتوان با استفاده از مدل هوش مصنوعی Claude، سطح حمله کدهای نرمافزاری را کاهش داد. این روش به جای یافتن تکتک آسیبپذیریها، دسترسی به کدهای ناخواسته و خطرناک را محدود میکند تا سیستمها در برابر خطاهای ناشناخته ایمنتر شوند.
بررسی و کاهش سطح حمله یکی از راهبردهای کلیدی در امنیت نرمافزار است. برخلاف روشهای سنتی که تمرکز خود را روی یافتن و اصلاح آسیبپذیریهای منفرد میگذارند، رویکرد جدید بر این فرض است که کدهای ناشناخته یا ناخواسته را میتوان با محدود کردن دسترسی و مسدود کردن مسیرهای اجرایی بیدلیل کمخطرتر کرد. در این پژوهش، شرکت Anthropic مدل Claude را روی ۲۵ پروژه متنباز بزرگ با بیش از ۵ میلیون خط کد پیادهسازی کرده است تا کارایی آن را در شناسایی سطوح حمله ناخواسته بسنجد.
زمینه و مفاهیم اولیه
نرمافزارها با گذشت زمان، اضافه شدن لایههای انتزاعی و وابستگیهای پیچیده، دچار انباشتگی ویژگیها میشوند. این پدیده باعث میشود رفتار واقعی کد با طراحی اولیه توسعهدهندگان تفاوت پیدا کند. مهاجمان نیز دقیقاً از همین شکافها سوءاستفاده میکنند. هدف از کاهش خودکار سطح حمله (Attack Surface Reduction)، شناسایی بخشهایی از کد است که نباید در حالت عادی در دسترس باشند و انتقال آنها به پشت لایههای حفاظتی مناسب (مانند پس از احراز هویت یا نیازمند تعامل صریح کاربر).
در این تحقیق، سه روش اصلی برای تحلیل بررسی شد:
- پیکربندی پیشفرض (Default configuration): شناسایی کدهایی که در حالت پیشفرض قابل دسترسی هستند اما استفادهای ندارند.
- تداخل پیکربندی (Configuration interaction): بررسی ترکیب تنظیماتی که به تنهایی معتبرند اما در کنار هم مکانیزمهای امنیتی را غیرفعال میکنند.
- دسترسی زودهنگام (Early reachability): کدهایی که پیش از انجام کنترلهای امنیتی مهم مانند احراز هویت اجرا میشوند.
یافتههای کلیدی Claude
مدل Claude توانست ۴۹۳ مسئله مختلف را در ۲۵ پروژه بررسیشده کشف کند. نتایج نشان داد که حتی در پروژههای اصطلاحاً Gated (دارای سیستم احراز هویت)، کدهایی وجود دارند که پیش از مرحله احراز هویت به طور ناخواسته قابل دسترسی هستند.
بسیاری از جذابترین یافتهها مربوط به تداخل پیکربندیها بود. در موارد متعددی، ترکیب دو گزینه پیکربندی بدون هیچگونه هشدار یا خطایی باعث از کار افتادن یک ویژگی امنیتی میشد. برای نمونه، در برخی نرمافزارها قوانین مسدودسازی براساس نام میزبان (Hostname) نوشته شده بود اما چون جستجوی معکوس DNS غیرفعال بود، سرور تنها آدرس IP را بررسی میکرد و در نتیجه قانون اعمال نمیشد و سیستم اصطلاحاً به حالت fail open میرفت.
مطالعه موردی: OpenSSH
یکی از جالبترین بخشهای این پژوهش، بررسی پروژه OpenSSH بود. مدل Claude توانست نزدیک به ۴۵۰۰ خط کد مربوط به الگوریتم امضای پساکوانتومی ML-DSA-44 را در نسخه ۱۰.۴ ردیابی کند که یک کلاینت احرازنشده میتوانست در پیکربندی پیشفرض به آن دسترسی داشته باشد؛ حتی زمانی که مدیر سیستم صراحتاً آن را غیرفعال کرده بود. این کدها حدود ۱۶ درصد از کل کدهای پیش از احراز هویت در sshd پیشفرض را تشکیل میدادند. این مسئله پس از گزارش به توسعهدهندگان OpenSSH در نسخه ۱۰.۵ اصلاح شد، هرچند بررسیهای بعدی مدل نشان داد که همچنان نکات ظریفی در پردازش گواهیها وجود دارد که نیاز به اصلاح داشته است.
دیدگاه جامعه توسعهدهندگان (Hacker News)
در بحثهای پیرامون این گزارش در هکرنیوز، برخی برنامهنویسان به چالشهای عملی استفاده از ابزارهای هوش مصنوعی اشاره کردهاند. از جمله اینکه گاهی فرآیند رفع باگهای گزارششده توسط مدلها نیازمند تعاملات پیچیدهای است تا مطمئن شویم ابزار خود دچار خطای اعتبارسنجی نشده است، در حالی که مهاجمان نیز بهطور موازی از مدلهای مختلف برای مقاصد خود بهره میبرند.
چرا این موضوع برای مهندسان اهمیت دارد؟
تمرکز صرف بر پچ کردن آسیبپذیریهای شناختهشده مقیاسپذیر نیست، زیرا همیشه باگهای جدیدی باقی میمانند. رویکرد کاهش سطح حمله با ابزارهای هوش مصنوعی نشان میدهد که میتوان پیش از کشف اکسپلویتها، کدهای ناخواسته را ایزوله کرد و سطح دسترسی مهاجم را به شدت کاهش داد.
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل