کد مخرب در rest-client و 10 بسته دیگر Ruby شناسایی شد
در بسته بندی گوهر محبوب استراحت مشتریبا مجموع 113 میلیون دانلود، شناخته شده است جایگزینی کدهای مخرب (CVE-2019-15224) که دستورات اجرایی را دانلود می کند و اطلاعات را به یک میزبان خارجی ارسال می کند. این حمله از طریق انجام شد به خطر افتادن حساب توسعه دهنده rest-client در مخزن rubygems.org، پس از آن مهاجمان نسخه های 13-14 را در 1.6.10 و 1.6.13 آگوست منتشر کردند که شامل تغییرات مخرب بود. قبل از مسدود شدن نسخههای مخرب، حدود هزار کاربر موفق به دانلود آنها شدند (هکرها بهروزرسانیهای نسخههای قدیمیتر را برای جلب توجه نکردن منتشر کردند).
تغییر مخرب روش "#authenticate" را در کلاس لغو می کند
هویت، که پس از آن هر فراخوانی متد منجر به ارسال ایمیل و رمز عبور ارسال شده در طول تلاش برای احراز هویت به میزبان مهاجمان می شود. به این ترتیب، پارامترهای ورود به سیستم کاربران سرویس با استفاده از کلاس Identity و نصب نسخه آسیبپذیر کتابخانه rest-client رهگیری میشوند که ویژه به عنوان یک وابستگی در بسیاری از بسته های محبوب روبی، از جمله ast (64 میلیون دانلود)، oauth (32 میلیون)، fastlane (18 میلیون)، و kubeclient (3.7 میلیون).
علاوه بر این، یک درب پشتی به کد اضافه شده است که امکان اجرای کد Ruby دلخواه را از طریق تابع eval می دهد. کد از طریق یک کوکی تایید شده توسط کلید مهاجم منتقل می شود. برای اطلاع رسانی به مهاجمان در مورد نصب یک بسته مخرب بر روی یک میزبان خارجی، URL سیستم قربانی و مجموعه ای از اطلاعات مربوط به محیط، مانند رمزهای عبور ذخیره شده برای DBMS و سرویس های ابری ارسال می شود. تلاشها برای دانلود اسکریپتهای استخراج ارز دیجیتال با استفاده از کد مخرب فوقالذکر ثبت شد.
پس از مطالعه کد مخرب آن بود آشکار کردکه تغییرات مشابهی در آن وجود دارد 10 بسته در Ruby Gems، که دستگیر نشدند، اما به طور ویژه توسط مهاجمان بر اساس کتابخانه های محبوب دیگر با نام های مشابه، که در آن خط تیره با یک زیرخط یا برعکس (به عنوان مثال، بر اساس کرون تجزیه کننده یک بسته مخرب cron_parser ایجاد شد و بر اساس doge_coin بسته مخرب doge-coin). بسته های مشکل: