A verdade sobre o Intel Minix OS ocultos e preocupações de segurança

Se você tem uma placa-mãe baseada no chipset Intel, há grandes chances de ela ser equipada com a unidade Intel Management (Intel ME). Isso não é novidade. E as preocupações em relação à questão de 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 declarações semi- verdadeiras ou simplesmente erradas sobre esse tópico.

Então, deixe-me tentar esclarecer, tanto quanto eu puder, alguns pontos-chave para você fazer sua própria opinião:

O que é o Intel ME?

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

Construído em muitas plataformas baseadas no Chipset Intel® existe um pequeno subsistema de computadores de baixa potência 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á em execução.

Simplesmente dito, isso significa que a Intel ME adiciona outro processador na placa-mãe para gerenciar os outros subsistemas. De fato, é 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 é parte do chipset e NÃO está no chip principal do processador. Sendo independente, isso significa que o Intel ME não é afetado pelos vários estados de suspensão do processador principal e permanecerá ativo mesmo quando você coloca o computador no modo de suspensão ou quando o desliga.

Tanto quanto eu posso dizer que o Intel ME está presente, começando com o chipset GM45 - isso nos traz de volta ao ano de 2008, aproximadamente. 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 seu computador funcionar. 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 roda em "anel -3" o que isso significa?

Dizer que o Intel ME está rodando em “ring -3” leva a alguma confusão. Os anéis de proteção são os vários mecanismos de proteção implementados por um processador, permitindo, por exemplo, que o kernel use certas instruções do processador, enquanto os aplicativos executados sobre ele não podem fazê-lo. O ponto chave é que o software rodando 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 em execução 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 hipervisor eventual no anel -1. “Anel -2” é usado às vezes para o microcódigo do processador. E “ring -3” é usado em vários artigos para falar sobre o Intel ME, como uma maneira de explicar que ele tem um controle ainda maior do que tudo que roda no CPU principal. Mas “ring -3” certamente não é um modelo funcional de seu processador. E deixe-me repetir mais uma vez: o Intel ME não está nem no chip da CPU.

Encorajo-vos a dar uma olhada especialmente nas primeiras páginas do relatório Google / Two Sigma / Cisco / Sistemas de Desktop Divididos para obter uma visão geral das várias camadas de execução de um computador típico baseado em Intel.

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 enquanto a placa-mãe estiver 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 o tcpdump, talvez não seja necessário ver o pacote de dados enviado pelo Intel ME.

A Intel afirma que o ME é necessário para obter o melhor do seu chipset Intel. Mais útil, 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 pode fazer. Sendo de perto, isso leva a questões legítimas sobre as capacidades desse sistema e a maneira como ele pode ser usado ou abusado.

Por exemplo, o Intel ME tem o potencial de ler qualquer byte na RAM em busca de alguma palavra-chave ou enviar esses dados por meio da NIC. Além disso, como o Intel ME pode se comunicar com o sistema operacional - e potencialmente aplicativos - executado na CPU principal, podemos imaginar cenários em que o Intel ME seria (ab) usado por um software mal-intencionado para ignorar 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 outro exploit tendo usado o Intel ME como seu principal vetor de ataque. Mas citar Igor Skochinsky pode lhe dar um ideal de como tal 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 fornecer ao responsável pela implantação de milhares de estações de trabalho em um ambiente corporativo, existem algumas ferramentas que seriam caminhos muito interessantes. uma façanha. Essas funções incluem a Tecnologia de Gerenciamento Ativo, com a capacidade de administração remota, provisionamento e reparo, 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. Redirecionamento de IDE e Serial sobre LAN permite que um computador inicialize através de uma unidade remota ou conserte um SO infectado, e o Identity Protection possui uma senha única incorporada para autenticação de dois fatores. Também há funções para uma função "antifurto" que desativa um PC se ele não fizer o check-in em um servidor em um intervalo predeterminado ou se uma "poison pill" tiver sido entregue pela rede. Essa função antirroubo pode matar um computador ou notificar a criptografia do disco para apagar as chaves de criptografia da unidade.

Eu deixo que você dê 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:

  • slides
  • vídeo

Além disso, para ter uma idéia dos riscos, consulte o boletim 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á habilitado .

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 idéia dos possíveis ataques direcionados ao Intel ME e ao software que está sendo executado lá.

O que sabemos sobre o Intel ME? Como isso está relacionado com o Minix?

O Intel ME e o software executado sobre ele são de acesso próximo, e as pessoas que têm acesso às informações relacionadas estão vinculadas por um acordo 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 despejo do flash porque ele depende de funções armazenadas na parte ROM inacessível do microcontrolador ME. Além disso, parece que as partes do código que são acessíveis são compactadas usando tabelas de compressão Huffman não divulgadas. Isso não é criptografia, sua compressão - ofuscação, alguns podem dizer. De qualquer forma, isso não ajuda na engenharia reversa do Intel ME.

Até a sua versão 10, o Intel ME era baseado em 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 alguns códigos de bypass da ROM. Mas devido à compressão de Huffman, eles não foram muito longe.

No entanto, eles conseguiram analisar o TXE, o Trusted Execution Engine, um sistema semelhante ao Intel ME, mas disponível nas plataformas Intel Atom. A coisa legal sobre o TXE é que o firmware não é codificado pelo Huffman. E lá eles acharam uma coisa engraçada. Eu prefiro citando o parágrafo correspondente em extenso aqui:

Além disso, quando analisamos o módulo vfs descompactado, encontramos as strings “FS: filho falso para bifurcação” e “FS: bifurcando-se sobre o filho em uso”, que se originam claramente do código Minix3. Parece que ME 11 é baseado no sistema operacional MINIX 3 desenvolvido por Andrew Tanenbaum :)

Deixe as coisas claras: TXE contém código “emprestado” da Minix. Com certeza. Outras dicas sugerem que provavelmente executa uma implementação completa do Minix. Finalmente, apesar de nenhuma evidência, podemos assumir sem muitos riscos que ME 11 seria baseado no Minix também.

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 recente carta aberta de Andrew Tannenbaum, o autor do Minix, provavelmente estão na raiz do atual hype em torno da Intel ME.

Andrew Tanenbaum?

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

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

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

De acordo com Tannenbaum, a Intel nunca explicou o motivo de seu interesse pela Minix. “Depois da explosão inicial de atividades, houve um silêncio de rádio por alguns anos”, isto é até hoje.

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

Para o registro, eu gostaria de afirmar que quando a Intel me contatou, eles não disseram em que estavam trabalhando. As empresas raramente falam sobre produtos futuros sem NDAs. Eu percebi que era um novo chip Ethernet ou chip gráfico ou algo parecido. Se eu suspeitasse que eles poderiam estar construindo um motor de espionagem, eu certamente não teria cooperado […]

Vale a pena mencionar se podemos questionar o comportamento moral da Intel, tanto na forma como abordaram Tannenbaum e Minix quanto no objetivo prosseguido com a Intel ME, estritamente falando, 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ê está procurando mais informações técnicas sobre o Intel ME e o estado atual do conhecimento da comunidade sobre essa tecnologia, recomendo que você dê uma olhada na apresentação da Positive Technology publicada para a conferência TROOPERS17 IT-Security. Embora não seja facilmente compreensível por todos, esta é certamente uma referência para julgar a validade da informação lida em outro lugar.

E quanto a usar o AMD?

Não estou familiarizado com as tecnologias da 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 da Unidade de Processamento Acelerado da AMD (APU) tem um recurso similar, onde eles embutem 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 o seu homólogo 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 paranoico com esses assuntos. Por exemplo, o que prova que o firmware em execução na sua placa Ethernet ou NIC sem fio não o espiona para transmitir dados por meio de algum canal oculto?

O que torna a Intel ME mais preocupante é porque ela funciona em uma escala diferente, sendo literalmente um pequeno computador independente que observa tudo o que acontece no computador host. Pessoalmente, fiquei preocupado com a Intel ME desde o anúncio inicial. Mas isso não me impediu de executar computadores baseados em Intel. Certamente, eu preferiria que a Intel fizesse a opção de 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ó me respeita. Você certamente tem suas próprias idéias sobre isso.

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

Recomendado

Como proteger por senha uma pasta no Linux
2019
Lançamento do Linux Lite 3.0
2019
Jogos fantásticos do Linux e onde encontrá-los
2019