Pillole di MalwareAnalysis: Kernel Space e Kernel Mode
- Antonio Capobianco
- Visite: 3735
Facendo seguito alla pillola della settimana scorso oggi vi continua a parlare di memoria.
La memoria si divide in due aree distinte:
Lo User Space, che è un insieme di posizioni in cui vengono eseguiti i normali processi utente ed è dove viene mappato il VAS (Virtual Address Space) che vi ho descritto nella pillola precedente.
Il Kernel Space, che è la posizione in cui è eseguito il kernel e tutti quei processi che necessitano di essere eseguiti in Kernel mode.
Attenzione, quando parliamo di space ci riferiamo alla memoria, quando parliamo di mode ci riferiamo alla modalità di lavoro della CPU.
Quando la CPU lavora in Kernel Mode (Ring0) è in grado di accedere al Kernel Space (andatevi a rivedere la mia pillola sui Ring di protezione)
I processi in esecuzione nello spazio utente hanno accesso solo al loro Virtual Address Space, mentre i processi kernel vedono a tutta la memoria.
I processi in esecuzione nello user space non hanno accesso diretto allo spazio del kernel ma possono utilizzre API che consentono di passare al Kernel Mode.
Tipicamente sui sistemi Windows questo viene effettuato chiamado API che si trovano in Kernel32.dll e che, passando tramite altre API in Ntdll.dll passano l'esecuzione da User Mode a Kernel mode.
E' importante però sottolineare che i processi che lavorano in Kernel Space utilizzano tutti lo stesso spazio di indirizzamento e non sono protetti, come in user space, dalla VAS.
Cosa significa? Che quando un processo in user space si "pianta" non succede nulla, il SO continua a funzionare. Quando si "pianta" un processo in Kernel Space, vengono coinvolti potenzialmente tutti i processi che girano in quell'area.
Il risultato?
Schermata blu!
#Windows #Kernel #VAS #MalwareAnalysis #Cybersecurity #Malware #Hacker #EthicalHacker