Extensiones de archivo
La extensión del archivo en realidad no tiene absolutamente nada que ver con los datos en el archivo o cómo se estructuran esos datos. A Windows le gusta hacerte pensar que la extensión es de alguna manera mágica; no lo es, es solo parte del nombre del archivo, y le dice a Windows qué programa iniciar cuando abres el archivo. (Linux / Android y MacOS / iOS aún usan extensiones de archivo un poco, pero no en la misma medida que Windows).
Es completamente correcto que puede volcar algunos datos en un archivo, llámelo virus.png
y un visor de imágenes lo abrirá. Llámelo virus.docx
y MS Word lo abrirá.
Datos inesperados
Si toma un programa bien escrito y lo alimenta con archivos que no están esperando, no debería ocurrir nada interesante. El programa debe dar un error sobre un "archivo dañado" o algo similar y continuar con su vida útil. El problema ocurre cuando el programa no está bien escrito, generalmente debido a un pequeño error, como un programador, que se olvidó de verificar los límites de una matriz, se olvidó de verificar los punteros nulos o se olvidó de poner las llaves {
}
en una if
instrucción.
Incluso si hay un error, 99.999 ...% de los datos mal formados obtendrán el error "archivo dañado". Solo si construye los datos muy con cuidado puede hacer que suceda algo malicioso. Para un ejemplo concreto, consulte la sección sobre StageFright a continuación.
(Gracias a comentario de @ octern para esto).
Cargas útiles maliciosas en archivos que parecen inocentes
Sí, lo que estás describiendo es en realidad un vector de ataque común, de ahí el temor general de abrir archivos adjuntos de correo electrónico desconocidos.
Como atacante, si sabe que existe una vulnerabilidad en un programa específico, diga el visor de imágenes de Windows predeterminado, entonces puede construir un archivo malicioso diseñado para explotar esto. Por lo general, esto significa que usted sabe que cierta línea de código en el visor no comprueba los límites de una matriz, por lo que crea un .png
malformado específicamente diseñado para hacer un ataque de desbordamiento de búfer y que el programa ejecute el código que insertó.
Explosiones PNG
Por ejemplo, aquí hay un informe de vulnerabilidad sobre la biblioteca de código abierto libpng [CVE -2004-0597] .
Los múltiples desbordamientos de búfer en libpng 1.2.5 y anteriores, tal como se usan en múltiples productos, permiten que los atacantes remotos ejecuten código arbitrario a través de imágenes PNG mal formadas en las que (1) la función png_handle_tRNS no valida correctamente la longitud del fragmento de transparencia (tRNS ) los datos, o las funciones (2) png_handle_sBIT o (3) png_handle_hIST no realizan una verificación de límites suficiente.
Aparte: un Vulnerabilidades y exposiciones comunes (CVE) es una forma de rastrear vulnerabilidades conocidas en software público. La lista de vulnerabilidades conocidas se puede buscar aquí: enlace
Si busca "png" en los CVE, encontrará cientos de vulnerabilidades y ataques como el que imaginó en su pregunta.
Android StageFright
La StageFright vulnerabilidad de Android de abril de 2015 fue muy similar: había una vulnerabilidad de desbordamiento de búfer en el núcleo de Android biblioteca multimedia, y al enviar un archivo de audio / video con formato incorrecto por MMS (mensaje multimedia), un atacante podría obtener el control completo del teléfono.
La vulnerabilidad original para esta vulnerabilidad era que un atacante enviara un archivo de audio / video 3GPP en el que parecía como un archivo de audio / video válido, excepto que uno de los campos de enteros en los metadatos era anormalmente grande, causando un desbordamiento de enteros . Si el "entero" grande realmente contenía código ejecutable, esto podría terminar de ejecutarse en el teléfono, por lo que este tipo de vulnerabilidad se denomina "vulnerabilidad de ejecución de código arbitrario".
Explosiones de PDF y MS Word
Si busca en el CVE "pdf" o "word", encontrará un montón de vulnerabilidades de ejecución de código arbitrario que las personas han podido explotar con esos tipos de archivos (wow, algunos de ellos muy recientes para Word también, limpio). Es por eso que .pdf
y .docx
se usan comúnmente como archivos adjuntos de correo electrónico que contienen virus.