تکنولوژی

آلودگی ۴۰ بسته npm در حمله Supply Chain با استفاده از bundle.js

ستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعال
 

حمله‌های زنجیره تأمین نرم‌افزار (Supply Chain Attacks) همچنان یکی از جدی‌ترین تهدیدات امنیتی در جهان محسوب می‌شوند. اخیراً محققان امنیتی Socket  کشف کرده‌اند که بیش از ۴۰ بسته npm محبوب به صورت هدفمند compromise شده و مهاجمان کدی مخرب در آن‌ها قرار داده‌اند. این بدافزار با نام bundle.js  طراحی شده تا پس از نصب، سیستم قربانی را اسکن کرده و کلیدها و توکن‌های ابری (Cloud Credentials)  را سرقت کند.

جزئیات فنی حمله

🔹  مهاجمان با تغییر در فایل package.json  و افزودن اسکریپت bundle.js، بسته‌های آلوده را دوباره بسته‌بندی (repack) و منتشر کرده‌اند.
🔹  این اسکریپت از ابزار TruffleHog برای شناسایی داده‌های حساس استفاده می‌کند؛ از جمله توکن‌های GitHub، کلیدهای AWS، NPM و سایر سرویس‌های ابری.
🔹  حمله هم روی سیستم‌های Windows و هم Linux تأثیرگذار بوده است.
🔹  برخی از بسته‌های محبوبی که آلوده شده‌اند عبارتند از:

  • angulartics2@14.1.2
  • chalk
  • debug
  • ansi-styles
  • مجموعه بسته‌های @ctrl/*

این آلودگی نشان می‌دهد که حتی پروژه‌های open-source  پرکاربرد نیز در برابر نفوذ مهاجمان آسیب‌پذیر هستند.

چرا این موضوع برای سازمان های ایرانی اهمیت دارد؟

 اهمیت این حادثه برای ایران بسیار زیاد است.
زیرا بسیاری از تیم‌های توسعه نرم‌افزار، استارتاپ‌ها و شرکت‌های بزرگ در ایران برای پروژه‌های خود از npm و پکیج‌های متن باز استفاده می‌کنند. در صورت آلودگی:

  • احتمال سرقت کلیدهای ابری و توکن‌های دسترسی بسیار بالاست.
  • مهاجمان می‌توانند از این داده‌ها برای نفوذ به سرویس‌ها، تغییر کد، یا سرقت اطلاعات استفاده کنند.
  • نبود نظارت کافی روی وابستگی‌ها (dependencies) می‌تواند کل زنجیره توسعه و خدمات یک سازمان را تهدید کند.

راهکارهای امنیتی برای سازمان‌ها و توسعه‌دهندگان

برای مقابله با چنین حملاتی، اقدامات زیر ضروری است:

  1. بازبینی وابستگی‌ها (Dependency Audit) : تمامی کتابخانه‌ها و بسته‌های جدید یا به‌روز شده باید بررسی شوند.
  2. غیرفعال‌سازی اجرای خودکار اسکریپت‌ها:  تنظیمات npm باید به گونه‌ای تغییر کند که اسکریپت‌های post-install بدون کنترل اجرا نشوند.
  3. چرخش توکن‌ها و کلیدهای حساس:  در صورت کوچک‌ترین نشانه خطر، بلافاصله کلیدها و توکن‌ها تغییر داده شوند.
  4. استفاده از ابزارهای امنیتی:  استفاده از EDR، سیستم‌های SIEM و ابزارهای بررسی وابستگی برای شناسایی رفتارهای غیرعادی.
  5. آموزش تیم‌های DevOps و توسعه‌دهنده:  افزایش سطح آگاهی درباره حملات Supply Chain و الزام به استفاده از MFA برای حساب‌های حساس.

جمع‌بندی

این حادثه نشان می‌دهد که اعتماد کامل به نرم‌افزارهای open source می‌تواند خطرناک باشد. حتی اگر یک بسته میلیون‌ها بار دانلود شده باشد، تضمینی برای امن بودن آن وجود ندارد. امنیت زنجیره تأمین نرم‌افزار باید در اولویت تمام سازمان‌ها و تیم‌های توسعه قرار گیرد.

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

 

تمام حقوق سایت برای سلام دیجی و نويسندگان آن محفوظ می باشد