Vulnerabilidade zero-day no macOS permite gerar cliques invisíveis sem o consentimento do usuário

Vulnerabilidade zero-day no macOS permite gerar cliques invisíveis sem o consentimento do usuário

Um especialista em segurança fez uma apresentação na DefCon 2018 em que explicou a existência de uma vulnerabilidade zero-day nas versões atuais do macOS que permite a um cibercriminoso gerar ataques Synthetic Mouse-Click.

Um especialista em segurança fez uma apresentação na DefCon 2018 em que explicou a existência de uma vulnerabilidade zero-day nas versões atuais do macOS que permite a um cibercriminoso gerar ataques Synthetic Mouse-Click.

No sábado passado, o ex “white hat” da Agência de Segurança Nacional dos Estados Unidos (NSA, por sua sigla em inglês) e diretor de research da Digita Security, Patrick Wardle, apresentou na DefCon 2018 uma vulnerabilidade zero-day crítica em todas as versões atuais do macOS, como o sistema operacional High Sierra. O bug permite que um invasor, apenas modificando duas linhas de código, gere ataques Synthetic Mouse-Click para escapar dos mecanismos de segurança e, assim, descobrir a localização do usuário, roubar contatos ou até mesmo carregar uma extensão no kernel do sistema que pode permitir obter o controle total da máquina afetada.

Durante sua palestra “O mouse é mais poderoso que a espada“, Wardle apresentou os resultados de sua pesquisa e de acordo com uma publicação da Wired “a falha está na interface do usuário”, já que “se você tem um jeito de interagir artificialmente com essas mensagens de aviso, tem a possibilidade de evitar os mecanismos de segurança”.

Esse tipo de ataque não oferece ao cibercriminoso a possibilidade de infectar um computador, mas permite escapar das diferentes camadas de segurança de uma máquina que já foi infectada, seja por meio de um anexo malicioso em uma campanha de phishing ou de outra técnica semelhante.

Enquanto anteriormente a Apple conseguiu bloquear métodos e códigos maliciosos que permitiam artificialmente interagir com mensagens em que o sistema pedia ao usuário para confirmar a ação que estava a ponto de realizar, quando era uma tarefa arriscada – como carregar uma extensão no kernel, “infelizmente seus esforços falharam”, garantiu Wardle.

De acordo com a Wired, o macOS inclui um recurso que permite que certos programas, como o AppleScript, gerem cliques “sintéticos” (semelhantes àqueles feitos por uma pessoa com o mouse, mas gerados por um programa) que permitem que certas funcionalidades sejam desabilitadas, como um processo automatizado, por exemplo. Mas para sua surpresa, Wardle descobriu que o macOS não protege essa funcionalidade para incidentes como extração de contatos de usuários, acesso ao calendário ou leitura da localização do computador através da rede Wi-Fi a qual a máquina esteja conectada.

E foi por acaso que o ex NSA descobriu a falha, quando acidentalmente copiou e colou o código de um mouse sintético duas vezes e esqueceu de modificar o valor de uma advertência que indicaria um ação “para cima” do mouse. E sem perceber o erro, “compilou e executou o código e para sua surpresa gerou um clique sintético sobre “permitir’, segundo publicou o The Threat Post.

Além de verificar se o código de prova permitia dar cliques para habilitar as permissões como se fosse um humano, também testou os cliques sintéticos para técnicas de hacking mais complexas.

Anteriormente, o especialista havia descoberto que através de um código poderia usar uma funcionalidade oculta no macOS chamada “mouse keys”, que permite ao usuário manipular o cursor do mouse com o teclado para realizar cliques sintéticos e, assim, conseguir escapar dos avisos de segurança. E enquanto a Apple lançou um patch para a vulnerabilidade que permitia tirar proveito da função “mouse key”, quando Wardle investigou os detalhes do patch descobriu um erro ainda maior. Um clique sintético inclui um comando “para baixo” e um comando “para cima”, o que equivale ao movimento de pressão e liberação do botão do mouse. Mas, como explica o artigo da Wired, Wardle copiou e colou por engano uma parte do código incorreto que indicava o comando duas vezes. Quando o código foi executado, o sistema interpretou o segundo comando para baixo como se fosse para cima, realizando o clique. E o erro está em que esse comando, de duas vezes para baixo que permite o clique sintético, não é bloqueado pelo sistema e permite realizar um clique sintético para habilitar a instalação de uma extensão no kernel.

Se o malware puder usar esse truque para instalar uma extensão no kernel, poderá aproveitar esse pedaço extra de código para obter controle total da máquina. Embora as extensões no kernel a serem instaladas devam ser assinadas por um desenvolvedor para o macOS, se houver uma extensão para o kernel assinado que tenha uma falha de segurança, um código malicioso poderá instalar a extensão e, em seguida, explorar a vulnerabilidade para tomar o controle do kernel.

De acordo com a Wired, o especialista disse que “vários malwares avançados tentam acessar o kernel, e se eles podem infectá-lo, também podem ter acesso a tudo, ou seja, é possível escapar de qualquer mecanismo de segurança”.

The Threat Post perguntou a Apple sobre a descoberta de Wardle, mas até o momento a empresa não respondeu. Além disso, diferentemente das outras vezes, o pesquisador não relatou à empresa essa última descoberta e optou por comentar os detalhes dessa vulnerabilidade zero-day em sua apresentação na DefCon.

No entanto, The Hacker News revelou que a próxima versão do sistema operacional macOS, Mojave, já mitigou a ameaça, bloqueando todos os eventos sintéticos.

Discussão