Më parë ne
Mjaft e çuditshme, Kolsek fillimisht nuk ishte në gjendje të riprodhonte sulmin e përshkruar dhe demonstruar nga John, ku ai përdori Internet Explorer që funksiononte në Windows 7 për të shkarkuar dhe më pas hapur një skedar MHT me qëllim të keq. Megjithëse menaxheri i tij i procesit tregoi se system.ini, i cili ishte planifikuar të vidhej nga ai vetë, u lexua nga një skript i fshehur në skedarin MHT, por nuk u dërgua në serverin në distancë.
"Kjo dukej si një situatë klasike e faqes në internet," shkruan Kolsek. “Kur një skedar merret nga Interneti, aplikacionet e Windows që funksionojnë siç duhet si shfletuesit e internetit dhe klientët e postës elektronike i shtojnë një etiketë skedarit të tillë në formën
Studiuesi verifikoi që IE në fakt vendosi një etiketë të tillë për skedarin e shkarkuar MHT. Kolsek më pas u përpoq të shkarkonte të njëjtin skedar duke përdorur Edge dhe ta hapte atë në IE, i cili mbetet aplikacioni i paracaktuar për skedarët MHT. Papritur, shfrytëzimi funksionoi.
Së pari, studiuesi kontrolloi "mark-of-the-Web", doli që Edge ruan gjithashtu burimin e origjinës së skedarit në një rrjedhë alternative të të dhënave përveç identifikuesit të sigurisë, gjë që mund të ngrejë disa pyetje në lidhje me privatësinë e këtij metodë. Kolsek spekuloi se rreshtat shtesë mund të kishin ngatërruar IE dhe ta kishin penguar atë të lexonte SID, por siç doli, problemi ishte diku tjetër. Pas një analize të gjatë, specialisti i sigurisë gjeti shkakun në dy hyrje në listën e kontrollit të aksesit që shtuan të drejtën për të lexuar skedarin MHT në një shërbim të caktuar të sistemit, të cilin Edge e shtoi atje pasi e ngarkoi.
James Foreshaw nga ekipi i dedikuar i cenueshmërisë në ditë zero - Google Project Zero -
Më pas, studiuesi donte të kuptonte më mirë se çfarë e shkakton dështimin e sistemit të sigurisë së IE. Një analizë e thellë duke përdorur mjetin Process Monitor dhe çmontuesin IDA zbuloi përfundimisht se rezolucioni i caktuar i Edge pengoi funksionin Win Api GetZoneFromAlternateDataStreamEx të lexonte rrjedhën e skedarit Zone.Identifier dhe ktheu një gabim. Për Internet Explorer, një gabim i tillë kur kërkonte etiketën e sigurisë së një skedari ishte krejtësisht i papritur dhe, me sa duket, shfletuesi konsideroi se gabimi ishte ekuivalent me faktin që skedari nuk kishte një shenjë "shenja e uebit". e cila automatikisht e bën atë të besueshëm, pasi IE lejoi që skripti i fshehur në skedarin MHT të ekzekutohej dhe të dërgonte skedarin lokal të synuar në serverin e largët.
"A e shihni ironinë këtu?" pyet Kolsek. "Një veçori sigurie e padokumentuar e përdorur nga Edge neutralizoi një veçori ekzistuese, padyshim shumë më të rëndësishme (marka-of-the-Web) në Internet Explorer."
Pavarësisht rritjes së rëndësisë së cenueshmërisë, e cila lejon që një skrip me qëllim të keq të ekzekutohet si një skript i besuar, nuk ka asnjë indikacion që Microsoft ka ndërmend ta rregullojë gabimin së shpejti, nëse ai ndonjëherë rregullohet. Prandaj, ne ende rekomandojmë që, si në artikullin e mëparshëm, të ndryshoni programin e paracaktuar për hapjen e skedarëve MHT në çdo shfletues modern.
Sigurisht, kërkimi i Kolsek nuk kaloi pa pak vetë-PR. Në fund të artikullit, ai demonstroi një patch të vogël të shkruar në gjuhën e asamblesë që mund të përdorë shërbimin 0patch të zhvilluar nga kompania e tij. 0patch zbulon automatikisht softuerin e cenueshëm në kompjuterin e përdoruesit dhe aplikon arna të vogla në të fjalë për fjalë në fluturim. Për shembull, në rastin që përshkruam, 0patch do të zëvendësojë mesazhin e gabimit në funksionin GetZoneFromAlternateDataStreamEx me një vlerë që korrespondon me një skedar të pabesueshëm të marrë nga rrjeti, në mënyrë që IE të mos lejojë që asnjë skrip i fshehur të ekzekutohet në përputhje me në politikën e sigurisë.
Burimi: 3dnews.ru