Atacul spart

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 26 august 2019; verificările necesită 3 modificări .

Shatter attack este o tehnologie software  utilizată de hackeri pentru a ocoli restricțiile de securitate între procese din aceeași sesiune în sistemul de operare Microsoft Windows . Exploatează un defect în arhitectura de transmitere a mesajelor și permite unei aplicații să injecteze cod arbitrar în orice altă aplicație sau serviciu care rulează în aceeași sesiune. Ca urmare, poate avea loc o escaladare neautorizată a privilegiilor .

Descriere

Un nou tip de atac a făcut obiectul unor discuții aprinse în rândul profesioniștilor în securitate de la publicarea, în august 2002, a unui articol al lui Chris Page [1] , un consultant independent în protecția datelor. Acest document a introdus mai întâi termenul de „atac spart” pentru a descrie procesul prin care o aplicație poate executa cod arbitrar într-o altă aplicație. Acest lucru este posibil deoarece Windows permite aplicațiilor cu privilegii mai mici să trimită mesaje către aplicații cu privilegii mai mari. Mesajul poate conține ca parametru adresa unei funcții de apel invers din spațiul de adrese al aplicației. Dacă un atacator reușește să-și injecteze datele în memoria altei aplicații (de exemplu, inserând shellcode într-o fereastră de editare sau folosind funcțiile VirtualAllocEx și WriteProcessMemory), atunci îi poate trimite un mesaj WM_TIMER și specifica adresa unei funcții de apel invers. care se referă la aceste date.

La câteva săptămâni după publicarea articolului, Microsoft a fost de acord că problema există, dar în același timp a clarificat [2] că este o greșeală să numim acest lucru un defect Windows, deoarece problema constă în serviciul extrem de privilegiat în sine.

Soluție

În decembrie 2002, Microsoft a lansat un patch pentru Windows NT 4.0 , Windows 2000 și Windows XP pentru a preveni „atacul spart” [3] . Dar aceasta a fost o soluție parțială a problemei, deoarece remedierea a fost pentru serviciile livrate cu Windows. Cu toate acestea, arhitectura în sine nu s-a schimbat, iar amenințarea a continuat să existe pentru alte aplicații și servicii.

În Windows Vista , problema a fost rezolvată complet, făcând două modificări semnificative. În primul rând, sesiunea 0 este dedicată exclusiv proceselor de sistem, iar utilizatorul nu se mai autentifică în această sesiune [4] . În al doilea rând, majoritatea mesajelor nu mai sunt trimise de la procese cu privilegii scăzute către procese cu privilegii mari ( User Interface Privilege Isolation , UIPI) [5] . De exemplu, Internet Explorer 7 folosește această inovație pentru a limita interacțiunea componentelor de randare cu restul sistemului.

Note

  1. Chris Paget. Exploatarea defectelor de proiectare în API-ul Win32 pentru escaladarea privilegiilor  (engleză)  (downlink) (august 2002). Arhivat din original pe 4 septembrie 2006.
  2. Informații despre defectul arhitectural raportat în Windows  (  link inaccesibil) . technet . Microsoft Corporation (septembrie 2002). Arhivat din original la 1 mai 2012.
  3. Microsoft Security Bulletin MS02-071  (engleză)  (link nu este disponibil) . Microsoft Corporation (11 decembrie 2002). Arhivat din original la 1 mai 2012.
  4. ↑ Elementele interne ale kernelului Windows Vista: Partea 2 (link în jos) . Revista TechNet (martie 2007). Arhivat din original la 1 mai 2012. 
  5. Lucrul cu Controlul contului de utilizator în aplicațiile Windows Vista (link descendent) . Revista MSDN (ianuarie 2007). Arhivat din original la 1 mai 2012. 

Link -uri