¿Podríamos crear un servidor impermeable con software de solo lectura y sin acceso de root?

1

Hace mucho tiempo, la gente hablaba de la arquitectura de Harvard, que tenía el programa separado de los datos. De manera similar, si el software de un servidor no era modificable (grabado en un cristal o algo así - nota: hipotético, no ataque esta premisa) y salió de la caja sin un usuario root y no hay manera de agregar o cambiar nada ( a excepción de los datos, tendríamos una especie de "dispositivo" que funcionaba como cualquier otra pieza de hardware familiar, y no se podía controlar.

¿Alguien hace esto ahora y, si no, hay una razón técnica por la que no? Básicamente, estoy proponiendo un dispositivo desechable que tal vez ni siquiera almacena los datos en sí mismo, sino que solo controla el acceso a una granja de discos separada o algo así. Si algo sale mal, desenchúfalo y enchufa uno nuevo y sigue adelante, como RAID para el servidor en sí.

    
pregunta 10.03.2016 - 15:23
fuente

4 respuestas

2

Esto evitaría que el servidor ejecute el código que fue escrito por un atacante, lo que parece una buena idea, pero queda otro problema. Tendrá que incluir algún software al principio, cuando cree el servidor. Cada pieza de software tiene una falla en alguna parte, sin importar cuántas pruebas pase. Si escribe este software en el servidor y 2 meses después, se encuentra un exploit en el que el atacante no inyecta el código (ya que esto no es posible por premisa), sino que utiliza el código existente en el software para romper algo, al enviar datos al El codificador no esperaba. Como no se puede cambiar el código de su servidor, ahora no tiene forma de aplicar el parche de seguridad.

    
respondido por el Pascal Sommer 10.03.2016 - 15:55
fuente
2

Hay muchas máquinas comerciales de arquitectura de Harvard, por ejemplo, la serie PIC de Microchip.

Ciertamente es posible hacer un sistema integrado estático.

Dicho esto, los PIC, etc., a menudo tienen una forma de modificar sus propios flashes y, por conveniencia, a menudo usan eso para incluir un cargador de arranque para permitir la reprogramación sin hardware especial.

Realmente, una arquitectura de Harvard no es realmente un requisito. Principalmente, lo que necesita es memoria de solo lectura para guardar el programa. Muchos sistemas solían usar los micros de z80 y '86 sin memoria ROM.

Eso no quiere decir que pueda haber algún tipo de vulnerabilidad que podría hacer que una arquitectura de Von Neumann se incorpore a la RAM. Pero no hay nada intrínseco en Harvard que lo haga resistente a los ataques de Programación Orientada al Retorno, ya sea

    
respondido por el user104003 10.03.2016 - 16:08
fuente
0

Realmente puedes hacerlo. Hay múltiples maneras de lograrlo: O bien, utiliza el arranque PXE para arrancar una imagen, que luego se carga en la RAM utilizando un disco RAM virtual. O haces lo mismo usando medios locales de solo lectura.

Esto, por supuesto, significa que el servidor puede modificarse durante la operación, ya que se requiere para que el servidor funcione (debe mantener los estados y otros en la memoria, almacenar las variables en la memoria y demás), pero la ventaja es que cualquier atacante El servidor nunca se escribe en ningún lugar de forma permanente, por lo que un simple reinicio del servidor se garantizará que se elimine cualquier cambio que haya hecho el atacante.

Ejecutar un servidor de esta manera, y también configurarlo para reiniciar, digamos una vez al día para eliminar cualquier daño, es una manera muy efectiva de evitar cualquier explotación. Por lo general, no se recomienda ejecutar sin una cuenta raíz, necesita servicios para usar una cuenta raíz para configurar puertos bajos y demás.

    
respondido por el sebastian nielsen 10.03.2016 - 19:39
fuente
-2

No. Si estuviera lo suficientemente motivado, podría hackear su servidor impermeable.

enlace mencionó que "tendrá que incluir algún software al principio, cuando cree el servidor. . " y eso es ciertamente una debilidad, pero por el bien de esta respuesta, asumamos que el software no tiene ninguna debilidad.

Una computadora contiene una serie de interruptores físicos (piense el interruptor de la luz) que pueden estar en una de dos posiciones (piense encendido o apagado). Esto no es una metáfora. Realmente hay una cantidad increíblemente grande de interruptores increíblemente pequeños en tu computadora.

Los interruptores determinan el estado de la computadora. De vez en cuando, la radiación cósmica activará un interruptor. Esto sucede muy raramente y cuando sucede, generalmente hay procedimientos de suma de comprobación que detectan y corrigen el error, pero así es como suceden los errores "verdaderos" de la computadora.

Para mí será un desafío, pero se puede hacer con un presupuesto suficiente, para que su servidor impermeable reciba el tipo de radiación adecuado para cambiar su estado a "pwned by me".

    
respondido por el emory 10.03.2016 - 17:12
fuente

Lea otras preguntas en las etiquetas