

بر اساس گزارش های منتشر شده توسط شرکت امنیت سایبری WhiteSource، “ابزار محبوب برای ثبت و مدیریت بسته های جاوا اسکریپت NPM توسط تعداد زیادی بسته های مخرب مورد حمله قرار گرفته است.” بر اساس یک مطالعه، تعدادی از این بسته ها برای سرقت اطلاعات، رمزگشایی ارز، بات نت ها و اجرای کد از راه دور طراحی شده اند.
WhiteSource Diffend (پلتفرم تشخیص بدافزار خودکار WhiteSource) در ماه های آخر سال 2021 حدود 1300 بسته مخرب را در NPM شناسایی کرد. این بسته ها در نهایت از این مخزن حذف شدند.
هر بسته شامل مجموعه ای از ویژگی های مفید بازنویسی شده است. امکان فراخوانی این توابع در محیط های برنامه نویسی به جای کدنویسی از ابتدا وجود دارد. Package Manager نیز یک ابزار متن باز است که به نصب یا به روز رسانی این بسته ها کمک می کند. NPM یک مدیر بسته محبوب و یک مخزن محبوب برای ثبت و مدیریت بسته های جاوا اسکریپت است. NPM به طور پیش فرض توسط محیط Node.js استفاده می شود. این مخزن شامل حدود 2 میلیون بسته فعال است و هر یک از این بسته ها به طور میانگین بیش از 12 نسخه دارند.
وایت سورس گفت: «حملهکنندگان دائماً NPM را هدف قرار میدادند. بر اساس گزارش اخیر وایت سورس: «حدود 55 درصد از حملات در سه روز رخ می دهد: جمعه، شنبه و یکشنبه. این حملات معمولاً مربوط به نظارت و تحقیق است و شامل تکنیک هایی است که به مهاجمان کمک می کند تا اطلاعات مهمی را برای دستیابی به اهداف شوم خود جمع آوری کنند (مانند سرقت هویت و سایر اطلاعات مهم بانکی، هویت و غیره).
حملات NPM و تکنیک های منحصر به فرد آنها
برخی از بدافزارهای جدید کشف شده توسط WhiteSource عبارتند از:
- Mos-sass-loader و منابع بارگذاری css: این بسته ها به منظور تقلید از عملکرد بسته های سبک-منبع-لودر-بارگذار saas-loader که از محبوب ترین بسته های NPM هستند و برای تزریق کدهای مخرب برای دانلود بدافزار و اجرای کد از راه دور طراحی شده اند.
- Circle-admin-Web-app و مرورگر-warning-ui: بسته های کد مخرب طراحی شده برای دانلود بسته های سیستم عامل خارجی و کدهای مخرب از راه دور.
- Noopenpaint: یک بسته مخرب بدون کد مخرب که یکسری نرم افزار را به طور خارق العاده راه اندازی می کند و پیام “شما هک شده اید” را نمایش می دهد.
- @grubhubprod_cookbook: این بسته از اعتیادهای گیج کننده[۱] برای هدف قرار دادن Grubhub و تفسیر و ارسال داده ها به مقاصد راه دور استفاده می شود.
- Azure-web-pubsub-express: یک بسته بررسی امنیتی مخرب که هدف آن جمع آوری داده های سیستم و کارت شبکه و ارسال آن به interactsh.com است.
- Reac1 و reect1: بسته ای که ظاهراً به عنوان یک بسته تحقیقاتی طراحی شده است که سعی می کند درخواست های http را از سیستم میزبان به webhook.com هدایت کند.
- Mrg-message-broker: این بسته مانند @grubhubprod_cookbook از ابهام وابستگی برای سرقت داده ها از محیط میزبان استفاده می کند.
- @ sixt-web / api-client-sixt-v2-apps: این بسته همچنین داده های سیستم را بسته به مبهم سازی در حین نصب جمع آوری می کند.
- @ maui-mf / app-auth: یک بسته حمله جعل درخواست سرور که برای جمع آوری اطلاعات از خدمات وب آمازون و ارسال آن به یک دامنه جعلی طراحی شده است.
هدف این حملات معمولاً رمزگذاری ارز، سرقت داده ها، اجرای بات نت و در قالب بسته های کاربردی (مانند بررسی های امنیتی) است. بسته های اعتبارسنجی امنیتی به نظر می رسد که نقش نرم افزار تجزیه و تحلیل، تأیید و ارزیابی امنیتی را بازی می کنند، اما در واقع شامل ابزارهایی برای اجرای کد از راه دور برای دسترسی کامل به سیستم میزبان هستند.
سایر بسته های غیر مخرب شامل اسکریپت ها، کلمات کلیدی و ترفندهای سئو هستند. Maciej Mansfeld، مدیر ارشد پروژه در WhiteSource میگوید: «اسکریپتها بستههایی هستند که بیضرر هستند و برای جمعآوری دادهها طراحی نشدهاند، اما پیامهای آزاردهندهای مانند «هک شدهاید» را نشان میدهند. حملات سایبری همچنین بسته های مخربی را طراحی کرده اند تا از این واقعیت استفاده کنند که NPM فایل بسته README را در رجیستری آنلاین خود نمایش می دهد تا SEO وب سایت های خود را بهبود بخشد. طبق مطالعه ای که توسط تیم امنیتی ما انجام شد، برخی از کازینوهای آنلاین و وب سایت های پورنوگرافی از این مشکل سوء استفاده می کنند.
سردرگمی وابستگی[۱]یک تهدید جدی
کارشناسان امنیتی WhiteSource میگویند: «مهاجم برای انجام حملاتی که از ابهام وابستگی در NPM استفاده میکنند، مجبور نیستند کد را به صورت دستی دانلود کنند. بنابراین باید مراقب این حملات باشید و اقدامات احتیاطی را انجام دهید.»
به گفته منسفلد، “حمله ابهام وابستگی یکی از حملات زنجیره تامین است که زمانی رخ می دهد که ابزار مدیریت بسته دستکاری شود و کد مخرب به جای کد اصلی ارائه شود.”
استفاده از مکانیسم اولویتبندی ابزار مدیریت بسته برای ارائه آخرین و بهروزترین نسخه یکی از رویکردهای رایج برای بهرهبرداری از این آسیبپذیری است. در این روش، مهاجمان ابتدا نام بسته وابستگی داخلی را پیدا می کنند و سپس یک بسته عمومی با همان نام بسته مورد نظر اما با شماره نسخه بالاتر ایجاد می کنند. به این ترتیب پکیج منیجر به بسته عمومی مخرب اولویت بیشتری می دهد و به محض فراخوانی آپدیت، نسخه مخرب به صورت خودکار نصب می شود.
چگونه در NPM ایمن بمانیم؟
توصیه میشود که سیاست اعتماد صفر را برای سیستمهای خود اعمال کنید و تنها در صورتی که از محتوای بستهها اطمینان کامل دارید، بهروزرسانیها را انجام دهید. همچنین باید به طور منظم تغییرات را رصد کنید و با نظارت کامل و دقیق بر محیط توسعه محصول و چرخه عمر، به طور یکپارچه در یک محیط مجزا ادغام شوید.
به گفته منسفلد: “پکیج های نظارتی که اجزای راه دور را در حین نصب دانلود می کنند، و همچنین نظارت بر تمام اجزای مورد استفاده توسط سیستم پشتیبانی عملیات، اقدامات عملی برای تضمین امنیت کاربران نهایی NPM هستند.”
[۱] یک حمله سردرگمی اعتیاد زمانی اتفاق میافتد که یک اسکریپت نصب نرمافزار فریب خورده و یک فایل کد مخرب را از یک مخزن عمومی به جای فایلی به همین نام از یک مخزن داخلی بازیابی کند.
منبع: csoonline