👀 خبر در یک نگاه:
۶۰ پکیج مخرب در رجیستری npm شناسایی شدند که با ارسال دادهها به یک وبهوک Discord، شبکههای داخلی توسعهدهندگان را نقشهبرداری میکنند. این حمله برای جمعآوری اطلاعات به منظور حملات هدفمند آینده طراحی شده و همچنان فعال است. سازمانها باید ابزارهای اسکن پیشرفته و نظارت دقیق داشته باشند. |
رجیستری npm بار دیگر در مرکز توجه قرار گرفته؛ این بار به دلیل مقابله با یک کمپین بدافزاری که از پکیجهای مخرب برای شناسایی شبکههای توسعهدهندگان استفاده میکند.
حمله مخرب با پکیجهای npm
💡 ۶۰ پکیج مخرب با کدهای یکسان در npm منتشر شدهاند که اطلاعات شبکه توسعهدهندگان را جمعآوری و به Discord ارسال میکنند تا مسیر حملات هدفمند آینده را هموار کنند. |
تحلیلگران خبره تهدیدات سایبری در شرکت Socket، یک حمله هماهنگ را شناسایی کردهاند که حداقل سه حساب منتشرکننده را درگیر کرده است. این بار با حملهای معمولی طرف نیستیم؛ مهاجمان موفق شدهاند ۶۰ پکیج مختلف را منتشر کنند که همگی یک کد یکسان برای شناسایی ویژگیهای هاست (Host-Fingerprinting) را در خود دارند.
ماجرا مربوط به ایجاد هرجومرج فوری نیست؛ بلکه با یک بازی پنهان و هدفمند برای جمعآوری اطلاعات طرف هستیم.
در این کمپین، پکیجهای مشکوک تا حالا بیش از ۳۰۰۰ بار توسط توسعهدهندگان ناآگاه دانلود شدهاند. هدف این حمله، نقشهبرداری از محیطهای داخلی توسعهدهندگان است. اما چرا؟ برای اتصال محیطهای داخلی به زیرساختهای عمومی و ساختن یک نقشه گنج، مهاجمان از اطلاعات نقشهبرداری استفاده میکنند تا حملاتی هدفمندتر و دقیقتر طراحی و اجرا کنند.
هشدارها در ارتباط با پکیجهای npm مخرب
کریل بوچنکو (Kirill Boychenko)، تحلیلگر تهدیدات سایبری در Socket، درباره این پکیجهای مخرب جدید در npm هشدار جدی داده است. هدف اصلی مهاجمان این نیست که فورا اختلال ایجاد کنند، بلکه میخواهند بهصورت پنهانی اطلاعات جمعآوری کنند.
در تحلیل Socket آمده است:
«این اسکریپت فقط با هدف شناسایی و ردگیری هر ماشینی که پکیج را نصب یا Build میکند، اجرا میشود. با جمعآوری شناسههای داخلی و خارجی شبکه، این حمله محیطهای خصوصی توسعهدهندگان را به زیرساختهای عمومی آنها متصل میکند؛ شرایطی ایدهآل برای حملات هدفمند بعدی.»
به این فکر کنید که این موضوع چه معنایی برای سرورهای ادغام مداوم (CI) دارد؛ همان ماشینهای خودکار و کلیدی در توسعه مدرن.
گزارش میگوید:
«در سرورهای ادغام مداوم، این نشت میتواند آدرسهای داخلی رجیستری پکیجها و مسیرهای ساخت را لو بدهد؛ اطلاعاتی که حملات زنجیره تأمین بعدی را تسریع میکند.»
پس، هرچند Payload فعلی محدود به جمعآوری اطلاعات است، اما با ایجاد پایه برای نفوذهای عمیقتر، ریسک استراتژیک بزرگی ایجاد میکند.
سه حساب npm به نامهای Bbbb335656، Sdsds656565 و Cdsfdfafd1232436437، هرکدام بیست پکیج مخرب منتشر کردند. و این کار را سریع انجام دادند، همه در عرض فقط یازده روز. این مورد کاملا نشان میدهد که یا یک نفر پشت ماجراست یا حداقل یک گروه خیلی هماهنگ.
هر کدام از ۶۰ پکیج، دادههای جمعآوری شده را به یک وبهوک دقیقا مشابه در Discord ارسال میکنند. به عنوان مثال، Socket اشاره میکند که «پکیجهای Seatable (از Bbbb335656)، Datamart (از Sdsds656565) و Seamless-Sppmy (از Cdsfdfafd1232436437) همگی همان Payload مخرب یکسان را دارند.»
استفاده از Discord برای انتقال اطلاعات دزدی (Exfiltration) یک ترفند معمول است؛ برای مهاجمان آسان است که آن را راهاندازی و مدیریت کنند. خود کد مخرب معمولا از طریق اسکریپتهای پس از نصب اجرا میشود؛ قابلیتی مفید و قانونی در npm، اما اگر مراقب نباشیم، تبدیل به یک در باز بزرگ برای مهاجمان میشود.
➕ نکته: Post-Install Scripts یعنی کدهایی که بعد از نصب پکیج اجرا میشوند و میتوانند کارهای مختلف انجام دهند. این قابلیت خوبی است اما اگه مراقب نباشید، تبدیل به راه ورود هکرها میشود.
➕ نکته ۲: Webhook یک راه ساده برای ارسال خودکار دادهها به یک کانال خاص در Discord است.
هیچ نشانهای از کند شدن پکیجهای مخرب npm دیده نمیشود
💡 خبر بد؟ Socket معتقد است این کمپین هنوز فعال است و ماجرا تمام نشده.
«مگر اینکه رجیستری npm پکیجهای مخرب را حذف کند و حسابهای مرتبط را مسدود کند، احتمال انتشار پکیجهای جدید بیشتر است.» |
و این کار برای مهاجمان، بهطرز ترسناکی ساده است: «مهاجم سایبری به راحتی میتواند اسکریپت را کپی کند، دانلودها را به صورت زنده پیگیری کند و دوباره منتشر کند.» این که این پکیجها بیش از ۳۰۰۰ نصب بدون حذف داشتهاند، نشان واضحی است که
«جمعآوری اطلاعات پنهانی، یک تکنیک نفوذ مؤثر در npm است و احتمالا دیگران هم آن را تقلید خواهند کرد.»
نگاه به آینده نشان میدهد که نباید انتظار کاهش پکیجهای مخرب در npm را داشت. همانطور که تیم بوچنکو پیشبینی میکند:
«چون رجیستری هیچ محدودیتی برای اسکریپتهای پس از نصب ندارد، باید منتظر حسابهای یکبارمصرف جدید، پکیجهای تازه، روشهای جایگزین انتقال دادهها و احتمالا Payloadهای بزرگتر بود، مخصوصا وقتی فهرست اهداف کامل شود.»
پیام برای کارشناسان امنیت این است:
«فرض کنید بازیگر تهدید به انتشار ادامه میدهد، روشهای شناسایی فرار از حمله را بهبود ببخشید و برای نفوذهای بعدی که از نقشهبرداریهای قبلی استفاده میکنند، آماده باشید.»
راهکارهای مقابله و تقویت امنیت
💡حملهای هدفمند با ۶۰ پکیج npm، اطلاعات محیط توسعه را جمعآوری کرده تا مسیر حملات آینده را هموار کند. هدف، نقشهبرداری دقیق برای نفوذهای زنجیره تأمین بوده است. |
پس برنامه بازی برای توسعهدهندهها و سازمانها چیست؟ وقتش رسیده که امنیت را جدیتر بگیرند. Socket پیشنهاد میکند: «مدافعان باید ابزارهای اسکن وابستگی استفاده کنند که اسکریپتهای پس از نصب، آدرسهای ثابت (Hardcoded) و فایلهای Tarball غیرعادی کوچک را شناسایی کنند.» تقویت روند توسعه با چکهای خودکار هم حیاتی است.
ما به روشهای امنیتی قوی نیاز داریم که در هر مرحله از چرخه توسعه نرمافزار برجا بماند؛ یعنی استفاده از ابزارهای اسکن کامل و داشتن شک منطقی نسبت به پکیجهای npm ناشناس یا کمبررسی که ممکن است مخرب باشند. امن کردن زنجیره تأمین نرمافزار یک تلاش همیشگی است و جلوتر بودن همیشه اصل بازی است.
منبع: www.developer-tech.com
دیدگاهتان را بنویسید