آسیبپذیری که بهتازگی در مرورگر Microsoft Edge یافت شده، مهاجمین را قادر میسازد که به فایلهای شخصی افرادی که از نسخهی آسیبپذیر این مرورگر استفاده مینمایند، دستبرد بزنند. این آسیبپذیری در نسخهی 17.8600.40445.0 این مرورگر وجود دارد، که هکرها آن را یافته و توانستند آن را Exploit نماید.
مرورگر Edge امکانات امنیتی تازه و متعددی برای کاربران فراهم آورده است و تیم سازندهی آن همواره با یک Content Security Policy یا به اختصار CSP مشخص بر روی آن متمرکز بودهاند.
این نقص امنیتی در Same Origin Policy یا به اختصار SOP یافت شده که به مهاجم اجازه میدهد فرمت خاصی از URL را به مرورگر تزریق نموده و به محتوای هر فایل Local دسترسی پیدا کند.
سناریوی حمله به آسیبپذیری مرورگر Edge
مرورگر Edge و دیگر مرورگرهایی که از SOP پشتیبانی مینمایند اصولاً مانع دسترسی مهاجمی میشوند که با Load نمودن URL بدافزار سعی دارند به فایلهایی دسترسی پیدا کنند که کاربران در کامپیوترهایشان ذخیره کردهاند.
درصورتی که مهاجم بخواهد با استفاده از یک درخواست صادرشده توسط Java به دادههای Local دسترسی پیدا کند، پروتکل و پورت باید یکسان باشند که این موضوع امری غیرممکن است چرا که دو پروتکل //:file و //:https کاملاً متفاوت هستند.
در این حالت مهاجم نمیتواند به فایلهای Local دسترسی پیدا کند، ولی میتوان با سناریویی دیگر و استفاده از دو فایل URL متفاوت که نه Hostname دارند و نه پورت، از این خط امنیتی عبور کرد.
پس میتوان با استفاده از دو URL فایل (//:file) که سرانجام Origin یکسان را در سیستم هدف ایجاد مینمایند، حمله را به انجام رساند. این امر سه دلیل دارد:
- پورتها یکسان است: چرا که هر دو، فاقد پورت میباشند.
- Hostnameها مطابق است: هر دو فاقد Hostname میباشند.
- Scheme پروتکل یکسان است: هر دو از //:file استفاده مینمایند.
در این مورد، SOP متعلق به مرورگر Edge نمیتواند دو URL مشابه را تأیید نماید چرا که هیچیک پورت و Hostname نداشته و هر دو از پروتکل مشابه (//:file) استفاده مینمایند و مهاجم میتواند قربانیان را فریب دهد که فایل HTML بدافزار را باز نمایند. فایل HTML حاوی کد بدافزاری میباشد که همانطور که پیشتر گفتیم، پروتکل //:file را که Local میباشد و نه Hostname دارد و نه پورت، Load میکند و سرانجام هنگامیکه قربانی URL بدافزار را اجرا کند، این بدافزار پس از Load شدن به سیستم Local، فایلهای Local کامپیوتر قربانی را میخواند.
یکی از محققان ایمیلی از کامپیوتر دیگری ایجاد نموده، فایل را به آن پیوست کرد و سپس این فایل پیوست را در برنامههای Mail و Calendar باز نمود و در کمال تعجب مشاهده کرد که این روش عملی است. وی انتظار داشت که برنامه، مثل مرورگر Edge، از اجرا شدن این پیوست جلوگیری نماید اما اینگونه نشد. او ایمیل را با پیوست آلوده ارسال نمود و منتظر ماند تا یک کاربر آن را باز نماید. بلافاصله پس از اجرا، فایل پیوست میتواند فایلهای Local انتخابی را برای سرور وی ارسال نموده و او میتواند فایلهای موجود بر روی آن سرور را ذخیره نموده و بخواند. به احتمال قوی هیچ نرمافزار آنتیویروسی وجود ندارد که این فایل پیوست را بهعنوان بدافزار شناسایی نماید و مهاجم میتواند فایلهای انتخابی را از طریق یک اتصال HTTPS ایمن، استخراج کند.
از اینرو برای جلوگیری از این حمله، تمام کاربران مرورگر Edge باید مرورگر خود و برنامههای کاربردی Windows Mail و Calendar را بهروزرسانی نموده و همچنین از باز نمودن فایلهای پیوست که از جانب ارسالکنندگان ناشناس دریافت شدهاند، اجتناب نمایند.
این آسیبپذیری را میتوان با استفاده از کد POC ذیل و تغییر آن در فایل HTML، Exploit نمود:
مایکروسافت این آسیبپذیری را (CVE-2018-0871) رفع نمود و Patch مربوطه را در بروزرسانی امنیتی ماهانهی سال 2018 منتشر کرد.