تأمین امنیت در دنیای توسعه نرمافزار روز به روز پیچیدهتر میشود. به تازگی گزارشهای امنیت سایبری از کشف یک تهدید بسیار پیشرفته پرده برداشتهاند: بدافزار CanisterWorm. این بدافزار که توسط گروه هکری TeamPCP (معروف به DeadCatx3) توسعه یافته، مستقیماً زیرساختهای توسعهدهندگان، پکیجهای متنباز و خطوط لوله CI/CD را هدف قرار داده است.
تیم پارس ایران کد در این مقاله به بررسی دقیق ابعاد فنی این بدافزار، نحوه نفوذ آن و راهکارهای مقابله با آن میپردازد. اگر یک برنامهنویس، مدیر سرور یا متخصص دواپس (DevOps) هستید، خواندن این مطلب برای امنیت زیرساخت شما حیاتی است.
بدافزار CanisterWorm چیست؟
بدافزار CanisterWorm یک بدافزار معمولی نیست؛ بلکه یک کرم سایبری فوقسریع و چندمرحلهای است که برای سرقت اطلاعات حساس و نابودی دادهها طراحی شده است. گروه TeamPCP با استفاده از تاکتیکهای نوین، توانسته سیستمهای امنیتی و Sandboxها را دور بزند و به هزاران ماشین در سراسر جهان نفوذ کند.
۳ ویژگی ترسناک و نوآورانه CanisterWorm
این بدافزار از معماری خاصی استفاده میکند که آن را از سایر تهدیدات متمایز کرده است:
- فرماندهی مبتنی بر بلاکچین (ICP C2): مهاجمان برای سرور فرماندهی و کنترل (C2) خود از کدهای هوشمند شبکه بلاکچین غیرمتمرکز ICP استفاده کردهاند. این یعنی مسدود کردن سرورهای آنها توسط نهادهای قانونی تقریباً غیرممکن است.
- تکثیر خودکار در کمتر از ۶۰ ثانیه: این بدافزار پس از نصب (مثلاً از طریق یک پکیج آلوده npm)، توکنهای گیتهاب و npm توسعهدهنده را میدزدد. سپس تمام پکیجهایی که کاربر به آنها دسترسی دارد را پیدا کرده، کد مخرب خود را در آنها تزریق و نسخهی جدید را به صورت خودکار منتشر میکند!
- مخفیکاری با مکانیزم Kill Switch: بدافزار برای فرار از سیستمهای آنتیویروس، در حالت عادی یک لینک ساده یوتیوب را از سرور دریافت میکند تا رفتارش بیخطر به نظر برسد. اما هر زمان که هکرها اراده کنند، فایل مخرب اصلی دانلود و اجرا میشود.
هدف اصلی: سرقت در سطح جهانی، تخریب در سیستمهای خاص
یکی از عجیبترین و خطرناکترین بخشهای بدافزار CanisterWorm، بررسی موقعیت جغرافیایی قربانی (Geolocation) است. این بدافزار پس از اجرا، زبان و منطقه زمانی سیستم را چک میکند و دو رفتار کاملاً متفاوت از خود نشان میدهد:
- در سطح جهانی: بدافزار به صورت یک سرویس مخفی پسزمینه (با نامهای فریبندهای مثل
pgmon) نصب میشود تا به جاسوسی، سرقت کلیدهای SSH و توکنهای ابری بپردازد. - رفتار تخریبی (Wiper): در صورت تشخیص اهداف خاص، بدافزار به یک پاککننده اطلاعات تبدیل میشود! روی سرورهای لینوکس با دسترسی روت کل فایلها را پاک میکند و در محیطهای کوبرنتیز (Kubernetes)، با اجرای یک کانتینر مخرب به نام
kamikazeتمام دادههای نودها را به طور کامل از بین میبرد.
این حمله بزرگ از کجا شروع شد؟
تحقیقات نشان میدهد گروه TeamPCP با نفوذ به توکن گیتهاب ابزار معروف Trivy (اسکنر آسیبپذیری)، کدهای خود را به عنوان فلگهای رسمی این ابزار منتشر کردند. از آنجا که هزاران شرکت در سیستمهای CI/CD خود از Trivy استفاده میکنند، این بدافزار به سرعت در پکیجهای پایتون و افزونههای VS Code پخش شد و بیش از ۵۰۰ هزار ماشین را آلوده کرد.
چگونه سیستم خود را در برابر CanisterWorm ایمن کنیم؟
تیم پارس ایران کد پیشنهاد میکند برای بررسی و پیشگیری از این بدافزار، موارد زیر را در سرورها و ماشینهای توسعه خود چک کنید:
- بررسی فایلهای مشکوک: به دنبال فایلهایی نظیر
pglogیا.pg_stateدر دایرکتوری/tmp/لینوکس بگردید. - بررسی سرویسها: مسیرهای اجرای سرویسهای کاربر مانند
~/.config/systemd/user/pgmon.serviceرا بررسی کنید. - نظارت بر شبکه: اتصالات خروجی سرور به دامنههایی که شامل عبارت
icp0.ioهستند را مسدود کنید. - غیرفعالسازی اسکریپتهای خودکار: در محیطهای توسعه، اجرای اتوماتیک اسکریپتها را متوقف کنید (مثلاً با دستور
npm config set ignore-scripts true) و همواره از فایلهای Lock برای مدیریت نسخهها استفاده کنید.
نکته کلیدی: حمله CanisterWorm زنگ خطری جدی برای تمام تیمهای نرمافزاری است. اعتماد کورکورانه به پکیجهای متنباز بدون رعایت اصول پیکربندی، میتواند کل یک سیستم را به نابودی بکشاند. برای دریافت جدیدترین آموزشهای امنیت سرور، مقالات تخصصی پارس ایران کد را دنبال کنید.