Незадокументована функція Edge порушує систему безпеки Internet Explorer

Раніше ми вже писали про виявлену вразливість нульового дня в Internet Explorer, яка дозволяє за допомогою спеціально підготовленого файлу MHT завантажити інформацію з комп'ютера користувача на віддалений сервер. Нещодавно цю вразливість, виявлену фахівцем з безпеки Джоном Пейджем, вирішив перевірити та вивчити інший відомий фахівець у цій галузі — Мітя Колсек, директор компанії ACROS Security, що займається аудитом безпеки, та співзасновник сервісу мікропатчів 0patch. Він опублікував повну хроніку свого розслідування, вказавши те що, що Microsoft значно недооцінила серйозність проблеми.

Незадокументована функція Edge порушує систему безпеки Internet Explorer

Як не дивно, спочатку Колсек не зміг відтворити описану і продемонстровану Джоном атаку, коли він використовував Internet Explorer, який працює в Windows 7, щоб завантажити, а потім відкрити шкідливий MHT-файл. Хоча його менеджер процесів показав, що system.ini, який планувалося викрасти у себе, був прочитаний захованим в MHT-файлі скриптом, але не був відправлений на віддалений сервер.

"Це виглядало як класична ситуація роботи так званої "мітки для файлу, отриманого з мережі (англ. mark-of-the-Web)", - пише Колсек. «Коли файл отримано з Інтернету, які працюють Windows, такі як веб-браузери та поштові клієнти, додають мітку до такого файлу у формі альтернативного потоку даних з ім'ям Zone.Identifier, що містить рядок ZoneId = 3. Це дозволяє іншим додаткам дізнатися, що файл отриманий з ненадійного джерела і, отже, має бути відкритий у пісочниці чи іншому обмеженому середовищі».

Дослідник переконався, що IE дійсно поставив таку мітку для завантаженого MHT-файлу. Потім Колсек спробував завантажити цей файл за допомогою Edge і відкрити його в IE, який залишається додатком за замовчуванням для файлів MHT. Несподівано експлойт спрацював.

Незадокументована функція Edge порушує систему безпеки Internet Explorer

Спочатку дослідник перевірив "mark-of-the-Web", виявилося, що Edge зберігає в альтернативному потоці даних крім ідентифікатора безпеки ще й джерело походження файлу, що може викликати деякі питання стосовно приватності такого методу. Колсек висловив припущення, що додаткові рядки могли заплутати IE і не дати йому прочитати ідентифікатор безпеки, але, як виявилося, проблема була зовсім в іншому місці. Після тривалого аналізу фахівець з безпеки знайшов причину у двох записах у списку контролю доступу, які додають системній службі право на читання MHT-файлу, які вніс туди Edge після його завантаження.

Незадокументована функція Edge порушує систему безпеки Internet Explorer

Джеймс Форешоу (James Foreshaw) зі спеціальної команди з пошуку вразливостей нульового дня - Google Project Zero - підказав у своєму твіттері, що додані Edge записи відносяться до групових ідентифікаторів безпеки для Microsoft.MicrosoftEdge_8wekyb3d8bbwe. Після видалення другого рядка SID S-1-15-2 — зі списку контролю доступу шкідливого файлу експлойт більше не працював. У результаті якимось чином роздільна здатність, що додається Edge, дозволяло файлу обходити пісочницю в IE. Як припустив Колсек із колегами, дані дозволу Edge використовує для захисту завантажених файлів від доступу до них процесів із низьким рівнем довіри, запускаючи файл у частково ізольованому середовищі.

Незадокументована функція Edge порушує систему безпеки Internet Explorer

Далі дослідник захотів краще зрозуміти, що викликає збій системи безпеки IE. Поглиблений аналіз з використанням утиліти Process Monitor та дизасемблера IDA в кінцевому підсумку показав, що встановлений Edge дозвіл не дозволив функції Win Api GetZoneFromAlternateDataStreamEx прочитати потік файлу Zone.Identifier та повернув помилку. Для Internet Explorer така помилка при запиті мітки безпеки файлу виявилася абсолютно несподіваною, і, мабуть, браузер вважав, що помилка рівнозначна тому, що файл не має мітки "mark-of-the-Web", що автоматично робить його довіреним, після чого IE дозволив захованому в MHT-файлі скрипту виконання та відправлення цільового локального файлу на віддалений сервер.

Незадокументована функція Edge порушує систему безпеки Internet Explorer

«Ви бачите тут іронію?» - Запитує Колсек. «Незадокументована функція безпеки, яка використовується Edge, нейтралізувала існуючу, безперечно, набагато важливішу функцію (mark-of-the-Web) в Internet Explorer». 

Незважаючи на значущість вразливості, яка дозволяє запускати шкідливий скрипт як довірений, немає жодних ознак того, що Microsoft має намір виправити помилку найближчим часом, якщо вона взагалі буде коли-небудь виправлена. Тому ми все ще рекомендуємо вам, як і в минулій статті, змінити програму за промовчанням для відкриття MHT-файлів на будь-який сучасний браузер.

Звичайно, дослідження Колсек не залишилося і без невеликого самопіару. Наприкінці статті він продемонстрував невеликий написаний на асемблері патч, який може використовувати сервіс 0patch, який його компанія розробляє. 0patch автоматично виявляє вразливе програмне забезпечення на комп'ютері користувача і застосовує до нього невеликі виправлення буквально на льоту. Наприклад, в описаному нами випадку 0patch замінить повідомлення про помилку у функції GetZoneFromAlternateDataStreamEx на значення, що відповідає недовіреному файлу, отриманому з мережі, завдяки чому IE не дозволить виконати будь-які сховані скрипти відповідно до вбудованої політики безпеки.



Джерело: 3dnews.ru

Додати коментар або відгук