Systemstyringstilstand
Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den
version , der blev gennemgået den 27. maj 2016; checks kræver
10 redigeringer .
System Management Mode (SMM ) - udførelsestilstand på x86 / x86-64-processorer , hvor udførelsen af anden kode (inklusive operativsystemer og hypervisor ) er suspenderet, og et særligt program lanceres gemt i SM RAM i den mest privilegerede tilstand.
SMM-teknologien blev først implementeret i Intel 386 SL-mikroprocessoren. I starten kørte SMM kun på specialprocessorer (SL'er), men blev introduceret i 1992 i 80486 og Intel Pentium . AMD implementerede teknologien i Enhanced Am486 ( 1994 ). Alle nyere x86/x86-64-processorer understøtter det.
Blandt de mulige anvendelser af SMM:
Operativsystemet kører i en beskyttende " Ring 0"; hypervisoren (i VT/AMD-v-systemer) er dog mere privilegeret, og hypervisorens udførelsestilstand kaldes konventionelt "Ring -1". Derfor kaldes SMM, som er en højere prioritet end hypervisoren, betinget "Ring −2" [5] [6] [7] . Kode, der kører i SMM-tilstand, har ubegrænset adgang til al systemhukommelse, inklusive kernehukommelse og hypervisorhukommelse.
SMM aktivering
SMM aktiveres ved hjælp af SMI interrupts ( system management interrupt ), som opstår:
- På et signal fra chipsettet eller periferiudstyr på bundkortet. Dedikeret processorpin SMI# [8] bruges .
- Software SMI sendt af systemsoftwaren gennem en I/O-port (portnummer B2 [9] bruges ofte ) [10] .
- Skriv til en I/O-adresse, der er firmware indstillet til at kræve SMM-aktivering.
Ved den nærmeste instruktionsgrænse efter modtagelse af SMI#-signalet gemmer processoren sin tilstand i hukommelsen og går over til SMM. RSM (0F AA [9] ) [8] instruktionen bruges til at afslutte SMM og gendanne processortilstanden .
Problemer
- Ifølge SMM-arkitekturen kan SMI-afbrydelser ikke deaktiveres af operativsystemet.
- På ældre chipsæt (før 2006) var D_LOCK-bitten ikke indstillet til at beskytte SMM-hukommelse (hvilket gjorde det muligt at oprette SMM-malware) [5]
- Da SMM-handlerne (SMI-handleren) er installeret fra basis- BIOS -firmwaren [5] , matcher de forventede indstillinger for vigtige perifere enheder (f.eks. APIC ) i OS- og SMM-programmerne muligvis ikke
- Arbejde i SMM-tilstand suspenderer OS. Processortilstanden er lagret i SMRAM [8] , og tilbageskrivningscachene skal tømmes. På grund af dette kan kravene til hård realtid blive overtrådt. Windows OS og Linux-kernen sætter "SMI Timeout" - en tidsperiode, hvor ethvert SMM-program skal returnere kontrol til operativsystemet.
- En digital logisk analysator (yderligere fejlfindingsudstyr) kan være påkrævet for at bestemme processorinput til SMM. Når der arbejdes i SMM, er processorsignalet SMIACT# [8] indstillet .
- Hentning af SMM-programkoderne til analyse og fejlretning kræver også en logisk analysator eller BIOS-firmware- reverse engineering , da TSEG-hukommelsen, der gemmer SMM-programmerne, ikke er tilgængelig for operativsystemet under kørsel.
Se også
Noter
- ↑ Loic Dufleot. "Sikkerhedsproblemer relateret til Pentium System Management Mode." Præsenteret på CanSecWest 2006, Vancouver, Canada, 2006.
- ↑ Hackere finder et nyt sted at skjule rootkits . Hentet 2. maj 2011. Arkiveret fra originalen 8. juni 2011. (ubestemt)
- ↑ Sherri Sparks og Shawn Embleton. SMM Rootkits: En ny race af OS-uafhængig malware. Præsenteret på Black Hat USA, Las Vegas, NV, USA, 2008.
- ↑ https://www.youtube.com/watch?v=X72LgcMpM9k&feature=player_detailpage#t=2070s Arkiveret 25. juni 2016 på Wayback Machine Google Tech Talks - Coreboot - 00:34:30
- ↑ 1 2 3 invisiblethingslab.com/resources/misc09/smm_cache_fun.pdf Rafal Wojtczuk, Joanna Rutkowska , "Attacking SMM Memory via Intel® CPU Cache Poisoning"
- ↑ Ring −1 vs. Ring −2: Containerizing Malicious SMM Interrupt Handlers på AMD-V Arkiveret 13. november 2013 på Wayback Machine , 2010
- ↑ Dybdegående analyse af x86's System Management Mode Arkiveret 23. september 2013. , Georg Wassen: "Hvis Virtual Machine Monitors kan kaldes Ring −1, er System Management Mode Ring −2."
- ↑ 1 2 3 4 Intels System Management Mode af Robert R. Collins
- ↑ 1 2 Hex-kode
- ↑ ca. 5
Litteratur
Links