A próxima geração de processadores Intel, de codinome Tiger Lake, terá um recurso integrado ao hardware projetado para dificultar a vida dos criadores de malware. Batizado de Control-Flow Enforcement Technology (CET), ele foi criado para que um malware não possa modificar o fluxo de execução de um programa, impedindo a aplicação de uma técnica de ataque chamada ROP, ou “Return Oriented Programming” (“Programação Orientada a Retorno”, numa tradução livre).
Na ROP, malfeitores tentam driblar medidas que impedem execução de código malicioso, “reordenando” a execução de funções que programas benignos ou sistema operacional já colocaram na memória. Com isso, conseguem realizar operações às quais normalmente não teriam acesso, sem levantar suspeitas. Uma analogia é um brinquedo feito com peças de Lego. Rearranjando peças você pode transformar um carrinho numa nave espacial, sem adicionar peças novas.
As instruções a serem executadas por um programa são colocadas numa área da memória conhecida como “pilha” (Stack). A CET adiciona uma segunda pilha, chamada de Control Stack (pilha de controle), que não pode ser modificada por malfeitores e não contém dados, mas armazena os endereços de retorno das instruções na pilha real.
Se um malware modificar um endereço de retorno na pilha, modificando a ordem de execução de um programa, a Control Stack irá apontar a diferença entre o endereço atual e o real e instruir o processador a interromper a execução do programa.
Além de ROP, a CET também protege contra técnicas de ataque conhecidas como jump-oriented-programming (JOP, Programação Orientada a Saltos) e call-oriented-proramming (COP, Programação Orientada a Chamadas). Entretanto, o recurso só estará ativo em sistemas operacionais que o suportem, como o Windows 10 a partir da versão 2004, lançada no mês passado.
Os chips Tiger Lake serão os sucessores da atual 10ª geração de processadores Intel Core, cuja arquitetura é conhecida internamente pelo codinome Ice Lake. Uma data de lançamento ainda não foi anunciada.
Fonte: Ars Technica