Um engenheiro do Google chamado Ofir Weisse pede ajuda para mitigações de execução especulativa. Ele quer ações colaborativas mais unificadas para evitar o problema. O apelo dele foi feito durante a Linux Plumbers Conference. Segundo eele, quando se trata de isolamento de espaço de endereço do kernel (ASI) e outros recursos de segurança ainda a serem mesclados para evitar ataques de execução especulativa, há vários esforços simultâneos de muitos dos provedores de nuvem pública e outros hiperscalers.
Mesmo problema, diferentes soluções
Um exemplo de todo o trabalho em andamento nesta área foram as palestras do Google, Oracle e DigitalOcean esta semana na Linux Plumbers Conference. A DigitalOcean busca o Core Scheduling para tornar o Hyper Threading mais seguro , garantindo que apenas aplicativos confiáveis compartilhem um núcleo.
Enquanto isso, a Oracle apresentou seu trabalho chamado Address Space Isolation work for Linux (Isolamento de Espaço de Endereço para Linux). O Google também deu uma palestra sobre Linux Address Space Isolation no evento virtual desta semana.
O ASI visa lidar com o vazamento de dados do Hyper Threading, isolando o espaço de endereço entre as diferentes áreas do kernel com uma ênfase particular em KVM/virtualização para evitar a possibilidade de vazamento de dados entre as VMs convidadas ou o host.
Engenheiro do Google pede ajuda para mitigações de execução especulativa
Ofir Weisse do Google falou no LPC 2020 sobre ASI devido ao “risco de segurança significativo para hipervisores e VMs” por vulnerabilidades conhecidas como L1TF, MDS e LVI. O Google, como outros hiperscalers, não pode recorrer à desativação do Hyper Threading e até mesmo parte da liberação excessiva de buffer é demais para eles. Portanto, eles têm investido em sua própria técnica de isolamento de espaço de endereço.
Estamos desenvolvendo um mecanismo de aprimoramento de segurança de alto desempenho para derrotar o ataque especulativo que chamamos de Isolamento de Espaço de Endereço (ASI). Em essência, o ASI é uma forma alternativa de gerenciar memória virtual para hipervisores, fornecendo garantias de segurança muito fortes com desempenho mínimo custo.
Embora já existam atenuações para o kernel Linux, o Google as considera como tendo uma sobrecarga muito alta (como a liberação frequente do cache L1) ou incompletas. Com seu código ASI, o desempenho é muito importante. Com essa abordagem, a memória do kernel é dividida em domínios privilegiados e não privilegiados, com cada domínio tendo uma tabela de páginas separada. Se tocar em dados fora da tabela de página, uma falha de página será gerada. Eles estão trabalhando neste código com a ideia de poder estender o ASI ao espaço do usuário também.
A abordagem do Google é semelhante ao código ASI da Oracle. Ao mesmo tempo, Intel, Amazon e IBM estão entre as empresas que trabalham em outras soluções. Em última análise, eles esperam que o ASI também possa ser um substituto para o isolamento da tabela da página do kernel, que também é usado para mitigações de fusão.
Mais detalhes sobre o trabalho ASI do Google e a chamada para maior colaboração entre as organizações podem ser encontrados neste conjunto de slides.