شرکت ReversingLabs опубликовала نتایج تحلیل برنامه حروفچینی در مخزن RubyGems. به طور معمول، typosquatting برای توزیع بستههای مخربی استفاده میشود که باعث میشود یک توسعهدهنده بیتوجه اشتباه تایپی کند یا هنگام جستجو متوجه تفاوت نشود. این مطالعه بیش از 700 بسته را با نامهایی مشابه بستههای رایج اما در جزئیات جزئی متفاوت، مانند جایگزینی حروف مشابه یا استفاده از زیرخط به جای خط تیره، شناسایی کرد.
اجزای مظنون به انجام فعالیت های مخرب در بیش از 400 بسته پیدا شد. به طور خاص، فایل داخل aaa.png بود که شامل کدهای اجرایی با فرمت PE بود. این بسته ها با دو حساب مرتبط بودند که RubyGems از 16 فوریه تا 25 فوریه 2020 از طریق آنها پست شد. 724 بسته مخربکه در مجموع حدود 95 هزار بار دانلود شده است. محققان به مدیریت RubyGems اطلاع دادند و بسته های مخرب شناسایی شده قبلاً از مخزن حذف شده اند.
از بسته های مشکل ساز شناسایی شده، محبوب ترین آنها "atlas-client" بود که در نگاه اول عملاً از بسته قانونی قابل تشخیص نیست.atlas_client". بسته مشخص شده 2100 بار دانلود شده است (بسته معمولی 6496 بار دانلود شده است، یعنی کاربران تقریباً در 25٪ موارد اشتباه کرده اند). بستههای باقیمانده بهطور متوسط 100-150 بار دانلود شدند و با استفاده از تکنیک مشابه جایگزین کردن زیرخط و خط تیره (به عنوان مثال، در میان بستههای دیگر) استتار شدند. بسته های مخرب: appium-lib، action-mailer_cache_delivery، activemodel_validators، asciidoctor_bibliography، assets-pipeline، apress_validators، ar_octopus-replication-tracking، aliyun-open_search، aliyun-mns، ab_split، apns-polite).
بسته های مخرب شامل یک فایل PNG بود که به جای تصویر حاوی یک فایل اجرایی برای پلتفرم ویندوز بود. این فایل با استفاده از ابزار Ocra Ruby2Exe ایجاد شد و شامل یک آرشیو خود استخراج با یک اسکریپت Ruby و مترجم روبی بود. هنگام نصب بسته، فایل png به exe تغییر نام داد و راه اندازی شد. در حین اجرا، یک فایل VBScript ایجاد شد و به autorun اضافه شد. VBScript مخرب مشخص شده در یک حلقه محتویات کلیپ بورد را برای وجود اطلاعاتی که یادآور آدرس های کیف پول رمزنگاری است تجزیه و تحلیل می کند و در صورت شناسایی، شماره کیف پول را جایگزین می کند با این انتظار که کاربر متوجه تفاوت ها نشود و وجه را به کیف پول اشتباه منتقل کند. .
این مطالعه نشان داد که افزودن بستههای مخرب به یکی از محبوبترین مخازن کار دشواری نیست و این بستهها میتوانند با وجود تعداد قابل توجهی دانلود، شناسایی نشده باقی بمانند. لازم به ذکر است که مشکل هیچخاصبرای RubyGems و سایر مخازن محبوب را پوشش می دهد. مثلا پارسال همین محققین آشکار کرد در مخزن NPM یک بسته مخرب به نام bb-builder وجود دارد که از تکنیک مشابهی برای راه اندازی یک فایل اجرایی برای سرقت رمزهای عبور استفاده می کند. قبل از این یک درب پشتی وجود داشت پیدا شد بسته به بسته NPM جریان رویداد، کد مخرب حدود 8 میلیون بار دانلود شده است. بسته های مخرب نیز به صورت دوره ایپاپ آپ در مخزن PyPI