Investigadores criaram uma nova técnica para ocultar malware nos enclaves de segurança da Intel SGX.
O Intel Software Guard eXtensions (SGX) é uma tecnologia para programadores protegerem o código e os dados selecionados contra divulgação ou modificação.
O Intel SGX permite que o código da app seja executado em um enclave da Intel SGX, que são áreas protegidas de execução na memória (trusted execution).
A técnica criada pelos investigadores permite que eles implantem um código malicioso em uma área de memória protegida por design, dificultando a sua detecção.
Enclaves são projetados para serem protegidos contra processos executados em níveis mais altos de privilégios, incluindo o sistema operativo, kernel, BIOS, SMM, hypervisor.
A equipa de investigadores composta por Michael Schwarz, Samuel Weiser e Daniel Gruss, da Universidade de Tecnologia de Graz, na Áustria, são aqueles que descobriram as vulnerabilidades Specter-Meltdown.
Eles criaram um método novo para contornar a proteção de segurança dos CPUs e implantar malwares nos enclaves, aproveitando uma app benigna que usa um enclave mal-intencionado quando é executada.
Os investigadores afirmam que app host comunica com o enclave por meio de uma interface que não deve permitir esse ataque.
Experts pointed out that the host application communicates with the enclave through an interface that should not allow the enclave to attack the app.
Os investigadores usaram TSX (Transactional Synchronization eXtensions), em CPUs Intel modernas, juntamente com uma técnica primitiva de leitura resistente a falhas, chamada Address Probing (TAP) baseada em TSX.
“Our SGX-ROP attack uses new TSX-based memory-disclosure primitive and a write-anything-anywhere primitive to construct a code reuse attack from within an enclave which is then inadvertently executed by the host application. With SGX-ROP, we bypass ASLR, stack canaries, and address sanitizer.” states the research paper published by the experts.
“We demonstrate that instead of protecting users from harm, SGX currently poses a security threat, facilitating so-called super-malware with ready-to-hit exploits.”
Os investigadores desenvolveram uma primitiva de escrita fault-resistant que valida Located Addresses for Writability (CLAW) , para determinar se é possível escrever numa determinada página de memória.
A primitiva encapsula a instrução de gravação para a página de memória específica dentro de uma transação TSX e aborta a transação logo após a operação de gravação.
Os investigadores determinam a possibilidade de escrever numa página de memória de destino, analisando o valor de retorno da transação.
Um malware injetado nos enclaves pode ser transparente para as soluções de segurança, incluindo ASLR (Address Space Layout Randomization), canários de pilha e sanitização de endereços.
“The strong confidentiality and integrity guarantees of SGX fundamentally prohibit malware inspection and analysis, when running such malware within an enclave.” continues the analysis.
“Moreover, there’s a potential threat of next-generation ransomware which securely keeps encryption keys inside the enclave and, if implemented correctly, prevents ransomware recovery tools,” the academics explain.
Os investigadores publicaram uma exploração (PoC) que contorna o ASLR, canários de pilha e sanitização de endereço.
O processo geral de exploração levou apenas 20,8 segundos.
Mitigações de hardware e software contra este novo ataque serão implementadas pela Inter nas futuras gerações de CPUs.
“With SGX-ROP, we bypassed ASLR, stack canaries, and address sanitizer, to run ROP gadgets in the host context enabling practical enclave malware.” conclude the researchers.
“We conclude that instead of protecting users from harm, SGX currently poses a security threat, facilitating so-called super-malware with ready-to-hit exploits.”
Para mais detalhes sobre esta falha fica aqui o white-paper.