Prevenire il caricamento di malware sul server modificando tutte le estensioni in PNG?

1

Ok, quindi ho il mio sito web, e puoi usare il caricamento del file un po ', ed è molto importante per il sito. Tuttavia, ho sentito dire che i clienti possono ancora bypassare le restrizioni dell'estensione dei file (permetto solo PNG e JPG), e poi possono iniettare malware nel sito.

Quindi, stavo pensando ad un modo per prevenirlo, tuttavia non sono sicuro che funzionerebbe pienamente. Quindi, stavo pensando che dopo che un file è stato caricato, per impostazione predefinita ho impostato l'estensione su un PNG.

Questo impedirà l'esecuzione di qualsiasi codice se si verifica un caricamento di un file con malware che ignora il filtro di estensione?

    
posta UnderMyWheel 08.05.2016 - 04:55
fonte

1 risposta

4

Il caricamento di un virus non infetterà nulla. Interpretando il virus nell'interprete che il virus avrebbe dovuto sfruttare (ad esempio Acrobat aprendo un PDF, il sistema operativo che avviava un binario x86_64, ecc.). Questo è qualcosa su cui riflettere quando si valuta il modello di minaccia.

L'importanza delle estensioni

Le estensioni dei file sono solo suggerimenti per la gestione delle istruzioni. Solo Windows ha una relazione così strong tra l'estensione del file e l'identità del file.

Qui ci sono due diversi problemi:

  • Il file è un virus. Possono essere denominati virus.exe o virus.png - non importa. Ciò che conta è:

  • Il file viene interpretato dall'interprete che il virus intende sfruttare. Ciò significa che qualcuno apre un file PDF contaminato con Acrobat o un file eseguibile corrotto eseguendolo, dopo averlo eventualmente rinominato.

Sidenote: "interpretato usando l'interprete che il virus intende sfruttare" non è un refuso. È una spiegazione pedante. Ad esempio: il processore non è un'applicazione, ma è un interprete e può essere sfruttato.

Se qualcuno carica virus.exe e tu sostituisci l'estensione con virus.png , il computer di qualcuno può andare "Ehi, quello non è un PNG, ma fa sembra un eseguibile" e lo esegue comunque , che non ha aiutato.

Se qualcuno carica virus.png , può succedere la stessa cosa.

Ovviamente è ovviamente più probabile che il computer di qualcuno interpreti un virus.exe come un eseguibile piuttosto che interpretare virus.png come un eseguibile, quindi c'è una certa validità in questo. Tuttavia, il semplice rinominare le cose non cambia molto - fa solo irritare le persone più tardi quando ottengono un file png "corrotto".

Che cosa dovresti fare?

Il mio suggerimento: fai in modo che il tuo server esegua un programma [attendibile] su ogni immagine caricata e digli di convertirlo in PNG o JPG. Se non riesce a farlo, allora i caricamenti non erano immagini. Se riesce, è anche riuscito a rimuovere tutti i virus che potrebbero essere stati nascosti in lo stesso file .

Un altro suggerimento, che è più facile da fare immediatamente, ma è davvero più una tecnica di mitigazione del primo passaggio: respingere i caricamenti che non terminano in PNG o JPG - non basta rinominarli.

    
risposta data 08.05.2016 - 06:28
fonte

Leggi altre domande sui tag