گروه هکری وابسته به کره شمالی که با نام DeceptiveDevelopment شناخته میشود، استراتژی خود را از فریب دادن توسعهدهندگان از طریق مصاحبههای شغلی جعلی، به سمت حملات گستردهتر زنجیره تأمین (Supply Chain Attacks) تغییر داده است. این گروه با هدف قرار دادن توسعهدهندگان، به دنبال دسترسی به زیرساختهای حساس از طریق پروژههای نرمافزاری مورد اعتماد است.
تغییر تاکتیک: از فریب تا نفوذ به مخازن کد
تحقیقات نشان میدهد این گروه با استفاده از پروژههای برنامهنویسی جعلی، توسعهدهندگان را ترغیب میکند تا کدهای مشکوک را اجرا کنند. پس از اجرای این کدها، بدافزار به دنبال سرقت اعتبارنامههای Git، کلیدهای SSH و توکنهای دسترسی (Access Tokens) میگردد. با سرقت این اطلاعات، مهاجمان میتوانند مستقیماً به مخازن (Repositories) خصوصی و عمومی توسعهدهنده دسترسی پیدا کرده و کدهای مخرب را در آنها تزریق کنند.
- تزریق کد: مهاجمان پس از تغییر کد، اغلب تاریخچه Commitها را بازنویسی میکنند تا تغییرات خود را از دید همکاران و تیمهای بررسی کد پنهان کنند.
- گسترش در اکوسیستمها: بدافزارها در پلتفرمهای معتبری مانند npm، PyPI، Packagist و مخازن ماژولهای Go شناسایی شدهاند. این نشان میدهد که حملات به صورت خودکار و برای گسترش حداکثری طراحی شدهاند.
بدافزارهای شناسایی شده
در بررسیهای انجام شده، دو ابزار اصلی در زنجیره حمله شناسایی شده است:
- OmniStealer: یک بدافزار سرقت اطلاعات (Infostealer) مبتنی بر پایتون که به دنبال کیف پولهای ارز دیجیتال، مدیریتکنندههای رمز عبور (Password Managers) و اسرار توسعهدهندگان است.
- DEV#POPPER: یک تروجان دسترسی از راه دور (RAT) نوشته شده با Node.js که قابلیت ثبت کلیدهای کیبورد (Keylogging) و اجرای دستورات از راه دور را دارد. این بدافزار خود را در برنامههایی که توسعهدهندگان روزانه استفاده میکنند، مانند VS Code، Cursor و Discord ادغام میکند.
استفاده از بلاکچین برای پایداری زیرساخت
یکی از جنبههای بسیار نوین این حملات، استفاده از تکنیک NullReceiver است. در این روش، بدافزار آدرس IP سرور فرماندهی (C2) را از طریق تراکنشهای بلاکچین اتریوم استخراج میکند. این کار به مهاجمان اجازه میدهد بدون نیاز به بهروزرسانی پکیجها یا تغییر در کد اصلی، تنها با یک تراکنش جدید، سرورهای فرماندهی خود را تغییر دهند. همچنین استفاده از شبکه IPFS برای میزبانی Payloadها، فرآیند شناسایی و حذف آنها را برای تیمهای امنیتی بسیار دشوار کرده است.
توصیههای امنیتی برای توسعهدهندگان و مدیران SOC
برای کاهش ریسک در برابر این تهدیدات، رعایت موارد زیر ضروری است:
- هرگز کدهای دریافتی از منابع ناشناس یا در قالب چالشهای استخدامی را روی سیستمهای اصلی کاری اجرا نکنید.
- پس از هرگونه مشکوک بودن به سرقت اطلاعات، توکنهای Git، کلیدهای SSH و کلیدهای انتشار پکیج را بلافاصله تغییر دهید (Rotate).
- تاریخچه Commitها را برای یافتن تغییرات مشکوک یا بازنویسی شده بررسی کنید.
- ترافیک غیرمنتظره بلاکچین از سمت سیستمهای Build را به عنوان یک هشدار امنیتی جدی در نظر بگیرید.