پژوهشگران امنیت سایبری ۱۸ بسته مخرب در رجیستری npm شناسایی کرده‌اند که ابزارهای توسعهٔ گروه علی‌بابا را هدف قرار می‌دهند. مهاجمان از طریق زنجیرهٔ تأمین نرم‌افزار، یک تروجان دسترسی از راه دور چندسکویی (RAT) توزیع کرده‌اند که توان انجام عملیات پیشرفته روی میزبان‌های آلوده را دارد.

خلاصهٔ سازوکار حمله

حمله با انتشار بسته‌های بدون اسکوپ یا بسته‌هایی که نامی مشابه بسته‌های خصوصی تحت اسکوپ @ali دارند آغاز می‌شود. نمونه‌ای از این مجموعه، بستهٔ lib-mtop است که پس از انتشار اولیهٔ بدون عملکرد در نوامبر ۲۰۲۳، اوایل مارس و آوریل نسخه‌های مخرب جدیدی دریافت کرد. حمله بر پایهٔ یک لودر تقسیم‌شده میان وابستگی‌ها طراحی شده که با حل‌وفصل وابستگی npm به‌صورت زنجیره‌ای نصب و در نهایت کد مخرب را اجرا می‌کند.

ساختار لایه‌ای و جزئیات فنی

نحوهٔ استقرار لودر

  • بسته‌های طعمه نام بسته‌های خصوصی تحت اسکوپ @ali را جعل می‌کنند تا در محیط‌هایی که به این پکیج‌ها دسترسی دارند نصب شوند.
  • لایهٔ میانی شامل بسته‌ای مانند smart-config-manager است که به بسته‌های لایهٔ پایین‌تر متصل شده و منطق لودر در آن قرار دارد.
  • یکی از بسته‌های لایهٔ پایین‌تر به یک مخزن GitHub متصل می‌شود، پیکربندی موتور قوانین (rule engine) را بارگیری می‌کند و سپس با استفاده از ماژول vm و curl یک اسکریپت جاوااسکریپتی راه دور را واکشی و اجرا می‌کند.
  • بار مخرب از دامنه‌ای بازیابی می‌شود که ظاهراً شبیه به خدمات Alibaba Cloud OSS است تا تشخیص آن دشوار شود.
نقشه لایه‌های حمله و وابستگی‌ها در زنجیره تأمین npm

رفتارهای سیستم‌عاملی

  • Windows: فرآیندهای امنیتی سازمانی، VPN و اپلیکیشن‌های اداری مانند Alilang متوقف شده و فایل‌های هسته‌ای مرتبط با آن‌ها با نسخهٔ آلوده جایگزین می‌شود.
  • Linux: یک فایل باینری به مسیر /tmp دانلود شده، به‌صورت فرآیند مستقل اجرا و پس از بارگذاری در حافظه از دیسک حذف می‌شود.
  • macOS: اسکریپتی مخرب به ~/.zshrc افزوده می‌شود و یک Launch Agent با تأخیر زمانی برای پایداری راه‌اندازی می‌گردد.

قابلیت‌های بار نهایی

بار نهایی به‌عنوان یک درپشتی پیچیده عمل می‌کند و قابلیت‌هایی از جمله اجرای فرمان از راه دور، آپلود/دانلود فایل، شناسایی میزبان، استیج‌گذاری بارهای بعدی، حرکت جانبی و پایداری از طریق تزریق کد در اپلیکیشن‌های همکاری سازمانی مانند DingTalk، Wukong و Qoder را داراست.

فهرست بسته‌های مرتبط

بسته‌های مرتبط با این کمپین شامل موارد زیر هستند:

  • lib-mtop
  • aone-kit
  • aone-kit-cli
  • aone-sandbox
  • local-config-parser
  • smart-config-manager
  • cloud-config-fetcher
  • fast-transform-pipeline
  • aone-cloud-cli
  • colder-cli
  • def-open-client
  • feedback-ai-sdk
  • flight-compare-analyzer
  • lwp-web-client
  • lzd-unified-station-sdk
  • open-worker-cli
  • test-skill-zip
  • uniapi-bridge

نشانه‌ها و روش‌های شناسایی

  • وجود بسته‌هایی با نام مشابه بسته‌های خصوصی تحت اسکوپ @ali در npm که عملکرد مشکوک یا loader دارند.
  • اتصالات خروجی به دامنه‌هایی که شبیه سرویس‌های ابری شناخته‌شده هستند اما نام دامنه ناقص یا غیرمعمول دارند.
  • فرآیندهای غیرمعمول در ویندوز مرتبط با ابزارهای امنیتی یا اداری، دانلود باینری به مسیرهای موقت در لینوکس و تغییر فایل‌های پیکربندی پوسته در macOS.

اقدامات پیشنهادی فوری برای کاربران و تیم‌های توسعه

  • در صورت نصب هر یک از بسته‌های ذکرشده، سیستم را فوراً از شبکه جدا کنید و بررسی‌های اولیه برای تشخیص نفوذ را آغاز کنید؛ نمونه‌برداری و ثبت لاگ‌ها ضروری است.
  • گواهی‌ها، کلیدهای API و توکن‌های حساس را از دستگاه‌های پاک بازنشانی (rotate) کنید و دسترسی‌ها را محدود و بازبینی کنید.
  • با اجرای npm audit و بازرسی درخت وابستگی (npm ls) بسته‌های مشکوک را شناسایی و حذف کنید. از نصب بسته‌های بدون اسکوپ یا با نام‌های شبیه بسته‌های خصوصی مگر از منابع معتبر خودداری کنید.
  • مکانیسم‌های حفاظت از زنجیرهٔ تأمین را به‌کار بگیرید: امضای بسته‌ها، رجیستری داخلی (private registry) یا فهرست مجاز (allow-list) برای بسته‌های حساس و بررسی اثبات منبع انتشار.
  • عامل‌های امنیتی و نرم‌افزارهای سازمانی را برای تغییر یا تزریق کد بررسی کنید و در صورت نیاز نمونه‌ها را برای تحلیل تهدید ارسال کنید.

عامل حمله

وجود کامنت‌هایی به زبان چینی در کد و تایم‌استمپ‌های GitHub با افست زمانی UTC+08:00 نشان می‌دهد عامل تهدید احتمالاً چینی‌زبان بوده و هدف‌گیری توسعه‌دهندگان چینی‌زبان محتمل است. با این حال، تا انتشار تحلیل‌های کامل‌تر، تعیین هویت دقیق بازیگران زنجیرهٔ حمله ممکن نیست.

منابع و پیگیری

برای بررسی بیشتر می‌توانید صفحهٔ Remote Access Trojan در ویکی‌پدیا را مرور کنید و وضعیت انتشار بسته‌ها را در npm و مخازن مربوطه در GitHub پیگیری نمایید.

این کمپین بار دیگر ضرورت بازبینی مداوم زنجیرهٔ تأمین نرم‌افزار و سخت‌گیری در مدیریت وابستگی‌ها را نشان می‌دهد؛ سازمان‌ها باید فرض کنند که حملات هدفمند می‌توانند از اجزای کوچک اما هماهنگ برای ایجاد خطرات گسترده استفاده کنند و به‌سرعت سازوکارهای دفاعی و کنترل دسترسی خود را تقویت نمایند.