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

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



