FixVibe
Covered by FixVibemedium

پیکربندی ناکافی هدر امنیتی

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

CWE-693

تاثیر

فقدان هدرهای امنیتی به مهاجمان اجازه می‌دهد تا جک کردن کلیک، سرقت کوکی‌های جلسه، یا اجرای برنامه‌نویسی متقابل سایت (XSS) [S1] را انجام دهند. بدون این دستورالعمل‌ها، مرورگرها نمی‌توانند مرزهای امنیتی را اعمال کنند، که منجر به حذف احتمالی داده‌ها و اقدامات غیرمجاز کاربر [S2] می‌شود.

علت اصلی

این مشکل ناشی از عدم پیکربندی سرورهای وب یا چارچوب‌های برنامه برای گنجاندن هدرهای امنیتی استاندارد HTTP است. در حالی که توسعه اغلب HTML و CSS کاربردی [S1] را اولویت بندی می کند، پیکربندی های امنیتی اغلب حذف می شوند. ابزارهای حسابرسی مانند رصدخانه MDN برای شناسایی این لایه‌های دفاعی از دست رفته و اطمینان از ایمن بودن تعامل بین مرورگر و سرور طراحی شده‌اند. [S2].

جزئیات فنی

هدرهای امنیتی دستورالعمل‌های امنیتی خاصی را برای کاهش آسیب‌پذیری‌های رایج به مرورگر ارائه می‌کنند:

  • خط مشی امنیت محتوا (CSP): کنترل می کند کدام منابع می توانند بارگذاری شوند، از اجرای غیرمجاز اسکریپت و تزریق داده ها جلوگیری می کند [S1].
  • امنیت حمل و نقل دقیق (HSTS): اطمینان حاصل می کند که مرورگر فقط از طریق اتصالات امن HTTPS [S2] ارتباط برقرار می کند.
  • X-Frame-Options: از رندر شدن برنامه در iframe جلوگیری می کند، که یک دفاع اولیه در برابر کلیک جک [S1] است.
  • X-Content-Type-Options: از تفسیر فایل ها به عنوان یک نوع MIME متفاوت از آنچه مشخص شده است توسط مرورگر جلوگیری می کند و حملات MIME-sniffing [S2] را متوقف می کند.

چگونه FixVibe آن را آزمایش می کند

FixVibe می تواند این را با تجزیه و تحلیل هدرهای پاسخ HTTP یک برنامه وب تشخیص دهد. با محک زدن نتایج با استانداردهای رصدخانه MDN [S2]، FixVibe می تواند سرصفحه های گمشده یا پیکربندی نادرست مانند CSP، ZXCVFIXVIBETOKEN، و XCVFIXCVBETOKEN4ZX را پرچم گذاری کند.

رفع کنید

سرور وب (به عنوان مثال، Nginx، Apache) یا میان افزار برنامه را به روز کنید تا سرصفحه های زیر را در همه پاسخ ها به عنوان بخشی از وضعیت امنیتی استاندارد [S1] شامل شود:

  • Content-Security-Policy: منابع منابع را به دامنه های قابل اعتماد محدود کنید.
  • Strict-Transport-Security: HTTPS را با max-age طولانی اعمال کنید.
  • X-Content-Type-Options: روی nosniff [S2] تنظیم کنید.
  • X-Frame-Options: روی DENY یا SAMEORIGIN تنظیم کنید تا از کلیک جک جلوگیری شود [S1].