Недокументираната функция Edge нарушава защитата на Internet Explorer

По-рано ние вече писа за открита уязвимост на нулевия ден в Internet Explorer, която позволява използването на специално подготвен MHT файл за изтегляне на информация от компютъра на потребителя към отдалечен сървър. Наскоро тази уязвимост, открита от специалиста по сигурността Джон Пейдж, реши да провери и проучи друг известен специалист в тази област - Митя Колсек, директор на ACROS Security, компания за одит на сигурността и съосновател на услугата за микропач 0patch. Той опубликовал пълна хроника на своето разследване, което показва, че Microsoft значително е подценила сериозността на проблема.

Недокументираната функция Edge нарушава защитата на Internet Explorer

Колкото и да е странно, Колсек първоначално не успя да възпроизведе атаката, описана и демонстрирана от Джон, където той използва Internet Explorer, работещ на Windows 7, за да изтегли и след това да отвори злонамерен MHT файл. Въпреки че неговият мениджър на процеси показа, че system.ini, който е планиран да бъде откраднат от самия него, е прочетен от скрипт, скрит в MHT файла, но не е изпратен до отдалечения сървър.

„Това изглеждаше като класическа ситуация с маркиране на мрежата“, пише Колсек. „Когато се получи файл от интернет, правилно работещите приложения на Windows като уеб браузъри и имейл клиенти добавят етикет към такъв файл във формата алтернативен поток от данни с името Zone.Identifier, съдържащо низа ZoneId = 3. Това позволява на другите приложения да разберат, че файлът идва от ненадежден източник и следователно трябва да бъде отворен в пясъчна среда или друга ограничена среда."

Изследователят потвърди, че IE действително е поставил такъв етикет за изтегления MHT файл. След това Колсек се опита да изтегли същия файл с помощта на Edge и да го отвори в IE, който остава приложението по подразбиране за MHT файлове. Неочаквано експлойтът проработи.

Недокументираната функция Edge нарушава защитата на Internet Explorer

Първо, изследователят провери „mark-of-the-Web“, оказа се, че Edge също съхранява източника на произхода на файла в алтернативен поток от данни в допълнение към идентификатора за сигурност, което може да повдигне някои въпроси относно поверителността на това метод. Колсек спекулира, че допълнителните редове може да са объркали IE и да са му попречили да прочете SID, но както се оказва, проблемът е бил другаде. След продължителен анализ специалистът по сигурността откри причината в два записа в списъка за контрол на достъпа, които добавят правото за четене на MHT файла към определена системна услуга, която Edge добавя там след зареждането му.

Недокументираната функция Edge нарушава защитата на Internet Explorer

Джеймс Форшоу от специализирания екип за уязвимости на нулевия ден - Google Project Zero - предложи туитна, че записите, добавени от Edge, се отнасят до идентификатори за сигурност на групата за пакета Microsoft.MicrosoftEdge_8wekyb3d8bbwe. След премахване на втория ред на SID S-1-15-2 - * от списъка за контрол на достъпа на злонамерения файл, експлойтът вече не работи. В резултат на това по някакъв начин разрешението, добавено от Edge, позволи на файла да заобиколи пясъчника в IE. Както предполагат Колсек и колегите му, Edge използва тези разрешения, за да защити изтеглените файлове от достъп от процеси с ниско доверие, като изпълнява файла в частично изолирана среда.

Недокументираната функция Edge нарушава защитата на Internet Explorer

След това изследователят искаше да разбере по-добре какво причинява неуспеха на системата за сигурност на IE. Задълбочен анализ с помощта на помощната програма Process Monitor и IDA disassembler в крайна сметка разкри, че зададената разделителна способност на 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 файлове на всеки модерен браузър.

Разбира се, изследванията на Колсек не минаха без малко самостоятелен PR. В края на статията той демонстрира малък пач, написан на асемблер, който може да използва услугата 0patch, разработена от неговата компания. 0patch автоматично открива уязвим софтуер на компютъра на потребителя и прилага малки корекции към него буквално в движение. Например, в случая, който описахме, 0patch ще замени съобщението за грешка във функцията GetZoneFromAlternateDataStreamEx със стойност, съответстваща на ненадежден файл, получен от мрежата, така че IE няма да позволи изпълнението на скрити скриптове в съответствие с вградения в политиката за сигурност.



Източник: 3dnews.ru

Добавяне на нов коментар