Pregunta

Me gustaría simular la corrupción del sistema de archivos con el fin de probar cómo reaccionan nuestros sistemas integrados y, en última instancia, hacer que fallen de la manera más elegante posible. Utilizamos diferentes tipos de almacenamiento flash emulado de dispositivo de bloque para datos que se modifican con frecuencia y no son adecuados para el almacenamiento en NAND / NOR.

Como tengo una idea bastante clara de con qué frecuencia se modifican los datos en diferentes partes del árbol de archivos y dónde se almacenan los datos confidenciales. Me gustaría inyectar errores en áreas específicas y no solo al azar.

En casos de emergencia, usamos fsck -y como una especie de último recurso para intentar activar el sistema e informar que está en muy mal estado. Me gustaría mucho causar errores que provocarían que fsck intente reparaciones para estudiar el efecto sobre la capacidad del sistema para volver a funcionar.

dd if = / dev / random no es lo suficientemente preciso para mi propósito ya que no puede usarse fácilmente para inyectar errores controlados. ¿Hay alguna otra herramienta o método que se adapte mejor a mis necesidades o tengo que inventar el mío?

¿Fue útil?

Solución

Si ya sabe qué modificar, dd puede leer un archivo que contiene los bytes que desea escribir y le indica dónde escribirlos.

Para averiguar dónde escribir, debugfs del paquete e2fsprogs podría ayudarlo.

Otros consejos

Debería ser posible usar un fuzzer de imagen del sistema de archivos Linux para causar corrupción:

o una de las técnicas de inyección de falla de disco de Linux (por ejemplo, dm-flakey en modo de corrupción) descrita en https: //unix.stackexchange .com / a / 144200 .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top