Den som följt händelserna i teknikbranschen de senaste två åren har säkerligen stött på ett flertal nyheter om säkerhetsbrister och angrepp som nyttjar brister både operativsystem och processorer, där Intel varit flitigt förekommande för det sistnämnda. Även om många av dessa angrepp utnyttjar sårbarheter i processorn förlitar de också sig på mekanismer i operativsystemet för att exempelvis vinna högre rättigheter eller läcka data.

Av denna anledning måste både hårdvara och mjukvara stärkas för att mota angreppen i grind. Microsoft avtäcker nu den senaste given i kampen mot säkerhetsangrepp på bolagets säkerhetsblogg, där säkerhetsfokuserade utökningar i Windows 10-kärnan beskrivs. Utökningarna kallas kollektivt Kernel Data Protection (KDP) och är utformade för att förhindra datakorruption genom virtualisering.

Kernel Data Protection (KDP) is a new technology that prevents data corruption attacks by protecting parts of the Windows kernel and drivers through virtualization-based security (VBS). KDP is a set of APIs that provide the ability to mark some kernel memory as read-only, preventing attackers from ever modifying protected memory. For example, we’ve seen attackers use signed but vulnerable drivers to attack policy data structures and install a malicious, unsigned driver. KDP mitigates such attacks by ensuring that policy data structures cannot be tampered with.

I praktiken går det ut på att säkerhetsmekanismerna kan låsa delar av kärnans minnesutrymme så att det endast kan läsas på användarnivå, det som kallas user-space. Genom att göra detta förhindras angripare från att modifiera data som befinner sig i kärnans skyddade minnesutrymme. Det innebär att signerade drivrutiner som innehåller illvillig kod inte längre kan exekvera denna i det skyddade kernel-minnet.

Enligt Microsoft har KDP-tilläggen inte endast positiva effekter sett till angrepp mot systemet. Företaget menar också att mekanismerna underlättar för externa verktyg för rättighetshantering (DRM) och fuskförebyggande funktioner. Det kan också leda till förbättrad prestanda då andra delar av systemet slipper göra kontinuerliga kontroller av variabler för data som markeras för minnesskydd utanför kärnan. KDP kan också användas för mer lättillgänglig generell diagnosticering av minneskorruption.

  • Performance improvements – KDP lessens the burden on attestation components, which would no longer need to periodically verify data variables that have been write-protected

  • Reliability improvements – KDP makes it easier to diagnose memory corruption bugs that don’t necessarily represent security vulnerabilities

  • Providing an incentive for driver developers and vendors to improve compatibility with virtualization-based security, improving adoption of these technologies in the ecosystem

KDP-tilläggen bygger på säkerhetsmekanismer i hårdvara som ingår i Microsofts paraplyfamilj Secured-core PCs. Här ingår både komponenter och datorsystem som erbjuder säkerhetsfunktioner vid datorns uppstart. KDP adderar ytterligare ett lager säkerhet ovanpå de mekanismer som aktiveras när hårdvaran startar.

kernel-data-protection-kdp-fig4-The-Secure-Pool-VTL1-to-VTL0-DELTA-value.jpg

Rent praktiskt fungerar KDP på så sätt att den vanliga NT-kärnan körs i en virtualiserad miljö som kallas VTL0, medan en andra säkrad kärna körs i en ytterligare säkrad virtuell miljö som kallas VTL1. KDP-mekanismerna kan antingen köras statiskt, då kärnan inte kan modifieras av någon annan kod i VTL0-miljön. Om KDP kör dynamiskt kan lässkyddad data släppas från en säkrad minnespool, och denna data kan endast initieras en gång.

Minne som hanteras av KDP verifieras alltid av den säkra kärnan i VTL1-miljön och minnesadresserna skyddas också av en funktion som kallas second level address translation (SLAT), vilket innebär att NT-kärnan i VTL0-miljön aldrig kan modifiera innehållet i det skyddade minnet. För att Windows 10 ska kunna skyddas via KDP behöver processorn ha stöd för nyss nämnda SLAT. AMD inbegriper stöd för detta i Nestled Page Tables (NPT), medan Intels namn är Extended Page Tables (EPT).

Microsoft beskriver vidare krav för att kunna nyttja KDP-tilläggen i dokumentation om de virtualiserade säkerhetsfunktionerna VBS. KDP utvecklas av Microsofts Kernel-grupp och kan testas av den som är medlem i testprogrammet Windows Insider. Företaget meddelar inte när KDP-funktionerna är tänkt att rullas ut i skarp drift i Windows 10.

Läs mer om Windows 10: