Falha em processadores Intel pode deixar o Windows, Linux mais lentos
Mudanças em desenvolvimento para corrigir falha de segurança podem ocasionar 5% a 30% de redução de performance, segundo estimativas.
[Atualização em 04/01/18] – Leia também o nosso FAQ sobre o Meltdown e Spectre, os ataques que fazem uso desta falha de design.
Uma falha de design nos processadores Intel desenvolvidos na última década vai obrigar os desenvolvedores dos sistemas operacionais a modificarem de forma significativa o funcionamento interno dos SOs, em uma medida que pode tornar mais lentas as aplicações.
Os detalhes ainda estão sob embargo mas devem ser divulgados nos próximos dias. Entretanto, a vulnerabilidade, que envolve o vazamento de memória do kernel para a memória de usuário, já se mostrou aplicável no mundo real. Um estudante de doutorado da Holanda já foi capaz de montar uma prova de conceito explorando a vulnerabilidade.

POC de exploração da vulnerabilidade não demorou para sair.
A falha de design permite que os programas de usuários normais – desde aplicativos de banco de dados até JavaScript nos navegadores da Web – consigam saber, até certo ponto, o layout ou o conteúdo das áreas protegidas da memória do kernel.
Sempre que um programa em execução precisa fazer algo útil – como escrever em um arquivo ou abrir uma conexão de rede – ele deve controlar temporariamente o processador para o kernel para executar o trabalho. Para tornar a transição do modo de usuário para o modo kernel e voltar para o modo de usuário o mais rápido e eficiente possível, o kernel está presente nos espaços de endereço de memória virtual de todos os processos, embora seja invisível para esses programas. Quando o kernel é necessário, o programa faz uma chamada do sistema, o processador muda para o modo kernel e entra no kernel. Quando estiver pronto, a CPU é informada para voltar ao modo de usuário e voltar a entrar no processo. Enquanto estiver no modo de usuário, o código e os dados do kernel ficam fora da vista, mas estão presentes nas tabelas das páginas do processo.
A correção requer separar a memória do kernel completamente dos processos do usuário usando o que é chamado de Isolamento da Tabela de Página do Kernel ou KPTI. Os patches de KPTI que estão sendo desenvolvidos movem o kernel para um espaço de endereço completamente separado. A desvantagem dessa separação é que é relativamente dispendioso, em termos de tempo, para alternar entre dois espaços de endereço separados para cada chamada do sistema e para cada interrupção do hardware. Essas mudanças de contexto não ocorrem instantaneamente e forçam o processador a esvaziar o cache e recarregar informações da memória. Isso aumenta a sobrecarga do kernel e retarda o computador.
Especula-se que estas mudanças podem gerar uma redução de performance entre 5% a 30% dependendo do modelo de processador e tipo de atividade sendo executada. Entretanto, a falha é considerada tão grave que o custo em performance é o menor dos males.
Na pior das hipóteses, a falha de segurança poderia ser abusada por programas e usuários conectados para ler o conteúdo da memória do kernel. Este espaço de memória do kernel está escondido dos processos e programas do usuário porque pode conter todos os tipos de segredos, como senhas, chaves de login, arquivos armazenados em cache e assim por diante.