با ظهور مدلهای زبانی بزرگ (LLM) که قادر به تحلیل باینریهای نرمافزارهای تجاری و بازسازی عملکرد آنها هستند، نیاز به روشهای دفاعی جدید بیش از پیش احساس میشود. در همین راستا، پروژه Blind LLM Agents (BLA) با هدف دشوار کردن فرآیند مهندسی معکوس (Reverse Engineering) توسط عاملهای هوش مصنوعی توسعه یافته است.
برخلاف روشهای سنتی ابهامسازی (Obfuscation) که عمدتاً برای مقابله با انسانها و ابزارهای استاتیک طراحی شده بودند، عاملهای هوش مصنوعی با استفاده از استدلال معنایی قادرند کدهای پیچیده را در زمان کوتاهی تحلیل کنند. پروژه BLA به عنوان یک لایه حفاظتی برای این مدل تهدید جدید عمل میکند.
مکانیزمهای حفاظتی BLA
این پروژه مستقیماً کد اپلیکیشن را بازنویسی نمیکند، بلکه بر روی سختسازی (Hardening) کدهای موجود تمرکز دارد. فرآیند تبدیل در این پروژه شامل موارد زیر است:
- تغییر نام متغیرها و توابع (Renaming)
- جداسازی مسیرها (Lane Splitting)
- رمزنگاری رشتهها بر پایه Seed (Seed-derived string encryption)
- چندریختی در زمان ساخت (Build Polymorphism)
- استفاده از کدهای فریبنده (Decoys)
- بررسی یکپارچگی خودکار (Self-seal integrity checks)
هدف اصلی این ابزار، غیرقابل نفوذ کردن نرمافزار نیست، بلکه افزایش چشمگیر هزینه و زمان مورد نیاز برای بازیابی و تحلیل کد توسط عاملهای هوش مصنوعی است. آزمایشها نشان داده است که این روش در برابر چارچوبهایی مانند Reverse Engineer Anything (REA) که از هوش مصنوعی برای مهندسی معکوس استفاده میکنند، کارایی دارد.
در حالی که این ابزار ممکن است در برابر ابزارهای سنتی مهندسی معکوس تعاملی مانند Ghidra یا Frida مقاومت کامل نداشته باشد، اما یک گام مهم در جهت مقابله با تهدیدات ناشی از تحلیل خودکار توسط مدلهای هوش مصنوعی محسوب میشود.