Tidligere vi
Merkelig nok var Kolsek i utgangspunktet ikke i stand til å reprodusere angrepet beskrevet og demonstrert av John, der han brukte Internet Explorer som kjørte på Windows 7 for å laste ned og deretter åpne en ondsinnet MHT-fil. Selv om prosesslederen hans viste at system.ini, som var planlagt stjålet fra ham selv, ble lest av et skript skjult i MHT-filen, men ble ikke sendt til den eksterne serveren.
"Dette så ut som en klassisk mark-of-the-Web-situasjon," skriver Kolsek. "Når en fil mottas fra Internett, legger riktig kjørende Windows-applikasjoner som nettlesere og e-postklienter en etikett til en slik fil i skjemaet
Forskeren bekreftet at IE faktisk satte en slik etikett for den nedlastede MHT-filen. Kolsek prøvde deretter å laste ned den samme filen ved hjelp av Edge og åpne den i IE, som fortsatt er standardapplikasjonen for MHT-filer. Uventet fungerte utnyttelsen.
Først sjekket forskeren "mark-of-the-Web", det viste seg at Edge også lagrer kilden til filens opprinnelse i en alternativ datastrøm i tillegg til sikkerhetsidentifikatoren, noe som kan reise noen spørsmål angående personvernet til denne metode. Kolsek spekulerte i at de ekstra linjene kan ha forvirret IE og forhindret den i å lese SID, men som det viser seg, var problemet et annet sted. Etter en lengre analyse fant sikkerhetsspesialisten årsaken i to oppføringer i tilgangskontrolllisten som la rettigheten til å lese MHT-filen til en bestemt systemtjeneste, som Edge la til der etter å ha lastet den.
James Foreshaw fra det dedikerte zero-day sårbarhetsteamet - Google Project Zero -
Deretter ønsket forskeren å forstå bedre hva som gjør at IEs sikkerhetssystem mislykkes. En dybdeanalyse ved bruk av Process Monitor-verktøyet og IDA-disassembleren avslørte til slutt at Edges innstilte oppløsning forhindret Win Api-funksjonen GetZoneFromAlternateDataStreamEx i å lese Zone.Identifier-filstrømmen og returnerte en feil. For Internet Explorer var en slik feil ved forespørsel om en fils sikkerhetsetikett helt uventet, og tilsynelatende mente nettleseren at feilen tilsvarte det faktum at filen ikke hadde et "mark-of-the-Web"-merke, som automatisk gjør det klarert, etter hvorfor IE tillot skriptet skjult i MHT-filen å kjøre og sende den lokale målfilen til den eksterne serveren.
"Ser du ironien her?" spør Kolsek. "En udokumentert sikkerhetsfunksjon brukt av Edge nøytraliserte en eksisterende, utvilsomt mye viktigere (mark-of-the-Web) funksjon i Internet Explorer."
Til tross for den økte betydningen av sårbarheten, som gjør at et ondsinnet skript kan kjøres som et klarert skript, er det ingen indikasjon på at Microsoft har til hensikt å fikse feilen når som helst snart, hvis den noen gang blir fikset. Derfor anbefaler vi fortsatt at du, som i forrige artikkel, endrer standardprogrammet for å åpne MHT-filer til en hvilken som helst moderne nettleser.
Kolseks forskning gikk selvsagt ikke uten litt egen-PR. På slutten av artikkelen demonstrerte han en liten oppdatering skrevet på assemblerspråk som kan bruke 0patch-tjenesten utviklet av selskapet hans. 0patch oppdager automatisk sårbar programvare på brukerens datamaskin og bruker små oppdateringer på den bokstavelig talt i farten. For eksempel, i tilfellet vi beskrev, vil 0patch erstatte feilmeldingen i GetZoneFromAlternateDataStreamEx-funksjonen med en verdi som tilsvarer en ikke-klarert fil mottatt fra nettverket, slik at IE ikke vil tillate at noen skjulte skript kjøres i samsvar med den innebygde- i sikkerhetspolitikk.
Kilde: 3dnews.ru