¿Puedes fiarte de la marca de tiempo de compilación de una cabecera PE para datar un malware?
Respuesta breve
No por sí sola. El TimeDateStamp de la cabecera COFF se documenta como la fecha de creación del archivo, pero nada en el formato PE lo autentica: la especificación indica que los valores 0 y 0xFFFFFFFF no son marcas de tiempo reales, y las compilaciones reproducibles (IMAGE_DEBUG_TYPE_REPRO) se apartan del formato time_t habitual. Es una pista débil que debe corroborarse, no una prueba de cuándo se compiló la muestra.
A los analistas les encanta la marca de tiempo de compilación PE porque parece un dato de atribución gratis. La trampa: es solo un número que la cadena de herramientas escribió en la cabecera.
Qué dice la especificación
La documentación de Microsoft sobre el formato PE define TimeDateStamp en la cabecera COFF como los 32 bits bajos de un valor time_t de la biblioteca C, que «indica cuándo se creó el archivo». La misma página señala que un valor 0 o 0xFFFFFFFF no representa una marca de tiempo real o significativa, y remite a IMAGE_DEBUG_TYPE_REPRO como excepción al formato habitual. Ese tipo de depuración existe para compilaciones reproducibles, cuyo objetivo es una salida determinista.
Por qué es una prueba débil
El cargador no verifica el campo y nada en el formato lo firma (inferencia propia a partir de la especificación, no una cita). Quien pueda reescribir los bytes de la cabecera, o cuya cadena emita valores deterministas o nulos, controla lo que ves. Una fecha futura o de 1992 es una señal clásica, pero un valor plausible tampoco prueba nada.
Cómo usarla bien
- Compararla con otros artefactos: entradas del directorio de depuración, Rich header, recursos, fechas de primera detección en sandboxes públicos.
- Buscar agrupaciones a lo largo de una campaña en vez de fiarse de una sola muestra.
- Registrarla en el informe como «fecha de compilación declarada».
Por qué tientan los distractores
«Ligado criptográficamente» y «Windows rechaza fechas futuras» inventan controles inexistentes. «Tamaño del archivo» confunde con otro campo.
Qué buscan los entrevistadores
«Útil pero no fiable: corrobórala.» Mencionar las salvedades de 0/0xFFFFFFFF y de las compilaciones reproducibles demuestra que has leído la especificación.
Posibles preguntas de seguimiento
- ¿Qué otros artefactos corroboran una fecha de compilación (Rich header, directorio de depuración, recursos, primera vez visto en VirusTotal)?
- ¿Qué suele sugerir una marca de tiempo cero sobre la cadena de herramientas?
- ¿En qué se diferencia del timestomping de NTFS?