OpenBSD sshd vinculado novamente no momento da inicialização

O OpenBSD implementa uma técnica anti-exploração que depende da religação aleatória do arquivo executável sshd toda vez que o sistema é inicializado. Anteriormente, uma técnica de relinking semelhante era usada para o kernel e as bibliotecas libc.so, libcrypto.so e ld.so, e agora será usada para alguns arquivos executáveis. Num futuro próximo, o método também está planejado para ser implementado para ntpd e outras aplicações de servidor. A mudança já está incluída no branch CURRENT e será oferecida na versão OpenBSD 7.3.

A religação torna possível tornar os deslocamentos de funções em bibliotecas menos previsíveis, o que dificulta a criação de explorações usando métodos de programação orientada a retorno (ROP). Ao utilizar a técnica ROP, o invasor não tenta colocar seu código na memória, mas opera em pedaços de instruções de máquina já disponíveis nas bibliotecas carregadas, terminando com uma instrução de retorno de controle (via de regra, são os fins das funções da biblioteca) . O trabalho do exploit se resume a construir uma cadeia de chamadas para blocos semelhantes (“gadgets”) para obter a funcionalidade desejada.

Fonte: opennet.ru

Adicionar um comentário