Codificación binaria a ASCII para hacer que los archivos no sean ejecutables

1

¿No es una buena idea transferir, por ejemplo, un archivo .wav, que puede llevar malware dentro? (encabezado, datos, etc.), al archivo de texto ASCII a través de hexdump? Habría logrado un formato no ejecutable. Todavía es ejecutable con un editor de texto, pero el malware no puede causar ningún daño / ejecución porque .wav y con él el código del malware se transfiere a los valores Hex / ASCII.

Si estoy en lo cierto, el formato .txt no tiene un encabezado o es complicado como, por ejemplo, el formato .wav, por lo que no hay lugar para el malware.

Propósito: tener una copia de seguridad en el peor de los casos para que siempre pueda adjuntar los medios de almacenamiento al host, si se agotan todos los archivos binarios, sin preocuparse por los posibles eventos de fondo del sistema operativo que posiblemente ejecuten el código de malware. El archivo de texto ASCII que transporta los valores hexadecimales siempre se puede transferir de nuevo a binario en un entorno de prueba (además de que el sistema operativo está limpio y no hace ningún otro cambio) trabajando solo con copias para encontrar el malware.

Estoy un poco confundido acerca de esto, y no puedo encontrar mucha información sobre eso específicamente sobre el mismo tipo de propósito o posibles vulnerabilidades.

    
pregunta J. Doe 26.11.2018 - 14:24
fuente

3 respuestas

2

Creo que estás mezclando algunas cosas aquí.

Primero, tienes razón: un archivo wav contiene datos binarios, que pueden incluir instrucciones de malware en su encabezado / datos. Pero un archivo de texto también contiene datos binarios.

¿Qué te hace pensar que un archivo de texto es más seguro que un archivo wav?

En el disco, ambos son un flujo de bytes aleatorios precedidos por un encabezado de 4 bytes, y el sistema operativo no los interpreta de ninguna manera.

Son interpretados por un lector de archivos, el software que usa para ver su archivo (en los dos ejemplos que está dando, los archivos de texto y de música no están destinados a poder ejecutar algunas instrucciones adicionales, y solo deben tener su contenido leído).

El formato del archivo no puede contener ninguna vulnerabilidad porque todo depende de cómo el software entiende los datos.

Si el software que ejecuta su archivo tiene algunos problemas de seguridad (por ejemplo, una explotación de desbordamiento de búfer), podría ser explotado para ejecutar instrucciones ubicadas en el lugar correcto en el archivo.

Lo que estás proponiendo es como un sistema de cifrado muy básico, que solo altera la entropía de tu archivo.

    
respondido por el Betcheg 26.11.2018 - 14:46
fuente
0

Los archivos de audio, video o imágenes no son ejecutables directamente. Pero los archivos construidos específicamente (generalmente mal formados) pueden desencadenar un error en la aplicación que abre el audio, el video o la imagen, lo que puede resultar en que la aplicación ejecute el código incrustado en el archivo.

Transformar el archivo en texto y luego transformarlo de nuevo no ayuda, ya que el contenido del archivo todavía está allí y la aplicación aún es vulnerable. La solución real sería, entonces, arreglar la aplicación y / o desinfectar el archivo para que la aplicación ya no se bloquee y ejecute el código dentro del archivo.

Si su principal temor es que algo pueda ejecutar el archivo accidentalmente (como un proceso en segundo plano vulnerable que intenta crear miniaturas al leer el archivo), existen varios tipos de transformación que se pueden hacer al respaldar el archivo, lo que, por supuesto, debe ser deshecho al restaurar el archivo. Codificar el archivo como texto sería una opción, pero aumentará mucho los requisitos de almacenamiento. Un XOR simple con una clave fija sobre el archivo haría que las aplicaciones no pudieran abrirlas automáticamente sin aumentar el almacenamiento necesario. Además, las sustituciones simples como ROT13 u otros algoritmos triviales similares no aumentarían el almacenamiento y, por lo general, ni siquiera afectarían lo bueno que podría ser un archivo comprimido.

    
respondido por el Steffen Ullrich 26.11.2018 - 14:42
fuente
0

¡Sí, es una idea!

Esto podría solucionar errores en el proceso automático generado por el sistema operativo para la generación de miniaturas, para muestra.

Utilizar mouse drived workbench como muchos escritorios ( file explorer , finder , Kde , Gnome ...) podría ser peligroso si su dedo haga clic en algún lugar, involuntariamente ... Así que sí, transformar sus archivos binarios en un archivo de texto plano podría hacer que no se puedan ejecutar como están .

Pero podrías

  • tradúzcalos en base64 (con comando

    base64 <file >file.b64
    

    Podrías recuperar el binario con

    base64 -f <file.64 >file
    
  • Agregue algunos caracteres al principio del archivo (con algo como:

    ( echo "My file";cat file ) >file.my
    

    Luego recupera tu binario con

    tail -c +9 <file.my >file
    
  • cifrarlos para que sean legibles solo por el propietario verificado

    gpg -aer $USER <file >file.pgp
    gpg -d $file.pgp >file
    

    o mejor:

    tar -cf file| gpg -aer $USER >file.tar.pgp
    gpg -d file.tar.pgp | tar -x file
    

...

    
respondido por el F. Hauri 26.11.2018 - 15:11
fuente

Lea otras preguntas en las etiquetas