هوش مصنوعی کلاد ۴۹۳ موفق به شناسایی ۴۹۳ آسیبپذیری امنیتی در پروژههای متنباز شد

آنتروپیک در گزارشی به بررسی ۲۵ پروژه متنباز پرداخته و مدل هوش مصنوعی کلاد توانسته است ۴۹۳ مشکل مرتبط با آسیبپذیریهای نرمافزاری را شناسایی کند. یکی از یافتههای حائز اهمیت این تحقیق به اوپناساساچ (OpenSSH) مرتبط میشود، جایی که تقریبا ۴۵۰۰ خط کد آزمایششدهی مرتبط با رمزنگاری پساکوانتومی حتی در شرایطی که ویژگی مربوطه غیرفعال بود و نیازی به ورود سیستم نبود، همچنان در دسترس مهاجمان قرار داشت. این ایراد در نسخهی ۱۰٫۶ اوپناساساچ اصلاح گردید.
در مطالعهای که به تازگی از سوی آنتروپیک منتشر شد، کلاد به بررسی بیش از پنج میلیون خط کد در ۲۵ پروژه متنباز پرداخته است. این پروژهها با استفاده از زبانهای مختلفی چون سی، سیپلاسپلاس، جاوا، پیاچپی و پایتون توسعه یافته بودند. علاوه بر شناسایی مشکلات، کلاد بیش از ۱۷ هزار گزینه تنظیمات مختلف را نیز بررسی کرد که ۳۸۴۲ مورد از آنها به قابلیتها یا تنظیمات امنیتی مربوط میشدند.
کلاد موفق به شناسایی ۴۹۳ مشکل امنیتی در ۲۵ پروژه متنباز گردید؛ از جمله کدهایی که با غیرفعال شدن توسط مدیران سیستم همچنان برای مهاجمان قابل دسترسی بودند.
هدف این تحقیقات تنها یافتن آسیبهای شناختهشده نبود؛ آنتروپیک قصد داشت بررسی کند که کدام بخشهای نرمافزار بدون نیاز واقعی، هنوز در معرض دسترسی مهاجمان قرار دارند. این رویکرد تحت عنوان «کاهش سطح حمله» شناخته میشود و هدف آن محدود کردن امکانهای دسترسی به کدهای حساس است که از سوی مهاجمان میتواند مورد استفاده قرار گیرد.
به عنوان مثال، ممکن است یک مدیر سرور یک ویژگی را غیرفعال کند، ولی کدهای مربوط به آن همچنان میتوانند ورودیهای وابسته به مهاجمان را پردازش کنند. چنین وضعیتی میتواند خطر امنیتی را رغم بزند، حتی اگر آن قابلیت در تنظیمات غیر فعال شده باشد. همچنین کلاد انواع پیکربندیهای ترکیبی را شناسایی کرد که به طور منفرد از منطق خاصی پیروی میکردند، اما در مجموع به طور بیصدا برخی لایههای حفاظتی را غیرفعال میکردند.
به طور کلی، آنتروپیک ۱۶۲ ترکیب حساس از تنظیمات را شناسایی کرد که نرمافزارها آنها را بدون ارائه هر گونه هشدار یا توضیح مستند در مورد رفتارشان میپذیرفتند. در ۹۴ مورد، این ترکیبها به طور غیر ارادی یکی از لایههای امنیتی را غیرفعال کرده بودند. با این وجود، آنتروپیک بر این نکته تأکید میکند که تمامی ۴۹۳ مورد الزاما به عنوان آسیبپذیریهای قابلسوءاستفاده محسوب نمیشوند؛ بسیاری از آنها صرفاً مسیرهای غیرضروری برای دستیابی به کدها بودند که میتوانند خطر آسیبپذیریهای ناشناخته را تشدید کنند.
مثال بارز این تحقیق به اوپناساساچ مربوط میشود؛ مجموعهنرمافزاری مهمی که برای اتصال امن به کامپیوترها و سرورها از راه دور استفاده میشود. در نسخهی ۱۰٫۴ این نرمافزار، کلاد متوجه شد که تقریباً ۴۵۰۰ خط کد مرتبط با الگوریتم امضای دیجیتال ML-DSA-44، حتی قبل از تأیید هویت کاربر، قابل دسترسی است. این کد در ارتباط با رمزنگاری پساکوانتومی است که برای مقابله با تهدیدات رایانههای کوانتومی علیه روشهای رمزنگاری مرسوم توسعه یافته است.
مشکل از این قرار بود که اوپناساساچ ابتدا کلید ارسالی از سوی کلاینت را پردازش میکرد و در برخی مسیریابیها، گواهی امضاء را نیز ارزیابی میکرد؛ بعد از آن به بررسی تنظیمات مجاز بودن الگوریتم میپرداخت. بنابراین، مهاجمان میتوانستند قبل از ورود به سیستم به بخشهایی از کد دسترسی پیدا کنند که مدیر سرور فکر میکرد با غیرفعال کردن الگوریتم، آن را غیرقابل دسترس کرده است.
آنتروپیک این یافتهها را به توسعهدهندگان اوپناساساچ گزارش کرده و پیشنهاداتی برای اصلاح ناامنی ارائه کرد. در نسخهی ۱۰٫۵، برخی از مراحل بررسی امنیتی به مراحل ابتداییتر منتقل شد، اما کلاد دو ایراد دیگر در این اصلاح شناسایی کرد. در یکی از موارد، نام الگوریتمی که توسط کلاینت اعلام میشد ممکن بود با نوع واقعی کلید ارسالی تفاوت داشته باشد. در مسئلهی دیگر، پردازش کلید مرجع گواهی دیجیتال همچنان قبل از بررسی محدودیتهای پیکربندی انجام میشد.
نقص امنیتی در اوپناساساچ نشان داد که غیرفعالسازی یک ویژگی لزوماً به معنای خارجشدن کد آن از دسترس مهاجمان نیست.
توسعهدهندگان بهدنبال همکاری با پژوهشگران آنتروپیک، اقدامات اصلاحی دیگری را انجام دادند. در نسخهی ۱۰٫۶، نوع واقعی کلید و الگوریتم گواهی پیش از پردازش کامل و ارزیابی رمزنگاری با فهرست مجاز الگوریتمها مقایسه شدند. به گفتهی ارزیابی آنتروپیک، این تغییر تقریباً یکپنجم از کدی را که در پیکربندی پیشفرض اوپناساساچ پیش از ورود کاربر به دسترس کلاینتهای ناشناس بود، غیرقابل دسترس کرد.
این تحقیق نشان میدهد که هوش مصنوعی میتواند به شکل گستردهتری در بررسی ساختار نرمافزار و محدود کردن دسترسیهای غیرضروری موثر باشد. البته این روش جایگزین نظارت انسانی، آزمایشهای امنیتی یا تعمیر آسیبپذیریهای موجود نیست؛ محدود کردن دسترسی به بخشی از کد بهطور خودکار نقصهای موجود در آن را از بین نمیبرد، اما میتواند شانس سوءاستفاده از آنها را کاهش دهد.
آنتروپیک اعلام کرده است که روشهای بهکاررفته در این پژوهش را به صورت مهارتی قابلاستفاده مجدد برای کلاد توسعه خواهد داد و در حال بررسی ادغام آن با ابزار OSS-Scanner است. هدف نهایی این است که به توسعهدهندگان کمک شود تا مسیرهای غیرضروری دسترسی به کدهای حساس را شناسایی و محدود کنند، پیش از آنکه مهاجمان از نقصهای احتمالی آنها سوءاستفاده نمایند.



