Dříve jsme
Kupodivu Kolsek zpočátku nebyl schopen reprodukovat útok popsaný a předvedený Johnem, kde pomocí Internet Exploreru běžícího na Windows 7 stáhl a následně otevřel škodlivý soubor MHT. Přestože jeho správce procesů ukázal, že system.ini, který měl být odcizen jemu samému, byl přečten skriptem skrytým v souboru MHT, ale nebyl odeslán na vzdálený server.
„Vypadalo to jako klasická situace typu mark-of-the-Web,“ píše Kolsek. „Když je soubor přijat z internetu, správně spuštěné aplikace Windows, jako jsou webové prohlížeče a e-mailové klienty, přidají k takovému souboru štítek ve formuláři
Výzkumník ověřil, že IE skutečně nastavil takové označení pro stažený MHT soubor. Kolsek se poté pokusil stáhnout stejný soubor pomocí Edge a otevřít jej v IE, který zůstává výchozí aplikací pro soubory MHT. Nečekaně exploit fungoval.
Nejprve výzkumník zkontroloval „mark-of-the-Web“, ukázalo se, že Edge kromě bezpečnostního identifikátoru ukládá také zdroj původu souboru v alternativním datovém toku, což může vyvolat některé otázky týkající se soukromí tohoto metoda. Kolsek spekuloval, že řádky navíc mohly zmást IE a zabránit mu ve čtení SID, ale jak se ukázalo, problém byl jinde. Po zdlouhavém rozboru našel bezpečnostní specialista příčinu ve dvou záznamech v přístupovém seznamu, které přidaly právo číst soubor MHT určité systémové službě, kterou tam Edge přidal po načtení.
James Foreshaw ze specializovaného týmu zero-day zranitelnosti – Google Project Zero –
Dále chtěl výzkumník lépe porozumět tomu, co způsobuje selhání bezpečnostního systému IE. Hloubková analýza pomocí nástroje Process Monitor a disassembler IDA nakonec odhalila, že nastavené rozlišení Edge bránilo funkci Win Api GetZoneFromAlternateDataStreamEx ve čtení streamu souboru Zone.Identifier a vrátilo chybu. Pro Internet Explorer byla taková chyba při požadavku na bezpečnostní štítek souboru zcela neočekávaná a prohlížeč zjevně považoval chybu za ekvivalentní tomu, že soubor neměl značku „mark-of-the-Web“, což jej automaticky činí důvěryhodným, poté, co IE povolil skriptu skrytému v souboru MHT spustit a odeslat cílový lokální soubor na vzdálený server.
"Vidíš tu ironii?" ptá se Kolsek. "Nezdokumentovaná bezpečnostní funkce používaná Edge neutralizovala existující, nepochybně mnohem důležitější (mark-of-the-Web) funkci v Internet Exploreru."
Navzdory zvýšenému významu této chyby zabezpečení, která umožňuje spuštění škodlivého skriptu jako důvěryhodného skriptu, nic nenasvědčuje tomu, že by společnost Microsoft měla v úmyslu chybu v dohledné době opravit, pokud bude někdy opravena. Proto stále doporučujeme, stejně jako v předchozím článku, změnit výchozí program pro otevírání souborů MHT na jakýkoli moderní prohlížeč.
Kolsekův výzkum se samozřejmě neobešel bez trochy sebe-PR. Na konci článku předvedl malý patch napsaný v assembleru, který může využívat službu 0patch vyvinutou jeho společností. 0patch automaticky detekuje zranitelný software v počítači uživatele a aplikuje na něj malé opravy doslova za běhu. Například v případě, který jsme popsali, nahradí 0patch chybovou zprávu ve funkci GetZoneFromAlternateDataStreamEx hodnotou odpovídající nedůvěryhodnému souboru přijatému ze sítě, takže IE nedovolí spouštět žádné skryté skripty v souladu s vestavěným v bezpečnostní politice.
Zdroj: 3dnews.ru