stringtranslate.com

Verificación de archivos

La verificación de archivos es el proceso de utilizar un algoritmo para verificar la integridad de un archivo informático , generalmente mediante una suma de comprobación . Esto se puede hacer comparando dos archivos bit a bit, pero requiere dos copias del mismo archivo y puede pasar por alto corrupciones sistemáticas que podrían ocurrir en ambos archivos. Un enfoque más popular es generar un hash del archivo copiado y compararlo con el hash del archivo original.

Verificación de integridad

La integridad de los archivos puede verse comprometida, lo que generalmente se conoce como corrupción del archivo . Un archivo puede corromperse por diversas razones: medios de almacenamiento defectuosos , errores en la transmisión, errores de escritura durante la copia o el traslado, errores de software , etc.

La verificación basada en hash garantiza que un archivo no se haya dañado al comparar el valor hash del archivo con un valor calculado previamente. Si estos valores coinciden, se presume que el archivo no ha sido modificado. Debido a la naturaleza de las funciones hash, las colisiones de hash pueden dar lugar a falsos positivos , pero la probabilidad de colisiones suele ser insignificante en el caso de una corrupción aleatoria.

Verificación de autenticidad

A menudo es deseable verificar que un archivo no haya sido modificado durante la transmisión o el almacenamiento por terceros no confiables, por ejemplo, para incluir código malicioso como virus o puertas traseras . Para verificar la autenticidad, una función hash clásica no es suficiente, ya que no están diseñadas para ser resistentes a colisiones ; es computacionalmente trivial para un atacante causar colisiones de hash deliberadas, lo que significa que un cambio malicioso en el archivo no se detecta mediante una comparación de hash. En criptografía, este ataque se denomina ataque de preimagen .

Para este fin, se emplean a menudo funciones hash criptográficas . Siempre que las sumas hash no puedan ser alteradas (por ejemplo, si se comunican a través de un canal seguro), se puede suponer que los archivos están intactos. Alternativamente, se pueden emplear firmas digitales para garantizar la resistencia a la manipulación .

Formatos de archivos

Un archivo de suma de comprobación es un archivo pequeño que contiene las sumas de comprobación de otros archivos.

Existen algunos formatos de archivos de suma de comprobación bien conocidos. [1]

Varias utilidades, como md5deep , pueden utilizar dichos archivos de suma de comprobación para verificar automáticamente un directorio completo de archivos en una sola operación.

El algoritmo hash particular utilizado a menudo se indica mediante la extensión del archivo de suma de comprobación.

La extensión de archivo ".sha1" indica un archivo de suma de comprobación que contiene hashes SHA-1 de 160 bits en formato sha1sum .

La extensión de archivo ".md5", o un archivo llamado "MD5SUMS", indica un archivo de suma de comprobación que contiene hashes MD5 de 128 bits en formato md5sum .

La extensión de archivo ".sfv" indica un archivo de suma de comprobación que contiene sumas de comprobación CRC32 de 32 bits en formato de verificación de archivos simple .

El archivo "crc.list" indica un archivo de suma de comprobación que contiene sumas de comprobación CRC de 32 bits en formato brik.

A partir de 2012, las recomendaciones de mejores prácticas son utilizar SHA-2 o SHA-3 para generar nuevos compendios de integridad de archivos y aceptar los compendios MD5 y SHA-1 para compatibilidad con versiones anteriores si no hay compendios más fuertes disponibles. Anteriormente, se utilizaban comúnmente SHA-1, que es teóricamente más débil, MD5 más débil o CRC mucho más débil para las comprobaciones de integridad de archivos. [2] [3] [4] [5] [6] [7] [8] [9] [10]

Las sumas de comprobación CRC no se pueden utilizar para verificar la autenticidad de los archivos, ya que CRC32 no es una función hash resistente a colisiones ; incluso si el archivo de suma hash no se altera, es computacionalmente trivial para un atacante reemplazar un archivo con el mismo resumen CRC que el archivo original, lo que significa que un cambio malicioso en el archivo no se detecta mediante una comparación CRC. [ cita requerida ]

Véase también

Referencias

  1. ^ "Suma de comprobación".
  2. ^ NIST. «Política del NIST sobre funciones hash» Archivado el 9 de junio de 2011 en Wayback Machine . 2012.
  3. ^ Consultoría de Transferencia de Archivos. “Integridad”.
  4. ^ "Preguntas frecuentes sobre detección de intrusiones: ¿Cuál es el papel de un verificador de integridad de archivos como Tripwire en la detección de intrusiones?" Archivado el 12 de octubre de 2014 en Wayback Machine .
  5. ^ Factor Hacker. "Tutorial: Resumen de archivos".
  6. ^ Steve Mead. "Identificación única de archivos en la Biblioteca Nacional de Referencia de Software", pág. 4.
  7. ^ Del Armstrong. "Introducción a la comprobación de integridad de archivos en sistemas Unix". 2003.
  8. ^ "Verificación de imágenes de Cisco IOS"
  9. ^ Elizabeth D. Zwicky, Simon Cooper, D. Brent Chapman. "Construcción de cortafuegos para Internet". pág. 296.
  10. ^ Simson Garfinkel, Gene Spafford, Alan Schwartz. "Seguridad práctica en UNIX e Internet". pág. 630.