Tegenwoordig wordt hardware kunstmatig verouderd om ons sneller nieuwe spullen te laten aanschaffen. Dankzij een discutabel idee van Intel kunnen nu ook moederbordfabrikanten vervanging afdwingen door geen BIOS-updates meer uit te brengen. Lees en huiver...

hetlab logo
Henk van de Kamer

 

Op 22 juni 2017 ontving ik een doos met onderdelen waarmee ik de computer in elkaar sleutelde waarop deze aflevering is geschreven. Sinds het einde van de gigahertz-race gaan werksystemen alhier meestal een jaar of zes mee, dus mijn huidige systeem zou nog zeker 2,5 jaar dienst moeten doen. Zou? Vanwege een discutabel idee van Intel en hun ongelooflijk domme uitvoering is Obelix - mijn computer - niet meer te vertrouwen. 

BIOS ASUS P4SX X

BEHEER 
In 2006 besloot Intel om systeembeheerders meer controle over de computersystemen in hun bedrijf te geven. Bijvoorbeeld om ze ’s nachts aan te kunnen zetten om updates door te voeren. Op zich geen verkeerd idee. Het werd discutabel toen Intel besloot om deze management-engine te laten draaien op een eigen processor verstopt in de chipset. Deze verleent van oorsprong allerlei ondersteunende taken aan de (hoofd)processor. Zoals gezegd discutabel, maar met de juiste uitvoering nog steeds geen probleem. Dat werd het wel toen Intel besloot dat deze hulpprocessor opeens de volledige regie over het systeem kreeg. Een van de taken van deze hulpprocessor is namelijk het starten van de hoofdprocessor - gebaseerd op de x86-architectuur. Nogmaals: dit is een ongelooflijk domme uitvoering! 
De genoemde hulpprocessor is sinds 2008 in elke Intel-chipset aanwezig. Omdat de x86 stroom vreet, heeft de hulpprocessor een ARM-architectuur. Een ongelukkige naamgeving, aangezien deze de volledige zeggenschap over de hoofdprocessor heeft. Bedenk daarom vanaf nu dat de hoofdprocessor je taken uitvoert en dat de hulpprocessor op de achtergrond hopelijk geen stiekeme dingen doet. Daar kom ik zo dadelijk op terug. Om alle beheerstaken onafhankelijk van het besturingssysteem - bijvoorbeeld Windows of Linux - te laten werken, gebruikt Intel zonder overleg Minix van professor Tanenbaum. Minix is een Unix-kloon en was de inspiratie voor Linus Torvalds om de Linux-kernel te programmeren. Inderdaad: elke Intel-computer draait nu minimaal twee besturingssystemen: dat waar je dagelijks tegenaan kijkt en Minix. Onder deze laatste draaien alle beheerprogramma’s. Iedereen weet dat software bugs bevat en de beheerprogramma’s vormen daarop geen uitzondering. De patches hiervoor zitten verstopt in een BIOS- update die bijna niemand doorvoert. Begin je al te begrijpen waarom we door deze hulpprocessor onze computer niet meer kunnen vertrouwen? 

Gigabyte

BUGS 
Op 1 mei 2017, oftewel een maand voordat ik de onderdelen bestelde, werd een garagedeur in de management-engine ontdekt. Waarom dan toch een Intel-processor gekocht? Het alternatief is een AMD-processor, maar deze heeft sinds 2013 iets soortgelijks. Zij hebben eveneens niet nagedacht over de uitvoering, waardoor ook deze al de nodige beveiligingsproblemen op zijn naam heeft staan. 
De genoemde bug was lang onduidelijk, omdat Intel weinig informatie over het systeem vrijgeeft. Verder worden er allerlei kreten gebruikt die op elkaar lijken, maar totaal verschillende dingen doen. Het zal je niet verbazen dat ik het systeem in elkaar heb gesleuteld, gecontroleerd of de laatste BIOS-update was doorgevoerd en vervolgens overging tot de orde van de dag. Bijna een jaar later ontdekte ik mijn melding van de genoemde garagedeur en besloot ik om wat meer tijd aan deze ellende te wijden. 
Het grote voordeel van een jaar wachten is dat in de tussentijd, ondanks Intels zwijgen, veel meer informatie bekend was. Bijvoorbeeld een paar Python-scripts die op verschillende (onder tussen waren meer problemen gevonden) bugs kon testen. Obelix bevatte gelukkig niet de genoemde garagedeur. Deze zit in een stukje software dat Intel onder de naam Small Business Technology verspreidt. Dat is iets heel anders dan Small Business Basics van hetzelfde Intel en dat je onder Windows kunt installeren. Had ik al gezegd dat Intel bewust verwarring schept? Via de scripts bleek mijn Obelix wel gevoelig te zijn voor een andere bug: na het doorvoeren van een BIOS- update (van F22 naar F25) ging de SVN-teller van 1 naar 3. Deze bug is dus in versie F23 of F24 opgelost. De SVN-teller zorgt ervoor dat we niet gemakkelijk - maar ook niet onmogelijk - een oudere versie van het BIOS kunnen terugzetten. Op zich goed, tenzij de nieuwste versie andere problemen veroorzaakt! 
Nu zou ik dit allemaal waarschijnlijk niet geschreven hebben als afgelopen juli niet opnieuw de nodige bugs waren gevonden. Uiteraard is Obelix voor een aantal daarvan vatbaar en heeft Gigabyte, de maker van het moederbord, aangegeven dat er geen BIOS-updates meer gemaakt worden. De hulpprocessor en diens besturingssysteem kunnen nu bij de netwerkkaart, geheugen, harddisk en meer. Dit alles zonder dat ik deze toegang via Debian Buster (een Linux-distributie) kan controleren of ontzeggen. Ik ben redelijk voorzichtig met wat ik op Obelix doe, maar ik durf niet te garanderen dat de aanwezige bugs onmogelijk door kwaadwillenden misbruikt kunnen worden. Met andere woorden: een systeem van amper drie jaar oud is nu eigenlijk rijp voor de schroothoop. En een nieuw systeem met een Intel- of AMD-processor zal niet veel veiliger zijn...

Het Lab Gigabyte moederbord

BINWALK 
Omdat ik Obelix niet meer kan vertrouwen, besloot ik een inventarisatie te maken van al mijn oude computers. Weggooien is namelijk zonde, zoals het experiment met de HP thin client in de vorige aflevering van Het Lab liet zien. In totaal vond ik, inclusief Obelix, negen computers met een x86-processor. Vier hiervan hebben een Intel-processor en twee hebben een Intel ME. Drie hebben een AMD-processor, maar voor zover ik kan nagaan niet diens PSP. De laatste twee systemen hebben een Via-processor. Eén systeem heeft kuren en wil op dit moment niet meer starten. De ander is de HP thin client. 
Nu is literatuuronderzoek naar aanwezigheid van Intel ME lastig en wilde ik een betrouwbaarder methode. Om NAS’sen en routers van eigen software te voorzien, gebruik ik vaak het binwalk-programma onder Linux. Dit kan de firmware ontleden in aanwezige zaken als kernel, RAM-disk images, etc. Een minder bekende optie onderzoekt de machinetaalinstructies en kan zo informatie geven over de processor waarop de firmware draait. Voor de meest recente BIOS die op Obelix is geïnstalleerd: 

hvdkamer@obelix:~$ binwalk -A H110MS2H.F25 
... 
1273532 0x136EBC ARM instructions, function prologue 

Zoals hierboven uitgelegd, gebruikt de hulpprocessor een andere architectuur en diens software- update is dus in dit bestand aanwezig vanaf de genoemde locatie. De HP thin client leverde een verrassing op: 

hvdkamer@obelix:~$ binwalk -A 537HV103.BIN 
... 
516608 0x7E200 ARMEB instructions, function prologue 

NOG DOMMER 
Die verrassing wordt echter mede veroorzaakt door mijn geheugen: ik lees te veel en vergeet daardoor het nodige. In mijn labjournaal ontdekte ik een bericht van 14 november 2019 (https://www. hetlab.tk/idee/verborgen-processors). Christopher Domas is een onderzoeker die wil weten of al die verborgen processoren en besturingssystemen in onze hedendaagse computers misbruikt kunnen worden. Het antwoord luidt natuurlijk: ja. 
In een blackhat-presentatie (https://www.youtube. com/watch?v=_eSAF_qT_FY) begint hij met het lezen van Via-patenten. Dit bedrijf heeft een licentie van Intel om x86-processoren met extra functionaliteit te maken. Tijdens het lezen van de patenten ontstond het idee dat Via in de x86- processor een tweede verstopt. Letterlijk! Anders dan de hints in de patenten wordt dit nergens vermeld. Het onderzoek is behoorlijk complex, maar uiteindelijk kan Christopher programma’s op de geheime processor uitvoeren. Zoals het kopje boven deze paragraaf al doet vermoeden, is niet goed nagedacht over de gevolgen als dat gebeurt. Bij mijn weten weet ook niemand waarom Via dit doet. Zonder die informatie is de enige conclusie: een backdoor die in theorie alleen door Via zelf gebruikt kan worden. Hoe dan ook, blijkbaar mag een gewone gebruiker - dus zonder root-rechten - onder Linux een programma starten met daarin instructies voor de geheime processor. Omdat deze verborgen processor de baas is over de x86, kan zo een gewone gebruiker zonder verdere kennis opeens root worden. 

TOT SLOT 
Gelukkig is de processor volgens de huidige maatstaven antiek. Maar dit soort verstopte hardware is zonder ons medeweten bloedlink. De gevonden lekken in Intel ME en AMD’s PSP zijn niet leuk, zeker niet als er geen updates meer gemaakt worden om de lekken te dichten. Maar met de kennis kan in ieder geval een afgewogen beslissing gemaakt worden of je een systeem meteen moet vervangen of dat het risico aanvaardbaar is. Het mag duidelijk zijn dat ik af wil van processoren die door grote fabrikanten gemaakt worden. Dat geldt ook voor de nieuwste ARM-processor die Apple gaat produceren...