Codifica da binario a ASCII per rendere i file non eseguibili

1

Non è una buona idea trasferire ad esempio un file .wav, che può contenere malware all'interno (intestazione, dati ecc.), in un file di testo ASCII tramite hexdump? Avrei ottenuto un formato non eseguibile. È ancora eseguibile con un editor di testo ma il malware non può causare alcun danno / esecuzione perché .wav e con esso il codice malware viene trasferito su valori Hex / ASCII.

Se sono corretto, il formato .txt non ha un'intestazione o è complicato come ad esempio il formato .wav, quindi non c'è posto per il malware.

Scopo: avere il backup del caso peggiore in modo da poter sempre collegare il supporto di archiviazione all'host, se tutti i file binari sono andati, senza preoccuparsi di possibili eventi in background del sistema operativo che potenzialmente possono eseguire il codice malware. Il file di testo ASCII che trasporta i valori esadecimali può sempre essere ritrasferito al binario, ad esempio in un ambiente di test (a parte il sistema operativo è pulito e non esegue altre modifiche) lavorando solo con le copie per trovare il malware.

Sono un po 'confuso su questo, e non riesco a trovare molte informazioni a proposito di ciò che riguarda specificamente lo stesso tipo di scopo o possibili vulnerabilità.

    
posta J. Doe 26.11.2018 - 14:24
fonte

3 risposte

2

Penso che stai mescolando alcune cose qui.

In primo luogo, hai ragione: un file wav contiene dati binari, che possono includere istruzioni malware nella sua intestazione / dati. Ma un file di testo contiene anche dati binari.

Che cosa ti fa pensare che un file di testo sia più sicuro di un file wav?

Sul disco, sono entrambi flussi di byte casuali preceduti da un'intestazione di 4 byte e non sono interpretati in alcun modo dal sistema operativo.

Sono interpretati da un lettore di file, il software che usi per visualizzare il tuo file (nei due esempi che stai dando, i file di testo e musicali non sono pensati per essere in grado di eseguire alcune istruzioni aggiuntive, e dovrebbero avere solo il loro contenuto letto).

Il formato del file non può contenere alcuna vulnerabilità perché tutto dipende da come i dati vengono compresi dal software.

Se il software che esegue il file presenta alcuni problemi di sicurezza (es: un exploit di overflow del buffer), potrebbe essere sfruttato per eseguire istruzioni situate nel posto giusto nel file.

Quello che stai proponendo è come un sistema di crittografia molto semplice, che altera solo l'entropia del tuo file.

    
risposta data 26.11.2018 - 14:46
fonte
0

Audio, file video o immagini non sono eseguibili direttamente. Ma i file appositamente costruiti (di solito malformati) potrebbero innescare un bug nell'applicazione che apre l'audio, il video o l'immagine che potrebbe risultare nel codice di esecuzione dell'applicazione incorporato nel file.

Trasformare il file in testo e in seguito trasformarlo non aiuta poiché il contenuto del file è ancora lì e l'applicazione è ancora vulnerabile. La vera soluzione sarebbe quindi quella di correggere l'applicazione e / o di disinfettare il file in modo che l'applicazione non si blocchi più ed esegua il codice all'interno del file.

Se la tua paura principale è che qualcosa possa accidentalmente eseguire il file (come un processo in background vulnerabile che tenta di creare miniature leggendo il file) ci sono vari tipi di trasformazione che si possono fare quando si esegue il backup del file, che ovviamente deve essere annullato durante il ripristino del file. Codificare il file come testo sarebbe un'opzione ma aumenterà molto i requisiti di archiviazione. Un semplice XOR con una chiave fissa sul file renderebbe invece inutilizzabile l'apertura automatica delle applicazioni senza aumentare la memoria necessaria. Anche sostituzioni semplici come ROT13 o altri algoritmi banali simili non aumenterebbero lo spazio di archiviazione e di solito non influirebbero nemmeno sulla qualità del file compresso.

    
risposta data 26.11.2018 - 14:42
fonte
0

Sì, è un'idea!

Questo potrebbe indirizzare bug nel processo automatico generato dal sistema operativo per la generazione di miniature, per esempio.

Utilizzare workbench mouse come molti desktop ( file explorer , finder , Kde , Gnome ...) potrebbe essere pericoloso se il tuo dito fai clic da qualche parte, non intenzionalmente ... Quindi sì, trasformare i tuoi binari in un file di testo piatto potrebbe renderli non eseguibili così come !

Ma potresti

  • traducili in base64 (con comando

    base64 <file >file.b64
    

    Potresti riavere il binario con

    base64 -f <file.64 >file
    
  • Aggiungi alcuni caratteri all'inizio del file (con qualcosa del tipo:

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

    Quindi riavvia il file binario con

    tail -c +9 <file.my >file
    
  • crittografali per renderli leggibili solo dal proprietario verificato

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

    o meglio:

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

...

    
risposta data 26.11.2018 - 15:11
fonte

Leggi altre domande sui tag