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.