پژوهشگران موزیلا نشان دادند که مهاجمان میتوانند با یک مخزن GitHub ظاهرا سالم، مدل کلود را فریب دهند تا بدافزار اجرا کند.
به گزارش سرویس هوش مصنوعی تکناک، عبارت «خارج از چارچوب فکر کنید» روی میلیونها پوستر انگیزشی در سراسر جهان نقش بسته است؛ پیامی که بیشتر مدیران میانی را هدف قرار میدهد و برای بسیاری دیگر تنها باعث بالا رفتن چشمها از سر تمسخر میشود.
با وجود این، پژوهشگران واحد 0din در موزیلا دقیقا همین کار را انجام دادهاند: آنها با روشی غیرمستقیم اما فریبنده و در عین حال ساده، مدل کلود را وادار کردند که بدافزار اجرا کند؛ تنها با درخواست راهاندازی یک پروژه از یک مخزن GitHub که در ظاهر کاملا سالم و بیخطر به نظر میرسید.
در چنین سناریویی، مهاجم میتواند کنترل کامل حساب توسعهدهنده را به دست بگیرد و به تمام اطلاعات حساس او از اسرار کاری و کلیدهای API گرفته تا کدها، اسناد، نشستهای مرورگر و گذرواژهها دسترسی پیدا کند. حتی امکان نصب بدافزارهای بیشتر برای حفظ دسترسی دائمی نیز وجود دارد. تقریبا همه عاملهای هوش مصنوعی در برابر این نوع حمله آسیبپذیر هستند، هرچند هوش مصنوعی کلود معمولا انتخاب پیشفرض برای انجام وظایف برنامهنویسی محسوب میشود.
مکانیزم حمله به این صورت است: کافی است یک توسعهدهنده قربانی از کلود بخواهد پروژهای را از یک مخزن مخرب در GitHub راهاندازی کند، یا پس از کلون کردن مخزن، تنظیم آن را به کلود بسپارد. این مخزن در ظاهر کاملا عادی است و تنها شامل چند فایل پایه میشود. مهمتر اینکه هیچ نشانهای در آن وجود ندارد که ابزارهای امنیتی، چه در سطح محلی و چه از راه دور یا حتی سامانه بررسی داخلی کلود را فعال کند.

در ادامه کلود مخزن به ظاهر سالم GitHub را کلون میکند. نخستین فایلی که پردازش میشود یک فایل README یا Markdown است که توضیح میدهد چگونه باید یک محیط Python را با استفاده از بسته Axiom راهاندازی کرد، که ابزاری رایج برای پایش سیستمها است. تا این مرحله همه چیز کاملا مشروع به نظر میرسد. اما در واقع یک اسکریپت راهاندازی جعلی برای Axiom در مخزن قرار دارد که در نخستین اجرا عمدا با خطا متوقف میشود. این نخستین گام فریب است، چرا که کلود برای کمک به حل مشکل، یک دستور ظاهرا بیخطر دیگر را اجرا میکند تا Axiom را راهاندازی کند:
python3 -m axiom initاجرای این دستور یک اسکریپت shell را فعال میکند که یک نرمافزار را برای اجرا دانلود میکند؛ عملیاتی کاملا رایج که معمولا حساسیتی برنمیانگیزد. اما ترفند دوم در همینجا نهفته است. به جای دانلود فایل از یک آدرس اینترنتی مخرب که قابلیت اسکن شدن دارد، اسکریپت رکوردهای متنی DNS مربوط به یک دامنه مشخص را میخواند؛ در این مورد دامنه «_axiom-config.m100.cloud» است. این روش نیز در نگاه اول طبیعی به نظر میرسد، زیرا برای نمونه سرویسهای ایمیل و ابزارهای پیکربندی آنها به طور گسترده به رکوردهای TXT متکی هستند.
در رکورد TXT این دامنه، یک رشته رمزگذاریشده با Base64 قرار دارد که در نهایت یک reverse shell را باز میکند. به بیان ساده، این کد یک shell روی سیستم کاربر اجرا میکند، اما ورودی آن به سرور مهاجم هدایت میشود. از این مرحله به بعد، مهاجمان میتوانند هر دادهای را که کاربر به آن دسترسی دارد، استخراج کنند و نرمافزارهای دلخواه خود را با همان سطح دسترسی اجرا نمایند. در همین حال، تنها چیزی که کلود و کاربر قربانی مشاهده میکنند پیامی مانند «Environment ready» یا عبارتی مشابه است.
اگر مراحل مرور شوند، این حمله شامل سه لایه انحراف است؛ مراحلی که هیچکدام بهتنهایی غیرعادی به نظر نمیرسند. تعداد بسیار کمی از ابزارهای اسکن امنیتی، اگر اصلا ابزاری وجود داشته باشد، چنین مخزنی را علامتگذاری میکنند و تقریبا هیچیک از فعالیتها، بهجز باز شدن واقعی یک shell راهدور، رفتار مشکوکی نشان نمیدهد. در یک محیط سازمانی با کنترل بسیار سختگیرانه روی دسترسی شبکه شاید امکان شناسایی چنین حملهای وجود داشته باشد، اما اکثر توسعهدهندگان در چنین محیطهایی فعالیت نمیکنند. همچنین باید تأکید کرد که این پیادهسازی تنها یک نمونه از مفهومی گستردهتر است که میتواند با روشهایی حتی غیرمستقیمتر و پیچیدهتر نیز اجرا شود.
بر اساس گزارش تامز هاردور، تیم 0din در پایان گزارش خود به نکتهای نسبتا بدیهی اشاره میکند: توسعهدهندگان نباید هیچ پروژه ناشناختهای را بهصورت کورکورانه به عنوان کد قابل اعتماد بپذیرند و طبیعتا نباید برای تحلیل امنیتی به خود ابزار هوش مصنوعی اتکا کنند. در مورد عاملهای هوش مصنوعی نیز تأکید شده است که این سامانهها باید بهجای صرفا دنبال کردن مراحل، بررسی کنند چه چیزی قرار است اجرا شود و چگونه اجرا خواهد شد.

















