Como detectar e atenuar a vulnerabilidade de escalação de privilégios da Intel em um sistema Linux (CVE-2017-5689)?

26

De acordo com a publicação da central de segurança da Intel de 1º de maio de 2017, há uma vulnerabilidade crítica nos processadores Intel que pode permitir que um invasor obtenha privilégios (escalonamento de privilégios) usando AMT, ISM e SBT.

Como a AMT tem acesso direto ao hardware de rede do computador, essa vulnerabilidade de hardware permitirá que um invasor acesse qualquer sistema.

Há uma escalada de vulnerabilidade de privilégios nas tecnologias Intel® Active Management Technology (AMT), Intel® Standard Manageability (ISM) e Intel® Small Business Technology versões 6.x, 7.x, 8.x 9.x, 10 .x, 11.0, 11.5 e 11.6 que podem permitir que um invasor sem privilégios obtenha controle dos recursos de gerenciabilidade fornecidos por esses produtos. Esta vulnerabilidade não existe em PCs de consumo baseados na Intel.

A Intel lançou uma ferramenta de detecção disponível para Windows 7 e 10. Estou usando informações de dmidecode -t 4e pesquisando no site da Intel que descobri que meu processador usa Intel® Active Management Technology (Intel® AMT) 8.0.

Produtos afetados:

O problema foi observado nas versões de firmware de gerenciabilidade Intel 6.x, 7.x, 8.x 9.x, 10.x, 11.0, 11.5 e 11.6 para Intel® Active Management Technology, Intel® Small Business Technology e Intel ® Gerenciamento padrão. As versões anteriores a 6 ou 11.6 não são afetadas.

A descrição:

Um invasor local sem privilégios pode fornecer recursos de gerenciamento, obtendo privilégios de sistema ou rede local sem privilégios nos SKUs de gerenciamento da Intel: Intel® Active Management Technology (AMT), Intel® Active Management Management (AMT), Intel® Standard Manageability (ISM) e Intel® Small Business Technology (SBT)

Como posso detectar e mitigar facilmente a vulnerabilidade de escalação de privilégios da Intel em um sistema Linux?

GAD3R
fonte
1
O caso é ainda mais complicado quando muitos de nós estamos usando VMs; para máquinas reais, seria suficiente procurar a presença de serviço no UDP 16992? +1
Rui F Ribeiro
2
Etapas preventivas: use SPARC (eu sei, eu sei, não é uma solução viável). Tenha +1
Fox
3
@ Fox rapidamente o CPU ME nos processadores Intel é um SPARC hoje em dia ;-).
Stephen Kitt
2
@StephenKitt Really? Talvez eu precise repensar minha posição sobre os chips da Intel! Quase todos os meus máquinas são PPC ou SPARC, então eu tenho que admitir que o meu preconceito é real
Fox

Respostas:

18

O post mais claro que vi sobre esse assunto é o de Matthew Garrett (incluindo os comentários).

Agora, Matthew lançou uma ferramenta para verificar seu sistema localmente: construa-o, execute-o com

sudo ./mei-amt-check

e informará se a AMT está ativada e provisionada e, se houver, as versões de firmware (veja abaixo). O README possui mais detalhes.

Para verificar sua rede em busca de sistemas potencialmente vulneráveis, verifique as portas 623, 624 e 16992 a 16993 (conforme descrito no próprio documento de mitigação da Intel ); por exemplo

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

examinará a rede 192.168.1 / 24 e relatará o status de todos os hosts que responderem. Conseguir conectar-se à porta 623 pode ser um falso positivo (outros sistemas IPMI usam essa porta), mas qualquer porta aberta de 16992 a 16995 é um indicador muito bom da AMT ativada (pelo menos se elas responderem adequadamente: com a AMT, isso significa uma resposta HTTP em 16992 e 16993, a última com TLS).

Se você vir respostas nas portas 16992 ou 16993, conectar-se a elas e solicitar o /uso de HTTP retornará uma resposta com uma Serverlinha que contém a "Intel (R) Active Management Technology" em sistemas com a AMT ativada; essa mesma linha também conterá a versão do firmware da AMT em uso, que poderá ser comparada com a lista fornecida no comunicado da Intel para determinar se é vulnerável.

Consulte a resposta do CerberusSec para obter um link para um script que automatiza o procedimento acima.

Há duas maneiras de corrigir o problema "corretamente":

  • atualize o firmware, assim que o fabricante do sistema fornecer uma atualização (se houver);
  • evite usar a porta de rede que fornece AMT, usando uma interface de rede não compatível com AMT em seu sistema ou usando um adaptador USB (muitas estações de trabalho AMT, como os sistemas C226 Xeon E3 com portas de rede i210, têm apenas uma AMT- interface de rede capaz - o restante é seguro; observe que a AMT pode funcionar com wi-fi, pelo menos no Windows, portanto, o uso de wi-fi embutido também pode levar a comprometimento).

Se nenhuma dessas opções estiver disponível, você estará no território de mitigação. Se seu sistema compatível com AMT nunca foi provisionado para AMT, você estará razoavelmente seguro; aparentemente, a ativação da AMT só pode ser feita localmente, e, pelo que sei, requer o uso do firmware do sistema ou do software Windows. Se a AMT estiver ativada, você poderá reiniciar e usar o firmware para desativá-la (pressione CtrlPquando a mensagem AMT for exibida durante a inicialização).

Basicamente, embora a vulnerabilidade de privilégios seja bastante desagradável, parece que a maioria dos sistemas Intel não é realmente afetada. Para seus próprios sistemas executando Linux ou outro sistema operacional semelhante ao Unix, a escalação provavelmente requer acesso físico ao sistema para ativar a AMT em primeiro lugar. (O Windows é outra história.) Em sistemas com várias interfaces de rede, como apontado por Rui F Ribeiro , você deve tratar interfaces compatíveis com AMT da mesma maneira que trataria qualquer interface administrativa (compatível com IPMI ou a interface host) para um hipervisor de VM) e isole-o em uma rede administrativa (física ou VLAN). Você não pode confiar em um host para se proteger: iptablesetc. são ineficazes aqui, porque a AMT vê pacotes antes do sistema operacional (e mantém os pacotes AMT para si).

As VMs podem complicar as coisas, mas apenas no sentido de que podem confundir a AMT e, assim, produzir resultados de varredura confusos se a AMT estiver ativada. amt-howto(7)fornece o exemplo de sistemas Xen em que a AMT usa o endereço fornecido a um DomU por DHCP, se houver, o que significa que uma varredura mostraria AMT ativo no DomU, não no Dom0 ...

Stephen Kitt
fonte
Não existe uma maneira local de detectar a AMT do Linux na máquina? Usando /proc/cpuinfoou dmidecode?
dolmen
Isso significa que, se um sistema não responder a nenhuma dessas portas, ele estará protegido contra essa vulnerabilidade ou ainda poderá ser explorado localmente?
comfreak
A mitigação em laptops pode assumir a forma de usar NICs USB em vez de integradas.
Michael Mol
1
Você escreve "observe que a AMT pode funcionar com Wi-Fi, pelo menos no Windows". Eu pensei que essa vulnerabilidade funcionava independentemente do sistema operacional?
Wurtel
1
@wurtel a vulnerabilidade é independente do sistema operacional nas interfaces com fio, mas no wi-fi o AMT parece precisar de cooperação do driver do sistema operacional em execução: ele não intercepta pacotes, depende do encaminhamento do sistema operacional para os pacotes adequados (como eu o entendo) - note que eu não testei esse lado das coisas).
Stephen Kitt
8

Simplesmente detectar as portas abertas para este serviço é insuficiente, não indica se a versão é afetada ou não. Nossa equipe criou um script python disponível no nosso github: CerberusSecurity / CVE-2017-5689 que detecta se um sistema de destino está vulnerável a ataques remotos.

Uso da amostra:

python CVE_2017_5689_detector.py 10.100.33.252-255

Isso deve permitir que você verifique se é explorável remotamente. Se você estiver interessado, também escrevemos um pequeno post em http://cerberussec.org/ com a nossa opinião sobre esta vulnerabilidade.

CerberusSec
fonte