Intel AMT: Waarom je nooit helemaal de baas bent over je pc

Natuurlijk wil je zelf de controle over je pc houden. Maar zelfs als je een besturingssysteem kiest dat je controle niet afneemt - zoals Linux - ben je op een dieper systeemniveau nog niet de baas over je computer. Dit dankzij Intel AMT en de bijbehorende Management Engine.

In de beginjaren van de computer was het vanzelfsprekend dat je de broncode van je besturingssysteem en software kon inzien. Dat was ook nodig, want de meeste gebruikers waren toen zelf nog ontwikkelaars. Je had daardoor heel wat controle over je computer: je kon zelf bugs fiksen en de functionaliteit uitbreiden. Universiteiten en onderzoeksafdelingen in bedrijven creëerden die programma’s en deelden ze vrijelijk, of hardwareproducenten ontwikkelden ze en verspreidden ze gratis bij hun hardware.

Beetje bij beetje verloren computergebruikers die controle. De software-industrie werd volwassen en de ontwikkelingskosten stegen. Commerciële partijen begonnen geld te vragen voor softwarelicenties los van hardware en wilden niet dat anderen hun software konden bestuderen of aanpassen. Deze zogenaamde propriëtaire software werd de norm.

Al die tijd bleef er een kleine groep idealistische gebruikers ijveren voor controle over hun pc. In de jaren 1980 en 1990 ontstonden er bewegingen die vrije software en opensource software promoten. In 1991 bracht de Finse student Linus Torvalds de Linux-kernel ter wereld en momenteel blijven gebruikers van Linux-distributies en BSD-besturingssystemen een kleine harde kern vormen van computergebruikers die bewust niet met Windows of macOS werken omdat ze de controle over hun pc willen houden.

Al die inspanningen om voor opensourcesoftware te kiezen, zetten in de praktijk geen zoden aan de dijk. De huidige pc-hardware is immers zo gesloten als wat. Elke moderne pc met het Intel-platform is uitgerust met een microcontroller, de Management Engine, die volledige controle over de pc heeft, maar onafhankelijk van de processor werkt en zonder dat de processor of je besturingssysteem er ook maar iets van ziet.

Ook het BIOS (of tegenwoordig UEFI) is in moderne pc’s niet open, net zoals de firmware van allerlei chips in je computer. Al deze gesloten componenten in pc-hardware betekenen dat je eigenlijk nooit zelf volledig de controle over je pc hebt, zelfs al draai je Linux en opensourcesoftware. Voor gebruikers die graag weten wat er op hun systeem draait, is dit een nachtmerrie. Hoe weet je of je privacy en veiligheid met zo’n systeem voldoende beschermd zijn?

Intel Management Engine

In 2006 introduceerde processorfabrikant Intel zijn Intel Management Engine. Dit is eigenlijk een volledige computer in je computer. Sinds de Core i3/i5/i7-processoren die Intel in 2009 voor het eerst uitbracht, zit de Management Engine in de Platform Controller Hub, een chip die de processor ondersteunt bij zijn taken. Alle desktopsystemen, mobiele systemen en serversystemen vanaf midden 2006 met een Intel-processor zijn uitgerust met een Management Engine.

De Management Engine bestaat uit een processorkern, cachegeheugen voor code en data, een cryptografische coprocessor, een kleine hoeveelheid rom en ram, geheugencontrollers, en zelfs een DMA-controller (direct memory access) met volledige toegang tot het werkgeheugen van je systeem. De Management Engine kan niet alleen het werkgeheugen van de computer uitlezen, maar krijgt ook de bovenste 16 Mbyte van je ram gereserveerd voor eigen gebruik. Verder heeft de Management Engine ook netwerktoegang via de ethernetcontroller van je computer, zelfs met een eigen mac-adres.

intel AMT

© PXimport

Het opstartprogramma van de Management Engine staat op diens interne ROM en laadt een firmwaremanifest van de SPI-flashchip van de pc. Dit manifest bevat een lijst van firmwaremodules en is cryptografisch ondertekend met een sleutel van Intel.

Als het opstartprogramma niet kan verifiëren of het manifest door die sleutel is ondertekend, weigert dit de firmware uit te voeren en wordt de Management Engine stopgezet. Het manifest bevat ook cryptografische hashes van de inhoud van de modules.

De kernel van de firmware is gebaseerd op het propriëtaire realtime besturingssysteem ThreadX van Express Logic. Tot de andere modules behoren een Java virtuele machine met Java-klassen voor cryptografie en veilige opslag, Intel Active Management Technology (AMT), Intel Boot Guard en Protected Audio Video Path of recenter Intel Insider. We gaan even kort op enkele van die laatste modules in.

Wake-on-Lan

De bekendste module van de Management Engine is Active Management Technology (AMT), dat onderdeel uitmaakt van Intels vPro-merk voor bedrijven. Het is een webserver die op de Management Engine draait en gebruikers op een afstand over een versleutelde verbinding toelaat om de pc te beheren, systeeminformatie te raadplegen en zelfs de computer uit- en in te schakelen. Dat inschakelen is zelfs mogelijk als de pc uitgeschakeld is (correcter: als die zich in de S3-slaaptoestand bevindt): die wordt dan via Wake-on-LAN gewekt. De Management Engine is immers actief zolang er stroom is.

Dat zijn heel krachtige mogelijkheden. Als er beveiligingsfouten in de Management Engine zitten, heeft dat dan ook grote gevolgen voor de veiligheid van je systeem. In 2009 al ontwikkelde Invisible Things Lab een exploit voor de Management Engine in de Intel Q35 chipset (geïntroduceerd in 2007). Ze slaagden erin om het beschermde deel RAM dat normaal gereserveerd is voor de Management Engine te remappen en daar een rootkit in te installeren.

In 2011 maakte beveiligingsonderzoeker Patrick Stewin daarvan gebruik om ter demonstratie een rootkit te installeren die alle toetsaanslagen continu registreerde en over het netwerk doorstuurde. Dat deed het door de toetsenbordbuffer in het RAM continu uit te lezen. En aangezien die rootkit op de volledig geïsoleerde Management Engine draait en niet op de processor zelf van de pc, kan antimalwaresoftware dit op geen enkele manier ontdekken.

Intel Boot Guard

Een extra Management Engine module die Intel in 2013 introduceerde in de Haswell-processoren is Intel Boot Guard. Een OEM (original equipment manufacturer) genereert dan een sleutelpaar en installeert de publieke sleutel in de processor. Die processor wil daarna dan alleen opstarten van firmware (BIOS/UEFI) die is ondertekend door de bijbehorende privésleutel, die alleen de OEM kent. Op zulke systemen is het dan onmogelijk om de firmware te vervangen door alternatieve, opensourcefirmware zoals coreboot of Libreboot. Als je zelf je pc samenstelt met een afzonderlijk moederbord en processor, heb je dit probleem overigens niet.

Minder bekend is dat de Management Engine ook een DRM-module (digital rights management) heeft voor audio en video. Vroeger heette die module Protected Audio Video Path (PAVP), maar sinds de Sandy Bridge-processoren wordt er gebruikgemaakt van Intel Insider. Deze DRM-modules werken gelijkaardig. De Management Engine ontvangt van het besturingssysteem van de processor een versleutelde mediastroom en een versleutelde sleutel, en ontcijfert de sleutel.

De Management Engine stuurt de versleutelde mediastroom dan samen met de gedecrypteerde sleutel naar de GPU, die de mediastroom met de sleutel decrypteert en afspeelt. Overigens maken ook andere modules van de Management Engine gebruik van de DRM-mogelijkheid, bijvoorbeeld om een pincode voor authenticatie op het scherm te tonen. Dat gebeurt volledig buiten het besturingssysteem om, zodat die pincode niet door software op de pc te onderscheppen is. Maar aan de andere kant betekent dit dat een rootkit in de Management Engine ook zaken op je scherm kan tonen waar je totaal geen controle over hebt.

AMD

Ben je trouwens fan van AMD? Denk dan niet dat je veilig bent voor de bedreigingen van de Management Engine. Hoewel AMD niet van Intels oplossing gebruikmaakt, bevatten alle AMD-processoren sinds 2013 een Platform Security Processor, een ARM-kern met TrustZone-technologie. De werking daarvan is helemaal anders dan die van de Management Engine, maar deze processor doet iets heel gelijkaardigs.

De Platform Security Processor is op dezelfde ‘die’ (Engels, stukje printplaat of geleidend materiaal) als de hoofdprocessor ingebakken. Ze heeft toegang tot het volledige ram, de netwerkcontrollers en alle andere op de PCI-/PCI Express-bus aangesloten apparaten. De firmware is cryptografisch ondertekend door AMD. Als deze niet aanwezig is, blijft de processor van je pc zichzelf resetten en kun je er dus niet mee werken.

In een volgend artikel kijken we naar de mogelijkheden om de Management Engine eventueel uit te schakelen, dan wel naar de manieren om uit te wijken naar andere opties.

Deel dit artikel
Voeg toe aan favorieten