فیلتر XSS نرم افزار Microsoft edge ممکن است از دسترس خارج شده باشد

فیلتر XSS نرم افزار Microsoft edge ممکن است از دسترس خارج شده باشد

به گفته Gareth Heyes، محقق شرکت امنیت اینترنتی PortSwigger ، این ویژگی امنیتی مرورگر Microsoft edge متوقف شده است. ویژگی امنیتی مورد نظر "فیلتر XSS" نامیده می‌شود و مکانیزمی امنیتی توسعه یافته توسط شرکت مایکروسافت است که می‌تواند از حملات به سایت از نوع (XSS) در داخل مرورگرها جلوگیری کند. مایکروسافت فیلتر XSS را در سال 2008 برای اولین بار روی اینترنت اکسپلورر 8 طراحی و راه اندازی کرد، و بعداً این ویژگی به نسخه‌ Edge گسترش داده شد و همچنین با سایر مرورگرها مانند Google Chrome و Safari هم تطبیق داده شد. هنگامی که مرورگر یک صفحه را بارگذاری می‌کند ابتدا هدر آن را شناسایی کرده و حافظت‌های امنیتی XSS Filter را بر اساس مقدار آن هدر اجرا می‌کند که می‌تواند یکی از سه مقدار زیر باشد.  هنگامی که مرورگر یک header به صورت "X-XSS-Protection: 0" می‌بیند، فیلتر XSS را غیرفعال می‌کند.  هنگامی که مرورگر یک header به صورت "X-XSS-Protection: 1" می‌بیند، آن صفحه را از کدهایی که الگوهای آن مخصوص حملات XSS هستند، پاکسازی می‌کند.  هنگامی که مرورگر یک header به صورت "X-XSS-Protection: 1؛ mode = block" می‌بیند، در صورت تشخیص الگوهای خاصی از حملات XSS، نمایش هرگونه محتوا در صفحه را بلوکه می‌کند. در سه سال گذشته ، از زمانی که نسخه Edge منتشر شده است ، این نسخه مقدار دوم را به عنوان تنظیم پیش‌فرض مورد استفاده قرار داده‌است، به این معنا که Edge سعی خواهد کرد که کد هر صفحه‌ای را که بارگذاری می‌شود از الگوهای خاص حملات XSS پاکسازی کند، صرف نظر از اینکه آیا header دارای پیکربندی حفاظت X-XSS است یا نه. فیلتر XSS در نسخه edge به صورت پیش‌فرض خاموش نیست اما این هفته Gareth Heyes کشف کرد که edge تنظیمات فیلتر XSS را آنگونه که قبلا اجرا می‌کرد اجرا نمی‌کند. Heyes گفت: فیلتر XSS باید به صورت پیش‌فرض روشن باشد اما اکنون به طور پیش فرض خاموش است و حتی اگر سعی کنیم آن را با "X-XSS-Protection: 1"روشن کنیم باز هم خاموش می‌ماند. دلیل اینکه چرا فیلترXSS به صورت پیشفرض برای همه سایت‌ها خاموش است نامعلوم است، چرا که هیچ اطلاعیه رسمی از مایکروسافت یا تیم Edge منتشر نشده است و به نظر نمی‌رسد که بازنگری در این بخش از مایکروسافت درحال اجرا باشد. به نظر می‌رسد یک نقص یا اشکال باشد زیرا این ویژگی در مرورگر اینترنتی دیگر مایکروسافت یعنی اینترنت اکسپلورر کار می‌کند و به صورت پیش فرض روشن است و اگر مایکروسافت می‌خواست این ویژگی را حذف کند، این کار را در هر دو مرورگر خود انجام می‌داد. علاوه بر این، فیلتر XSS همچنان در Edge می‌تواند فعال شود اما فقط هنگامی که وب سایت‌ها به طور خاص از تنظیم سوم خود استفاده می‌کنند که بیشتر مدیران سایت‌ها از استفاده از آن جلوگیری می‌کنند زیرا بلوک Edge از نمایش همه سایت‌ها با هم طور کامل جلوگیری می‌کند. Heyes افزود: تنها راهی که در واقع می‌توان آن را فعال کرد زمانی است که هدر "X-XSS-Protection: 1؛ mode = block" فعال باشد. راهی برای حذف فیلتر XSS محققان PortSwigger یک مورد را طراحی کرده‌اند که حذف فیلترXSS نیز ممکن است یک ایده خوب باشد و به همین دلیل است که بسیاری از محققان امنیتی در مورد آن شکایتی ندارند.  اولاً بسیاری از محققان این ویژگی را کنار گذاشته‌اند و یا از آن در مقابل حملات دیگر به زیرلایه browser استفاده می‌کنند.  دوماً مرورگر Mozilla هرگز از این ویژگی پشتیبانی نمی‌کند و هرگز از این قابلیت برای تبدیل شدن به یک مکانیسم cross-browser-supported anti-XSS پشتیبانی نکرده است.  سوماً با توجه به پورتال MDN که سایت اسناد رسمی ویژگی‌های وب است ، ویژگی فیلتر XSS دیگر به اندازه‌ی قبل اهمیت ندارد. هنگامیکه سایت‌ها یک سیاست امنیتی قوی را اجرا می‌کنند که قابلیت استفاده از inline JavaScript ('unsafe-inline') را غیرفعال می‌کند، در مرورگرهای مدرن این محافظت‌ها غیرممکن است. در حالی که این فیلتر XSS هنوز هم می‌تواند حمایت‌هایی را برای کاربران مرورگرهای قدیمی‌تر که هنوز از CSP پشتیبانی نمی‌کنند، فراهم کند.  چهارماً این ویژگی اغلب توسط مدیران وب سایت اشتباه گرفته شده و بد پیکربندی می‌شود ، از این رو به ندرت پتانسیل کامل آن مورد استفاده قرار می‌گیرد. بنابراین، حتی اگر این یک اشکال باشد یا اینکه مایکروسافت آن‌را با هدفی غیرفعال کرده باشد ، به نظر می‌رسد که این ویژگی طرفداران آنچنان زیادی ندارد که دوباره راه اندازی شود.