impacto de Turing-integridad en la seguridad del sistema

3

En muchos artículos que analizan diferentes tipos de temas de seguridad del sistema, los autores siempre intentan resaltar el peligro de algunas vulnerabilidades al suponer que un atacante, al explotarlas, puede lograr la integridad de Turing. ¿Qué es la integridad de Turing y cuál es el peligro detrás de él si lo logra un atacante?

    
pregunta Ahmed 20.04.2018 - 10:22
fuente

2 respuestas

1

Un exploit que proporciona un entorno de ejecución completamente completo permite al atacante ejecutar cualquier algoritmo que desee. No estarán limitados por el número de instrucciones disponibles.

Un sistema de reglas de manipulación de datos (script, programa, conjunto de instrucciones, etc.) se considera completamente completo si se puede usar para simular una Máquina de Turing . La equivalencia de Turing establece que dos construcciones completas de Turing son idénticas en sus capacidades. En otras palabras, si alguien puede ejecutar código completo en una computadora vulnerable, puede computar cualquier cosa , con la excepción de las limitaciones de recursos. La tesis de Church-Turing de que una máquina de Turing puede calcular cualquier valor que también pueda calcularse un algoritmo Del artículo de Wikipedia:

  

Para mostrar que algo está Turing completo, es suficiente para mostrar que se puede usar para simular algunos sistemas completos de Turing. Por ejemplo, un lenguaje imperativo es Turing completo si tiene bifurcaciones condicionales (por ejemplo, declaraciones "if" y "goto", o una instrucción "bifurcación cero"; vea una computadora del conjunto de instrucciones) y la capacidad de cambiar una cantidad arbitraria de memoria (por ejemplo, la capacidad de mantener un número arbitrario de variables). Dado que este es casi siempre el caso, la mayoría, si no todos los idiomas imperativos, se completan con Turing si se ignoran las limitaciones de la memoria finita.

Esto es particularmente relevante en el caso de ROP , una técnica de explotación en la que el código existente se ejecuta fuera de -orden. Un programa vulnerable lo suficientemente complejo puede hacer ROP completo, lo que significa que el atacante no está limitado solo a ciertos tipos de computación.

Entonces, ¿por qué importa algo tan abstracto como computación , en lugar de solo las capacidades del programa explotado? Imagínese si tuviera acceso a un shell, ejecutándose como root. Obviamente, la raíz puede hacer prácticamente todo, pero ¿qué sucede si las únicas cosas que puede hacer en el shell son ejecutar echo , id y cd ? No hay declaraciones if , no mv , no sed ... Usted estaría bastante limitado en lo que puede hacer. Ese escenario no se completaría completamente porque no tiene suficientes comandos para completarla. Una cadena de ROP completa es un concepto similar, pero en lugar de utilizar comandos de shell, utiliza código de máquina. Si solo puede ejecutar algunas instrucciones, no puede hacer mucho.

    
respondido por el forest 20.04.2018 - 10:27
fuente
0

La integridad de Turing básicamente significa que los atacantes pueden hacer lo que quieran dentro de la aplicación. Es lo mismo que poder ejecutar código arbitrario .

La máquina completa de Turing es en teoría de la información una máquina que puede calcular cualquier problema solucionable. En la práctica, generalmente significa que los atacantes pueden ejecutar código arbitrario en su máquina. En algunos casos, puede haber otras formas de lograr el acceso completo de Turing, pero las implicaciones son las mismas. Una vulnerabilidad que no da a los atacantes la integridad de Turing puede plantear algunos problemas más limitados. Considere, por ejemplo, que un desbordamiento de búfer en una aplicación bancaria permite a los atacantes cambiar su saldo, pero no les permite cambiar el historial de transacciones. Este tipo de vulnerabilidad sería malo, amigo, porque el saldo correcto podría recalcularse desde el historial de transacciones, no sería tan malo como el acceso completo de Turing Complete.

    
respondido por el Peter Harmann 20.04.2018 - 10:30
fuente

Lea otras preguntas en las etiquetas