Mik azok a CPU-védelmi jogosultsággyűrűk?

CPU-ját privilégiumgyűrűk rendszere védi. De mit jelent ez? Hogyan növelik a védelmi jogosultsággyűrűk a számítógép biztonságát?

A CPU védőgyűrűi olyan szerkezeti rétegek, amelyek korlátozzák a számítógépre telepített alkalmazások és az alapvető folyamatok közötti interakciót. Általában a legkülső rétegtől, amely a 3-as gyűrű, a legbelső rétegig, a 0-ás gyűrűig terjednek, amelyet kernelnek is neveznek.

A 0 gyűrű az összes rendszerfolyamat magja. Bárki, aki tudja irányítani a kernelt, alapvetően a számítógép minden aspektusát tudja irányítani. Az ezzel a maggal való visszaélés megelőzése érdekében a számítógépes rendszertervezők erre a zónára korlátozzák az interakciót. Mint ilyen, a számítógép-felhasználók által elérhető legtöbb folyamat a 3-as gyűrűre korlátozódik. Hogyan működnek tehát a privilégiumgyűrűk?

Hogyan hatnak egymásra a privilégiumgyűrűk

A 0-ás gyűrűs folyamatok felügyelő módban működnek, így nem igényelnek felhasználói bevitelt. Ezek megzavarása jelentős rendszerhibákat és megoldhatatlan biztonsági problémákat okozhat. Ez az oka annak, hogy szándékosan úgy tervezték, hogy a számítógép-felhasználók számára hozzáférhetetlenek legyenek.

Vegyük például a Windowst: a Ring 0-hoz a Ring 3-folyamatokhoz való hozzáférés néhány adatutasításra korlátozódik. A kernel eléréséhez a Ring 3 alkalmazásainak virtualizált memória által kezelt kapcsolatot kell létrehozniuk. Még akkor is nagyon kevés alkalmazás számára engedélyezett ez.

Ide tartoznak a hálózati hozzáférést igénylő böngészők és a hálózati csatlakozáshoz szükséges kamerák. Ezenkívül ezek az adathívások szigetelve vannak, hogy megakadályozzák, hogy közvetlenül zavarják a létfontosságú rendszerfolyamatokat.

Egyes korábbi Windows-verziók (például a Windows 95/98) kevésbé védettek a jogosultsági gyűrűk között. Ez az egyik fő oka annak, hogy miért voltak olyan instabilok és hajlamosak a hibákra. A modern rendszerekben a kernelmemória biztonságát speciális hardveres chipek erősítik meg.

A Windows kernelmemória jelenlegi védelme a behatolásokkal szemben

A Microsoft a Windows 10 1803-as verziójától kezdve hatalmas védelmet vezetett be a kernelmemóriában.

A legfigyelemreméltóbb a Kernel DMA védelme volt; a holisztikus funkciót a személyi számítógépek védelmére tervezték a közvetlen memóriahozzáférés (DMA) támadásaival szemben, különösen a PCI hot plug-okon keresztül végrehajtottakkal szemben. A védelmi lefedettséget az 1903-as buildben kiterjesztették a belső PCIe portokra, például az M.2 bővítőhelyekre.

Az egyik fő ok, amiért a Microsoft úgy döntött, hogy további védelmet biztosít ezeknek a szektoroknak, az az, hogy a PCI-eszközök már a dobozból is DMA-képesek. Ez a képesség lehetővé teszi számukra a rendszermemória olvasását és írását anélkül, hogy rendszerprocesszor-engedélyekre lenne szükség. Ez a tulajdonság az egyik fő oka annak, hogy a PCI-eszközök nagy teljesítményűek.

A DMA-védelmi folyamatok árnyalatai

A Windows bemeneti/kimeneti memóriakezelő egység (IOMMU) protokollt használ, hogy megakadályozza a jogosulatlan perifériák DMA-műveleteinek végrehajtását. Vannak azonban kivételek a szabály alól, ha az illesztőprogramjaik támogatják a DMA újratérképezéssel végrehajtott memórialeválasztást.

Ennek ellenére további engedélyekre van szükség. Általában az operációs rendszer adminisztrátorát kérik a DMA-engedély megadására. A kapcsolódó folyamatok további módosítása és automatizálása érdekében a DmaGuard MDM-házirendeket az IT-szakemberek módosíthatják, hogy meghatározzák, hogyan kezeljék a nem kompatibilis DMA Remapping illesztőprogramokat.

Ha ellenőrizni szeretné, hogy a rendszer rendelkezik-e Kernel DMA-védelemmel, használja a Security Centert, és tekintse meg a beállításokat a Core Isolation Details részben a Memória hozzáférés védelme alatt. Fontos megjegyezni, hogy csak a Windows 10 1803-as verziója után kiadott operációs rendszerek rendelkeznek ezzel a funkcióval.

Miért támaszkodnak a CPU-k ritkán az 1. és 2. csengetési jogosultságokra?

Az 1. és 2. gyűrűt nagyrészt az illesztőprogramok és a vendég operációs rendszerek használják. A legtöbb kód ezeken a jogosultsági szinteken szintén félig újrahasznosított. Mint ilyen, a kortárs Windows-programok többsége úgy működik, mintha a rendszernek csak két szintje lenne: a kernel és a felhasználói szint.

Ennek ellenére a virtualizációs alkalmazások, például a VirtualBox és a Virtual Machine a Ring 1-et használják a működéshez.

Utolsó szó a kiváltságokról

A többszörös jogosultsággyűrűs kialakítás az x86 rendszerarchitektúrának köszönhető. Kényelmetlen azonban az összes Csengetési jogosultsági szintet folyamatosan használni. Ez megnövekedett késleltetési és kompatibilitási problémákhoz vezet.

Author: Bhavish

Leave a Reply

Your email address will not be published. Required fields are marked *