Necesito una forma de determinar si el contenido de una carpeta que contiene algunas cosas ejecutables no se ha modificado de ninguna manera un momento antes de que decida ejecutar el contenido que contiene. Compruebe cada vez antes de ejecutar.
El problema es que estoy muy limitado en términos de tiempo (el cheque debe realizarse casi instantáneamente, algo así como 100 ms sería demasiado para este caso en particular) y un poco de potencia computacional (ejecutando todo esto solo en un computadora que tiene un montón de otras cosas sucediendo en él (navegación por internet, reproducción de música, lo que sea).
Hablando de una máquina Linux. El tamaño de las carpetas sería de hasta 6 MB en el peor de los casos.
Mi idea principal era tener algún tipo de archivo de sumas de comprobación-mapa-almacenamiento almacenado en algún lugar encriptado, y comparar un valor recién calculado con el almacenado. No me preocupa mucho el almacenamiento del archivo de suma de comprobación. Me preocupa el uso de un algoritmo eficiente que me permita estar lo más seguro posible de que los archivos no se modificaron.
Sugerencias? ¿Sería lo suficientemente seguro como para, digamos, solo mirar los metadatos de los archivos? ¿O también sería importante verificar el contenido cada vez?
El algoritmo que usaré está a salvo conmigo, puedo estar seguro de que el "intruso" no puede "saberlo", así que no es mi preocupación.
Siento que la esteganografía puede ser útil aquí, pero simplemente no puedo encontrar una manera útil de hacerlo aquí.