Lo primero es decir que esto es aplicable a sistemas GNU/Linux con sistema de ficheros Ext.
Supongamos que tenemos sospechas de que algún fichero ha sido suplantado. Una de las primeras cosas que podrían delatarlo es la fecha de modificación. Sin embargo, la fecha podría ser modificada mediante el mandato touch.
Pongamos por ejemplo la siguiente lista:
-rwxr-xr-x 1 root root 306 2006-09-19 14:38 goear -rwxr-xr-x 1 root root 96104 2006-10-10 07:51 grep -rwxr-xr-x 4 root root 52672 2006-09-19 14:38 gunzip -rwxr-xr-x 1 root root 4895 2006-09-19 14:38 gzexe -rwxr-xr-x 4 root root 52672 2006-09-19 14:38 gzip
Ninguna fecha resulta sospechosa. ¿Cómo saber entonces que fichero ha sido suplantado? Por su inodo asociado.
En sistemas ext, los ficheros tienen un inodo asociado que, al menos en teoría, no puede ser modificado. El sistema de ficheros asigna ese inodo y no tenemos control sobre ello. Pero que no tengamos control sobre él, no quiere decir que no sepamos nada.
Todos esos archivos tienen fechas cercanas, por lo que sus inodos asociados deben estar cercanos, siendo mayor el asociado a grep, por tener una fecha posterior a los demás.
Si hacemos un “ls –li” obtenemos esto:
1305 -rwxr-xr-x 1 root root 306 2006-09-19 14:38 goear 62 -rwxr-xr-x 1 root root 96104 2006-10-10 07:51 grep 29 -rwxr-xr-x 4 root root 52672 2006-09-19 14:38 gunzip 35 -rwxr-xr-x 1 root root 4895 2006-09-19 14:38 gzexe 29 -rwxr-xr-x 4 root root 52672 2006-09-19 14:38 gzip
Nuestras predicciones son correctas para todos los ficheros, excepto para goear, que tiene un inodo asociado muy superior a sus compañeros. Esto choca con lo que dice su fecha de modificación, indicando que ha sido modificada.
Tienes un blog excelente he de confesar.
Voy a hacer la prueba de modificar con touch el timestamp de un archivo y verificar su fecha de modificacion en windows, me imagino que funcionara verdad?