Zoeken op website

De waarheid over het verborgen Minix-besturingssysteem en de beveiligingsproblemen van Intel


Als je een op Intel-chipset gebaseerd moederbord hebt, is de kans groot dat dit is uitgerust met de Intel Management (Intel ME)-eenheid. Dit is niet nieuw. En zorgen over de privacykwestie achter deze weinig bekende functie zijn al enkele jaren geuit. Maar plotseling lijkt de blogosfeer het probleem te hebben herontdekt. En we kunnen veel half-ware of ronduit verkeerde uitspraken over dit onderwerp lezen.

Dus laat me proberen, voor zover ik kan, enkele belangrijke punten te verduidelijken, zodat u uw eigen mening kunt vormen:

Wat is Intel ME?

Laten we eerst een definitie geven rechtstreeks van de website van Intel:

In veel op Intel® Chipset gebaseerde platforms is een klein, energiezuinig computersubsysteem ingebouwd, de Intel® Management Engine (Intel® ME). De Intel® ME voert verschillende taken uit terwijl het systeem in de slaapstand staat, tijdens het opstartproces en wanneer uw systeem actief is.

Simpel gezegd betekent dit dat Intel ME een extra processor op het moederbord toevoegt om de andere subsystemen te beheren. In feite is het meer dan alleen een microprocessor: het is een microcontroller met een eigen processor, geheugen en I/O. Eigenlijk net alsof het een kleine computer in uw computer is.

Die aanvullende eenheid maakt deel uit van de chipset en bevindt zich NIET op de hoofd-CPU-chip. Omdat Intel ME onafhankelijk is, wordt het niet beïnvloed door de verschillende slaapstanden van de hoofd-CPU en blijft het actief, zelfs als u uw computer in de slaapmodus zet of afsluit.

Voor zover ik weet is Intel ME aanwezig, te beginnen met de GM45-chipset, wat ons terugbrengt naar het jaar 2008 of zo. Bij de eerste implementatie bevond Intel ME zich op een aparte chip die fysiek kon worden verwijderd. Helaas bevatten moderne chipsets Intel ME als onderdeel van de northbridge, wat essentieel is voor de werking van uw computer. Officieel is er geen manier om Intel ME uit te schakelen, ook al lijkt er met succes een exploit te zijn gebruikt om het uit te schakelen.

Ik heb gelezen dat het op "ring -3" draait. Wat betekent dat?

Zeggen dat Intel ME in “ring -3” draait, leidt tot enige verwarring. De beveiligingsringen zijn de verschillende beveiligingsmechanismen die door een processor worden geïmplementeerd, waardoor de kernel bijvoorbeeld bepaalde processorinstructies kan gebruiken, terwijl applicaties die erbovenop draaien dit niet kunnen. Het belangrijkste punt is dat software die in een “ring” draait, volledige controle heeft over software die op een ring op een hoger niveau draait. Iets dat kan worden gebruikt voor monitoring, bescherming of om een geïdealiseerde of gevirtualiseerde uitvoeringsomgeving te presenteren aan software die in hogere ringen draait.

Op x86 draaien applicaties doorgaans in ring 1, de kernel in ring 0 en een eventuele hypervisor op ring -1. “ring -2” wordt soms gebruikt voor de microcode van de processor. En “ring -3” wordt in verschillende artikelen gebruikt om over Intel ME te praten als een manier om uit te leggen dat het een nog grotere controle heeft dan alles wat op de hoofd-CPU draait. Maar “ring -3” is zeker geen werkend model van uw processor. En laat me het nogmaals herhalen: Intel ME staat niet eens op de CPU-chip.

Ik moedig u aan om vooral naar de eerste pagina's van dat Google/Two Sigma/Cisco/Splitted-Desktop Systems-rapport te kijken voor een overzicht van de verschillende uitvoeringslagen van een typische Intel-gebaseerde computer.

Wat is het probleem met Intel ME?

Door het ontwerp heeft Intel ME toegang tot de andere subsystemen van het moederbord. Inclusief het RAM-geheugen, netwerkapparaten en cryptografische engine. En dat zolang het moederbord van stroom wordt voorzien. Bovendien heeft het rechtstreeks toegang tot de netwerkinterface met behulp van een speciale link voor out-of-band communicatie, dus zelfs als u het verkeer controleert met een tool als Wireshark of tcpdump, ziet u mogelijk niet noodzakelijkerwijs het datapakket dat door Intel ME is verzonden.

Intel beweert dat ME nodig is om het beste uit je Intel Chipset te halen. Het meest nuttige is dat het vooral in een bedrijfsomgeving kan worden gebruikt voor bepaalde beheer- en onderhoudstaken op afstand. Maar niemand buiten Intel weet precies wat het KAN doen. Omdat het dichtbij komt, leidt dit tot legitieme vragen over de mogelijkheden van dat systeem en de manier waarop het kan worden gebruikt of misbruikt.

Intel ME heeft bijvoorbeeld het potentieel om elke byte in het RAM-geheugen te lezen op zoek naar een bepaald trefwoord of om die gegevens via de NIC te verzenden. Omdat Intel ME kan communiceren met het besturingssysteem (en mogelijk met applicaties) die op de hoofd-CPU draaien, kunnen we ons bovendien scenario's voorstellen waarin Intel ME zou worden (misbruikt) door kwaadaardige software om het besturingssysteem te omzeilen. beveiligingsbeleid op niveau.

Is dit sciencefiction? Nou, ik ben persoonlijk niet op de hoogte van datalekken of andere exploits waarbij Intel ME als primaire aanvalsvector wordt gebruikt. Maar het citeren van Igor Skochinsky kan je een idee geven van waarvoor een dergelijk systeem kan worden gebruikt:

De Intel ME heeft een paar specifieke functies, en hoewel de meeste hiervan kunnen worden gezien als het beste hulpmiddel dat je kunt geven aan de IT-man die verantwoordelijk is voor de implementatie van duizenden werkstations in een bedrijfsomgeving, zijn er enkele hulpmiddelen die zeer interessante mogelijkheden zouden kunnen bieden. een exploit. Deze functies omvatten Active Management Technology, met de mogelijkheid voor beheer, provisioning en reparatie op afstand, en functioneren als een KVM. De Systeemverdedigingsfunctie is de firewall op het laagste niveau die beschikbaar is op een Intel-machine. Met IDE Redirection en Serial-Over-LAN kan een computer opstarten via een externe schijf of een geïnfecteerd besturingssysteem repareren, en de Identity Protection heeft een ingebouwd eenmalig wachtwoord voor tweefactorauthenticatie. Er zijn ook functies voor een ‘antidiefstal’-functie die een pc uitschakelt als deze niet op een vooraf bepaald tijdstip incheckt bij een server of als er een ‘gifpil’ via het netwerk wordt afgeleverd. Deze antidiefstalfunctie kan een computer uitschakelen of de schijfversleuteling waarschuwen om de coderingssleutels van een schijf te wissen.

Ik laat je de Igor Skochinsky-presentatie voor de REcon 2014-conferentie bekijken om een overzicht uit de eerste hand te krijgen van de mogelijkheden van Intel ME:

  • dia's

  • video

Terzijde: om u een idee te geven van de risico's, bekijk de CVE-2017-5689 die in mei 2017 is gepubliceerd over een mogelijke escalatie van bevoegdheden voor lokale en externe gebruikers die de HTTP-server gebruiken die op Intel ME draait wanneer Intel AMT is ingeschakeld .

Maar raak niet meteen in paniek, want voor de meeste personal computers is dit geen probleem, omdat ze geen AMT gebruiken. Maar dat geeft een idee van de mogelijke aanvallen gericht op Intel ME en de software die daarin draait.

Wat weten we over Intel ME? Hoe is het gerelateerd aan Minix?

Intel ME en de software die er bovenop draait, zijn afkomstig van dichtbij en mensen die toegang hebben tot de gerelateerde informatie zijn gebonden aan een geheimhoudingsovereenkomst. Maar dankzij onafhankelijke onderzoekers hebben we er nog wel wat informatie over.

Intel ME deelt het flashgeheugen met uw BIOS om de firmware op te slaan. Maar helaas is een groot deel van de code niet toegankelijk via een simpele dump van de flash, omdat deze afhankelijk is van functies die zijn opgeslagen in het ontoegankelijke ROM-gedeelte van de ME-microcontroller. Bovendien lijkt het erop dat de delen van de code die toegankelijk zijn, zijn gecomprimeerd met behulp van niet-openbaar gemaakte Huffman-compressietabellen. Dit is geen cryptografie, het is compressie ervan – verduistering zouden sommigen kunnen zeggen. Hoe dan ook, het helpt niet bij het reverse-engineeren van Intel ME.

Tot versie 10 was Intel ME gebaseerd op ARC- of SPARC-processors. Maar Intel ME 11 is gebaseerd op x86. In april probeerde een team van Positive Technologies de tools te analyseren die Intel aan OEM's/leveranciers levert, evenals een aantal ROM-bypasscodes. Maar dankzij de compressie van Huffman konden ze niet ver komen.

Ze konden echter wel TXE analyseren, de Trusted Execution Engine, een systeem vergelijkbaar met Intel ME, maar beschikbaar op de Intel Atom-platforms. Het leuke van TXE is dat de firmware niet Huffman-gecodeerd is. En daar vonden ze iets grappigs. Ik geef er de voorkeur aan om de overeenkomstige paragraaf hier in extenso te citeren:

Toen we bovendien in de gedecomprimeerde vfs-module keken, kwamen we de strings "FS: nep-kind voor forking" en "FS: forking bovenop een in-gebruik-kind" tegen, die duidelijk afkomstig zijn van Minix3-code. Het lijkt erop dat ME 11 gebaseerd is op het MINIX 3 besturingssysteem ontwikkeld door Andrew Tanenbaum :)

Laten we het duidelijk maken: TXE bevat code die is "geleend" van Minix. Dat is zeker. Andere hints suggereren dat het waarschijnlijk een volledige Minix-implementatie uitvoert. Ten slotte kunnen we, ondanks het ontbreken van bewijs, zonder al te veel risico's aannemen dat ME 11 ook op Minix gebaseerd zou zijn.

Tot voor kort was Minix zeker geen bekende OS-naam. Maar een paar pakkende titels brachten daar onlangs verandering in. Dat en een recente open brief van Andrew Tannenbaum, de auteur van Minix, liggen waarschijnlijk aan de basis van de huidige hype rond Intel ME.

Andreas Tanenbaum?

Als je hem niet kent: Andrew S. Tanenbaum is computerwetenschapper en emeritus hoogleraar aan de Vrije Universiteit Amsterdam in Nederland. Generaties studenten, waaronder ikzelf, hebben computerwetenschappen geleerd via de boeken, het werk en de publicaties van Andrew Tanenbaum.

Voor educatieve doeleinden begon hij eind jaren 80 met de ontwikkeling van het Unix-geïnspireerde Minix-besturingssysteem. En stond bekend om zijn controverse op Usenet met een toen jonge kerel genaamd Linus Torvalds over de deugden van monolithische versus micro-kernels.

Voor wat ons vandaag interesseert, heeft Andrew Tanenbaum verklaard dat hij geen enkele feedback van Intel heeft over het gebruik dat zij van Minix hebben gemaakt. Maar in een open brief aan Intel legt hij uit dat hij een paar jaar geleden werd benaderd door Intel-ingenieurs met veel technische vragen over Minix en zelfs met het verzoek om codewijziging om selectief een deel van het systeem te kunnen verwijderen om de voetafdruk ervan te verkleinen.

Volgens Tannenbaum heeft Intel nooit de reden voor hun interesse in Minix uitgelegd. “Na die eerste uitbarsting van activiteit was er een paar jaar radiostilte”, dat is tot op de dag van vandaag zo.

In een laatste opmerking legt Tannenbaum zijn standpunt uit:

Het vermelden waard als we het morele gedrag van Intel in twijfel kunnen trekken, zowel wat betreft de manier waarop ze Tannenbaum en Minix benaderden als wat betreft het nagestreefde doel met Intel ME, strikt genomen handelden ze perfect in overeenstemming met de voorwaarden van de Berkeley-licentie die bij het Minix-project hoort.

Meer informatie over MIJ?

Als u op zoek bent naar meer technische informatie over Intel ME en de huidige stand van de kennis van de gemeenschap over die technologie, raad ik u aan een kijkje te nemen naar de Positive Technology-presentatie die is gepubliceerd voor de TROOPERS17 IT-Security-conferentie. Hoewel dit niet voor iedereen gemakkelijk te begrijpen is, is dit zeker een referentie om de geldigheid van elders gelezen informatie te beoordelen.

En hoe zit het met het gebruik van AMD?

Ik ben niet bekend met AMD-technologieën. Dus als u meer inzicht heeft, kunt u ons dit laten weten via het commentaargedeelte. Maar voor zover ik kan zien, heeft de AMD Accelerated Processing Unit (APU) lijn van microprocessors een soortgelijke functie waarbij ze een extra ARM-gebaseerde microcontroller insluiten, maar deze keer rechtstreeks op de CPU-chip. Verbazingwekkend genoeg wordt die technologie door AMD geadverteerd als “TrustZone”. Maar net als zijn Intel-tegenhanger weet niemand echt wat het doet. En niemand heeft toegang tot de bron om het exploitoppervlak dat het aan uw computer toevoegt, te analyseren.

Dus wat te denken?

Het is heel gemakkelijk om paranoïde te worden over deze onderwerpen. Wat bewijst bijvoorbeeld dat de firmware die op uw Ethernet- of draadloze NIC draait, u niet bespioneert om gegevens via een verborgen kanaal te verzenden?

Wat Intel ME meer zorgen baart, is omdat het op een andere schaal werkt, omdat het letterlijk een kleine, onafhankelijke computer is die kijkt naar alles wat er op de hostcomputer gebeurt. Persoonlijk maakte ik me zorgen over Intel ME sinds de eerste aankondiging. Maar dat weerhield mij er niet van om op Intel gebaseerde computers te gebruiken. Zeker, ik zou er de voorkeur aan geven als Intel de keuze zou maken om de Monitoring Engine en de bijbehorende software open source te maken. Of als ze een manier boden om het fysiek uit te schakelen. Maar dat is een mening die alleen mij betreft. Je hebt daar zeker je eigen ideeën over.

Ten slotte, zei ik hierboven, was het mijn doel bij het schrijven van dat artikel om u zoveel mogelijk verifieerbare informatie te geven, zodat u uw eigen mening kunt vormen...

Gerelateerde artikelen: