Na conferência da WWDC no ano passado, a Apple anunciou planos para depreciar as “extensões do kernel” macOS (KEXTs) e substituí-las por um novo mecanismo chamado “extensões do sistema”
O primeiro passo para este anúncio foi dado com o lançamento do macOS Catalina (10.15.0) em setembro de 2019, quando as extensões do sistema foram introduzidas juntamente com as extensões do kernel.
O último passo do plano da Apple entrará em vigor nas próximas semanas, com o próximo lançamento do macOS Catalina 10.15.4.
De acordo com a Apple, começando com o macOS 10.15.4, o uso de extensões do kernel irá disparar uma notificação ao usuário de que o software inclui uma API depreciada e irá pedir ao usuário para entrar em contato com o desenvolvedor por alternativas.
Qual é a diferença entre as duas?
As duas extensões do kernel e as extensões do sistema servem ao mesmo propósito. Elas permitem que os usuários instalem aplicativos que estendem as capacidades nativas do sistema operacional macOS.
Aplicações instalam extensões de kernel/sistema que lhes permitem realizar operações para as quais o macOS não tem características ou funções nativas.
Mac antivírus, firewalls, clientes VPN, proxies DNS, drivers USB e outros, todos fazem uso das extensões do kernel.
A diferença entre esses dois novos sistemas de extensão é que as extensões mais antigas do kernel executam seu código no nível do kernel macOS, enquanto as novas extensões do sistema rodam em um espaço de usuário mais controlado.
Grande passo para a segurança
“Do ponto de vista da Apple, este é um grande passo para melhorar a segurança do macOS”, Patrick Wardle, Pesquisador Principal de Segurança do Jamf, e um conhecido especialista em segurança do macOS, disse à ZDNet em uma entrevista esta semana.
“Extensões de kernel de terceiros representam um suculento vetor de ataque para atacantes que têm como alvo o macOS”, ele acrescentou. “Especialmente se você, como um atacante, pode explorar uma extensão do kernel, ou carregar a sua própria (assumindo que está assinada)”, acrescentou ele. “
E ataques envolvendo KEXTs aconteceram no passado .
“É realmente o fim do jogo para macOS”, disse Wardle. “Muitos mecanismos de segurança são implementados/enforçados no kernel”
Wardle diz que um ataque como este não funcionaria com extensões de sistema, pois eles rodam em modo usuário.
“Como eles não rodam no kernel, um exploit não lhe dá mais acesso ao modo kernel como fazia com um exploit KEXT”, disse Wardle.
“Então a Apple basicamente quer expulsar todos, em grande parte por razões de segurança.”
Potencialmente negativo
No entanto, Wardle diz que há também um lado negativo neste movimento.
O primeiro é que ao expulsar o app devs do kernel, a Apple também ganha muito mais controle sobre o macOS, semelhante ao controle que eles têm sobre o iOS.
Até agora, o macOS tem sido um paraíso para os desenvolvedores e seus usuários. Se o macOS não tivesse um recurso específico, os desenvolvedores poderiam apenas criar uma aplicação e aproveitar uma extensão do kernel para adicionar os recursos necessários.
A segunda desvantagem é que muitas ferramentas de segurança em si, têm confiado fortemente e foram construídas em torno do acesso total que as extensões do kernel fornecem ao Mac de um usuário. Pode-se argumentar que o movimento da Apple em direção às extensões do sistema pode acabar com os produtos de segurança não esterilizados, que perderão parte da sua capacidade de detectar e parar o malware pelo caminho.
No entanto, Wardle, que é o autor de muitas ferramentas de segurança gratuitas para MacOS, diz que a Apple tem fornecido “algumas grandes frameworks de modo de usuário que fornecem ferramentas de segurança de terceiros as capacidades de que eles precisam”, então parece que a Apple não tem cortado o ramo de baixo dos seus pés, ainda.
Mas por enquanto, não está claro se as extensões de sistema forneceriam a mesma versatilidade e liberdade de codificação que as extensões do kernel. Isso ainda não foi visto — e um tópico para outro artigo — pois precisaremos de mais tempo para que os desenvolvedores de macOS façam a mudança lentamente para as extensões de sistema indo adiante.
No entanto, Wardle aponta que a mudança é boa para a segurança do macOS, em geral, independentemente de outras possíveis razões para a mudança da Apple.