terça-feira, 9 de janeiro de 2018

Kernel patch Spectre Meltdown

Reorganização dos Kernels até 12 de Janeiro 2018. — Verde: patched. Laranja: aguardando patch

Se você usa outro Kernel que não 4.4 / 4.9 / 4.14, — e sua distro não oferecer suporte para enfrentar as recém descobertas vulnerabilidades Spectre / Meltdown, — você está com falta de sorte.

6 Jan. 2018 - É o que diz Greg Kroah-Hartman, mantenedor dos três Kernels LTS mais recentes; — dos anteriores, apenas o 3.16 tem previsão de vida útil além de 2018:

If you rely on any other kernel tree other than 4.4, 4.9, or 4.14 right now, and you do not have a distribution supporting you, you are out of luck. The lack of patches to resolve the Meltdown problem is so minor compared to the hundreds of other known exploits and bugs that your kernel version currently contains. You need to worry about that more than anything else at this moment, and get your systems up to date first.

Este é o caso do Kernel 4.12 usado no PCLinuxOS, — que já o retirou de seus repositórios. — Não receberá patch.

Por isso, optei por estreitar o número de Kernels, — de preferência, só versões LTS.

Vale frisar a observação de que existem muito mais bugs e brechas com que se preocupar, no momento, do que apenas com Spectre / Meltdown.

Não compensa se deixar obcecar () pelo mais recente pânico da moda, — que, aliás, veio para ficar, pois repousa em opções adotadas pela indústria décadas atrás, e vai dar muito trabalho nos próximos anos e décadas. — Relaxe um pouco, ou você não terá fôlego para assistir até o final.

Em resumo, as vulnerabilidades estão no hardware e não têm conserto, — pelo menos, até que a indústria desenvolva projetos inteiramente novos, — e os atuais computadores se tornem peças de museu.

O que os desenvolvedores de software podem fazer, é adaptar os sistemas aqui e ali, — coisa que está apenas começando, com algumas providências mais óbvias no momento.

Índice


  • openSUSE
  • Arch Linux
  • PCLinuxOS
  • PCLinuxOS (II) - para experiências
  • Kubuntu 16.04 LTS
  • Mint 18 Sarah
  • KDE Neon User Edition
  • Devuan
  • Mageia
  • spectre-meltdown-checker
  • Chromium / Chrome

openSUSE


Verificação de correções contra Spectre / Meltdown no openSUSE

4 Jan. 2018 - As primeiras correções do openSUSE Leap contra as vulnerabilidades Spectre / Meltdown começaram a ser anunciadas em Current Status: openSUSE and “Spectre” & “Meltdown” vulnerabilities, — com links para SUSE Addresses Meltdown and Spectre VulnerabilitiesSecurity Vulnerability: "Meltdown" and "Spectre" side channel attacks against modern CPUs, — que por sua vez remetem a várias outras páginas.

Na prática, — e descontadas demoras (aqui) em verificar o openSUSE, — foram recebidas sucessivas atualizações, incluindo:

2018-01-04 19:05:40

Os seguintes 3 pacotes serão atualizados:
  conky kernel-firmware ucode-amd

2018-01-06 13:15:17

O seguinte pacote NOVO será instalado:
  kernel-default-4.4.104-39.1
Os seguintes 8 pacotes serão atualizados:
  ImageMagick libMagickCore-6_Q16-1 libMagickWand-6_Q16-1 libzypp ucode-intel zypper zypper-aptitude zypper-log

2018-01-11 15:38:15

O seguinte pacote será atualizado:
  ucode-intel

É de se supor que, — se o hardware tivesse menos de 9¾ anos, — o quadro poderia ser outro.

Do terceiro link (acima):

Verifying if a system is protected :

Following updating the latest kernels, it is possible to check /proc/cpuinfo for  'kaiser' or 'pti'  or 'spec_ctrl' information.

When the output includes:
  'kaiser' or 'pti' flags, then v3 (Meltdown) protection is active.
  'spec_ctrl' flag, then v2/v1 (Spectre) protection is active.

Em retrospecto, encontram-se 2 flags “kaiser”, — processor 0 e processor 1:

Linux5:/home/flavio # cat /proc/cpuinfo | grep kaiser
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm dtherm kaiser
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm dtherm kaiser

Ao passo que a busca por “spec_ctrl” não encontra resultados.

  • Ver “spectre-meltdown-checker” (adiante)

Arch Linux


Adicionar legenda

6 Jan. 2018 - Kernel 4.9.75-1-lts

Sem entender nada do assunto, segui essa dica para conferir:

[flavio@Linux9 ~]$ zgrep CONFIG_PAGE_TABLE_ISOLATION /proc/config.gz
CONFIG_PAGE_TABLE_ISOLATION=y

[flavio@Linux9 ~]$ dmesg | grep iso
[    0.000000] Kernel/User page tables isolation: enabled

  • Ver “spectre-meltdown-checker” (adiante)

12 Jan. 2018 - intel-ucode-20180108-1

13 Jan. 2018 - Kernel 4.9.76-1-lts

PCLinuxOS


Kernel 4.14 no PCLinuxOS de teste (II)

Por motivos diversos, havia aqui 2 instalações do PCLinuxOS, — digamos, PCLinuxOS (I), quase perfeito para as atividades diárias; — e PCLinuxOS (II), destinado a experiências de Localização.

Todas as observações a seguir foram feitas no PCLinuxOS (II).

7 Jan. 2018 - Para quem usa o Kernel 4.12 no PCLinuxOS, o Synaptic não propôs nenhuma atualização de Kernel relativa às vulnerabilidades recém descobertas, — pois a revisão só foi feita nos Kernels 4.4 / 4.9 / 4.14, segundo o anúncio Meltdown/Spectre update no forum oficial:

The following kernels have been updated to close vulnerabilities associated with the Meltdown / Spectre exploits. All previous kernels are considered insecure / unsecure.

kernel-4.4.110-pclos1-1-1pclos2018.x86_64.rpm
kernel-4.9.75-pclos1-1-1pclos2018.x86_64.rpm
kernel-4.14.12-pclos1-1-1pclos2018.x86_64.rpm


Please install one of the updated kernels and nvidia drivers if applicable as soon as they show up in the regular software repositories.

kernel installation instructions: https://pclinuxoshelp.com/index.php/Kernel

« Last Edit: Today at 12:16:22 AM by Tex »

As instruções de instalação indicadas (acima) afirmam que nenhum “update” de Kernel jamais é incluído no processo regular de atualizações do PCLinuxOS:

It is important to note that the kernel is never updated as part of the the normal apt / Synaptic update process. This is because updating implies removal of the previous version. This would be bad news if the new kernel is not suitable for YOUR hardware! Instead, new kernels are added to the system (much like installing a new application). The new kernel becomes the default for the next boot but the previous version is kept in case of problems.

Chrome com uso intenso de CPU e falhas de (renderização?) no PCLinuxOS com Kernel 4.14 patched

8 Jan. 2018 - Portanto, instalei o Kernel 4.14, — mas o resultado foi infeliz.

Commit Log for Mon Jan  8 13:46:54 2018

Installed the following packages:

kernel-4.14.12-pclos1 (1-1pclos2018)
kernel-devel-4.14.12-pclos1 (1-1pclos2018)

Entre os problemas verificados:

• Lentidão do Chrome no GooglePlus e no Facebook (entre outros)
• Falhas de (renderização?), por exemplo, ao acessar os Favoritos
• Perda total do acesso ao 3º nível do Teclado

Bastou reiniciar o computador, — entrar nas “Opções avançadas” do Menu de inicialização e escolher o Kernel original, 4.12, — para o Chrome voltar ao “normal”.

Em vista disso, o novo Kernel 4.14 com correções contra Spectre / Meltdown foi completamente removido.

Commit Log for Mon Jan  8 21:59:04 2018

Completely removed the following packages:

kernel-4.14.12-pclos1
kernel-devel-4.14.12-pclos1

Agora, falta conseguir que o 3º nível do Teclado volte a funcionar.

PCLinuxOS de teste (II) funcionando bem com Kernel 4.9.75 "corrigido"

9 Jan. 2018 - Uma vez que o Kernel 4.12 não recebeu correções contra as falhas de segurança Spectre / Meltdown, — e cedo ou tarde essas correções terão de ser aplicados em todas as distros, — instalei os Kernels 4.4 e 4.9, para teste e observação:

Commit Log for Tue Jan  9 12:04:44 2018

Installed the following packages:

kernel-4.4.110-pclos1 (1-1pclos2018)
kernel-4.9.75-pclos1 (1-1pclos2018)
kernel-devel-4.4.110-pclos1 (1-1pclos2018)
kernel-devel-4.9.75-pclos1 (1-1pclos2018)

Tanto o Kernel 4.9 quanto o 4.4 funcionaram “normalmente”, — vale dizer, tão bem quanto o 4.12 “original” da distro instalada pela imagem ISO “oficial” pclinuxos64-kde5-2017.11.

Em seguida, foi completamente removido o Kernel 4.12, — classificado como “obsoleto”:

Completely removed the following packages:

kernel-4.12.14-pclos1
kernel-devel-4.12.14-pclos1

Depois disso, ele desaparece do Synaptic. — Já tinha sido retirado dos repositórios PCLinuxOS, — e só continuava “visível” enquanto ainda existia “localmente”.

11 Jan. 2018 - Novas revisões de Kernel, — que também funcionaram sem problema algum:

Commit Log for Thu Jan 11 12:13:28 2018

Installed the following packages:

kernel-4.4.111-pclos1 (1-1pclos2018)
kernel-4.9.76-pclos1 (1-1pclos2018)
kernel-devel-4.4.111-pclos1 (1-1pclos2018)
kernel-devel-4.9.76-pclos1 (1-1pclos2018)

Kernel 4.14.13 no PCLinuxOS

Com elas, também se ofereceu nova revisão do Kernel 4.14.13, — que também não funcionou muito bem no hardware local:

Commit Log for Thu Jan 11 14:04:43 2018

Installed the following packages:

kernel-4.14.13-pclos1 (1-1pclos2018)
kernel-devel-4.14.13-pclos1 (1-1pclos2018)

12 Jan. 2018 - Após alguns dias de teste, mais uma vez o Kernel 4.14 foi completamente removido — e com o Kernel 4.9.76 se restabeleceu a normalidade no PCLinuxOS (II).

Commit Log for Fri Jan 12 17:55:56 2018

Completely removed the following packages:

kernel-4.14.13-pclos1
kernel-devel-4.14.13-pclos1

PCLinuxOS (II) - para experiências


O segundo PCLinuxOS tinha sido reinstalado exatamente para isso, — fazer experiências, — em especial, com diferentes maneiras de instalar (ou não) partes da Localização, que é fatiada por segmentos, e gerenciada à parte dos aplicativos em geral.

13 Dez. 2017 - (1ª instalação - SSD externo) - Apagada pela 2ª.

15 Dez. 2017 - (2ª instalação - SSD externo) - Experiências. Apagada pela 4ª.

19 Dez. 2017 - (3ª instalação - HDD interno) - Ferramenta de trabalho.

30 Dez. 2017 - (4ª instalação - SSD externo) - Experiências de Localização.

Por via das dúvidas, as experiências com diferentes Kernels também estão confinadas a esse PCLOS “secundário” — até que pareça seguro aplicar alguma delas ao “principal”.

Kubuntu 16.04 LTS


Kubuntu atualizado para o Kernel 4.4.0-108

4 Jan. 2018 - Dustin Kirkland lamenta, — em Ubuntu Updates for the Meltdown / Spectre Vulnerabilities, — que se tenha rompido, na véspera, uma espécie de pacto de cavalheiros, que previa a divulgação do problema só no dia 9, quando toda a indústria já teria prontas as primeiras soluções.

Canonical manteve para o dia 9 a previsão de patches para os Kernels 3.2 / 3.13 / 4.4 / 4.13, — o que deixaria de fora, num primeiro momento, os demais Kernels 4.8 / 4.10 / 4.11 (todos não-LTS) existentes nos repositórios do Ubuntu e de inúmeras distros “baseadas” nele.

9 Jan. 2018 - Kernel do Kubuntu 16.04 LTS atualizado para 4.4.0-108.

Boot normal, funcionamento sem qualquer perda. — O teste de fogo é navegar em “Páginas” do Facebook (não Feed, Perfis, Grupos), — coisa impraticável em algumas distros instaladas no meu hardware (3º Trim. 2008).

Kernel 4.4.0-109 menos de 24 horas depois, no Kubuntu

Ao redor do mundo, foram registrados problemas em alguns hardwares, — e, em menos de 24 horas, chegou nova atualização do Kernel, — para 4.4.0-109.

As alternativas ao Kernel 4.4 no Kubuntu 16.04 LTS

As alternativas ao Kernel 4.4 no Kubuntu 16.04 LTS não são muito felizes, neste momento: — 4.8 / 4.10 / 4.11 / 4.13, — todos não-LTS (ainda que venham a ser apelidados “LTS”, no âmbito de alguma distro), e fora do esforço principal de correções (patches).

Embora Canonical e outros possam investir em patches para eles, o universo de teste será sempre menor que o dos esforços “oficiais” (com abrangência para todas as distros).

Nunca tinha encontrado motivos para trocar o Kernel 4.4 do Kubuntu 16.04 LTS por qualquer uma das demais opções oferecidas nos repositórios oficiais, — e agora, menos ainda.

No dia 12, intel-microcode 3.20180108.0~ubuntu16.04.2.

12 Jan. 2018 - Disponibilizada a página Meltdown and Spectre Status Update, para acompanhamento regular.

Mint 18 Sarah KDE


mintUpdate não inclui automaticamente atualizações do Kernel (nível 5)

Alguns problemas no início de 2017 me levaram a fazer downgrade do Linux Mint 18 Sarah para o Kernel 4.4.0-21, — e nele ficou estacionado até ontem, já que o mintUpdate não instala atualizações de Kernel por default.

Esta é uma decisão deixada para o usuário, — e Clement Lefebvre costumava recomendar que, “se está funcionando, não conserte”. — Até hoje, esse conselho nunca falhou (pelo menos, no Linux Mint).

9 Jan. 2018 - Nas primeiras horas do dia 10, constatei que já estava disponível o Kernel 4.4.0-108-113, — e pela primeira vez resolvi fazer essa atualização no mintUpdate.

Reiniciado o computador com a nova revisão de Kernel, o Linux Mint 18 Sarah carregou sem qualquer problema. — Nenhuma perda de leveza ou agilidade, nem mesmo nas “Páginas” do Facebook (não Feed, Perfis, Grupos).

Leque de opções de Kernel no Linux Mint 18 Sarah

As demais alternativas de Kernel são as mesmas do Kubuntu 16.04 LTS: — 4.8 / 4.10 / 4.11 / 4.13.

Ainda no dia 9, Linux Mint publicou uma nota de segurança sobre Spectre / Meltdown, indicando revisões de Kernel com as primeiras correções:

  • 3.13 series (Linux Mint 17 LTS): patched in 3.13.0-139
  • 3.16 series (LMDE): patched in 3.16.51-3+deb8u1
  • 4.4 series (Linux Mint 17 HWE and Linux Mint 18 LTS): patched in 4.4.0-108
  • 4.13 series (Linux Mint 18 HWE): patched in 4.13.0-25

Kernel 4.4.0-109 disponível menos de 24 horas depois

Menos de 24 horas depois, já estava disponível o patch 4.4.0-109.

12 Jan. 2018 - intel-microcode 3.20180108.0~ubuntu16.04.2

A nota do Linux Mint também indicou, com bastante clareza, algumas providências a serem adotadas no Chromium / Chrome, — ver adiante.

KDE Neon


Opções de Kernel no KDE Neon

As alternativas de Kernel no KDE Neon são os mesmos 353 pacotes vistos no Kubuntu 16.04 LTS: — 4.4 / 4.8 / 4.10 / 4.11 / 4.13. — No momento, estava em uso o 4.10.0-42.

Instalação do patch 4.4.0-108 pelo Synaptic

9 Jan. 2018 - Foi instalado o Kernel 4.4.0-108, — feito Reboot para carregá-lo, — e a seguir, removido o 4.10.0, que no momento não apresentava perspectivas.

Nenhum problema de boot, com essa revisão do Kernel 4.4, — e funcionamento impecável, sem qualquer perda.

Segundo patch do Kernel 4.4.0 em 24 horas

No dia 10, já estava disponível novo patch, — Kernel 4.4.0-109.

11 Jan. 2018 - intel-microcode 3.20180108.0~ubuntu16.04.2

Devuan


Patch do Kernel 3.16 no Devuan

12 Jan. 2018 - O comando apt-update finalmente apresentou atualização de Kernel, — com mais duas opções, — e foi aplicada a atualização-padrão pelo Synaptic.

Mageia


Kernel e microcode patch contra Spectre / Meltdown no Mageia, dia 14

14 Jan. 2018 - Com atraso, vi o anúncio Updated kernel packages fix security vulnerabilities, feito na véspera, e carreguei o Mageia para instalar as atualizações:

Os seguintes 8 programas serão instalados:

- cpupower-4.14.13-1.mga6.x86_64
- dracut-044-11.1.mga6.x86_64
- kernel-desktop-4.14.13-1.mga6-1-1.mga6.x86_64
- kernel-desktop-latest-4.14.13-1.mga6.x86_64
- ldetect-lst-0.3.7.5-1.mga6.x86_64
- microcode-0.20180108-1.mga6.nonfree.noarch
- vboxadditions-kernel-4.14.13-desktop-1.mga6-5.2.2-7.mga6.x86_64
- vboxadditions-kernel-desktop-latest-5.2.2-7.mga6.x86_64

* Ainda não incluído no quadro comparativo (a seguir).

spectre-meltdown-checker


Relatividade dos patches de Kernel já disponibilizados, — segundo o spectre-meltdown-checker

Até agora, o alcance desses patches de Kernel, intel microcode etc. é bastante relativo, — de acordo com o spectre-meltdown checker.

Arch Linux e demais distros, — por enquanto, só uma proteção relativa contra Spectre / Meltdown

Por enquanto, atenuaram apenas os riscos do Meltdown “Variant 3”.

De acordo com o spectre-meltdown-checker, apenas openSUSE atenuou riscos de 2 variantes

Exceção, — entre as distros instaladas aqui, — é apenas o openSUSE Leap, que já mostra alguma proteção também contra Spectre “Variant 1”.

Nenhum demonstra proteção contra Spectre “Variant 2”, até o momento.

Kernel patch do Devuan não passou no spectre-meltdown-checker

Como leigo total, não posso avaliar a eficácia do spectre-meltdown-checker, — versão do dia 13, atualizada 5 horas antes de iniciar esse exame, — e me preocupa ver que o Devuan, mesmo após receber o Kernel “patched”, é considerado vulnerável em todos os quesitos.

* Para facilitar, o spectre-meltdown-checker foi baixado apenas ma vez, descompactado, e a pasta resultante .spectre-meltdown-checker/ foi copiada para a /home/$USER das demais distros.

Chromium / Chrome


chrome://flags/#enable-site-per-process

A nota de segurança do Linux Mint também abordou questões relativas a NVIDIA, Intel Microcode, Opera, Firefox e Chromium / Chrome.

Um link remete a Actions required to mitigate Speculative Side-Channel Attack techniques, — de onde outro link remete a Site Isolation, — e assim por diante.

A Flag “Strict site isolation” é experimental, — eleva o uso de Memória RAM, — por isso, estou testando em algumas distros; e voltando atrás em outras.

Além disso, Chromium / Chrome foi atualizado em algumas distros, e não em outras, — mas seu funcionamento foi afetado em todas, — independente da aplicação ou não da Flag “Strict site isolation”.

Um efeito mais evidente é um super-espaçamento dos widgets do Byteria, — o que também pode provir de mudanças no próprio Blogger / Blogspot, — e ocorreu em todas as distros.

Em algumas distros, a simples navegação no Google Plus torna-se lenta após algum tempo, — e ocorrem pequenas falhas de (renderização?) ao exibir links da Barra de Favoritos. — Isso foi registrado no Mageia (antes de receber path de Kernel) e no Debian, por exemplo, mesmo sem aplicação da Flag “Strict site isolation”.

Em outras distros, — mesmo com a Flag aplicada, — esses problemas não ocorreram.

— … ≠ • ≠ … —

Não-debians


Nenhum comentário:

Postar um comentário