¿Ya no son efectivas las explotaciones de desbordamiento de pila y montón?

4

¿Todos los sistemas operativos nuevos implementan el no execute bit para superar las vulnerabilidades que podrían usarse para ejecutar código malicioso? por ejemplo, ¿está implementado en Win7 ? ¿Eso significa que la forma tradicional de stack & explotaciones de desbordamiento de pila ya no son eficaces?

    
pregunta Adban 06.11.2012 - 11:26
fuente

3 respuestas

7

"Vía tradicional" podría significar cualquier cosa. Supongo que se refiere a un desbordamiento de búfer en el que la dirección de retorno se reemplaza con una dirección controlada por el atacante en la memoria para ejecutar el código artbitrary. Sí, esto está mitigado por el bit NX. Pero no. Esto no impide que los atacantes utilicen otros mecanismos, como la programación orientada al retorno, que utiliza dispositivos ROP para encadenar instrucciones para ejecutar efectivamente el código de su elección.

Tenía la misma pregunta antes, pero me di cuenta de que los desbordamientos de pila y montón no se extinguirán en un futuro próximo. Windows, Linux, Solaris y otros sistemas operativos populares tienen mecanismos de protección habilitados que reducen en gran medida estos ataques. Por otro lado, pensar en plataformas móviles. El firmware, el código de banda de base por lo general escrito hace años en C, aún son susceptibles a estos ataques, y es posible que esos sistemas no tengan los mecanismos de protección mencionados anteriormente.

Esta respuesta , es una excelente lectura para obtener más información sobre los mecanismos de protección. Su pregunta específica sobre NX también está cubierta allí

    
respondido por el sudhacker 06.11.2012 - 16:30
fuente
2

Una forma de superar el bit de no ejecución es utilizar diferentes destinos de desbordamiento por completo. Las personas se centran demasiado en las vulnerabilidades de desbordamiento del estilo del código de shell e ignoran una gran parte de las vulnerabilidades que existen. Por ejemplo , puede desbordarse a otras matrices e incluso cadenas. No necesita corromper el estado de la pila o el montón para explotar un desbordamiento del búfer, solo tiene que hacer que el programa haga algo que no estaba destinado a hacer. Puedes desbordar en:

  • cuerdas de concha
  • cadenas SQL
  • Cualquier cadena que contenga un lenguaje interpretado
  • Claves criptográficas o datos que solo están en texto plano en la memoria

Ninguna de estas cosas requiere la ejecución de ningún código de shell en el proceso explotado. Se aplican muchas de las mismas técnicas (por ejemplo, fumigación, trineos centinela).

    
respondido por el glidersecurity 23.07.2013 - 17:12
fuente
1

Windows ha tenido Protección de ejecución de datos desde XP SP 2, pero no siempre está habilitado de forma predeterminada, y puede ser deshabilitado para aplicaciones específicas.

Por lo tanto, se bloquearán muchas explotaciones de cracking de pila, pero probablemente no todas.

En cuanto a "todos los sistemas operativos de noticias", YMMV. Es mejor preguntar sobre los específicos.

    
respondido por el Roddy 06.11.2012 - 11:41
fuente

Lea otras preguntas en las etiquetas