رجیستری npm تحت حمله کرمی که رمزها را می‌دزدد!

26 شهریور 1404 رجیستری npm تحت حمله کرمی که رمزها را می‌دزدد!

 روابط عمومی شرکت ایدکو (توزیع‌کننده‌ی محصولات کسپرسکی در ایران)؛ شامگاه ۱۵ سپتامبر، حمله‌ای جدید علیه پرکاربردترین رجیستری مؤلفه‌های جاوااسکریپت — یعنی npm — آغاز شد. تعدادی از پکیج‌ها، از جمله پکیج‌هایی با میلیون‌ها بار دانلود هفتگی، به کدی مخرب که وظیفه‌اش سرقت توکن‌ها و کلیدهای احراز هویت است آلوده شدند. ویژگی قابل‌توجه این بدافزار، قابلیت انتشار خودکار آن است؛ به‌گونه‌ای که می‌تواند سایر پکیج‌های npm را نیز آلوده کند. یکی از پکیج‌های آلوده‌شده، پکیج محبوب @ctrl/tinycolor است. به گفته‌ی شرکت Aikido Security، نزدیک به ۱۵۰ پکیج مورد نفوذ قرار گرفته‌اند — از جمله پکیج‌های متعلق به شرکت Crowdstrike.

روش انتشار

در حال حاضر، نحوه‌ی آلودگی اولیه و «نقطه‌ی شروع»  مشخص نیست. از آن‌جا که الگوی این حمله شباهت زیادی به رخداد اخیر موسوم به s1ngularity دارد، احتمال می‌رود که پای فیشینگ هم در میان باشد. با این حال، زنجیره‌ی بعدیِ آلودگی به‌صورت زیر است:

  1.      کد مخرب به‌شکل یک اسکریپت post-installation در فایل bundle.js  به پکیج‌های آلوده‌شده اضافه می‌شود. وقتی کاربر پکیج آلوده را نصب می‌کند، این اسکریپت اجرا می‌شود. برخلاف رخداد قبلی، این اسکریپت به‌صورت بیناپلت‌فرمی طراحی شده و در محیط‌های *nix و ویندوز اجرا می‌شود.
  2.      اسکریپت، نسخه‌ی مناسب سیستم‌عامل از ابزار مشروع TruffleHog را دانلود می‌کند. این ابزار، رشته‌های با «آنتروپی» بالا را مانند کلیدهای رمزنگاری، توکن‌های API و اطلاعات حساس دیگررا در فایل‌های لوکال و مخازن در دسترس شناسایی می‌کند.
  3.      علاوه بر استفاده از TruffleHog، اسکریپت از طریق بررسی متغیرهای محیطی مانند GITHUB_TOKEN، NPM_TOKEN، AWS_ACCESS_KEY_ID و AWS_SECRET_ACCESS_KEY، توکن‌های فعال را پیدا کرده و از طریق APIهای GitHub و npm آن‌ها را اعتبارسنجی می‌کند.
  4.      در ادامه، اسکریپت اقدام به آلوده‌سازی سایر پکیج‌های npm می‌کند که کاربر قربانی به آن‌ها دسترسی انتشاردارد. برای این کار، نسخه‌ی فعلی پکیج از npm دریافت می‌شود، نسخه‌ی فرعیآن یک واحد افزایش می‌یابد، اسکریپت postinstall به آن اضافه و نسخه‌ی جدید آلوده مجدداً در npm منتشر می‌شود.
  5.      سپس، مخازنکاربر قربانی به‌عنوان «عمومی»علامت‌گذاری می‌شوند که خود یک نشت اطلاعات جداگانه و مهم به‌حساب می‌آید.

انتشار داده‌های سرقت‌شده

اطلاعات جمع‌آوری‌شده از دو روش هم‌زمان استخراج می‌شود:

  • از طریق مخزن GitHub: بدافزار، یک مخزن عمومی با نام Shai-Hulud  را به‌نمایندگی از کاربر قربانی و با استفاده از توکن GitHub او ایجاد می‌کند. سپس، فایل JSON حاوی اطلاعات سرقت‌شده و داده‌های سیستمی در این مخزن آپلود می‌شود.
  • از طریق GitHub Actions: اسکریپت، یک ورک‌فلو جدید با نام github/workflows/shai-hulud-workflow.yml ایجاد می‌کند که اطلاعات جمع‌آوری‌شده را به‌شکل JSON رمزگذاری کرده و به سرور webhook[.]site متعلق به مهاجم ارسال می‌کند.

واکنش به رخداد

آلودگی پکیج tinycolor  و ده‌ها پکیج دیگر در شب ۱۵ تا ۱۶ سپتامبر شناسایی شد. تا صبح روز بعد، مدیریت npm فرآیند پاک‌سازی را آغاز کرد و نسخه‌های آلوده به نسخه‌های سالم بازگردانده شدند. در تاریخچه‌ی npm، نسخه‌ی آلوده قابل‌مشاهده نیست، اما اسناد GitHub وجود آن را تأیید می‌کنند. با توجه به اینکه در زمان نگارش این گزارش طی پنج ساعت گذشته اعلان جدیدی منتشر نشده، می‌توان گفت که این حمله‌ی گسترده تا حدی مهار شده است. با این حال، از آنجا که با یک کرمروبه‌رو هستیم، امکان تکرار مجدد آن وجود دارد — مگر اینکه npm به‌طور کامل جلوی انتشار فایل‌های مخرب را بگیرد.

راهکارهای امنیتی

کاربرانی که پکیج‌های آلوده را دانلود کرده‌اند، باید فوراً اقدامات زیر را انجام دهند:

  • بازگرداندن بسته‌ها به نسخه‌های امن و پاک‌سازی کش  npm؛
  • بررسی خطوط CI/CD و رایانه‌های توسعه‌دهندگان برای یافتن تغییرات غیرمجاز؛
  • تحلیل لاگ‌ها برای شناسایی دسترسی‌های مشکوک به  npm publish;
  • تعویض همه‌ی کلیدها و توکن‌های مربوط به NPM، GitHub، AWS، GCP و Azure که در محیط آلوده قابل‌دسترس بوده‌اند.

راه‌کارهای امنیتیکسپرسکیاین تهدید را با عنوان Worm.Script.Shulud.* شناسایی می‌کنند. فهرست کامل پکیج‌های آلوده در GitHub در دسترس است.

 

 کسپرسکی آنلاین (ایدکو)

کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز می‌شناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.

 

 

[1]MPC Shadowing

[2]Rug Pull

محصولات مرتبط

  • Kaspersky Cloud Password Manager

    Kaspersky Cloud Password Manager ابزار مدیریت کلمه عبور ابری کسپرسکی (KCPM) ضمن ذخیره ایمن تمامی کلمات عبور مورد استفاده شما برای وبسایت‌ها، اپلیکیشن‌ها، و شبکه‌های اجتماعی آنها را در تمامی ...

    10,482,840 ریال17,471,400 ریال
    خرید
  • Kaspersky Safe Kids

    اپلیکیشن همه‌کاره برای فرزندپروریِ دیجیتال و سلامت خانواده نرم افزار امنیت کودکان کسپرسکی، نظارت‌های والدین را آسان می‌کند. ردیابی مکان و عادات دستگاه، محدودسازی محتوا، متعادل‌سازی ...

    10,482,840 ریال17,471,400 ریال
    خرید
  • Kaspersky Security Cloud Personal

    تمام اپ‌های امنیتیِ ما در دستانتان. به کل خانواده‌ی اپ‌های ما برای دسکتاپ و موبایل دسترسی پیدا کنید. از آنتی‌ویروس گرفته تا ابزارهای حریم خصوصی و اجرایی، هر کدام را به میل ...

    116,538,900 ریال
    خرید
  • Kaspersky Standard

    سیستم امنیتی بهبودیافته به همراه تقویت‌کننده عمکرد دستگاه طرح امنیتی استاندارد ما، نه تنها سیستم امنیتی قدرتمندی را برای انواع ویروس‌ها، بدفزارها و باج‌افزارها ارائه می‌دهد ...

    19,780,200 ریال32,967,000 ریال
    خرید
  • Kaspersky Plus

    امنیت. کارایی. حریم خصوصی. همه در یک برنامه با کاربری آسان کسپرسکی پلاس با ارائه امنیت سایبری نسل بعد، شما در برابر ویروس‌ها، باج‌افزارها و بدافزارهای جدید محافظت کند - بدون ...

    28,364,940 ریال47,274,900 ریال
    خرید
  • Kaspersky Premium

    حفاظت کامل از دستگاه ها، حریم خصوصی و هویت شما با محصول Kaspersky Premium تمام نیازهای امنیتی خود و خانواده‌تان را پوشش دهید. حفاظت پیشرفته ...

    30,342,960 ریال50,571,600 ریال
    خرید
  • Kaspersky Small Office Security

    محافظت در حین کار Kaspersky Small Office Security به طور خاص برای سازمان‌هایی طراحی شده است که 5 تا 50 دستگاه کامپیوتر در خود جای داده‌اند. نصب آن بسیار آسان است؛ مدیریت آن ...

    125,874,000 ریال209,790,000 ریال
    خرید
  • Kaspersky Small Office Security

    امنیت ادارات کوچک

    201,391,740 ریال335,652,900 ریال
    خرید
  • Kaspersky Small Office Security

    امنیت ادارات کوچک

    151,042,140 ریال251,736,900 ریال
    خرید
  • Kaspersky Small Office Security

    241,951,140 ریال403,251,900 ریال
    خرید
  • Kaspersky Small Office Security

    176,216,940 ریال293,694,900 ریال
    خرید
  • Kaspersky Small Office Security

    281,811,240 ریال469,685,400 ریال
    خرید
  • Kaspersky Small Office Security

    201,391,740 ریال335,652,900 ریال
    خرید
  • Kaspersky Small Office Security

    322,370,640 ریال537,284,400 ریال
    خرید
  • Kaspersky Small Office Security

    226,566,540 ریال377,610,900 ریال
    خرید
  • Kaspersky Small Office Security

    362,230,740 ریال603,717,900 ریال
    خرید
  • Kaspersky Small Office Security

    230,762,340 ریال384,603,900 ریال
    خرید
  • Kaspersky Small Office Security

    369,223,740 ریال615,372,900 ریال
    خرید
  • Kaspersky Small Office Security

    325,167,840 ریال541,946,400 ریال
    خرید
  • Kaspersky Small Office Security

    520,272,540 ریال867,120,900 ریال
    خرید
  • Kaspersky Small Office Security

    419,573,340 ریال699,288,900 ریال
    خرید
  • Kaspersky Small Office Security

    671,321,340 ریال1,118,868,900 ریال
    خرید
  • Kaspersky Small Office Security

    506,985,840 ریال844,976,400 ریال
    خرید
  • Kaspersky Small Office Security

    811,181,340 ریال1,351,968,900 ریال
    خرید
  • Kaspersky Small Office Security

    961,530,840 ریال1,602,551,400 ریال
    خرید
  • Kaspersky Small Office Security

    1,538,453,340 ریال2,564,088,900 ریال
    خرید

نظر خودتان را ارسال کنید


کاربر گرامی چنانچه تمایل دارید، نقد یا نظر شما به نام خودتان در سایت ثبت شود، لطفاً وارد سایت شوید.
*نظر
کلیه حقوق مادی و معنوی این سایت محفوظ و متعلق به شرکت گسترش خدمات تجارت الکترونیک ایرانیان است و هر گونه کپی برداری از آن پیگرد قانونی دارد