cross-origin

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

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

به دلایل امنیتی، مرورگرهای وب مدرن به وب‌سایت‌ها اجازه نمی‌دهند درخواست‌های cross-origin مبنی بر یک دامنه متفاوت ایجاد کنند، مگر اینکه یک دامنه به‌صراحت آن را اجازه داده باشد.

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

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

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

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

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

Wavethrough

در یک پست وبلاگ که در تاریخ ۲۰ ژوئن ۲۰۱۸ منتشر شده[۱]، Archibald جزئیات این آسیب‌پذیری که آن را Wavethrough نامیده است توضیح می‌دهد که چگونه یک مهاجم می‌تواند از این ویژگی برای دور زدن حفاظت‌هایی که توسط مرورگرها پیاده‌سازی می‌شود که از درخواست‌های cross-origin جلوگیری می‌کنند، استفاده کند.

Archibald دراین‌باره توضیح می‌دهد: “اشکالات زمانی آغاز شد که مرورگرها درخواست‌های محدوده‌ای(۱) برای عناصر رسانه‌ای پیاده‌سازی کردند که توسط استاندارد پوشش داده نمی‌شد. این درخواست‌های محدوده‌ای واقعاً مفید بود، بنابراین تمام مرورگرها آن را با کپی کردن رفتار دیگران انجام دادند، اما هیچ‌کس آن را به استاندارد مربوطه متصل نکرد.”

با توجه به Archibald، این نقص می‌تواند توسط یک وب‌سایت مخرب با استفاده از یک فایل رسانه جاسازی‌شده در صفحه وب مورد بهره‌برداری قرار گیرد، که در صورت پخش، فقط محتوای جزئی از سرور خود را ارائه می‌دهد و از مرورگر درخواست می‌کند تا بقیه فایل را از یک منبع دیگر استخراج کند که در حقیقت مرورگر را مجبور می‌کند تا یک درخواست cross-origin را تولید کند.

درخواست دوم، که درواقع یک درخواست cross-origin است و باید محدود شود، موفقیت‌آمیز خواهد بود زیرا مخلوط کردن داده‌های قابل‌مشاهده و مبهم برای یک فایل رسانه‌ای امکان‌پذیر است و به یک وب‌سایت امکان می‌دهد که محتوا را از دیگران سرقت کند.

Archibald دراین‌باره می‌گوید: “من یک سایت را ایجاد کرده‌ام. از یک هدر PCM WAV استفاده کردم چون همه‌چیز بعد از هدر، داده‌های معتبر است و هر چیزی فیسبوک بازگرداند به‌عنوان یک صوتِ غیر فشرده با آن رفتار می‌شود”.

Archibald همچنین یک ویدیو[۲] و یک اثبات ادعا را منتشر کرده است که نشان می‌دهد چگونه یک وب‌سایت مخرب می‌تواند داده‌های خصوصی شما را از وب‌سایت‌هایی مانند جی‌میل و فیسبوک استخراج کند که پاسخ آن برای سایت مخرب همانند پاسخی است که مرورگر شما برای شما بارگیری خواهد کرد.

ازآنجایی‌که کروم و Safari در حال حاضر دارای یک سیاست برای جلوگیری از چنین درخواست‌های cross-origin دارند و به‌محض اینکه یک تغییر مسیر پس از آشکار شدن محتوای اساسی بین درخواست‌ها مشاهده کنند آن را نمی‌پذیرند، کاربرانشان نسبت به این آسیب‌پذیری محافظت شده‌اند.

Archibald دراین‌باره می‌گوید: “به همین دلیل است که استانداردها مهم هستند. من معتقدم کروم یک مسئله امنیتی مشابه در قدیم داشته است، اما به‌جای اینکه فقط آن را در کروم برطرف کند، این اصلاح باید به‌صورت یک استاندارد نوشته شود و آزمایش‌ها باید برای دیگر مرورگرها نیز برای بررسی نوشته شود.”

مرورگرهای فایرفاکس و Edge که نسبت به این مسئله آسیب‌پذیر هستند نیز این آسیب‌پذیری را در آخرین نسخه خود برطرف کرده‌اند، پس‌ازآن که Archibald این مسئله را به تیم امنیتی آن‌ها گزارش داده است.

بنابراین، به کاربران فایرفاکس و Edge به‌شدت توصیه می‌شود تا مطمئن شوند که آخرین نسخه از این مرورگرها را اجرا می‌کنند.

منابع

[۱] https://jakearchibald.com/2018/i-discovered-a-browser-bug/

[۲] https://youtu.be/D5wu_za7ows

[۳] https://thehackernews.com/2018/06/browser-cross-origin-vulnerability.html


(۱) range