خانه » آسیب پذیری قدیمی ۱۸ ساله در مرورگرهای فایرفاکس، کروم و سافاری

آسیب پذیری قدیمی ۱۸ ساله در مرورگرهای فایرفاکس، کروم و سافاری

توسط Vulnerbyte
107 بازدید
0.0.0.0 Day - آسیب پذیری 0.0.0.0 Day

یک نقص امنیتی قدیمی 18 ساله به نام آسیب پذیری 0.0.0.0 Day کشف شده است که به وب سایت‌های مخرب اجازه می‌دهد تا امنیت مرورگرهای کروم، موزیلا فایرفاکس و سافاری اپل را دور بزنند و با سرویس‌های شبکه لوکال تعامل داشته باشند.

البته لازم به ذکر است که این آسیب پذیری تنها بر روی دستگاه‌های لینوکس و macOS تأثیر می‌گذارد و سیستم‌های ویندوز را شامل نمی‌شود.

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

علیرغم گزارش این آسیب پذیری در سال 2006، این باگ همچنان در مرورگرهای کروم، فایرفاکس و سافاری حل نشده باقی مانده است.

0.0.0.0 Day - آسیب پذیری 0.0.0.0 Day
گزارش ۱۸ سال قبل (سال ۲۰۰۶)

محققان Oligo Security گزارش کرده‌اند که این آسیب پذیری، نه تنها حملات را از نظر تئوری امکان پذیر کرده است، بلکه چندین مهاجم سایبری نیز مشاهده شده است که از این آسیب پذیری به عنوان بخشی از زنجیره حمله خود سوء استفاده کرده‌اند.

 

آسیب پذیری 0.0.0.0 Day

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

0.0.0.0 به طور معمول، نشان دهنده تمام آدرس‌های IP در ماشین لوکال یا تمام اینترفیس‌های شبکه در میزبان (Host) است. 0.0.0.0 می‌تواند به عنوان یک آدرس placeholder  در درخواست‌های DHCP استفاده شود و یا در صورت استفاده در شبکه‌های لوکال به عنوان میزبان لوکال (127.0.0.1) در نظر گرفته شود.

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

مکانیزم‌های حفاظتی موجود مانند اشتراگ گذاری بین منابعی (اشتراک‌گذاری منابع متقاطع یا اشتراک گذاری بین منابع مختلف) (CORS) و دسترسی به شبکه خصوصی (PNA) نمی‌توانند این فعالیت خطرناک را متوقف کنند.

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

0.0.0.0 Day - آسیب پذیری 0.0.0.0 Day
مکانیزم CORS

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

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

ویژگی امنیتی دسترسی به شبکه خصوصی (PNA) با مسدود کردن هرگونه درخواستی که برای اتصال به آدرس‌های IP لوکال یا خصوصی در نظر گرفته می‌شوند، کمی متفاوت از CORS عمل می‌کند.

با این حال، تحقیقات Oligo نشان داد که آدرس IP ویژه 0.0.0.0 در لیست آدرس‌های PNA محدود گنجانده نشده است (به عنوان مثال، 127.0.0.1). از این رو، این پیاده سازی نیز ضعیف می‌باشد.

بنابراین، اگر درخواستی در حالت “no-cors” به این آدرس ویژه (0.0.0.0) ارسال شود، می‌تواند PNA را دور بزند و همچنان به URL سرور وب که روی 127.0.0.1 اجرا می‌شود، متصل گردد.

متاسفانه Oligo Security چندین مورد را شناسایی کرده است که در آن آسیب ‌پذیری 0.0.0.0 Day تحت حملات فعال، مورد سوء استفاده قرار گرفته است.

نمونه‌ای از این حملات، ShadowRay می‌باشد که workloadهای هوش مصنوعی که به صورت لوکال بر روی ماشین‌های توسعه دهندگان (کلاسترهای Ray) اجرا می‌شوند، مورد هدف قرار داده است.

این حمله با کلیک قربانی بر روی لینکی که از طریق ایمیل ارسال شده است و یا در یک سایت مخرب وجود دارد، آغاز می‌شود. کلیکِ قربانی، کد جاوا اسکریپت را برای ارسال یک درخواست HTTP به http://0[.]0[.]0[.]0:8265 که معمولا توسط Ray استفاده می‌شود، فعال می‌کند.

این درخواست‌ها پس از رسیدن به کلاستر Ray لوکال، سناریوهای اجرای کد دلخواه، شل معکوس و تغییرات پیکربندی را اجرا می‌کنند.

اکسپلویت مورد استفاده در حمله ShadowRay
اکسپلویت مورد استفاده در حمله ShadowRay

یک نمونه دیگر از این دست حملات (آسیب ‌پذیری 0.0.0.0 Day)، حمله‌ای است که سلنیوم گرید (Selenium Grid) را مورد هدف قرار داده است. این حمله توسط Wiz  در ماه گذشته کشف شد. هکرها در این حمله از جاوا اسکریپت در یک دامنه عمومی برای ارسال درخواست بهhttp://0[.]0[.]0[.]0:4444  استفاده کردند.

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

درخواست مخربی که در حملات سلنیوم مشاهده شده است
درخواست مخربی که در حملات سلنیوم مشاهده شده است

سومین مورد نیز آسیب ‌پذیری ShellTorch است که توسط Oligo در اکتبر 2023 گزارش شد. پنل وب TorchServe در واقع به‌ جای لوکال هاست (localhost) به ‌صورت پیش‌فرض به آدرس آی پی 0.0.0.0 متصل می‌شود و آن را در معرض درخواست‌های مخرب قرار میدهد.

 

پاسخ های ارائه شده از سوی توسعه دهندگان مرورگرها

Oligo ادعا می‌کند که از ماه گذشته تعداد وب سایت‌هایی که با آدرس 0.0.0.0 ارتباط برقرار می‌کنند، افزایش یافته و تعداد آن‌ها از صد هزار مورد فراتر رفته است.

0.0.0.0 Day - آسیب پذیری 0.0.0.0 Day
تعداد وب سایت‌های عمومی که با 0.0.0.0 در ارتباط هستند

توسعه دهندگان مرورگرهای وب در پاسخ به افشای این فعالیت توسط Oligo، شروع به اقداماتی کردند:

  • گوگل کروم، محبوب‌ترین مرورگر وب جهان، تصمیم گرفته است تا از طریق عرضه تدریجی از نسخه 128 (آینده) تا نسخه 133، اقدامی انجام دهد و دسترسی به 0.0.0 را مسدود کند.
  • موزیلا فایرفاکس نیز در حال حاضر PNA را پیاده سازی نمی‌کند اما توسعه آن در اولویت قرار داده است. تا زمانی که PNA پیاده سازی نگردد، یک اصلاحیه موقت ارائه خواهد شد اما تاریخ عرضه آن هنوز مشخص نیست.
  • اپل بررسی‌های بیشتر IP را در مرورگر سافاری از طریق تغییرات WebKit پیاده سازی کرده است و دسترسی به 0.0.0 را در نسخه 18 (آینده) که با macOS Sequoia معرفی می‌شود، مسدود خواهد کرد.

Oligo توصیه می‌کند تا زمانی که اصلاحات مرورگر انجام نشده است، توسعه دهندگان اقدامات امنیتی زیر را اجرا کنند:

  • هدرهای PNA را پیاده سازی کنید.
  • هدرهای HOST را تأیید کنید تا در برابر حملات DNS مجدداً bind شوند.
  • به لوکال هاست اعتماد نکنید و مجوزها را به صورت لوکال اضافه کنید.
  • در صورت امکان از HTTPS استفاده کنید.
  • توکن‌های CSRF را حتی برای برنامه‌های لوکال پیاده‌سازی کنید.

مهم‌تر از همه، توسعه‌دهندگان می‌بایست به خاطر داشته باشند که تا زمانی که اصلاحات ارائه نشده است، این امکان برای وب ‌سایت‌های مخرب وجود دارد که درخواست‌های HTTP را به آدرس‌های IP داخلی هدایت کنند. بنابراین، آنها باید این ملاحظات امنیتی را هنگام توسعه برنامه‌های خود در نظر داشته باشند.

 

منابع

همچنین ممکن است دوست داشته باشید

پیام بگذارید