رجیستری 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) ضمن ذخیره ایمن تمامی کلمات عبور مورد استفاده شما برای وبسایت‌ها، اپلیکیشن‌ها، و شبکه‌های اجتماعی آنها را در تمامی ...

    12,560,520 ریال20,934,200 ریال
    خرید
  • Kaspersky Safe Kids

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

    12,560,520 ریال20,934,200 ریال
    خرید
  • Kaspersky Total Security

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

    22,330,700 ریال111,653,500 ریال
    خرید
  • Kaspersky Security Cloud Personal

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

    139,636,700 ریال
    خرید
  • Kaspersky Standard

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

    23,700,600 ریال39,501,000 ریال
    خرید
  • Kaspersky Plus

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

    33,986,820 ریال56,644,700 ریال
    خرید
  • Kaspersky Premium

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

    36,356,880 ریال60,594,800 ریال
    خرید
  • Kaspersky Small Office Security

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

    150,822,000 ریال251,370,000 ریال
    خرید
  • Kaspersky Small Office Security

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

    241,307,220 ریال402,178,700 ریال
    خرید
  • Kaspersky Small Office Security

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

    180,978,420 ریال301,630,700 ریال
    خرید
  • Kaspersky Small Office Security

    289,905,420 ریال483,175,700 ریال
    خرید
  • Kaspersky Small Office Security

    211,142,820 ریال351,904,700 ریال
    خرید
  • Kaspersky Small Office Security

    337,665,720 ریال562,776,200 ریال
    خرید
  • Kaspersky Small Office Security

    241,307,220 ریال402,178,700 ریال
    خرید
  • Kaspersky Small Office Security

    386,263,920 ریال643,773,200 ریال
    خرید
  • Kaspersky Small Office Security

    271,471,620 ریال452,452,700 ریال
    خرید
  • Kaspersky Small Office Security

    434,024,220 ریال723,373,700 ریال
    خرید
  • Kaspersky Small Office Security

    276,499,020 ریال460,831,700 ریال
    خرید
  • Kaspersky Small Office Security

    442,403,220 ریال737,338,700 ریال
    خرید
  • Kaspersky Small Office Security

    389,615,520 ریال649,359,200 ریال
    خرید
  • Kaspersky Small Office Security

    623,389,620 ریال1,038,982,700 ریال
    خرید
  • Kaspersky Small Office Security

    502,732,020 ریال837,886,700 ریال
    خرید
  • Kaspersky Small Office Security

    804,376,020 ریال1,340,626,700 ریال
    خرید
  • Kaspersky Small Office Security

    607,469,520 ریال1,012,449,200 ریال
    خرید
  • Kaspersky Small Office Security

    971,956,020 ریال1,619,926,700 ریال
    خرید
  • Kaspersky Small Office Security

    1,152,104,520 ریال1,920,174,200 ریال
    خرید
  • Kaspersky Small Office Security

    1,843,372,020 ریال3,072,286,700 ریال
    خرید

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


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