¿Cómo ayuda la filtración de información sensible a la explotación en el desarrollo?

6

Según el este informe de error , la primera vulnerabilidad puede filtrar información confidencial.

Pero como no menciona qué información filtrar, supongo que sería la pila. ¿Y cómo podría esto ayudar a explotar el desarrollo?

    
pregunta daisy 26.07.2013 - 11:50
fuente

2 respuestas

2

Por lo general, ese tipo de fuga (leer una cadena que no fue terminada en NULL) da como resultado la lectura de lo que sucede que reside en la RAM justo después de la cadena. Entonces esto depende de donde está la cuerda. Si la cadena está asignada a la pila, esto revela parte de la pila (ya que las pilas "crecen hacia abajo", explorará las variables locales de los llamadores de la función actual). Si la cadena está asignada en montón, entonces la lectura se desbordará en bloques adyacentes, lo que puede ser sobre cualquier cosa, dependiendo de todas las asignaciones anteriores desde el último arranque, por lo que esto es bastante impredecible.

Hay algunos objetivos de alto valor en el kernel (por ejemplo, claves de cifrado para operaciones criptográficas en el kernel). Estos objetivos pueden estar en variables locales, objetos asignados en bloque ... realmente depende del contexto. La simple lectura de la pila local puede ayudar mucho en el ajuste fino de una explotación de desbordamiento de búfer (un desbordamiento de búfer no sintonizado provoca un bloqueo, un desbordamiento de búfer sintonizado puede llevar a la ejecución de código arbitrario).

La mayoría de las miradas a la memoria del kernel no revelarán nada de valor, ya que el 99.9% (al menos) de la memoria utilizada por algún código (ya sea el kernel o alguna aplicación) no es realmente confidencial y podría ser revelado sin mal efecto. Sin embargo, es muy difícil ubicar con precisión el 0.1% restante: garantizar que una información dada no sea sensible a not es prácticamente inviable en el caso general. Por lo tanto, es más seguro considerar esas vulnerabilidades de fuga de información como "potencialmente graves" y corregirlas.

    
respondido por el Tom Leek 26.07.2013 - 16:20
fuente
1

En la tierra del kernel, la capacidad de leer las direcciones de memoria puede minar el ASLR. La asignación aleatoria se trata de secretos, y si puedes leer estos secretos, ASLR no es muy útil.

Un ejemplo simple en el mundo de las aplicaciones web es utilizar la divulgación de información de error para obtener una ruta completa. Con la ruta completa, puede usar el recorrido del directorio para acceder a la raíz web, o usar mysql's into outfile o load_file() para acceder a los archivos en la raíz web.

    
respondido por el rook 26.07.2013 - 16:42
fuente

Lea otras preguntas en las etiquetas