رجیستری 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 Internet Security for Android

    امنیت پیشرفته‌ای که همیشه همراه شماست بخش مهمی از زندگی اکثر ما اکنون روی گوشی‌ها و تبلت‌هاست- پس به امنیت موبایلی نیاز دارید که شما را همیشه امن نگه ...

    10,490,000 ریال
    خرید
  • Kaspersky Cloud Password Manager

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

    9,444,000 ریال15,740,000 ریال
    خرید
  • Kaspersky Safe Kids

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

    9,444,000 ریال15,740,000 ریال
    خرید
  • Kaspersky Security Cloud Personal

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

    104,990,000 ریال
    خرید
  • Kaspersky Standard

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

    17,820,000 ریال29,700,000 ریال
    خرید
  • Kaspersky Plus

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

    25,554,000 ریال42,590,000 ریال
    خرید
  • Kaspersky Premium

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

    27,336,000 ریال45,560,000 ریال
    خرید
  • Kaspersky Small Office Security

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

    113,400,000 ریال189,000,000 ریال
    خرید
  • Kaspersky Small Office Security

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

    181,434,000 ریال302,390,000 ریال
    خرید
  • Kaspersky Small Office Security

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

    136,074,000 ریال226,790,000 ریال
    خرید
  • Kaspersky Small Office Security

    217,974,000 ریال363,290,000 ریال
    خرید
  • Kaspersky Small Office Security

    158,754,000 ریال264,590,000 ریال
    خرید
  • Kaspersky Small Office Security

    253,884,000 ریال423,140,000 ریال
    خرید
  • Kaspersky Small Office Security

    181,434,000 ریال302,390,000 ریال
    خرید
  • Kaspersky Small Office Security

    290,424,000 ریال484,040,000 ریال
    خرید
  • Kaspersky Small Office Security

    204,114,000 ریال340,190,000 ریال
    خرید
  • Kaspersky Small Office Security

    326,334,000 ریال543,890,000 ریال
    خرید
  • Kaspersky Small Office Security

    207,894,000 ریال346,490,000 ریال
    خرید
  • Kaspersky Small Office Security

    332,634,000 ریال554,390,000 ریال
    خرید
  • Kaspersky Small Office Security

    292,944,000 ریال488,240,000 ریال
    خرید
  • Kaspersky Small Office Security

    468,714,000 ریال781,190,000 ریال
    خرید
  • Kaspersky Small Office Security

    377,994,000 ریال629,990,000 ریال
    خرید
  • Kaspersky Small Office Security

    604,794,000 ریال1,007,990,000 ریال
    خرید
  • Kaspersky Small Office Security

    456,744,000 ریال761,240,000 ریال
    خرید
  • Kaspersky Small Office Security

    730,794,000 ریال1,217,990,000 ریال
    خرید
  • Kaspersky Small Office Security

    866,244,000 ریال1,443,740,000 ریال
    خرید
  • Kaspersky Small Office Security

    1,385,994,000 ریال2,309,990,000 ریال
    خرید

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


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