Tidigare vi
Konstigt nog kunde Kolsek till en början inte reproducera attacken som beskrevs och demonstrerades av John, där han använde Internet Explorer som kördes på Windows 7 för att ladda ner och sedan öppna en skadlig MHT-fil. Även om hans processledare visade att system.ini, som var planerad att stjälas från honom själv, lästes av ett skript gömt i MHT-filen, men skickades inte till fjärrservern.
"Det här såg ut som en klassisk mark-of-the-Web-situation", skriver Kolsek. "När en fil tas emot från Internet lägger korrekt körande Windows-program som webbläsare och e-postklienter en etikett till en sådan fil i formuläret
Forskaren verifierade att IE faktiskt satte en sådan etikett för den nedladdade MHT-filen. Kolsek försökte sedan ladda ner samma fil med Edge och öppna den i IE, som förblir standardapplikationen för MHT-filer. Oväntat fungerade exploateringen.
Först kollade forskaren "mark-of-the-Web", det visade sig att Edge även lagrar källan till filens ursprung i en alternativ dataström utöver säkerhetsidentifieraren, vilket kan väcka vissa frågor angående integriteten för denna metod. Kolsek spekulerade i att de extra raderna kan ha förvirrat IE och hindrat den från att läsa SID, men som det visar sig var problemet någon annanstans. Efter en lång analys hittade säkerhetsspecialisten orsaken i två poster i åtkomstkontrolllistan som lade till rätten att läsa MHT-filen till en viss systemtjänst, som Edge lade till där efter att den laddats.
James Foreshaw från det dedikerade zero-day sårbarhetsteamet - Google Project Zero -
Därefter ville forskaren bättre förstå vad som gör att IE:s säkerhetssystem misslyckas. En djupgående analys med hjälp av verktyget Process Monitor och IDA disassembler avslöjade till slut att Edges upplösning hindrade Win Api-funktionen GetZoneFromAlternateDataStreamEx från att läsa Zone.Identifier-filströmmen och returnerade ett fel. För Internet Explorer var ett sådant fel när man begärde en fils säkerhetsetikett helt oväntat, och uppenbarligen ansåg webbläsaren att felet var likvärdigt med det faktum att filen inte hade ett "mark-of-the-Web"-märke, vilket automatiskt gör det pålitligt, efter varför IE tillät skriptet gömt i MHT-filen att exekvera och skicka den lokala målfilen till fjärrservern.
"Ser du ironin här?" frågar Kolsek. "En odokumenterad säkerhetsfunktion som användes av Edge neutraliserade en befintlig, utan tvekan mycket viktigare (mark-of-the-Web) funktion i Internet Explorer."
Trots den ökade betydelsen av sårbarheten, som gör att ett skadligt skript kan köras som ett pålitligt skript, finns det inget som tyder på att Microsoft har för avsikt att åtgärda buggen när som helst snart, om den någonsin skulle fixas. Därför rekommenderar vi fortfarande att du, som i föregående artikel, ändrar standardprogrammet för att öppna MHT-filer till vilken modern webbläsare som helst.
Kolseks forskning gick förstås inte utan lite egen-PR. I slutet av artikeln visade han en liten patch skriven på assemblerspråk som kan använda tjänsten 0patch som utvecklats av hans företag. 0patch upptäcker automatiskt sårbar programvara på användarens dator och applicerar små patchar på den bokstavligen i farten. Till exempel, i det fall vi beskrev, kommer 0patch att ersätta felmeddelandet i GetZoneFromAlternateDataStreamEx-funktionen med ett värde som motsvarar en opålitlig fil som tagits emot från nätverket, så att IE inte tillåter att några dolda skript körs i enlighet med den inbyggda- i säkerhetspolitiken.
Källa: 3dnews.ru