نفوذ به NPM در Axios

نفوذ به Axios npm: چه اتفاقی افتاده، چه کسی تحت تأثیر قرار گرفته و چگونه می‌توان از آن جلوگیری کرد

TL؛ DR

سازش axios npm نشان می‌دهد چگونه حملات زنجیره تأمین مدرن از وابستگی‌های قابل اعتماد برای دسترسی به داده‌های حساس در زمان اجرا سوءاستفاده می‌کند. این حادثه توسط چندین محقق امنیتی، از جمله تجزیه و تحلیل دقیق از موارد زیر، مورد تجزیه و تحلیل قرار گرفته است. Unit42 پوشش صنعت با برجسته کردن الگوهای انتساب مرتبط با فعالیت دولت-ملت.

این حادثه موارد زیر را تحت تأثیر قرار می‌دهد:

  • تیم‌های DevOps در حال اجرا هستند CI/CD pipelineبا احراز هویت مبتنی بر محیط
  • سرویس‌های بک‌اند که درخواست‌های احراز هویت شده API را مدیریت می‌کنند
  • برنامه‌هایی که از axios برای ارتباطات HTTP داخلی و خارجی استفاده می‌کنند

از آنجا که axios در لایه درخواست قرار دارد، یک نسخه آسیب‌پذیر می‌تواند به موارد زیر دسترسی داشته باشد:

  • سربرگ‌های مجوز و توکن های API
  • متغیرهای محیطی و رمزها
  • ارتباطات داخلی خدمات

تأثیر واقعی خودِ وابستگی نیست، بلکه چیزی است که پس از اجرا می‌تواند به آن دسترسی پیدا کند.

اقدامات فوری:

  • قفل کردن نسخه‌های وابستگی و بررسی به‌روزرسانی‌های اخیر
  • چرخاندن کلیدها، توکن‌ها و APIها CI/CD مدارک تحصیلی
  • نظارت بر درخواست‌های خروجی و فعالیت‌های احراز هویت
  • ممیزی pipelineبرای اسرار فاش شده

چه اتفاقی در حمله npm در Axios افتاد؟

حادثه‌ی اکسیوس از الگوی رو به رشدی در حملات زنجیره‌ی تأمین پیروی می‌کند که در آن مهاجمان به جای آسیب‌پذیری‌های برنامه‌های کاربردی، وابستگی‌های پرکاربرد را هدف قرار می‌دهند.

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

از آنجا که axios یکی از پرکاربردترین کلاینت‌های HTTP در اکوسیستم جاوا اسکریپت است، عمیقاً با موارد زیر یکپارچه شده است:

  • خدمات بک‌اند
  • برنامه‌های کاربردی فرانت‌اند
  • CI/CD pipelines

این آن را به یک هدف با ارزش بالا تبدیل می‌کند.

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

این نفوذ همچنین توجه گسترده‌تری را فراتر از جامعه امنیتی به خود جلب کرد، و گزارش‌هایی مانند Axios منتشر شد. پوشش 
با اشاره به پیوندهای احتمالی با بازیگران تهدید پیشرفته و کمپین‌های هماهنگ.

 

حمله Axios در زمان اجرا چه کاری انجام می‌دهد؟

کلید درک این حمله، تمرکز بر رفتار زمان اجرا است.

Axios در لایه HTTP عمل می‌کند، به این معنی که درخواست‌های خروجی را مدیریت می‌کند. این امر به آن امکان مشاهده مستقیم داده‌های حساسی را می‌دهد که در برنامه جریان دارند.

یک نسخه آسیب‌پذیر می‌تواند:

  • درخواست‌های خروجی را قبل از ارسال رهگیری کنید
  • گرفتن Authorization هدرها و توکن‌های API
  • دسترسی به متغیرهای محیطی از طریق process.env
  • ارتباط بین سرویس‌های داخلی را مشاهده کنید

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

در عین حال، دسترسی به متغیرهای محیطی به مهاجمان اجازه می‌دهد تا بدون تغییر منطق برنامه، اعتبارنامه‌ها را بازیابی کنند.

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

 

جریان حمله Axios: از بسته‌ی آلوده تا افشای اطلاعات محرمانه

1. سازش

یک مهاجم کنترل یک حساب کاربری نگهدارنده‌ی مورد اعتماد یا مسیر انتشار بسته در اکوسیستم axios را به دست می‌گیرد.

2 توزیع

نسخه‌های مخرب در npm منتشر شده و به دستگاه‌های توسعه‌دهندگان منتقل می‌شوند، CI/CD pipelineو ساخت برنامه از طریق به‌روزرسانی‌های وابستگی عادی انجام می‌شود.

۳. اجرای زمان اجرا

این payload زمانی اجرا می‌شود که axios وارد شده و مورد استفاده قرار گیرد و همان امتیازات زمان اجرای برنامه را به ارث می‌برد.

۴. دسترسی مخفی

وابستگیِ آسیب‌دیده، قابلیت مشاهده‌ی هدرها، توکن‌ها، متغیرهای محیطی و ارتباطات داخلی HTTP را به دست می‌آورد.

۵. خروج مواد از سیستم

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

شاخص های سازش (IoCs)

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

چگونه این IoCها را تفسیر کنیم

اگرچه این شاخص‌ها مفید هستند، اما نباید به عنوان یک استراتژی کامل برای تشخیص در نظر گرفته شوند.

در عمل، حملاتی از این دست به ندرت به یک سیگنال ثابت متکی هستند. دامنه‌ها تغییر می‌کنند، پیلودها تکامل می‌یابند و هش‌ها به سرعت منسوخ می‌شوند. چیزی که ثابت می‌ماند، رفتار است.

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

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

به عبارت دیگر، IoCها به شما کمک می‌کنند تا یک حادثه را تأیید کنید.

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

دسته بندی شاخص جزئیات
بسته axios@1.14.1 شاسوم: 2553649f2322049666871cea80a5d0d6adc700ca
بسته axios@0.30.4 شاسوم: d6f3f62fd3b9f5432f5782b62d8cfd5247d5ee71
وابستگی plain-crypto-js@4.2.1 شاسوم: 07d889e2dadce6f3910dcbc253317d28ca61c766
شبکه ارتباطی sfrclak[.]com حوزه فرماندهی و کنترل
شبکه ارتباطی 142.11.206[.]73 IP زیرساخت مرتبط
شبکه ارتباطی http://sfrclak[.]com:8000/6202033 نقطه پایانی خروج مشاهده شده
از MacOS /Library/Caches/com.apple.act.mond SHA256: 92ff08773995ebc8d55ec4b8e1a225d0d1e51efa4ef88b8849d0071230c9645a
ویندوز %PROGRAMDATA%\wt.exe مصنوع پایداری بالقوه
ویندوز %TEMP%\6202033.vbs مصنوع اجرایی مبتنی بر اسکریپت
ویندوز %TEMP%\6202033.ps1 بار داده پاورشل. SHA256: 617b67a8e1210e4fc87c92d1d1da45a2f311c08d26e89b12307cf583c900d101
لینـوکــس /tmp/ld.py SHA256: fcb81618bb15edfdedfb638b4c08a2af9cac9ecfa551af135a8402bf980375cf

یادداشت تحقیق: این IoCها نقطه شروع مفیدی برای شکار تهدید هستند. با این حال، مهاجمان می‌توانند دامنه‌ها، پیلودها و مصنوعات را به سرعت تغییر دهند. به همین دلیل، تیم‌ها باید این شاخص‌ها را با سیگنال‌های رفتاری مانند ترافیک HTTP خروجی غیرمنتظره، دسترسی غیرعادی به process.envو به‌روزرسانی‌های وابستگی غیرمعمول.

مثال: چگونه یک وابستگی npm آسیب‌پذیر Axios می‌تواند داده‌ها را استخراج کند

برای درک نحوه‌ی عملکرد این حمله‌ی Axios npm در عمل، یک مثال ساده‌شده را در نظر بگیرید.

Axios به توسعه‌دهندگان اجازه می‌دهد تا رهگیرهای درخواست (request interceptors) را تعریف کنند. این رهگیرها قبل از هر درخواست HTTP به طور خودکار اجرا می‌شوند.

یک نسخه مخرب از axios می‌تواند از این مکانیزم سوءاستفاده کند:

چرا حمله Axios npm خطرناک است؟

در نگاه اول، هیچ مشکلی به نظر نمی‌رسد. درخواست با موفقیت اجرا می‌شود، برنامه مطابق انتظار رفتار می‌کند، و pipelineهمچنان بدون خطا پاس می‌دهند.

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

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

چیزی که این وضعیت را به طور خاص خطرناک می‌کند، نه تنها دسترسی به داده‌ها، بلکه فقدان تأثیر قابل مشاهده است. هیچ اختلالی در عملکرد، هیچ درخواست ناموفقی و هیچ سیگنال فوری مبنی بر وجود مشکل وجود ندارد. از دیدگاه عملیاتی، همه چیز طبق انتظار به کار خود ادامه می‌دهد.

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

چرا این مشکل در درجه اول مربوط به DevOps است؟

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

وابستگی‌ها به صورت خودکار نصب می‌شوند، pipelineبه طور عادی اجرا می‌شوند و هیچ خرابی فوری رخ نمی‌دهد.

همزمان، CI/CD محیط‌ها اغلب اعتبارنامه‌های با ارزش بالا را افشا می‌کنند، از جمله:

  • توکن‌های ارائه‌دهنده ابر
  • کلیدهای استقرار
  • CI/CD اسرار احراز هویت

یک وابستگیِ در معرض خطر که در این زمینه اجرا می‌شود، می‌تواند مستقیماً به آن اعتبارنامه‌ها دسترسی پیدا کند.

این وضعیتی را ایجاد می‌کند که در آن همه چیز عادی به نظر می‌رسد، در حالی که داده‌های حساس در پس‌زمینه در حال دسترسی هستند.

خطر واقعی: افشای مخفیانه در مقیاس بزرگ

نفوذ به axios npm یک تغییر اساسی در استراتژی‌های حمله مدرن را برجسته می‌کند.

هدف دیگر سوءاستفاده از آسیب‌پذیری‌ها نیست، بلکه دسترسی به اعتبارنامه‌های معتبر است.

از آنجا که سیستم‌های مدرن به احراز هویت مبتنی بر محیط متکی هستند، یک وابستگی که در زمان اجرا اجرا می‌شود می‌تواند به موارد زیر دسترسی داشته باشد:

  • کلیدهای API
  • توکن‌های سرویس
  • اعتبارنامه‌های ابری

این اعتبارنامه‌ها نیازی به شکستن ندارند.

آنها فقط باید مورد استفاده قرار گیرند.

این امر مهاجمان را قادر می‌سازد تا با استفاده از احراز هویت قانونی، به صورت جانبی حرکت کنند، به سرویس‌ها دسترسی پیدا کنند و داده‌ها را استخراج کنند.

در نتیجه، تأثیر آن به این بستگی دارد که چه اسراری فاش می‌شوند، نه به نحوه‌ی اجرای حمله.

چرا ابزارهای امنیتی سنتی این را از دست می‌دهند؟

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

با این حال، یک وابستگیِ در معرض خطر ممکن است هیچ شاخص آشکاری نداشته باشد.

ممکن است وجود داشته باشد:

  • بدون CVE
  • بدون امضای مخرب
  • بدون سینتکس غیرطبیعی

در عین حال، تحلیل ایستا رفتار زمان اجرا را ارزیابی نمی‌کند. نمی‌تواند تعیین کند که یک وابستگی پس از اجرا چگونه با داده‌های حساس تعامل دارد.

این باعث ایجاد شکافی می‌شود که در آن کد در طول تحلیل ایمن به نظر می‌رسد اما در طول اجرا پرخطر می‌شود.

نحوه شناسایی و جلوگیری از حملات مشابه npm در Axios

جلوگیری از این نوع حمله Axios npm نیازمند تغییر از بازرسی ایستا به آگاهی در زمان اجرا است.

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

این شامل:

  • نظارت بر دسترسی به داده‌های حساس در زمان اجرا
  • تشخیص اسرار قبل از رسیدن به مخازن
  • پویش pipelineها و مصنوعات برای اعتبارنامه‌های افشا شده
  • مشاهده فعالیت‌های خروجی شبکه برای یافتن ناهنجاری‌ها

با این حال، تشخیص به تنهایی کافی نیست.

از تشخیص تا پیشگیری: چه چیزی واقعاً خطر را کاهش می‌دهد

پس از حادثه‌ای مانند این، تیم‌ها اغلب با تعداد زیادی از اطلاعات احراز هویت بالقوه در معرض خطر مواجه می‌شوند.

چالش، پیدا کردن آنها نیست. چالش، تشخیص این است که کدام یک مهم هستند.

سوال کلیدی این می‌شود:

کدام رازها هنوز معتبر و قابل سوءاستفاده هستند؟

بدون تأیید، تیم‌ها وقت خود را صرف اعتبارنامه‌های غیرفعال می‌کنند در حالی که ریسک‌های واقعی همچنان پابرجا هستند.

پاسخ مؤثر مستلزم موارد زیر است:

  • کشف اسرار فاش شده
  • تأیید اینکه آیا آنها هنوز دسترسی می‌دهند یا خیر
  • لغو یا چرخش سریع آنها

این امر زمان مواجهه را کاهش می‌دهد و پنجره نفوذ مهاجم را محدود می‌کند.

چگونه Xygeni به کاهش ریسک زنجیره تامین کمک می‌کند

شیگنی با ترکیب تشخیص، تأیید و اصلاح در یک گردش کار واحد، این چالش را برطرف می‌کند.

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

این به تیم‌ها اجازه می‌دهد تا روی آنچه مهاجمان می‌توانند واقعاً استفاده کنند تمرکز کنند.

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

در نتیجه، پاسخ سریع‌تر و دقیق‌تر می‌شودcisو کمتر مخرب باشد.

نتیجه

نفوذ به axios npm نشان می‌دهد که حملات زنجیره تأمین چگونه در حال تکامل هستند.

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

برای تیم‌های DevOps، این به معنای درک رفتار زمان اجرا و برای رهبران امنیتی به معنای کاهش سریع و مؤثر میزان آسیب‌پذیری است.

زیرا در محیط‌های مدرن، بزرگترین ریسک، چیزی که اجرا می‌شود نیست.

این چیزی است که پس از اجرا به آن دسترسی پیدا می‌شود.

ابزارهای-نرم‌افزاری-ترکیب-تحلیل-ترکیب-ابزارها
ریسک‌های نرم‌افزاری خود را اولویت‌بندی، اصلاح و ایمن‌سازی کنید
حساب کاربری رایگان خود را دریافت کنید.
بدون کارت اعتباری مورد نیاز است.

توسعه و تحویل نرم‌افزار خود را ایمن کنید

با مجموعه محصولات Xygeni