A verdade sobre o Minix OS Oculto da Intel e questões de segurança

18 de novembro de 2017

Se você tiver uma placa-mãe baseada no chipset Intel, há grandes chances de ela estar equipada com a unidade Intel Management (Intel ME). Isso não é novo. E preocupações relacionadas à questão da privacidade por trás desse recurso pouco conhecido foram levantadas por vários anos. Mas, de repente, a blogosfera parece ter redescoberto o problema. E podemos ler muitas afirmações meio verdadeiras ou simplesmente erradas sobre este tópico.

Portanto, deixe-me tentar esclarecer, tanto quanto possível, alguns pontos-chave para que você dê sua própria opinião:

O que é Intel ME?

Processadores Intel

Primeiro, vamos dar uma definição direto do site da Intel:

Construído em muitas plataformas baseadas em chipsets Intel® está um subsistema de computador pequeno e de baixo consumo de energia chamado Intel® Management Engine (Intel® ME). O Intel® ME executa várias tarefas enquanto o sistema está em repouso, durante o processo de inicialização e quando o sistema está funcionando. Simplificando, isso significa que o Intel ME adiciona outro processador na placa-mãe para gerenciar os outros subsistemas. Na verdade, é mais do que apenas um microprocessador: é um microcontrolador com seu próprio processador, memória e E/S. Realmente como se fosse um pequeno computador dentro do seu computador.

Essa unidade suplementar faz parte do chipset e NÃO está na CPU principal die. Sendo independente, isso significa que o Intel ME não é afetado pelos vários estados de hibernação da CPU principal e permanecerá ativo mesmo quando você colocar o computador em modo de hibernação ou quando for desligado.

Pelo que eu posso dizer, o Intel ME está presente começando com o chipset GM45 - que nos traz de volta ao ano de 2008 ou assim. Em sua implementação inicial, o Intel ME estava em um chip separado que poderia ser removido fisicamente. Infelizmente, os chipsets modernos incluem o Intel ME como parte do northbridge, que é essencial para o funcionamento do seu computador. Oficialmente, não há como desligar o Intel ME, mesmo que algum exploit pareça ter sido usado com sucesso para desativá-lo.

Eu li que funciona no anel -3 o que isso significa?

Dizer que o Intel ME está rodando no ring -3 causa alguma confusão. Os anéis de proteção são os vários mecanismos de proteção implementados por um processador que permite, por exemplo, o kernel usar certas instruções do processador, ao passo que os aplicativos executados sobre ele não podem fazer isso. O ponto principal é que o software executado em um anel tem controle total sobre o software executado em um anel de nível superior. Algo que pode ser usado para monitoramento, proteção ou para apresentar um ambiente de execução idealizado ou virtualizado para software rodando em anéis de nível superior.

Normalmente, no x86, os aplicativos são executados no anel 1, o kernel é executado no anel 0 e um eventual hipervisor no anel -1. anel -2 às vezes é usado para o microcódigo do processador. E o ring -3 é usado em vários jornais para falar sobre o Intel ME como forma de explicar que ele tem um controle ainda maior do que tudo rodando no processador principal. Mas o ring -3 certamente não é um modelo funcional do seu processador. E deixe-me repetir mais uma vez: o Intel ME não está nem no chip da CPU.

Eu encorajo você a dar uma olhada especialmente nas primeiras páginas daquele relatório Google/Two Sigma/Cisco/Splitted-Desktop Systems para uma visão geral das várias camadas de execução de um computador baseado em Intel típico.

Qual é o problema com o Intel ME?

Por design, o Intel ME tem acesso aos outros subsistemas da placa-mãe. Incluindo a RAM, dispositivos de rede e mecanismo criptográfico. E isso, desde que a placa-mãe esteja ligada. Além disso, ele pode acessar diretamente a interface de rede usando um link dedicado para comunicação fora de banda, portanto, mesmo se você monitorar o tráfego com uma ferramenta como o Wireshark ou tcpdump, não necessariamente verá o pacote de dados enviado pelo Intel ME.

Visão geral da arquitetura do Intel ME

A Intel afirma que o ME é necessário para obter o melhor do seu chipset Intel. Mais útil, ele pode ser usado especialmente em um ambiente corporativo para algumas tarefas de administração e manutenção remotas. Mas ninguém fora da Intel sabe exatamente o que ela PODE fazer. Ter uma fonte próxima leva a questões legítimas sobre as capacidades desse sistema e a forma como ele pode ser usado ou abusado.

Por exemplo, o Intel ME tem o potencial para ler qualquer byte na RAM em busca de alguma palavra-chave ou para enviar esses dados através da NIC. Além disso, como o Intel ME pode se comunicar com o sistema operacional - e potencialmente com os aplicativos - em execução na CPU principal, poderíamos imaginar cenários onde o Intel ME seria (ab) usado por um software malicioso para contornar as políticas de segurança no nível do SO.

Isso é ficção científica? Bem, eu não estou pessoalmente ciente de vazamento de dados ou outra exploração por ter usado o Intel ME como seu vetor de ataque primário. Mas citar Igor Skochinsky pode dar a você um ideal de como esse sistema pode ser usado:

O Intel ME tem algumas funções específicas e, embora a maioria delas possa ser vista como a melhor ferramenta que você poderia dar ao cara de TI encarregado de implantar milhares de estações de trabalho em um ambiente corporativo, existem algumas ferramentas que seriam caminhos muito interessantes para um exploit. Essas funções incluem a tecnologia de gerenciamento ativo, com capacidade para administração, provisionamento e reparo remotos, além de funcionar como um KVM. A função System Defense é o firewall de nível mais baixo disponível em uma máquina Intel. O Redirecionamento IDE e Serial-Over-LAN permitem que um computador inicialize por meio de uma unidade remota ou conserte um sistema operacional infectado, e o Identity Protection tem uma senha única incorporada para autenticação de dois fatores. Existem também funções para uma função "antirroubo" que desativa um PC se ele não conseguir fazer o check-in em um servidor em algum intervalo predeterminado ou se uma "pílula de veneno" for entregue pela rede Esta função anti-roubo pode matar um computador ou notificar a criptografia do disco para apagar as chaves de criptografia da unidade. Eu deixei você dar uma olhada na apresentação de Igor Skochinsky para a conferência REcon 2014 para ter uma visão geral em primeira mão dos recursos do Intel ME:

Como observação lateral, para dar uma ideia dos riscos, dê uma olhada no CVE-2017-5689 publicado em maio de 2017 sobre um possível escalonamento de privilégios para usuários locais e remotos usando o servidor HTTP em execução no Intel ME quando o Intel AMT está ativado.

Mas não entre em pânico imediatamente porque, para a maioria dos computadores pessoais, isso não é uma preocupação porque eles não usam AMT. Mas isso dá uma ideia dos possíveis ataques que visam o Intel ME e o software em execução nele.

O que sabemos sobre o Intel ME? Como ele está relacionado ao Minix?

O Intel ME e o software executado nele são de origem próxima e as pessoas que têm acesso às informações relacionadas estão vinculadas a um contrato de não divulgação. Mas graças a pesquisadores independentes ainda temos algumas informações sobre isso.

O Intel ME compartilha a memória flash com seu BIOS para armazenar seu firmware. Mas, infelizmente, uma grande parte do código não é acessível por um simples dump do flash porque ele depende de funções armazenadas na parte inacessível da ROM do microcontrolador ME. Além disso, parece que as partes do código que estão acessíveis são compactadas usando tabelas de compactação Huffman não divulgadas. Isso não é criptografia, sua compressão - ofuscação, alguns diriam. De qualquer forma, não ajuda na engenharia reversa do Intel ME.

Até sua versão 10, o Intel ME era baseado nos processadores ARC ou SPARC. Mas o Intel ME 11 é baseado em x86. Em abril, uma equipe da Positive Technologies tentou analisar as ferramentas que a Intel fornece aos OEMs/fornecedores, bem como algum código de desvio de ROM. Mas, devido à compressão de Huffman, eles não foram capazes de ir muito longe.

Porém, eles conseguiram fazer foi analisar o TXE, o Trusted Execution Engine, um sistema semelhante ao Intel ME, mas disponível nas plataformas Intel Atom. O bom do TXE é que o firmware não é codificado por Huffman. E lá eles encontraram uma coisa engraçada. Eu prefiro citar o parágrafo correspondente in extenso aqui:

Além disso, quando olhamos dentro do módulo vfs descompactado, encontramos as strings FS: bogus child for forking e FS: forking em cima do filho em uso, que claramente se originam do código Minix3. Parece que o ME 11 é baseado no sistema operacional MINIX 3 desenvolvido por Andrew Tanenbaum :) Vamos deixar as coisas claras: TXE contém código emprestado do Minix. Isso é certo. Outras dicas sugerem que ele provavelmente executa uma implementação completa do Minix. Finalmente, apesar de nenhuma evidência, podemos assumir sem muitos riscos que o ME 11 também seria baseado no Minix.

Até recentemente, Minix certamente não era um nome de sistema operacional bem conhecido. Mas alguns títulos cativantes mudaram isso recentemente. Isso e uma carta aberta recente de Andrew Tannenbaum, o autor do Minix, estão provavelmente na raiz do atual hype em torno do Intel ME.

Andrew Tanenbaum?

Se você não o conhece, Andrew S. Tanenbaum é um cientista da computação e professor emérito da Vrije Universiteit Amsterdam na Holanda. Gerações de alunos, inclusive eu, aprenderam ciências da computação por meio dos livros, trabalhos e publicações de Andrew Tanenbaum.

Para fins educacionais, ele começou a desenvolver o sistema operacional Minix inspirado no Unix no final dos anos 80. E era famoso por sua controvérsia na Usenet com um então jovem chamado Linus Torvalds sobre as virtudes do monolítico versus micro-kernels.

Para o que nos interessa hoje, Andrew Tanenbaum declarou não ter nenhum feedback da Intel sobre o uso que eles fizeram do Minix. Mas em uma carta aberta à Intel, ele explica que foi contatado há alguns anos por engenheiros da Intel para fazer muitas perguntas técnicas sobre o Minix e até mesmo solicitar a alteração do código para poder remover seletivamente parte do sistema a fim de reduzir sua pegada.

De acordo com Tannenbaum, a Intel nunca explicou o motivo de seu interesse pelo Minix. Depois desse surto inicial de atividade, houve silêncio no rádio por alguns anos , até hoje.

Em uma nota final, Tannenbaum explica sua posição:

Para registro, gostaria de declarar que, quando a Intel me contatou, ela não disse no que estava trabalhando. As empresas raramente falam sobre produtos futuros sem NDAs. Achei que era um novo chip Ethernet ou chip gráfico ou algo parecido. Se eu suspeitasse que eles poderiam estar construindo uma máquina de espionagem, certamente não teria cooperado [...] Vale a pena mencionar se podemos questionar o comportamento moral da Intel, tanto no que diz respeito à forma como abordaram Tannenbaum e Minix e no objetivo perseguido com Intel ME, a rigor, eles agiram perfeitamente de acordo com os termos da licença de Berkeley que acompanha o projeto Minix .

Mais informações sobre mim?

Se você estiver procurando por mais informações técnicas sobre o Intel ME e o estado atual do conhecimento da comunidade dessa tecnologia, encorajo você a dar uma olhada na apresentação da Positive Technology publicada na conferência TROOPERS17 IT-Security. Embora não seja facilmente compreensível por todos, esta é certamente uma referência para julgar a validade das informações lidas em outros lugares.

E que tal usar AMD?

Não estou familiarizado com as tecnologias AMD. Portanto, se você tiver mais informações, informe-nos usando a seção de comentários. Mas pelo que eu posso dizer, a linha de microprocessadores AMD Accelerated Processing Unit (APU) tem um recurso semelhante onde eles incorporam um microcontrolador baseado em ARM extra, mas desta vez diretamente no chip da CPU. Surpreendentemente, essa tecnologia é anunciada como TrustZone pela AMD. Mas, como para sua contraparte da Intel, ninguém sabe realmente o que faz. E ninguém tem acesso à fonte para analisar a superfície de exploração que ela adiciona ao seu computador.

Então o que pensar?

É muito fácil ficar paranóico com esses assuntos. Por exemplo, o que prova que o firmware em execução em sua placa de rede Ethernet ou sem fio não espiona você para transmitir dados através de algum canal oculto?

O que torna o Intel ME mais uma preocupação é porque ele funciona em uma escala diferente, sendo literalmente um pequeno computador independente olhando para tudo o que acontece no computador host. Pessoalmente, fiquei preocupado com o Intel ME desde seu anúncio inicial. Mas isso não me impediu de rodar computadores baseados em Intel. Certamente, eu preferiria que a Intel optasse por abrir o mecanismo de monitoramento e o software associado. Ou se eles forneceram uma maneira de desativá-lo fisicamente. Mas essa é uma opinião que só diz respeito a mim. Você certamente tem suas próprias idéias sobre isso.

Finalmente, eu disse acima, meu objetivo ao escrever esse artigo era fornecer a você o máximo possível de informações verificáveis para que você possa fazer sua própria opinião ...

Confira também a versão original desse post em inglês
Esse post foi originalmente escrito por Sylvain Leroux e publicado no site itsfoss.com. Tradução sujeita a revisão.

The Truth About the Intel’s Hidden Minix OS and Security Concerns

Propaganda
Blog Comments powered by Disqus.
Propaganda