2009-05-12 10 views
6

Después de algunas investigaciones, no he encontrado ningún documento que describa el método para hacerlo (ni siquiera uno poco confiable). Parece que SSP (StackSmashing Protection)/Propolice¿Hay alguna forma de eludir SSP (StackSmashing Protection)/Propolice?

+0

¿Esto es para hackear o para su propio software? Incluso para su propio software, no puedo pensar en una buena razón para hacer esto (¿rendimiento quizás?). – Zifre

+5

Tal vez esté tratando de evaluar esta tecnología para usarla en su propio producto y se pregunta si hay algún problema conocido con ella. –

+1

Te estás perdiendo la última mitad de tu última oración. –

Respuesta

1

Estoy más familiarizado con la protección de la pila GS de Microsoft, pero los dos enfoques seem similar.

La siguiente entrada del blog de Microsoft muestra un ejemplo en el que un atacante aún puede tomar el control, incluso cuando Galletas PILA están en uso (el primer ejemplo debe ser aplicable a sistemas no basados ​​en Windows):


este blog post habla acerca de algunas de las próximas mejoras para apilar protección:

0

Si una aplicación tiene una matriz/tampón en la pila, y utiliza los valores de índice de llamantes controlado sin comprobar los límites, entonces una persona que llama será capaz de acceder a posiciones de memoria arbitrarias, y la pila de protección no ser capaz de prevenirlo o detectarlo.

+0

Ese es un ataque válido, siento que es tarde. – rook

3

Canary es una muy buena medida de seguridad para proteger contra algunos desbordamientos de búfer. Con los años, varias implementaciones de Canarias se han roto y luego se han vuelto más seguras. Lo que es importante es que incluso a pesar de los desbordamientos de búfer de protección avanzada de memoria aún se están explotando en Vista, Windows 7 y Fedora 11 ...

Una cosa muy importante para mencionar es que Canary solo protege el marco de llamada de la función (que incluye poderoso EIP!). Un desbordamiento de búfer puede ocurrir en otro segmento de la memoria, como el Heap, y un canario no tendría ningún efecto. Además, una aplicación puede ser pirateada utilizando un desbordamiento de búfer sin tener que sobrescribir un EIP. Controlar el EIP es un método sencillo y directo para convertir un desbordamiento de búfer en un exploit asesino y es por eso que es el método más común de explotación.

Estos métodos de explotación, así como otros, se analizan con gran detalle en Exploiting Software: How to break code.

Cuestiones relacionadas