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