image

Intel dicht kwetsbaarheden in Management Engine

dinsdag 21 november 2017, 09:59 door Redactie, 15 reacties

Intel heeft meerdere kwetsbaarheden in de Management Engine, Server Platform Service en Trusted Execution Engine gedicht die op miljoenen Intel-processoren aanwezig zijn. Aan de hand van problemen die door externe onderzoekers waren gevonden heeft Intel naar eigen zeggen een uitgebreide controle van de eigen firmware uitgevoerd, wat in totaal acht kwetsbaarheden opleverde.

Op een schaal van 1 tot en met 10 wat betreft de ernst van de beveiligingslekken liggen die tussen de 6,7 en 8,2. De kwetsbaarheden met een 8,2 kunnen een aanvaller met lokale toegang tot een systeem willekeurige code laten uitvoeren. Een beveiligingslek dat met een 7,2 werd beoordeeld maakt het mogelijk voor een aanvaller met remote beheerderstoegang om willekeurige code met de rechten van de Active Management Technology (AMT) uit te voeren. Ook is het mogelijk voor ongeautoriseerde processen om toegang tot content met hogere rechten te krijgen en kan een aanvaller code met hogere rechten uitvoeren.

Intel heeft een tool uitgebracht waarmee kan worden gecontroleerd of systemen met een Intel-processor kwetsbaar zijn. Eigenaren van een Lenovo-systeem kunnen specifieke updates voor hun systeem downloaden. De Management Engine, onderdeel van Intel Active Management Technology, is een afzonderlijke processor die in elke Intel-processor vanaf 2008 tot en met het nieuwste model aanwezig is. Het heeft toegang tot het netwerk, het besturingssysteem, het geheugen en de cryptografische engine. De ME kan zelfs op afstand worden gebruikt als de computer is uitgeschakeld. De code van de Management Engine is echter gesloten, waardoor het publiek de werking niet kan controleren. De Amerikaanse burgerrechtenbeweging noemde de Management Engine dan ook een beveiligingsrisico.

Intel bedankte onderzoekers Mark Ermolov en Maxim Goryachy van securitybedrijf Positive Technologies voor hun onderzoek naar de firmware. De onderzoekers zullen volgende maand tijdens Black Hat Europe laten zien hoe het mogelijk is om niet gesigneerde, ongeverifieerde code op nieuwere Intel-chipsets uit te voeren, waarbij de Management Engine als startpunt wordt gebruikt. Ermolov en Goryachy zullen ook laten zien wat ze via de Management Engine kunnen doen bij computers die zijn uitgeschakeld, maar nog wel over stroom beschikken, zo meldt Wired. Gebruikers en beheerders van Intel-systemen krijgen het advies om te kijken of er voor hun systemen updates beschikbaar zijn.

Reacties (15)
21-11-2017, 10:27 door Anoniem
ME is super open source! Minix is in het verleden zelfs in boekvorm uitgegeven.
http://www.cs.vu.nl/~ast/intel
21-11-2017, 13:26 door Anoniem
Met andere woorden: Alle Intel systemen wereldwijd zijn zo lek als een mandje en zijn in principe toegankelijk voor niet alleen de Amerikaanse, Russische, Chinese en desnoods ook Zimbabwaanse geheime diensten wat natuurlijk al langer bekend was. Maar ook voor de concurrenten van bedrijven en organisaties. Of desnoods mijn buurman. Lekker is dat.

En ik ben bang dat dit soort troep, al dan niet in opdracht van NSA, CIA etc., ook in de processoren van andere fabrikanten zoals niet alleen Amd, maar ook bijvoorbeeld ook Mediatek en Qualcomm zit.

Vandaar dat met name de Amerikanen alles en iedereen zo makkelijk kunnen bespioneren. Kan je cryptografie gebruiken wat je wil, als ze willen kunnen ze overal bij.
21-11-2017, 13:28 door Anoniem
Modified by Intel

Andrew S. Tanenbaum;

Note added later: Some people have pointed out online that if MINIX had a GPL license, Intel might not have used it since then it would have had to publish the modifications to the code. Maybe yes, maybe no, but the modifications were no doubt technical issues involving which mode processes run in, etc. My understanding, however, is that the small size and modular microkernel structure were the primary attractions. Many people (including me) don't like the idea of an all-powerful management engine in there at all (since it is a possible security hole and a dangerous idea in the first place), but that is Intel's business decision and a separate issue from the code it runs. A company as big as Intel could obviously write its own OS if it had to. My point is that big companies with lots of resources and expertise sometimes use microkernels, especially in embedded systems. The L4 microkernel has been running inside smartphone chips for years. I certainly hope Intel did thorough security hardening and testing before deploying the chip, since apparently an older version of MINIX was used. Older versions were primarily for education and newer ones were for high availability. Military-grade security was never a goal.

Second note added later: The online discussion got completely sidetracked from my original points as noted above. For the record, I would like to state that when Intel contacted me, they didn't say what they were working on. Companies rarely talk about future products without NDAs. I figured it was a new Ethernet chip or graphics chip or something like that. If I had suspected they might be building a spy engine, I certainly wouldn't have cooperated, even though all they wanted was reducing the memory footprint (= chip area for them). I think creating George Orwell's 1984 is an extremely bad idea, even if Orwell was off by about 30 years. People should have complete control over their own computers, not Intel and not the government. In the U.S. the Fourth Amendment makes it very clear that the government is forbidden from searching anyone's property without a search warrant. Many other countries have privacy laws that are in the same spirit. Putting a possible spy in every computer is a terrible development.
21-11-2017, 13:50 door ph-cofi
Door Anoniem: ME is super open source! (...)
Is dat zo? Hoe kunnen we aantonen dat de hier door Intel vermelde processoren al Minix draaien?
ME is in elk geval geen super free software, volgens mij.
21-11-2017, 14:11 door Anoniem
ME is implementatie van Minix (waarschijnlijk). Het gegeven dat Minix is gebruikt betekent niet dat de ME open source is.
21-11-2017, 16:17 door Anoniem
Hier 10:27,

Dit is 'erger' als 'open source'. Het was waarschijnlijk nooit de bedoeling van Intel dat men er achter kwam dat hun 'ME', Minix code gebruikte. Nu kunnen aanvallers zoeken naar lekken in Minix (dat met een laag budget en weinig programmeurs is ontwikkeld), en die aanvallen in de TPM chip van Intel. Een groot deel van de Minix code zal immers hetzelfde gebleven zijn. Intel was alleen geïnteresseerd in het reduceren van de code base om het chip oppervlak kleiner (goedkoper) te maken.

Nu zijn er ook echt kwetsbaarheden gevonden. Wat helemaal niet de bedoeling kan zijn geweest van Intel. En er zijn nu patches beschikbaar (hopelijk voor alle Intel CPU's) die ook iets vreemds kunnen. Namelijk de TPM chip herprogrammeren met nieuwe code. Van de patches van Intel kan je dus leren hoe je de TPM chip kan herprogrammeren.

Ik heb mij nog niet ingelezen, maar de laatste versie van Minix is uit de herfst van 2014. En waarschijnlijk niet 64 bits (ooit was Minix 16 bits met een maximale programma grootte van 64 KB). Volgens Tanenbaum heeft Intel niet deze laatste versie van Minix gebruikt, dus wie weet wat voor lekken er nog meer in zitten?

Kan iemand mij trouwens uitleggen wat je hebt aan een TPM met een 32 bits processor? Dan kan je toch niet meer als 4 GB Ram adresseren? Ik dacht dat het juist de bedoeling was om overal stiekem bij te kunnen, dus ook de rest van je geheugen.
21-11-2017, 16:37 door karma4
Door Anoniem: Hier 10:27
Kan iemand mij trouwens uitleggen wat je hebt aan een TPM met een 32 bits processor? Dan kan je toch niet meer als 4 GB Ram adresseren? Ik dacht dat het juist de bedoeling was om overal stiekem bij te kunnen, dus ook de rest van je geheugen.
De bedoeling van TPM is enkel remote beheer zodat niemand meer in de donkere ruimtes van het datacenter hoeft te zijn.
Besparing op fte's en laat de machines het werk doen.
Remote installaties starten via het netwerk en je hebt ook dat rond met alle mogelijkheden van doosjes sappen.

Dan kan uitstekend met een minimale processor. Het doel is echt niet om overal bij te kunnen.
21-11-2017, 16:48 door Anoniem
Door Anoniem: Ik heb mij nog niet ingelezen, maar de laatste versie van Minix is uit de herfst van 2014. En waarschijnlijk niet 64 bits (ooit was Minix 16 bits met een maximale programma grootte van 64 KB).
En hoe groot was de totale geheugengrootte addresseerbaar door die versie van minix? Niet 64kB. Inderdaad, lees je maar even in.

Kan iemand mij trouwens uitleggen wat je hebt aan een TPM met een 32 bits processor? Dan kan je toch niet meer als 4 GB Ram adresseren? Ik dacht dat het juist de bedoeling was om overal stiekem bij te kunnen, dus ook de rest van je geheugen.
Als je adressen 32bit zijn, en je addresseert het geheugen als bytes en dat is dan het hele verhaal, dan ja.

Anders, ander verhaal. En dan moet je allerlei details kennen die kunnen varieeren met de specifieke architectuur waar we het over hebben. Een klein voorbeeldje: "PAE". Maar er zijn vreselijk veel voorbeelden van hoe het werkelijk addresseerbaar geheugen niet direct overeenkomt met de "bitheid" van de processor.
21-11-2017, 16:51 door Anoniem
Door Anoniem: ME is super open source! Minix is in het verleden zelfs in boekvorm uitgegeven.
http://www.cs.vu.nl/~ast/intel

Zijn verschillende versies van Minix en diegene die Intel heeft gebruikt is door Intel gemodificeerd, geheel legaal overigens. Ook van die versie zullen ongetwijfeld verschillende versies bestaan.

Het OS van de IME dus als open source voor te stellen is echt te kort door de bocht.
21-11-2017, 18:29 door Anoniem
Door Anoniem:
Door Anoniem: Ik heb mij nog niet ingelezen, maar de laatste versie van Minix is uit de herfst van 2014. En waarschijnlijk niet 64 bits (ooit was Minix 16 bits met een maximale programma grootte van 64 KB).
En hoe groot was de totale geheugengrootte adresseerbaar door die versie van minix? Niet 64kB. Inderdaad, lees je maar even in.
Dan moet je compiler wel om kunnen gaan met segmenten. Dan kan je theoretisch tot 1 MB adresseren. Zo niet, dan heb je het segment CS voor je programma, SS voor de stack en DS en ES voor je data (alle vier 64 KB). Volgens mij liep in die tijd de stack nog gewoon door in je data (hetzelfde segment).
21-11-2017, 22:38 door Bitwiper
Door Anoniem: Kan iemand mij trouwens uitleggen wat je hebt aan een TPM met een 32 bits processor? Dan kan je toch niet meer als 4 GB Ram adresseren? Ik dacht dat het juist de bedoeling was om overal stiekem bij te kunnen, dus ook de rest van je geheugen.
De TPM (Trusted Platform Module) chip is iets anders dan de ME (Management Engine) chipset waar het artikel over gaat.

Een TPM dient voor de opslag van private keys en het uitvoeren van berekeningen daarmee. In veel PC's is de TPM gemaakt door Infineon. In een hele reeks Infineon chips (TPM's maar ook chips in smartcards) zit een bug waardoor deze brakke RSA sleutelparen genereren (brak in de zin van dat je uit de public key de private key kunt berekenen).

Het is totaal niet moeilijk om met een X bit CPU meer dan 2^X bits geheugen te adresseren. Gebruikelijk is om daar een aanvullende "register" chip voor in te zetten. Een heel oude chip is bijv. de 74173, een 4 bit "D-type" register met three state outputs. Daarmee kun je 4 extra adreslijntjes maken, in elk waarvan je vooraf een 0 of een 1 zet. Als je daarmee adreslijnen 32 t/m 35 aanstuurt, en met je 32bit CPU adreslijnen 0 t/m 31, kun je 16 x 4 = 64GB adresseren. Niet tegelijkertijd natuurlijk, je hebt dan 16 "pagina's" van elk 4GB.

Bijv. de Commodore 64 (met een van de 6502 afgeleide 6510 CPU met 8 bit registers en 16 adreslijnen) had 64KB RAM, maar kon standaard delen daarvan "niet zien" ondat daar ROM "gemapped" zat. Gevolg: je had een computer met 65536 bytes RAM die na aanzetten meldde: "38911 BASIC BYTES FREE" (iets meer dan de helft dus). Je kon naast die ROM's, ook de hele 64KB RAM adresseren (bij elkaar meer dan 64KB dus), alleen niet tegelijk. En ook niet vanuit BASIC, want de ROM met de BASIC interpreter (naar verluidt Microsoft BASIC, zie https://www.c64-wiki.com/wiki/Microsoft) moest zichtbaar zijn om de volgende BASIC instructie uit te kunnen voeren, en die code had regelmatig de system ROM nodig. Wel kon je de ROM's naar RAM kopiëren en daarna RAM inschakelen i.p.v. ROM (dan kon je opzettelijk, maar ook per ongeluk, systeem- en BASIC interpreter routines overschrijven (gelukkig was de C64 snel weer opgestart :-)

De Intel 8086 CPU is een 16 bit CPU die met overlappende segmenten werkt. Het segmentregister in die CPU levert een "4 bits naar links" geschoven adres, dat bij het adresregister wordt opgeteld voordat het "op de adresbus wordt gezet". Hoewel het een 16 bit CPU betreft, heeft deze CPU wel 20 adreslijnen en kan daarmee (zonder hulp van andere chips) 1MB adresseren, maar niet meer dan 64KB tegelijk (d.w.z. zonder het segmentregister te wijzigen).
22-11-2017, 08:18 door Anoniem
Door Bitwiper:
Door Anoniem: Kan iemand mij trouwens uitleggen wat je hebt aan een TPM met een 32 bits processor? Dan kan je toch niet meer als 4 GB Ram adresseren? Ik dacht dat het juist de bedoeling was om overal stiekem bij te kunnen, dus ook de rest van je geheugen.
De TPM (Trusted Platform Module) chip is iets anders dan de ME (Management Engine) chipset waar het artikel over gaat.

Een TPM dient voor de opslag van private keys en het uitvoeren van berekeningen daarmee. In veel PC's is de TPM gemaakt door Infineon. In een hele reeks Infineon chips (TPM's maar ook chips in smartcards) zit een bug waardoor deze brakke RSA sleutelparen genereren (brak in de zin van dat je uit de public key de private key kunt berekenen).

Hmm, ik zie het verschil niet zo. Het zijn beiden technologieën die er voor zorgen dat de eigenaar van een computer, niet de eigenaar is. En uiteindelijk zal de TPM ook op de CPU zitten. Waarschijnlijk als onderdeel van de ME. Ze kunnen ook beiden je geheugen stiekem uitlezen, de ME zelfs als de computer 'uit' staat.

Ik blijf de TPM en ME in een adem noemen. TPM heeft al zoveel namen gehad in het verleden, en straks krijgen we TPM in plaats van ME en is iedereen opeens heel erg blij. Daar trap ik niet in. Ze moeten beiden weg.
22-11-2017, 15:10 door Anoniem
Ik heb het gecontroleerd en volgens de Intel tool zit de kwetsbaarheid in al mijn Intel werkstations, mijn tablets en mijn Intel servers.

*** Risk Assessment ***
Detection Error: This system may be vulnerable, please install the Intel(R) MEI/TXEI driver (available from your system manufacturer).

For more information refer to the SA-00086 Detection Tool Guide or the Intel security advisory Intel-SA-00086 at the following link:
https://security-center.intel.com/advisory.aspx?intelid=INTEL-SA-00086&languageid=en-fr

Maar als ik het goed begrijp zijn de kwetsbaarheden alleen te exploiteren door iemand die daarvoor sowieso al remote beheerderstoegang toegang moet hebben en niet voor ieder willekeurig persoon die mijn servers via internet kan bereiken.

Klopt dat? Anders kan ik de servers net zo goed weggooien
22-11-2017, 19:35 door Anoniem
Apple Mac's niet?

Pc's wel?
22-11-2017, 22:00 door Spiff has left the building
Door Anoniem, 15:10 uur:
Ik heb het gecontroleerd en volgens de Intel tool zit de kwetsbaarheid in al mijn Intel werkstations, mijn tablets en mijn Intel servers.
*** Risk Assessment ***
Detection Error: This system may be vulnerable, [...]
Eerder bood Intel de INTEL-SA-00075 Discovery Tool.
Die vermeldt op mijn notebook met P6200 "Based on the version of the ME, the system is Not Vulnerable."

De recente Intel-SA-00086 Detection Tool, die vermeldt op hetzelfde P6200 systeem echter "Based on the analysis performed by this tool: Detection Error: This system may be vulnerable."
Gezien dat "Detection Error" vraag ik me af of de Intel-SA-00086 Detection Tool wel een correctie weergave geeft.
"Detection Error" lijkt mij te zeggen "Sorry, ik ben een slecht ontworpen tool en kan dit systeem niet correct beoordelen."

Door Anoniem, 15:10 uur:
Maar als ik het goed begrijp zijn de kwetsbaarheden alleen te exploiteren door iemand die daarvoor sowieso al remote beheerderstoegang toegang moet hebben en niet voor ieder willekeurig persoon die mijn servers via internet kan bereiken.
Over CVE-2017-5712, met AV:N (Attack Vector: Network), schrijft Intel: "allows attacker with remote Admin access to the system to execute arbitrary code with AMT execution privilege."
Ook ik lees dat als dat die kwetsbaarheid enkel te misbruiken is wanneer remote admin access (remote administration) is toegestaan.
Bedoelt Intel wat anders, dan moeten ze anders en beter formuleren.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.