Összetörő támadás

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2019. augusztus 26-án felülvizsgált verziótól ; az ellenőrzések 3 szerkesztést igényelnek .

A Shatter attack egy szoftvertechnológia  , amelyet hackerek használnak , hogy megkerüljék a biztonsági korlátozásokat a Microsoft Windows operációs rendszer ugyanazon munkamenetén belüli folyamatai között . Kihasználja az üzenettovábbítási architektúra hibáját, és lehetővé teszi, hogy egy alkalmazás tetszőleges kódot fecskendezzen be bármely más alkalmazásba vagy szolgáltatásba , amely ugyanabban a munkamenetben fut. Ennek eredményeként a jogosultságok jogosulatlan kiterjesztése történhet .

Leírás

Egy új típusú támadásról heves vita folyik a biztonsági szakemberek körében Chris Page [1] , független adatvédelmi tanácsadó cikkének 2002. augusztusi publikálása óta. Ez a dokumentum először vezette be a "shatter attack" kifejezést annak a folyamatnak a leírására, amellyel egy alkalmazás tetszőleges kódot tud végrehajtani egy másik alkalmazásban. Ez azért lehetséges, mert a Windows lehetővé teszi az alacsonyabb jogosultságokkal rendelkező alkalmazások számára, hogy üzeneteket küldjenek magasabb jogosultságokkal rendelkező alkalmazásoknak. Az üzenet paraméterként tartalmazhatja egy visszahívási függvény címét az alkalmazás címteréből. Ha egy támadónak sikerül beillesztenie adatait egy másik alkalmazás memóriájába (például shellkód beszúrásával egy szerkesztőablakba vagy a VirtualAllocEx és a WriteProcessMemory függvények használatával), akkor küldhet neki egy WM_TIMER üzenetet, és megadhatja a visszahívási függvény címét. amely ezekre az adatokra vonatkozik.

Néhány héttel a cikk megjelenése után a Microsoft egyetértett abban, hogy a probléma fennáll, de egyúttal tisztázta [2] , hogy hiba ezt Windows-hibának nevezni, mivel a probléma magában a kiemelten kiemelt szolgáltatásban rejlik.

Megoldás

2002 decemberében a Microsoft kiadott egy javítást a Windows NT 4.0 , a Windows 2000 és a Windows XP rendszerekhez , hogy megakadályozza az "összetörő támadást" [3] . Ez azonban részleges megoldást jelentett a problémára, mivel a javítás a Windows rendszerrel szállított szolgáltatásokra vonatkozott. Maga az architektúra azonban nem változott, és a fenyegetés továbbra is fennáll más alkalmazások és szolgáltatások számára.

A Windows Vista rendszerben a problémát átfogóan megoldották, két jelentős változtatással. Először is, a 0. munkamenet kizárólag a rendszerfolyamatok számára van fenntartva, és a felhasználó már nem jelentkezik be ebbe a munkamenetbe [4] . Másodszor, a legtöbb üzenet már nem kerül elküldésre az alacsony jogosultságokkal rendelkező folyamatoktól a magas jogosultságokkal rendelkező folyamatokhoz ( User Interface Privilege Isolation , UIPI) [5] . Az Internet Explorer 7 például ezt az újítást használja arra, hogy korlátozza a renderelő összetevők interakcióját a rendszer többi részével.

Jegyzetek

  1. Chris Paget. A Win32 API tervezési hibáinak kihasználása a privilégiumok kiterjesztésére  (angol)  (lefelé irányuló kapcsolat) (2002. augusztus). Az eredetiből archiválva: 2006. szeptember 4.
  2. Információ a Windows bejelentett építészeti hibájáról  (  elérhetetlen hivatkozás ) . technet . Microsoft Corporation (2002. szeptember). Az eredetiből archiválva : 2012. május 1.
  3. Microsoft Security Bulletin MS02-071  (angol)  (a hivatkozás nem érhető el) . Microsoft Corporation (2002. december 11.). Az eredetiből archiválva : 2012. május 1.
  4. A Windows Vista kernel belső részei: 2. rész (lefelé irányuló kapcsolat) . TechNet Magazin (2007. március). Az eredetiből archiválva : 2012. május 1. 
  5. Felhasználói fiókok felügyelete a Windows Vista alkalmazásokban (lefelé hivatkozás) . MSDN Magazine (2007. január). Az eredetiből archiválva : 2012. május 1. 

Linkek