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

    15,393,720 ریال25,656,200 ریال
    خرید
  • Kaspersky Safe Kids

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

    15,393,720 ریال25,656,200 ریال
    خرید
  • Kaspersky Security Cloud Personal

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

    171,133,700 ریال
    خرید
  • Kaspersky Standard

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

    29,046,600 ریال48,411,000 ریال
    خرید
  • Kaspersky Plus

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

    41,653,020 ریال69,421,700 ریال
    خرید
  • Kaspersky Premium

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

    44,557,680 ریال74,262,800 ریال
    خرید
  • Kaspersky Small Office Security

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

    184,842,000 ریال308,070,000 ریال
    خرید
  • Kaspersky Small Office Security

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

    295,737,420 ریال492,895,700 ریال
    خرید
  • Kaspersky Small Office Security

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

    221,800,620 ریال369,667,700 ریال
    خرید
  • Kaspersky Small Office Security

    355,297,620 ریال592,162,700 ریال
    خرید
  • Kaspersky Small Office Security

    258,769,020 ریال431,281,700 ریال
    خرید
  • Kaspersky Small Office Security

    413,830,920 ریال689,718,200 ریال
    خرید
  • Kaspersky Small Office Security

    295,737,420 ریال492,895,700 ریال
    خرید
  • Kaspersky Small Office Security

    473,391,120 ریال788,985,200 ریال
    خرید
  • Kaspersky Small Office Security

    332,705,820 ریال554,509,700 ریال
    خرید
  • Kaspersky Small Office Security

    531,924,420 ریال886,540,700 ریال
    خرید
  • Kaspersky Small Office Security

    338,867,220 ریال564,778,700 ریال
    خرید
  • Kaspersky Small Office Security

    542,193,420 ریال903,655,700 ریال
    خرید
  • Kaspersky Small Office Security

    477,498,720 ریال795,831,200 ریال
    خرید
  • Kaspersky Small Office Security

    764,003,820 ریال1,273,339,700 ریال
    خرید
  • Kaspersky Small Office Security

    616,130,220 ریال1,026,883,700 ریال
    خرید
  • Kaspersky Small Office Security

    985,814,220 ریال1,643,023,700 ریال
    خرید
  • Kaspersky Small Office Security

    744,492,720 ریال1,240,821,200 ریال
    خرید
  • Kaspersky Small Office Security

    1,191,194,220 ریال1,985,323,700 ریال
    خرید
  • Kaspersky Small Office Security

    1,411,977,720 ریال2,353,296,200 ریال
    خرید
  • Kaspersky Small Office Security

    2,259,170,220 ریال3,765,283,700 ریال
    خرید
  • Kaspersky Standard For Mobile

    امنیت موبایل خود را در تمامی دستگاه‌ها به‌طور کامل سامان‌دهی کنید. دستگاه‌های هوشمند خود را با یک موبایل سکیوریتی، در برابر جدیدترین تهدیدات دیجیتال محافظت کنید — تا خیال‌تان ...

    29,046,600 ریال
    خرید

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


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