Intel AMT is een feature van Intel-processoren met Intel vPro-technologie
Ja en nee. Intel AMT bestaat uit verschillende features in de meeste Intel chipsets. Gebruikelijk is dat de volledige AMT functionaliteit beschikbaar is zodra de chipset de aanwezigheid van een (duurdere) vPro CPU detecteert, zonder dat die CPU
zelf een rol speelt.
In
https://software.intel.com/en-us/blogs/2011/03/21/intel-vpro-technology-with-intel-amt-what-to-look-for staat namelijk onder meer:
One of the features that is part of Intel® AMT is the KVM Remote Control. It is important to note that not all Core i7/i5 processors will support KVM Remote Control, regardless of whether or not they are vPro/AMT Capable.
Een anonieme commentaargever (helemaal onderaan die pagina) haalt die tekst aan en stelt dat dit niet waar is, verwijzend naar
http://communities.intel.com/thread/21554 waarin iemand laat zien dat als je, met de "slaap" spanning op het moederboerd, de CPU wisselt naar een ander type, de chipset dit herkent en AMT functionaliteit uit of inschakelt.
Vervolgens wordt dit bevestigd door Gael H. (Intel):
Technically KVM is handled in the Manageability Engine and if the processor has internal graphics then it does not matter whether it is i3, i5, i7, or even Celeron. However if you unplug and plug it back in, the ME will start and do the platform check for the right ingredients and it will turn off features based on what is "allowed" for that particular platform. KVM is a feature in the vPro (more high-end) platforms (i5 and i7) and it is those platforms where KVM is validated and allowed by the ME.
Met andere woorden, de functionaliteit zit in de chipset en het is puur een geldkwestie (duurdere vPro CPU) of die functionaliteit beschikbaar is.
Uit deze plaatjes (waarvan ik niet 100% zeker weet of ze kloppen) blijkt dat AMT en ME volledig losstaan van het OS en DUS van de CPU (want ook de CPU staat (grotendeels of geheel?) "uit" als de PC in slaapstand is):
-
https://www.heise.de/ct/imgs/04/2/1/9/5/7/5/1/ciw_ManagementEngine_aak_IG-c431e78ea4334a39.jpeg-
https://www.heise.de/ct/imgs/04/2/1/9/5/7/5/1/7254-f-4-bc8a6355cce759c3-b9b968a6e01065d1.png(bron:
https://www.heise.de/ct/artikel/Tipps-zur-Intel-ME-Sicherheitsluecke-SA-00075-3704454.html)
Wat ook niet klopt is dat uitsluitend "business" computers hier last van zouden hebben. In elk geval ook kwetsbaar zijn:
- Sommige HP "Consumer Notebooks and Desktops":
http://www8.hp.com/us/en/intelmanageabilityissue.html#Consumer_Notebooks- Intel Compute Stick STK2mv64CC
https://communities.intel.com/thread/114092- Intel barebone boards
https://communities.intel.com/thread/114093- Intel desktop boards
https://communities.intel.com/thread/114071(bron:
https://www.heise.de/security/meldung/Intel-ME-Sicherheitsluecke-Erste-Produktliste-noch-keine-Updates-3703356.html)
Doordat Intel niet weet of je een vPro CPU in hun moerderborden stopt of niet, moeten ze ervan uitgaan dat deze borden kwetsbaar zijn. Waarom zoiets als een compute stick AMT ondersteunt, is me een raadsel. Misschien was dit wel helemaal niet de bedoeling maar is het er per ongeluk ingeslopen (of de NSA/filmindustrie heeft de licentiekosten daarvoor betaald).
De ellende is dat het extreem lastig is om met zekerheid vast te stellen dat een PC
niet kwetsbaar is:
1) Intel's SCSDiscovery.exe geeft andere resultaten afhankelijk van of je een netwerkkabel aansluit (en de PC via DHCP een adres gekregen heeft). Uit de logfiles kun je opmaken dat e.e.a. ook van BIOS instellingen afhangt - die lang niet altijd even eenvoudig bereikbaar zijn.
2) AMT probeert het DHCP antwoord te "sniffen" en bepaalt zo het IP-adres waarop de PC bereikbaar is. Maar AMT probeert ook te bepalen of de PC zich in een vertrouwd bedrijfsnetwerk bevindt; zo niet (notebooks buiten de deur) probeert deze de mogelijkheden voor remote management uit te schakelen. De citeria hiervoor zijn mij niet duidelijk.
3) De default username/password combinatie is admin/admin (in een aantal gevallen krijg je dat terug na een lege moederbordbatterij, meestal CR2032). Volgens de documentatie zou je met dat wachtwoord
niet via het netwerk kunnen inloggen (wel stuurt zo'n PC kennelijk enkele uren na aanzetten "Hello" packets, maar of AMT op dat moment
wel open staat, weet ik niet). Onduidelijk is in elk geval of AMT dan luistert op de hieronder genoemde poorten maar dat wachtwoord niet accepteert
of geheel niet luistert (geen antwoord op een SYN pakketje geeft).
4) Als AMT voor TLS is geconfigureerd, is deze te bereiken via https://IP_adres:16993/ en anders via http://IP_adres:16992/. Waarschijnlijk werkt dat
niet vanaf de PC zelf (test voor de zekerheid vanaf een andere PC aan hetzelfde subnet), want dan zou malware op de PC ook AMT kunnen proberen te beïnvloeden. Zeker is dat 127.0.0.1 niet werkt (want dat verkeer verlaat jouw OS niet).
5) Bij 4) zou je een password prompt moeten krijgen - maar wellicht alleen als jij (of een eerdere eigenaar of een beheerder) een
ander wachtwoord dan "admin" heeft ingevuld (zie punt 3).
6) AMT kan ook als packet filter werken, waarbij ingesteld kan worden welke netwerkpakketjes het OS niet mogen bereiken. Maar ook de andere kant op kan gefilterd worden.
7) Ik weet niet zeker of AMT ook via WiFi bereikbaar is, maar ik vermoed van wel (anders zou zo'n firewall maar beperkt zin hebben).
8) Ik sluit niet uit dat AMT onder bepaalde omstandigheden alsnog wordt aangezet zodat beheer op afstand mogelijk is (hangende CPU, langdurige slaapstand etc).
9) Op minstens 1 Dell notebook zie ik in de door SCSDiscovery.exe geproduceerde XML file het woord "AMTSKU" niet voorkomen, maar wel heel veel andere aanwijzingen dat AMT wel degelijk aanwezig is, zoals:
<IsAMTSupported>True</IsAMTSupported>
maar ook certificate hashes. Ik vermoed dat "AMTSKU" erin voorkomt als er een vPro CPU in het bord zit.
Kortom, heel veel onduidelijkheden waardoor je het misschien wel betrouwbaar kunt vaststellen als jouw PC zeker kwetsbaar is, maar
niet met zekerheid dat deze
niet kwetsbaar is en dat nooit zal worden.
Voorbeeld: zelf heb ik een Toshiba Tecra notebook die, voor zover ik weet, geen vPro CPU heeft. Maar daarop draaiden
wel o.a. de volgende Intel services (W7 Pro):
Service name: LMS
Display name: Intel(R) Management and Security Application Local Management Service
Description: Intel(R) Management and Security Application Local Management Service - Provides OS-related Intel(R) ME functionality.
Service name: Intel(R) ME Service
Display name: Intel(R) ME Service
Description: Intel® Manageability Engine Service (Intel® ME Service)
Service name: cphs
Display name: Intel(R) Content Protection HECI Service
Description: Intel(R) Content Protection HECI Service - enables communication with the Content Protection FW
M.b.t. die laatste, uit
https://software.intel.com/en-us/blogs/2007/01/24/let-us-talk-about-heci-and-lms:
Host Embedded Controller Interface (HECI ) driver is a software interface that is used to communicate to the AMT subsystem (Management Engine) to access AMT capabilities. Communication between the local host operating system (OS) and the ME is accomplished by means of the HECI driver. HECI is bi-directional, as either the host OS or Intel AMT firmware can initiate transactions.
Voor zover ik kon achterhalen luisterden deze services op mijn notebook niet op TCP of UDP poorten (gebruikelijk zouden de TCP poorten 623 en 664 zijn).
In de BIOS kan ik aanzetten: "Intel(R) AT" (ik neem aan "Anti Theft"). Dit heeft geen invloed op bovengenoemde poorten. In de BIOS is niets te vinden over AMT. Er zijn echter Toshiba Tecra varianten waarbij je in de BIOS aan kunt zetten "AMT Setup Prompt" (waarschijnlijk moet je dan Ctrl-P drukken om AMT instellingen te kunnen wijzigen), maar in de BIOS in mijn notebook zie ik dat niet - wellicht omdat er geen vPro CPU in zit. Misschien dat Toshiba 1 image heeft voor Tecra's met en zonder vPro CPU, en gemakshalve altijd de drivers installeert (ook als je er, zoals vermoedelijk in mijn geval, niets aan hebt).
In elk geval blijf ik met het ongemakkelijke gevoel zitten dat ik een PC heb met een backdoor die
waarschijnlijk onbereikbaar is, maar waarvan ik niet weet of er misschien omstandigheden zijn waarbij deze toch wordt ingeschakeld.