Rendszerfelügyeleti mód
Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2016. május 27-én áttekintett
verziótól ; az ellenőrzésekhez
10 szerkesztés szükséges .
Rendszerfelügyeleti mód (SMM ) - végrehajtási mód x86 / x86-64 processzorokon , amelyben a többi kód (beleértve az operációs rendszereket és a hypervisort ) végrehajtását felfüggesztik, és egy speciális program indul az SM RAM -ban a legkiváltságosabb módban.
Az SMM technológiát először az Intel 386 SL mikroprocesszorban valósították meg. Kezdetben az SMM csak speciális processzorokon (SL) futott, de 1992 - ben mutatták be a 80486 -ban és az Intel Pentiumban . Az AMD az Enhanced Am486 -ban ( 1994 ) implementálta a technológiát. Minden újabb x86/x86-64 processzor támogatja.
Az SMM lehetséges alkalmazásai közül:
Az operációs rendszer védő " Ring 0"-ban fut; azonban a hypervisor (VT/AMD-v rendszerekben) kiváltságosabb, és a hypervisor végrehajtási módját hagyományosan "Ring −1"-nek hívják. Ennek megfelelően az SMM-et, amely magasabb prioritású, mint a hypervisor, feltételesen "Ring −2"-nek nevezik [5] [6] [7] . Az SMM módban futó kód korlátlan hozzáféréssel rendelkezik az összes rendszermemóriához, beleértve a kernel memóriát és a hypervisor memóriát.
SMM aktiválás
Az SMM aktiválása SMI megszakításokkal ( rendszerfelügyeleti megszakítás ) történik, amely akkor fordul elő:
- A chipkészlet vagy az alaplap perifériáitól érkező jelre. Dedikált processzortű SMI# [8] használatos .
- A rendszerszoftver által I/O porton keresztül küldött szoftver SMI ( gyakran használják a B2 portszámot [9] ) [10] .
- Írjon olyan I/O-címre, amelynél a firmware SMM-aktiválást igényel.
Az SMI# jel vétele után a legközelebbi utasításhatáron a processzor eltárolja az állapotát a memóriában és átvált SMM-re. Az RSM (0F AA [9] ) [8] utasítás az SMM-ből való kilépésre és a processzorállapot visszaállítására szolgál .
Problémák
- Az SMM architektúra szerint az SMI megszakításokat az operációs rendszer nem tilthatja le.
- Régebbi lapkakészleteken (2006 előtt) a D_LOCK bit nem volt beállítva az SMM memória védelmére (ami lehetővé tette az SMM kártevők létrehozását) [5]
- Mivel az SMM-kezelők (SMI-kezelők) az alap BIOS firmware-ből vannak telepítve [5] , előfordulhat, hogy a fontos perifériák (például APIC ) elvárt beállításai az operációs rendszerben és az SMM-programokban nem egyeznek.
- Az SMM módban végzett munka felfüggeszti az operációs rendszert. A processzor állapotát az SMRAM [8] tárolja, és a visszaírási gyorsítótárakat ki kell üríteni. Emiatt a kemény valós idő követelményei sérülhetnek. A Windows operációs rendszer és a Linux kernel beállította az "SMI időtúllépést" - azt az időtartamot, amely alatt minden SMM-programnak vissza kell adnia az irányítást az operációs rendszernek.
- Digitális logikai elemzőre (kiegészítő hibakereső berendezésre) lehet szükség az SMM processzorbemenetének meghatározásához. Ha SMM-ben dolgozik, a SMIACT# [8] processzorjel be van állítva .
- Az SMM-programkódok elemzéshez és hibakereséshez való lekéréséhez logikai elemzőre vagy BIOS-firmware- reverse engineeringre is szükség van , mivel az SMM-programokat tároló TSEG-memória futás közben nem érhető el az operációs rendszer számára.
Lásd még
Jegyzetek
- ↑ Loic Dufleot. "A Pentium rendszerfelügyeleti móddal kapcsolatos biztonsági problémák." Bemutatták a CanSecWest 2006-ban, Vancouver, Kanada, 2006.
- ↑ A hackerek új helyet találnak a rootkitek elrejtésére . Letöltve: 2011. május 2. Az eredetiből archiválva : 2011. június 8. (határozatlan)
- ↑ Sherri Sparks és Shawn Embleton. SMM Rootkitek: Az operációs rendszertől független rosszindulatú programok új fajtája. Bemutatták a Black Hat USA-ban, Las Vegas, NV, USA, 2008.
- ↑ https://www.youtube.com/watch?v=X72LgcMpM9k&feature=player_detailpage#t=2070s Archiválva : 2016. június 25. a Wayback Machine Google Tech Talks-on – Coreboot – 00:34:30
- ↑ 1 2 3 invisiblethingslab.com/resources/misc09/smm_cache_fun.pdf Rafal Wojtczuk, Joanna Rutkowska , "SMM memória támadása Intel® CPU gyorsítótár mérgezésével"
- ↑ Gyűrű −1 vs. Ring −2: Rosszindulatú SMM megszakításkezelők tárolása az AMD-V-n Archiválva : 2013. november 13., a Wayback Machine , 2010
- ↑ Az x86 rendszerkezelési módjának mélyreható elemzése archiválva 2013. szeptember 23. , Georg Wassen: "Ha a virtuálisgép-figyelőket Ring −1-nek nevezhetjük, a rendszerkezelési mód a Ring −2."
- ↑ 1 2 3 4 Az Intel rendszerkezelési módja, Robert R. Collins
- ↑ 1 2 Hexadecimális kód
- ↑ kb. 5
Irodalom
Linkek