Splintrede angreb

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 26. august 2019; checks kræver 3 redigeringer .

Shatter attack er en softwareteknologi  , der bruges af hackere til at omgå sikkerhedsbegrænsninger mellem processer i samme session i Microsoft Windows -operativsystemet . Det udnytter en fejl i meddelelsesoverførselsarkitekturen og tillader én applikation at injicere vilkårlig kode i enhver anden applikation eller tjeneste, der kører i samme session. Som følge heraf kan der forekomme uautoriseret eskalering af rettigheder .

Beskrivelse

En ny type angreb har været genstand for heftige diskussioner blandt sikkerhedsprofessionelle siden offentliggørelsen i august 2002 af en artikel af Chris Page [1] , en uafhængig databeskyttelseskonsulent. Dette dokument introducerede først udtrykket "shatter attack" for at beskrive den proces, hvorved en applikation kan udføre vilkårlig kode i en anden applikation. Dette er muligt, fordi Windows tillader lavere privilegerede applikationer at sende beskeder til højere privilegerede applikationer. Meddelelsen kan som parameter indeholde adressen på en tilbagekaldsfunktion fra applikationens adresseområde. Hvis en angriber formår at injicere sine data i hukommelsen i en anden applikation (for eksempel ved at indsætte shellcode i et redigeringsvindue eller bruge funktionerne VirtualAllocEx og WriteProcessMemory), så kan han sende ham en WM_TIMER-meddelelse og angive adressen på en tilbagekaldsfunktion der henviser til disse data.

Få uger efter at artiklen blev publiceret, var Microsoft enig i, at problemet eksisterer, men præciserede samtidig [2] , at det er en fejl at kalde dette en Windows-fejl, da problemet ligger i selve den meget privilegerede tjeneste.

Løsning

I december 2002 udgav Microsoft en patch til Windows NT 4.0 , Windows 2000 og Windows XP for at forhindre "splintringsangrebet" [3] . Men dette var en delvis løsning på problemet, da rettelsen var til de tjenester, der blev leveret med Windows. Selve arkitekturen ændrede sig dog ikke, og truslen fortsatte med at eksistere for andre applikationer og tjenester.

I Windows Vista blev problemet løst omfattende, hvilket gjorde to væsentlige ændringer. For det første er session 0 udelukkende dedikeret til systemprocesser, og brugeren logger ikke længere på denne session [4] . For det andet sendes de fleste meddelelser ikke længere fra processer med lave privilegier til processer med høje privilegier ( User Interface Privilege Isolation , UIPI) [5] . For eksempel bruger Internet Explorer 7 denne innovation til at begrænse interaktionen af ​​gengivelseskomponenter med resten af ​​systemet.

Noter

  1. Chris Paget. Udnyttelse af designfejl i Win32 API til privilegieeskalering  (engelsk)  (downlink) (august 2002). Arkiveret fra originalen den 4. september 2006.
  2. Information om rapporteret arkitektonisk fejl i Windows  (  utilgængeligt link) . technet . Microsoft Corporation (september 2002). Arkiveret fra originalen den 1. maj 2012.
  3. Microsoft Security Bulletin MS02-071  (engelsk)  (link ikke tilgængeligt) . Microsoft Corporation (11. december 2002). Arkiveret fra originalen den 1. maj 2012.
  4. Internaler i Windows Vista Kernel: Del 2 (downlink) . TechNet Magazine (marts 2007). Arkiveret fra originalen den 1. maj 2012. 
  5. Arbejde med brugerkontokontrol i Windows Vista-applikationer (downlink) . MSDN Magazine (januar 2007). Arkiveret fra originalen den 1. maj 2012. 

Links