Presentes de Ano Novo, parte três: se nos comportamos bem

Parte Um: Fusão
Parte Dois: Espectro

Uma das perguntas mais interessantes que surgiram nas discussões sobre as vulnerabilidades de hardware do Meltdown e Spectre (veja os links acima) foi a questão de saber se o Papai Noel nos deu esse presente devido ao fato de que em 2017 nos comportamos mal - ou vice-versa bom



Vou tentar substanciar a tese de que nos comportamos bem, caso contrário, o Papai Noel nos daria esse presente em três ou quatro anos.

Então o que nós temos? Vulnerabilidade de hardware em colapso que permite que qualquer processo sem privilégios leia a memória do kernel do sistema operacional, bem como quaisquer processos em execução neste sistema operacional, incluindo certificados, senhas, carteiras de bitcoin e tudo o que você pensa em processar em um computador.

A aplicação da vulnerabilidade não deixa rastros e o código que a implementa geralmente não é detectado pelos antivírus.

A única maneira de proteger é o refinamento urgente do kernel do SO, a fim de separar os espaços de endereço virtual do processo e do SO. No Linux, o patch correspondente é chamado KPTI, deixa apenas uma pequena parte do kernel no espaço de endereço virtual do processo - funções de trampolim que, quando acessadas por eles, se referem às funções correspondentes do kernel, que agora vivem em um espaço de endereço diferente. Graças a isso, o patch também foi chamado de Desmembrar com força o Kernel completo com trampolins de interrupção, ou FUCKWIT.

A fusão é significativamente suscetível a:

  • Quase todos os processadores Intel
  • O número não identificado de processadores Apple no núcleo do ARM
  • Processadores ARM Cortex-A75

De particular interesse em nosso relacionamento com o Papai Noel é o último item - Cortex-A75.

Além da criatividade da Apple, que vive exclusivamente em dispositivos controlados pela Apple, outros processadores baseados em ARM podem ser expostos ao Spectre, uma exploração difícil, que na verdade agora é perigosa apenas para navegadores com execução JS ou semelhante ao Meltdown, mas vulnerabilidade muito limitada conhecida dos documentos do ARM chamados “Variant 3a”, que não permitem a leitura do conteúdo da RAM.



No Cortex-A75, no momento, apenas dois processadores são apresentados, nos quais exatamente zero dispositivos estão representados:

  • Qualcomm Snapdragon 845
  • Samsung Exynos 9810

Sobre o 845 ° fabricante, afirma diretamente o uso do Cortex-A75, não há informações confiáveis ​​sobre o 9810, no entanto, este processador possui vários recursos exclusivos do A75 e também contrasta diretamente com o Snapdragon 845 no Galaxy S9.

Provavelmente, em um futuro próximo, podemos esperar modelos de desenvolvimento semelhantes da Mediatek e HiSilicon.

Os dispositivos de ambos os processadores serão exibidos no final de fevereiro no MWC-2018 e em torno dele - é claro, o Galaxy S9, bem como os principais modelos de outros fabricantes.

O que isso significa? Uma coisa muito simples: durante 2018, dezenas de milhões de smartphones e tablets Android propensos ao ataque Meltdown aparecerão em estado selvagem. Durante 2019, esse número pode facilmente exceder cem milhões.

Embora os dispositivos do segmento médio e inferior permaneçam invulneráveis ​​- seus processadores são mais lucrativos para montar a partir de núcleos baratos do Cortex-A5x sem adicionar o grande e caro Cortex-A7x a eles - o mercado de smartphones caros e vulneráveis ​​será de grande interesse para os hackers.

Mas, ao que parece, uma simples atualização do kernel do Linux?

Nós, com nossos desktops e servidores, somos um pouco estragados pela possibilidade de atualizar o kernel. Mesmo para o CentOS super conservador, existem três linhas de kernels prontas - a base, a longo prazo e a linha principal, para não dizer nada sobre as distribuições de desktop. Procurado - rolado. Primeiro, um copo de conhaque, depois o núcleo, ou vice-versa, é quem tem quanta coragem.

Agora vamos ver as realidades do mundo dos smartphones:
ModeloO núcleo
Galaxy S63.10.61
Galaxy S73.18.14
Galaxy S84.4.13
Galaxy Note 84.4.13
Galaxy A5 20173.18.14
Sony XZ Premium4.4.78
Xiaomi Mi A13.18.66
Xiaomi Mi 64.4.21
Xiaomi Mi 53.18.31
Redmi Note 4 (Snapdragon)3.18.31
Redmi Note 4 (MTK)3.18.22
Meizu MX63.18.22
HTC U11 +4.4.78
Huawei Honor 94.1.18
Huawei P104.1.18
Huawei Mate 10 Pro4.4.23
Nexus 6P10/03/73

Bom zoológico, certo?

Cada smartphone vive com o núcleo que estava pronto para ele no momento em que foi lançado no mercado. Durante a vida de um smartphone, as atualizações que chegam a ele não alteram a versão do kernel, embora patches adicionais possam ser aplicados ao próprio kernel - se você observar os parâmetros do software, a data da montagem do kernel no seu smartphone provavelmente corresponderá a uma das atualizações mais recentes.

A versão do kernel deve-se ao suporte do fabricante do chipset (observe que o Meizu no MTK Helio X20 e o Xiaomi Redmi Note 4 têm um núcleo, mas o Redmi Note 4 no Snapdragon 625 possui um núcleo diferente), bem como os desenvolvimentos do próprio fabricante um smartphone.

Isso significa que a presença, por exemplo, do patch KPTI no kernel 4.4.110 não significa que os fabricantes podem lançar rapidamente uma atualização do Android para seus smartphones, o que trará o 4.4.110 a todos os usuários com o KPTI ativado. Não, eles precisarão se divertir fazendo o backport do patch apropriado para o kernel que é realmente usado em seus modelos, com testes subsequentes de desempenho e estabilidade.

Os smartphones nisso são semelhantes às distribuições de servidor do Linux como o CentOS - apenas para eles não há repositório de terceiros com o kernel-lt e o kernel-ml.

No momento, no entanto, temos apenas dois processadores ARM propensos a Meltdown, sem contar os produtos Apple, que serão usados ​​em um número limitado de modelos de smartphones nos próximos seis meses, e o firmware desses smartphones será baseado em um dos kernels mais ou menos recentes da série 4.4, em qual patch KPTI é pelo menos teoricamente.

Agora imagine o que aconteceria se Meltdown fosse descoberto não agora, mas depois de dois ou três anos. Centenas de milhões de dispositivos (e não apenas smartphones e tablets) que usam dezenas de opções de kernel das séries 4.4 e 4.9, cada um com seu próprio conjunto de patches, enquanto o principal desenvolvimento do Linux gira em torno de 4,20 ...

Apresentado?

Obrigado, avô Frost, por nos dar Meltdown antes que eles pudessem infectar toda a indústria móvel.

Também prometemos nos comportar em 2018.

PS Tudo isso não significa que os fabricantes de smartphones realmente lançem os primeiros modelos no Cortex-A75 com o KPTI ativado.

Source: https://habr.com/ru/post/pt409343/


All Articles