مهاجمان با نفوذ به زیرساخت انتشار نرم‌افزار Ethersphere، نسخه‌های آلوده‌ای از bee-js و Swarm Desktop منتشر کردند. این بدافزارها برای سرقت کلید کیف پول رمزارزی و نصب Backdoor روی سیستم‌های Windows، Linux و macOS طراحی شده بودند. این حادثه اهمیت امنیت زنجیره تأمین نرم‌افزار را نشان می‌دهد.

یک حمله زنجیره تامین؛ هکرها با انتشار نسخه های آلوده bee-js به کیف های کاربری حمله کردند. حملات بر زیرساخت های سایبری همیشه با بهره گیری مستقیم از آسیب پذیری های قربانیان صورت نمی گیرد. در بعضی موارد مهاجمان ممکن است از روش های دیگر استفاده کنند یعنی حمله به زیرساخت توزیع نرم افزار خود.

به عنوان یک مثال دیگر از این نوع حمله دسترسی غیرمجاز به زیرساخت انتشار پروژه Ethersphere صورت گرفت و دو نسخه آلوده از ابزارهای مرتبط با شبکه ذخیره سازی غیرمتمرکز Swarm منتشر شدند. این ابزارها حاوی کد هایی بودند که اجازه سرقت اطلاعات مربوط به کیف پول های رمز ارز کاربران و ایجاد یک درگاه پشتیبان را می داد.

این موضوع بار دیگر ثابت می کند که نرم افزارهایی که از مخازن رسمی و زیرساخت های انتشار دریافت می شوند ممکن است تهدیدات امنیتی نیز باشند.

چگونه هکرها نرم افزار رسمی Ethersphere را آلوده کردند؟

بر اساس انتشار خبرنامه The Hacker News در تاریخ 9 نوامبر 2026 هکرها به حساب های زیرساخت انتشار پروژه Ethersphere دسترسی پیدا کردند و دو نسخه مخرب از محصولات زیر را منتشر کردند:

  • bee-js نسخه 13.3.0 -کتابخانه جاوا اسکریپت که امکان تعامل با شبکه ذخیره سازی غیرمتمرکز Swarm را فراهم می کند.
  • Swarm Desktop نسخه 0.56.2 -برنامه دسکتاپی برای ایجاد یک گره از شبکه Swarm.

هکرها به حساب هایی که با فرآیند خودکار انتشار پروژه در GitHub مرتبط بودند دسترسی پیدا کردند.بنابراین نسخه آلوده bee-js از طریق npm منتشر شد در حالی که نسخه Swarm Desktop در مخزن رسمی پروژه آپلود شد.

یک نکته مهم در اینجا این است که انتشار ها از طریق زیرساخت واقعی و مشروع پروژه صورت گرفت وبنابراین کاربران ممکن است نرم افزار را بدون اینکه بدانند که آلوده است نصب کنند.

چگونه بدافزار اطلاعات کیف پول کاربران را سرقت می کند؟

در هر دو نسخه آلوده کد مخرب به عنوان یک بارگذاری اجرا می شود که پس از اجرا کد دیگری را از یک سرور خارجی دانلود می کند.

در کتابخانه bee-js این کد از طریق اسکریپت postinstall اجرا می شود وبنابراین کد مخرب به طور خودکار همراه با نصب بسته حتی اگر مستقیما توسط توسعه دهنده استفاده نشده باشد اجرا می شود.

در Swarm Desktop کد مخرب در هنگام راه اندازی برنامه فعال می شود.

سپس بدافزار به دنبال فایل های مهم زیر در سیستم می گردد:

  • config.yaml – فایلی که حاوی تنظیمات و رمز عبور کیف پول است.
  • swarm.key – فایلی که حاوی کلید رمزنگاری شده کیف پول شبکه Swarm است.

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

این اطلاعات شامل توکن های xDAI و xBZZ، موجودی در چک کتاب و دارایی های استاک شده کاربران بود.

علاوه بر سرقت اطلاعات بدافزار یک درگاه پشتیبان نیز ایجاد می کند.

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

روش اجرای این قابلیت در سیستم عامل های مختلف متفاوت بود:

  • ویندوز: نصب سرویس ScreenConnect که دسترسی از راه دور را فراهم می کند.
  • لینوکس: ایجاد یک سرویس پنهان کاربر که ابزار دسترسی از راه دور را اجرا می کند.
  • مک اواس: نصب LaunchAgent که اطمینان حاصل می کند کد مخرب به طور مداوم در پس زمینه اجرا می شود.

بنابراین حذف نسخه آلوده نرم افزار کافی نبوده و مهاجمان می توانستند به سیستم ها دسترسی داشته باشند.

چه نسخه هایی از نرم افزار آلوده شده است؟

در این مورد دو نسخه خاص یافت شد:

  1. bee-js 13.3.0 حذف شده از npm
  2. Swarm Desktop 0.56.2 از انتشار خارج شده

نسخه های سالم Swarm Desktop 0.56.3 و bee-js 13.2.0 توسط توسعه دهندگان پروژه منتشر شده است. نسخه آلوده bee-js برای حدود 75 دقیقه در npm بود در حالی که نسخه آلوده Swarm Desktop برای حدود 8.5 ساعت در دسترس بود. تا زمان نگارش این گزارش هیچ سرقت دارایی از کاربران گزارش نشده و تعداد دقیق سیستم های آلوده ناشناخته است.

حملات زنجیره تامین

چگونه می توان از حملات زنجیره تامین جلوگیری کرد؟

حمله فعلی به ما نشان می دهد که امنیت نرم افزار فقط به بررسی کد منبع یا استفاده از مخازن معتبر محدود نمی شود. تمام مراحل توسعه، ساخت، انتشار و نصب نرم افزار باید کنترل شود.

اقدامات زیر مهمترین اقدامات پیشگیرانه هستند:

1. بررسی امنیتی بسته های نرم افزاری

قبل از نصب کتابخانه ها و بسته های خارجی باید اعتبار توسعه دهنده، تاریخچه انتشار نسخه ها و تغییرات غیرمعمول در کد را بررسی کرد. استفاده از ابزارهای تحلیل امنیتی وابستگی های نرم افزار (تحلیل ترکیب نرم افزار) نیز ممکن است وجود بسته های آلوده را آشکار کند.

2. محدود کردن دسترسی به حساب های GitHub

حساب های توسعه دهندگان و ربات های انتشار نرم افزار باید از احراز هویت چند عاملی استفاده کنند. همچنین دسترسی به مخازن کد و فرآیندهای انتشار باید بر اساس اصل حداقل دسترسی مدیریت شود.

3. بررسی امنیتی فرآیندهای CI/CD

فرآیندهای یکپارچه سازی و انتشار نرم افزار (CI/CD) نباید اجازه انتشار نسخه جدید بدون کنترل و مجوز مناسب را بدهند. انجام بررسی های امنیتی و تایید تغییرات قبل از انتشار به کاهش شانس سوء استفاده از زیرساخت انتشار کمک می کند.

4. ابزارهای تشخیص بدافزار

راه حل های امنیتی باید رفتار نرم افزار را در حین نصب و اجرا بررسی کنند.اجرای اسکریپت های غیرمعمول، ارتباط با سرورهای ناشناس و ایجاد خدمات پنهان ممکن است نشانه فعالیت مخرب باشد.

5. حفاظت از اطلاعات محرمانه و کلیدهای رمزنگاری

ذخیره سازی رمز عبورها، کلیدهای خصوصی و توکن های دسترسی به صورت متن ساده سرقت اطلاعات را آسان تر می کند.بنابراین استفاده از راه حل های مدیریت رمز و ذخیره سازی امن کلیدها باید به عنوان یک اولویت در نظر گرفته شود.

6. نظارت مداوم بر سیستم ها و زیرساخت ها

بررسی رفتار نقاط پایانی، شناسایی ارتباطات غیرمعمول و تحلیل رویدادهای امنیتی به سازمان کمک می کند تا سریعتر آلودگی ها و حملات را تشخیص و از آنها جلوگیری کند.

نتیجه گیری

حمله به Ethersphere نمونه دیگری است از اینکه حتی زیرساخت های رسمی و قابل اعتماد انتشار نرم افزار می توانند به عنوان ابزاری برای توزیع بدافزار مورد استفاده قرار گیرند.

در چنین مواردی سازمان ها نباید تنها اعتبار منبع دانلود را به عنوان تضمین امنیت در نظر بگیرند. بررسی امنیت وابستگی های نرم افزار، حفاظت از حساب های توسعه دهندگان، کنترل فرآیندهای CI/CD و استفاده از راه حل های پیشرفته شناسایی تهدیدات به اولویت های مهم تبدیل می شوند.

سوالات متداول

حمله زنجیره تأمین نرم‌افزار (Supply Chain Attack) چیست؟

+

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

کدام نسخه‌های bee-js و Swarm Desktop آلوده شده بودند؟

+

نسخه 13.3.0 کتابخانه bee-js و نسخه 0.56.2 نرم‌افزار Swarm Desktop در این حمله آلوده شده بودند. نسخه سالم bee-js برابر با 13.2.0 و نسخه جایگزین Swarm Desktop برابر با 0.56.3 اعلام شد.

چگونه متوجه شویم یک پکیج npm حاوی بدافزار است؟

+

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

Avatar
محمدجواد برجیان

مدیر فنی و متخصص ارشد امنیت سایبری با تمرکز بر طراحی، معماری و پیاده‌سازی راهکارهای امنیت اطلاعات در مقیاس سازمانی. دارای تجربه تخصصی در حوزه XDR، EDR، NDR، امنیت شبکه، Threat Detection & Response، TI و محصولات Kaspersky، همراه با سابقه مشاوره فنی، آموزش و اجرای پروژه‌های امنیتی در سازمان‌های اینترپرایز.

بدون دیدگاه
دیدگاه خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *