Como desativar o isolamento da tabela de páginas para recuperar o desempenho perdido devido ao patch de falha de segurança da CPU Intel?

43

Devido ao problema atual de falha de segurança da CPU Intel, é esperado um patch que diminua o desempenho do sistema.

Como posso garantir que esse patch não seja instalado no meu sistema Ubuntu?

mahrens61
fonte
49
Você pode aumentar ainda mais o desempenho do sistema desativando vários outros mecanismos de segurança. Não, isso não é uma recomendação.
Scal
11
Se o desempenho é importante para você, recomendo criar o candidato recente à liberação do kernel e testar a perda de desempenho na sua carga de trabalho. Você pode achar que a sobrecarga é insignificante ou tolerável.
Jeffrey Bosboom
5
Não posso exagerar o quão terrível é uma idéia.
Alexander
13
Eu vou discordar. Pessoalmente, eu não recomendaria desabilitar os recursos de segurança, mas, para os usuários que notarem um desempenho afetado, desabilitar o pti pode ser uma opção razoável, considerando a dificuldade em alavancar um ataque contra essa falha de segurança específica e o valor do computador / dados de destino. A questão é como desabilitar esta opção, não devo desabilitá-la.
Pantera
2
Concordo que o PTI é um recurso de segurança que pode ter um custo não negligenciável. Cabe ao OP decidir se é certo para eles e fora do escopo desta questão.
Jake

Respostas:

55

O patch (também conhecido como "isolamento da tabela de páginas") fará parte de uma atualização normal do kernel (que você obterá quando atualizar seu sistema). No entanto, é altamente recomendável manter o kernel atualizado, pois ele também recebe muitas outras correções de segurança. Portanto, eu não recomendaria apenas o uso de um kernel desatualizado sem a correção.

No entanto, você pode efetivamente desativar o patch adicionando pti=off( patch do kernel adicionando essa opção, com mais informações ) para a sua linha de comando do kernel ( howto ). Observe que isso resultará em um sistema menos seguro.

Há mais informações e testes de desempenho com o PTI ativado e desativado na lista de discussão do PostgreSQL - TLDR é que ele tem um impacto de desempenho entre 10 e 30% (para o ProstgreSQL, isto é - outras coisas , como jogos , provavelmente terão menos impacto) .

Observe que isso afetará apenas os processadores Intel, uma vez que a AMD aparentemente não é afetada ( reddit ), portanto será previsivelmente desativada por padrão na AMD.

JonasCz - Restabelecer Monica
fonte
2
"... isso previsível será desativado por padrão na AMD." Isso significa que haverá uma versão extra do kernel para os sistemas operacionais Ubuntu executando em máquinas com uma CPU AMD fornecida pela Canonical? :)
cl-netbox
16
Não, o kernel detecta (na inicialização) o clima que está sendo executado em uma CPU AMD e desativa a correção, se estiver. @ cl-netbox
JonasCz - Restabelece Monica
1
De acordo com theregister.co.uk/2018/01/04/intel_amd_arm_cpu_vulnerability Os chips AMD são afetados por pelo menos uma variedade de ataques Spectre (injeção de destino do ramo), portanto, eles receberão uma atualização do kernel que provavelmente afetará o desempenho esta semana, também, mesmo que eles não estejam sujeitos ao colapso propriamente dito.
Dave Sherohman
1
Aparentemente, esse recurso está na arquitetura x64, mas não no i386 / IA-32. por isso, o patch também não afeta o linux de 32 bits (security / Kconfig requer que o X86_64 ative PAGE_TABLE_ISOLATION). isso traz outra pergunta, no entanto. e as máquinas x64 com um linux de 32 bits instalado, elas podem ser afetadas? Em caso afirmativo, o que dizer das máquinas x64 antigas, limitadas pelo BIOS, para executar apenas instruções de 32 bits (como os netbooks antigos baseados em átomos)? eles estão sentando patos?
thePiGrepper 4/18
2
Até eu ter certeza de que havia um ataque baseado em JavaScript, eu estava planejando usá-lo.
Joshua Joshua
35

Atualização: O problema recebeu um par de apelidos: Meltdown e Spectre . Atualizei a resposta com as novas informações.

Será um patch de kernel inicialmente. Aparecerá como uma versão superior. Será instalado porque você linux-image-genericinstalou. É para isso que serve esse pacote. Então você pode remover linux-image-generic. É uma ideia horrível e desastrosa , que o expõe a todo tipo de maldade, mas você pode fazê-lo. Também pode haver um microcódigo da CPU linux-firmwarepara uma correção na CPU. Isso é realmente da Intel.

O método que você segue para corrigir isso é irrelevante. Você está pedindo para ignorar algo em que não conhece o verdadeiro impacto do bug, nem o custo de desempenho para corrigi-lo.

  • O bug é desagradável. Os CVEs relatados são leitura de memória entre processos. Qualquer processo capaz de ler a memória de qualquer outro processo. Entrada, senhas, todo o lote. Provavelmente, isso também tem implicações nas caixas de areia. É muito cedo e espero que as pessoas avancem ainda mais, tanto em impacto quanto em acesso.

  • O impacto no desempenho provavelmente não é tão grande quanto você está preocupado. Os números que as pessoas estão divulgando se concentram no desempenho teórico do subsistema, ou no pior dos casos. Um banco de dados mal armazenado em cache é o que será mais atingido. O jogo e as coisas do dia-a-dia provavelmente não vão mudar de forma mensurável.

Mesmo agora, podemos ver qual é o erro real, é muito cedo para dizer qual é o impacto. Embora o acesso de leitura gratuito à RAM seja ruim, há coisas piores por aí. Também testaria para ver quanto a correção realmente afeta você (com as coisas que você faz).

Não comece a pré-carregar sua configuração do GRUB com flags ou remova os meta-pacotes do Kernel ainda.

Oli
fonte
7
Tudo o que você precisa fazer é adicionar pti=offà linha de comando do kernel (no GRUB) para desativar o patch.
JonasCz - Restabelece Monica
3
@JonasCz esse comentário - se for verdade, eu não sei - parece que valeria uma resposta separada, especialmente se você puder fazer backup com uma referência.
Byte Commander
IMHO nopti é uma escolha melhor
Panther
3
@Oli Eu concordo com esse conselho e já me dei esse outro lugar. Com isso dito, a questão é como desativar esse novo recurso de segurança, se desejado, e, IMO, nopti é a opção para fazê-lo.
Pantera
1
Sim, diminuiu em 99% algumas das atividades do meu sistema ao usar máquinas virtuais. Copiar arquivos do host para a máquina virtual costumava levar de 2 a 3 segundos, agora leva mais de um minuto.
rboy
14

Embora eu não recomende isso, é possível desativar o PTI

com o parâmetro de linha de comando nopti kernel

de acordo com Phoronix .

Para fazer isso, anexe noptià string ao lado da linha que começa com GRUB_CMDLINE_LINUX_DEFAULTin /etc/default/grube depois executando

sudo update-grub

seguido por uma reinicialização.

Mais sobre os parâmetros de inicialização do kernel para desativar os recursos de segurança relevantes para o desempenho, consulte: Spectre & Meltdown MitigationControls no Ubuntu Wiki

nixpower
fonte
1
Qual é a diferença entre os parâmetros de inicialização do kernel nopti e pti = off ?
Niutech 5/01
@niutech não há diferença, para a prova você pode olhar aqui
nixpower
3

Maneira mais simples: desmarque a configuração do kernel

-> Opções de segurança

[] Remova o mapeamento do kernel no modo de usuário

então compile o novo kernel

Krzysztof Sk
fonte
1
Bem-vindo ao Ask Ubuntu! Em sua forma atual, sua resposta não é tão boa quanto poderia ser. Você poderia consultar o guia Como escrever uma boa resposta e o Estilo para perguntas e respostas . - Do comentário
J. Starnes
2
Infelizmente J. Starnes está certo. Você não compila mais seu próprio kernel, exceto como último recurso extremo.
Joshua Joshua
Essa é uma mudança bastante trivial nas opções do kernel, mas o IMO noptié provavelmente uma escolha melhor / mais fácil para todos.
Pantera