اوایل ما
به اندازه کافی عجیب، کولسک در ابتدا قادر به بازتولید حمله توصیف و نشان داده شده توسط جان نبود، جایی که از اینترنت اکسپلورر در حال اجرا بر روی ویندوز 7 برای دانلود و سپس باز کردن یک فایل مخرب MHT استفاده کرد. اگرچه مدیر فرآیند او نشان داد که system.ini که قرار بود از خودش دزدیده شود، توسط اسکریپتی که در فایل MHT پنهان شده بود خوانده شد، اما به سرور راه دور ارسال نشد.
کولسک می نویسد: «این شبیه یک موقعیت کلاسیک وب به نظر می رسید. هنگامی که یک فایل از اینترنت دریافت می شود، برنامه های کاربردی ویندوز که به درستی اجرا می شوند مانند مرورگرهای وب و کلاینت های ایمیل، یک برچسب به آن فایل در فرم اضافه می کنند.
محقق تأیید کرد که IE واقعاً چنین برچسبی را برای فایل MHT دانلود شده تنظیم کرده است. سپس کولسک سعی کرد همان فایل را با استفاده از Edge دانلود کند و آن را در IE باز کند، که همچنان برنامه پیشفرض برای فایلهای MHT است. به طور غیر منتظره ای، این اکسپلویت کار کرد.
ابتدا، محقق "mark-of-the-Web" را بررسی کرد، مشخص شد که Edge منبع منشاء فایل را علاوه بر شناسه امنیتی در یک جریان داده جایگزین ذخیره می کند، که ممکن است سوالاتی در مورد حفظ حریم خصوصی این فایل ایجاد کند. روش. کولسک حدس زد که خطوط اضافی ممکن است IE را گیج کرده و از خواندن SID جلوگیری کند، اما همانطور که مشخص شد، مشکل جای دیگری بود. پس از یک تجزیه و تحلیل طولانی، متخصص امنیت علت را در دو ورودی در لیست کنترل دسترسی پیدا کرد که حق خواندن فایل MHT را به یک سرویس سیستم خاص اضافه کرد، که Edge پس از بارگیری آن را در آنجا اضافه کرد.
جیمز فورشاو از تیم اختصاصی آسیبپذیری روز صفر - Google Project Zero -
در مرحله بعد، محقق می خواست بهتر بفهمد که چه چیزی باعث از کار افتادن سیستم امنیتی IE می شود. تجزیه و تحلیل عمیق با استفاده از ابزار Process Monitor و disassembler IDA در نهایت نشان داد که وضوح تنظیم Edge از خواندن جریان فایل Zone.Identifier توسط تابع Win Api GetZoneFromAlternateDataStreamEx جلوگیری می کند و یک خطا را نشان می دهد. برای اینترنت اکسپلورر، چنین خطایی هنگام درخواست برچسب امنیتی یک فایل کاملاً غیرمنتظره بود و ظاهراً مرورگر در نظر گرفت که این خطا معادل این واقعیت است که فایل دارای علامت "mark-of-the-web" نیست. که به طور خودکار آن را قابل اعتماد می کند، پس از اینکه چرا IE به اسکریپت پنهان شده در فایل MHT اجازه اجرا و ارسال فایل محلی مورد نظر را به سرور راه دور داد.
"آیا طنز اینجا را می بینید؟" کولسک می پرسد. "یک ویژگی امنیتی غیرمستند مورد استفاده توسط Edge یک ویژگی موجود و بدون شک بسیار مهمتر (مارک-از-وب) در اینترنت اکسپلورر را خنثی کرد."
با وجود افزایش اهمیت این آسیبپذیری، که به یک اسکریپت مخرب اجازه میدهد تا بهعنوان یک اسکریپت قابل اعتماد اجرا شود، هیچ نشانهای وجود ندارد که مایکروسافت قصد دارد به این زودیها این باگ را برطرف کند، در صورت رفع آن. بنابراین، همچنان توصیه می کنیم که مانند مقاله قبلی، برنامه پیش فرض باز کردن فایل های MHT را به هر مرورگر مدرن تغییر دهید.
البته تحقیقات کولسک بدون کمی خود روابط عمومی نبود. در پایان مقاله، او یک پچ کوچک نوشته شده به زبان اسمبلی را نشان داد که می تواند از سرویس 0patch توسعه یافته توسط شرکتش استفاده کند. 0patch به طور خودکار نرم افزارهای آسیب پذیر را در رایانه کاربر شناسایی می کند و وصله های کوچک را به معنای واقعی کلمه در لحظه روی آن اعمال می کند. به عنوان مثال، در موردی که توضیح دادیم، 0patch پیغام خطا را در تابع GetZoneFromAlternateDataStreamEx با مقداری متناظر با یک فایل نامعتبر دریافت شده از شبکه جایگزین می کند، به طوری که اینترنت اکسپلورر اجازه نمی دهد هیچ اسکریپت مخفی مطابق با ساخته شده اجرا شود. در سیاست امنیتی
منبع: 3dnews.ru