Comment détecter et atténuer la vulnérabilité d'escalade de privilèges d'Intel sur un système Linux (CVE-2017-5689)?

26

Selon le post du centre de sécurité Intel daté du 1er mai 2017, il existe une vulnérabilité critique sur les processeurs Intel qui pourrait permettre à un attaquant d'obtenir des privilèges (escalade de privilèges) en utilisant AMT, ISM et SBT.

Étant donné que l'AMT a un accès direct au matériel réseau de l'ordinateur, cette vulnérabilité matérielle permettra à un attaquant d'accéder à n'importe quel système.

Il existe une escalade de vulnérabilité de privilèges dans les versions Intel® Active Management Technology (AMT), Intel® Standard Manageability (ISM) et Intel® Small Business Technology versions 6.x, 7.x, 8.x 9.x, 10 .x, 11.0, 11.5 et 11.6 qui peuvent permettre à un attaquant non privilégié de prendre le contrôle des fonctionnalités de gestion fournies par ces produits. Cette vulnérabilité n'existe pas sur les PC grand public basés sur Intel.

Intel a publié un outil de détection disponible pour Windows 7 et 10. J'utilise des informations provenant dmidecode -t 4du site Web Intel et en effectuant une recherche sur ce que j'ai utilisé avec mon processeur Intel® Active Management Technology (Intel® AMT) 8.0.

Produits concernés:

Le problème a été observé dans les versions de micrologiciel de gestion Intel 6.x, 7.x, 8.x 9.x, 10.x, 11.0, 11.5 et 11.6 pour Intel® Active Management Technology, Intel® Small Business Technology et Intel ® Gérabilité standard. Les versions avant 6 ou après 11.6 ne sont pas affectées.

La description:

Un attaquant local non privilégié pourrait fournir des fonctionnalités de gestion obtenant des privilèges de réseau ou de système local non privilégiés sur les SKU de gestion Intel: Intel® Active Management Technology (AMT), Intel® Standard Manageability (ISM) et Intel® Small Business Technology (SBT)

Comment puis-je facilement détecter et atténuer la vulnérabilité d'élévation de privilèges d'Intel sur un système Linux?

GAD3R
la source
1
Le cas est encore plus compliqué lorsque beaucoup d'entre nous utilisent des machines virtuelles; pour de vraies machines, suffirait-il de rechercher la présence de service sur UDP 16992? +1
Rui F Ribeiro
2
Étapes préventives: utilisez SPARC (je sais, je sais, ce n'est pas une solution réalisable). Avoir un +1
Fox
3
@Fox, assez amusant, le processeur ME des processeurs Intel est un SPARC de nos jours ;-).
Stephen Kitt
2
@StephenKitt Vraiment? Je devrai peut-être repenser ma position sur les puces d'Intel! Presque toutes mes machines sont PPC ou SPARC, donc je dois admettre que mon parti pris est réel
Fox

Réponses:

18

Le message le plus clair que j'ai vu à ce sujet est celui de Matthew Garrett (y compris les commentaires).

Matthew a maintenant publié un outil pour vérifier votre système localement: construisez-le, exécutez-le avec

sudo ./mei-amt-check

et il indiquera si AMT est activé et provisionné, et si c'est le cas, les versions du firmware (voir ci-dessous). Le README contient plus de détails.

Pour analyser votre réseau à la recherche de systèmes potentiellement vulnérables, scannez les ports 623, 624 et 16992 à 16993 (comme décrit dans le propre document d'atténuation d' Intel ); par exemple

nmap -p16992,16993,16994,16995,623,664 192.168.1.0/24

analysera le réseau 192.168.1 / 24 et signalera l'état de tous les hôtes qui répondent. Être en mesure de se connecter au port 623 peut être un faux positif (d'autres systèmes IPMI utilisent ce port), mais tout port ouvert de 16992 à 16995 est un très bon indicateur d'AMT activé (du moins s'ils répondent de manière appropriée: avec AMT, cela signifie une réponse HTTP sur 16992 et 16993, cette dernière avec TLS).

Si vous voyez des réponses sur les ports 16992 ou 16993, la connexion à ceux-ci et la demande à l' /aide de HTTP renverront une réponse avec une Serverligne contenant «Intel (R) Active Management Technology» sur les systèmes avec AMT activé; cette même ligne contiendra également la version du firmware AMT utilisé, qui peut ensuite être comparée à la liste donnée dans l'avis d' Intel pour déterminer s'il est vulnérable.

Voir la réponse de CerberusSec pour un lien vers un script automatisant ce qui précède.

Il existe deux façons de résoudre le problème «correctement»:

  • mettre à jour le firmware, une fois que le fabricant de votre système a fourni une mise à jour (si jamais);
  • évitez d'utiliser le port réseau fournissant AMT, soit en utilisant une interface réseau non compatible AMT sur votre système, soit en utilisant un adaptateur USB (de nombreux postes de travail AMT, tels que les systèmes C226 Xeon E3 avec ports réseau i210, n'ont qu'un seul AMT). interface réseau compatible - le reste est sûr; notez que AMT peut fonctionner sur le wi-fi, au moins sur Windows, donc l'utilisation du wi-fi intégré peut également conduire à une compromission).

Si aucune de ces options n'est disponible, vous êtes en territoire d'atténuation. Si votre système compatible AMT n'a jamais été configuré pour AMT, alors vous êtes raisonnablement en sécurité; activer AMT dans ce cas ne peut apparemment être fait que localement, et pour autant que je sache, il faut utiliser le firmware de votre système ou le logiciel Windows. Si AMT est activé, vous pouvez redémarrer et utiliser le firmware pour le désactiver (appuyez sur CtrlPlorsque le message AMT s'affiche pendant le démarrage).

Fondamentalement, bien que la vulnérabilité de privilège soit assez désagréable, il semble que la plupart des systèmes Intel ne soient pas réellement affectés. Pour vos propres systèmes exécutant Linux ou un autre système d'exploitation de type Unix, l'escalade nécessite probablement un accès physique au système pour activer AMT en premier lieu. (Windows est une autre histoire.) Sur les systèmes avec plusieurs interfaces réseau, comme l'a souligné Rui F Ribeiro , vous devez traiter les interfaces compatibles AMT de la même manière que vous traiteriez n'importe quelle interface administrative (compatible IPMI ou interface hôte). pour un hyperviseur VM) et isolez-le sur un réseau administratif (physique ou VLAN). Vous ne pouvez pas compter sur un hôte pour se protéger: iptablesetc. sont ici inefficaces, car AMT voit les paquets avant le système d'exploitation (et garde les paquets AMT pour lui-même).

Les machines virtuelles peuvent compliquer les choses, mais uniquement dans le sens où elles peuvent confondre AMT et ainsi produire des résultats d'analyse confus si AMT est activé. amt-howto(7)donne l'exemple des systèmes Xen où AMT utilise l'adresse donnée à une DomU via DHCP, le cas échéant, ce qui signifie qu'une analyse montrerait AMT actif sur la DomU, pas sur le Dom0 ...

Stephen Kitt
la source
N'y a-t-il pas un moyen local de détecter AMT depuis Linux sur la machine? Utilisation de /proc/cpuinfoou dmidecode?
dolmen
Est-ce à dire que si un système ne répond à aucun de ces ports, il est à l'abri de cette vulnérabilité ou peut-il encore être exploité localement?
comfreak
L'atténuation sur les ordinateurs portables peut prendre la forme de l'utilisation de cartes réseau USB au lieu d'être intégrées.
Michael Mol
1
Vous écrivez "notez que AMT peut fonctionner sur le wi-fi, au moins sur Windows". Je pensais que cette vulnérabilité fonctionnait indépendamment du système d'exploitation?
wurtel
1
@wurtel, la vulnérabilité est indépendante du système d'exploitation sur les interfaces câblées, mais sur le Wi-Fi, AMT semble avoir besoin de la coopération du pilote du système d'exploitation en cours d'exécution: il n'intercepte pas les paquets, il repose sur le système d'exploitation qui lui transmet les paquets appropriés (si je comprends bien) - notez que je n'ai pas testé ce côté des choses).
Stephen Kitt
8

La simple détection des ports ouverts pour ce service est insuffisante, cela n'indique pas si la version est affectée ou non. Notre équipe a créé un script python disponible sur notre github: CerberusSecurity / CVE-2017-5689 qui détecte si un système cible est vulnérable aux attaques à distance.

Exemple d'utilisation:

python CVE_2017_5689_detector.py 10.100.33.252-255

Cela devrait vous permettre de vérifier si vous êtes exploitable à distance. Si vous êtes intéressé, nous avons également écrit un court article de blog sur http://cerberussec.org/ avec notre vision de cette vulnérabilité.

CerberusSec
la source