Uso de la arquitectura del conjunto de instrucciones (ISA) para detener los desbordamientos de pila

5

He estado aprendiendo sobre el uso de desbordamientos de pila para obtener la ejecución de código arbitrario, uno de los trucos utilizados es sobrescribir la dirección de retorno para hacer que el flujo de control sea como lo desea. Suponiendo que nuestro sistema tiene bits NX.

  

¿Qué pasaría si hiciéramos que el conjunto de instrucciones de la CPU requiriera una instrucción de "plataforma de aterrizaje" para cualquier ubicación a la que retorne o jmps?

La idea es que un programa terminaría con algún tipo de error si salta a una instrucción que no es de la plataforma de aterrizaje.

¿Esto detendría la capacidad de hacer gadgets ROP? ¿Crees que esta ISA sería mucho más segura? ¿Se ha probado la idea en el pasado?

    
pregunta rain1 07.05.2017 - 16:47
fuente

0 respuestas