Os desenvolvedores estão trabalhando em um novo conceito para o kernel Linux de “isolamento de chamadas do sistema”. Assim, a ideia é isolar partes do kernel quando impactado por vulnerabilidades. Assim, os desenvolvedores querem aprimorar a segurança do Linux. O conceito acaba de ser anunciado e já há alguns patches preliminares trabalhados pelos desenvolvedores da IBM. Portanto, os desenvolvedores da IBM querem aprimorar segurança do Linux.
O desenvolvedor Mike Rapoport resumiu o trabalho com elegância:
A ideia aqui é permitir que um usuário não confiável acesse um kernel potencialmente vulnerável de tal forma que qualquer vulnerabilidade do kernel que ele encontre para explorar seja impedida. Do mesmo modo, as consequências ficam limitadas a seu espaço de endereço isolado. Assim, a tentativa de comprometimento cause impacto mínimo em outros usuários ou as estruturas protegidas do núcleo. Embora esperemos evitar muitos tipos de ataque, o primeiro alvo que estamos observando é a proteção do gadget ROP.
Esses patches implementam um mecanismo de “isolamento de chamada do sistema (SCI)”. Ele permite executar chamadas do sistema em um espaço de endereço isolado para evitar ataques de ROP.
Ataques ROP envolvem corromper o endereço de retorno da pilha para reposicioná-lo para um segmento de código que você sabe que existe no kernel que pode ser usado para executar a ação necessária para explorar o sistema.
A ideia por trás da prevenção é que, se falharmos nas páginas no caminho de execução, podemos comparar o endereço de destino com a tabela de símbolos do kernel. Então, se estamos em uma função, permitimos saltos locais (e simplesmente caindo do final de uma página), mas se estamos pulando para uma nova função, deve ser para um rótulo externo na tabela de símbolos. Como os ataques de ROP têm tudo a ver com o salto para o código do gadget, que está efetivamente no meio de funções reais, os saltos que eles induzem são códigos que não possuem um símbolo externo, portanto, ele deve detectar principalmente quando eles acontecem.
Aprimoramentos
Segundo ele, ainda é muito cedo para uma avaliação aprofundada. O sistema ainda não é estável e robusto o suficiente para inicializar com o isolamento habilitado para todas as chamadas. Ainda assim, querem obter algum feedback sobre o funcionamento em geral o mais cedo possível.
O Isolamento de Chamadas do Sistema Linux (SCI) ajuda na segurança. Porém, além do código ainda não estar maduro e bem arredondado, eles não observaram de perto o impacto no desempenho. No entanto, eles reconhecem que provavelmente haveria um impacto considerável no desempenho do sistema.
Aqueles que querem saber mais sobre este recurso de isolamento de chamada de sistema podem ver esta série de correções do kernel.