¿Qué tan efectivo es algo como Deep Freeze contra las infecciones del sector de arranque?

7

Trabajo para un fabricante de sistemas incrustados y en nuestros sistemas de generaciones anteriores, que funcionan con Windows Embedded, varios clientes han estado experimentando infecciones de virus. Debido a la naturaleza en tiempo real de estos sistemas, las soluciones antivirus no son particularmente prácticas.

Esto se debe principalmente a que sus empleados están en Internet y descargan material inapropiado al sistema. Requerimos el navegador por razones de servicio al cliente, por lo que simplemente bloquearlo no es una opción.

Hemos estado explorando Deep Freeze como una forma de mitigar el problema, esta herramienta está diseñada para restaurar el estado del sistema de archivos.

No estoy seguro de si esto será efectivo contra los virus del sector de arranque, ¿alguien tiene alguna experiencia con esto? ¿Alguien ha usado Deep Freeze para este tipo de propósitos?

¿Dónde puedo obtener virus del sector de arranque que sean razonablemente relevantes para las pruebas? (Para cualquier persona preocupada por la legitimidad de esta parte de la pregunta, me pueden contactar en el correo electrónico de mi trabajo para verificar, es el correo electrónico asociado con esta cuenta).

    
pregunta Stephen 15.11.2011 - 19:22
fuente

3 respuestas

10

Perdóneme, pero la solución número 1 para un sistema dependiente en tiempo real es no dejar que se ejecute basura no designada en él. Los usuarios no deben navegar por Internet con una configuración RTOS. Eso tiene que parar ayer.

Al menos en teoría, los sistemas de tipo Deep Freeze protegerán su computadora de cualquier modificación permanente. Interceptan toda actividad de escritura y la reasignan. Eso significa que cualquier cambio, incluso en el sector de arranque, se anulará al arrancar. Los datos congelados nunca se sobrescriben, solo se eliminan hasta que se reinicia el sistema.

    
respondido por el Jeff Ferland 15.11.2011 - 19:52
fuente
9

En primer lugar, estoy de acuerdo con Jeff. Conectar sistemas de tiempo real a internet no es una buena idea, especialmente si son críticos.

En segundo lugar, en Deep Freeze - de acuerdo con el artículo de wikipedia :

  

Deep Freeze es un controlador de nivel de kernel que protege la integridad del disco duro al redireccionar la información que se escribe en el disco duro o la partición, dejando intactos los datos originales.

En términos del impacto en su sistema, esto significa que las escrituras se ven así:

 ----------------------                ---------------------
 | Userland program   |<-----Read--------|  Kernel         |          |-------------------|
 | e.g. explorer.exe  |                | |-|-------------|<---Read----|  File system      |
 | or something else  |<-----Write--|  |   | Deep Freeze | |          |  i.e. directly to |
 ---------------------- or read of  |------| Driver      | |          |  block device     |
                  modified contents    |   |-------------- |          |-------------------|
                                       |         /|\       |
                                       -----------|---------
                                                  | Write/read changed content
                                                 \|/
                                           ----------------
                                           | Some form of |
                                           | temporary    |
                                           | storage      |
                                           ----------------

Por lo tanto, cualquier modificación que realice utilizando rutinas de E / S estándar se redirigirá a un almacenamiento temporal. Las lecturas, como yo lo entiendo, también seguirán esto si se modifica el contenido, de lo contrario se carga directamente desde el propio sistema de archivos. Cuando se vuelve a cargar el sistema, esa sección se olvida.

La efectividad de esto depende del nivel de penetración. Dentro del kernel, si usa las rutinas conectadas para escribir archivos, sus escrituras también serán redirigidas. Sin embargo, los kernels pueden escribir directamente en el disco y contendrán código para hacer eso, así que a menos que parches todo eso para eliminarlo, es posible escribir en el disco. Es probable que la intercepción sea más alta que eso, sobre todo porque atrapará el 99% de todas las llamadas y es confiable.

  

¿Dónde puedo obtener virus del sector de arranque que sean razonablemente relevantes para las pruebas?

Ahora, el quid de la cuestión. La protección contra escritura de Deep Freeze solo funciona una vez cargada. Por lo tanto, es correcto suponer que si carga código antes de que las rutinas estándar de congelación funcionen bien. Incluso podría cargar un filtro con mayor prioridad, interceptar ciertas escrituras y conservarlos antes de que el congelador las vea.

En cuanto a encontrar el código que lo ayude a comenzar, vbootkit 2.0 fue una prueba de concepto (aparte de insertarse a sí mismo, no sirvió de mucho) "bootkit" diseñado para comprometer Windows Vista x64 pre boot. Ha desaparecido de internet al buscarlo esta noche, pero si puedes encontrar una copia, eso te dará un punto de partida. Sin embargo, es complicado. Estoy escribiendo un controlador de filtro en este momento (culpe a AviD) y hacerlo bien es difícil. Sin embargo, no conozco ningún código que apunte deliberadamente a la congelación específica.

    
respondido por el user2213 15.11.2011 - 21:17
fuente
5

La "forma correcta" de proteger el código de inicio en un dispositivo integrado es cargar desde una ROM: debería ser difícil modificar el sector de inicio. Incluso sin una verdadera ROM, la mayoría de los dispositivos flash que he visto tienen una secuencia de bloqueo que puede escribir desde el controlador flash. Esto hace que el dispositivo sea más difícil de sobrescribir (no imposible, por ejemplo, por un ataque dirigido), lo que evita que los virus de variedades de jardín infecten su bota. En cuanto a la búsqueda de virus para probar, consideraría escribir algo que tenga un conocimiento específico de su sistema para probar qué tan fuertes son sus protecciones.

    
respondido por el bstpierre 15.11.2011 - 22:33
fuente

Lea otras preguntas en las etiquetas