¿Cómo se adjuntan los virus a los archivos?

4

¿Cómo se adhieren los virus a los archivos? ¿Cómo infecta las aplicaciones? Me refiero al nivel binario, ¿cómo se agrega el código a un archivo para infectarlo?

Obviamente, si revisamos el original, el hash tendrá un hash diferente al del archivo infectado. ¿Eso significa que tiene datos adicionales agregados al archivo? ¿Cómo funciona eso?

Perdóneme si mi pregunta no es muy clara, me resulta difícil retratar mi significado. Solo para asegurar que se haga mi comentario, así es como lo veo ahora:

< IMAGEN BINARIA > + < virus > = < IMAGEN BINARIA < virus > >

    
pregunta TheHidden 03.03.2016 - 11:24
fuente

1 respuesta

4

Depende del virus y del tipo de archivo. Además, tenga en cuenta que un "virus" describe técnicamente una forma de malware de autorreplicación: hay otras formas de malware que pueden ocultarse dentro de archivos utilizando técnicas similares. Entonces:

  • Archivos ejecutables: la mayoría de los archivos ejecutables son relativamente escasos: hay grandes brechas entre el código legítimo y los datos por varias razones. Puede ser por razones de rendimiento, o para aprovechar las optimizaciones del compilador, o simplemente porque varios indicadores del compilador no se configuraron para comprimir el tamaño de salida al mínimo. Algunos virus aprovechan esto e insertan sus instrucciones en estos espacios, lo que cambia el hash resultante del archivo (tenga en cuenta que un hash diferente significa que el contenido es diferente, no solo que el tamaño del archivo ha cambiado). Al secuestrar el punto de entrada del programa para ejecutar el código del virus antes o en lugar del código legítimo, se puede ejecutar un virus cuando se inicia la aplicación.

    Tenga en cuenta que, en este caso, los archivos ejecutables incluyen cosas como los archivos DLL: son esencialmente ejecutables de Windows que exponen funciones, en lugar de ser aplicaciones independientes. Existen algunas diferencias técnicas, pero en términos de infección, son prácticamente idénticas: simplemente secuestren una llamada y hagan que apunte a su código en lugar de al original.

    Los ejecutables de Linux son muy similares, al tener espacio vacío, pero el sistema de archivos también puede intentar aplicar reglas sobre si los archivos específicos se tratan como "ejecutables" o "datos", lo que puede complicar un poco el problema.

  • Archivos de datos: algunos archivos de datos, especialmente los archivos multimedia (imágenes, sonidos, videos), utilizan una estructura de bloques, donde se almacenan varios tipos distintos de datos en bloques distintos. Por ejemplo, un archivo PNG se compone de, como mínimo, tres "fragmentos": un encabezado, los datos de la imagen y un marcador de fin de archivo. En estos archivos, a menudo es posible agregar bloques adicionales utilizando la forma correcta y agregar datos arbitrarios: en un archivo PNG, esto podría agregar una porción "iTXt", que es solo un bloque de texto Unicode.

    Sin embargo, los archivos de datos generalmente no pueden ejecutarse solos, por lo que normalmente también habrá un archivo ejecutable modificado o un error específico en una aplicación de procesamiento. Por ejemplo, si existía una herramienta de procesamiento de imágenes de línea de comandos que tomaba una carpeta de imágenes y las procesaba de alguna manera, podría ser que se encontrara una falla que significaba que al proporcionar un archivo de entrada específico, se agregaron datos a todos los archivos en el Carpeta procesada después del archivo "malo" haciendo que se comporten de la misma manera. Esto podría clasificarse como un comportamiento similar al virus, pero no cumpliría con algunas definiciones de virus informáticos.

    Para algunos tipos de archivos, también es válido agregar datos después del contenido del archivo legítimo. Por ejemplo, los archivos JPEG pueden seguir funcionando si simplemente les agrega archivos de texto, exactamente como su imagen mental. Esto podría ser usado por un virus, pero debido a la falta de ejecutabilidad, es poco probable que sea la única parte de un virus.

Otras formas de malware utilizan técnicas similares: existen familias enteras de malware que se insertan en los archivos PHP y luego se ejecutan cuando alguien accede a la página relacionada. El ransomware a menudo se distribuye mediante el secuestro de archivos Javascript y la adición de códigos maliciosos. En estos casos, sin embargo, el código no suele ser autorreplicante, por lo que no cumple con todos los detalles técnicos de ser un virus.

    
respondido por el Matthew 03.03.2016 - 12:09
fuente

Lea otras preguntas en las etiquetas