È necessario analizzare i caricamenti di file degli utenti tramite antivirus?

4

L'applicazione Web consente agli utenti di caricare file. È necessario eseguire la scansione di questi file con l'antivirus?

Vorrei ascoltare la risposta in due scenari:

  1. Il tipo di file non viene controllato durante il caricamento. Sono memorizzati in una cartella che non è direttamente accessibile da internet. I file non hanno permessi da eseguire. Quindi l'utente può interrogare qualche URL e i file verranno restituiti con Content-Disposition: allegato
  2. Il tipo di file non viene controllato durante il caricamento. Il suo contenuto viene analizzato con alcuni HTML / XML / JSON / ecc. parser. Dopo l'analisi, il file non viene memorizzato sul server
posta Andrei Botalov 01.11.2012 - 10:35
fonte

4 risposte

5

Non vedo alcun motivo per utilizzare uno scanner antivirus nel secondo caso. Le probabilità di una vulnerabilità legata all'esecuzione del codice in un antivirus sembrano più ampie di quelle di una vulnerabilità nelle mie librerie di analisi. Soprattutto se le librerie di analisi sono scritte in un linguaggio sicuro per la memoria.

Nel primo caso utilizzerei un anti-virus, dal momento che offrire file antivirus per il download non sembra una buona idea. Sia le persone che i sistemi automatici di reputazione dei siti Web (ad esempio la navigazione sicura di Google) potrebbero associare i download di virus al sito Web danneggiandone la reputazione.
Potrei comunque offrire un tale file per il download, ma solo dopo un avvertimento esplicito e la conferma dell'utente. Preferibilmente una conferma che impedisce ai robot di scaricarlo.

    
risposta data 01.11.2012 - 11:06
fonte
4

Nello scenario 1, si può presumere che il contenuto non verrà eseguito sul server e l'utente sarà costretto a scaricare il file anziché visualizzarlo nel proprio browser. Questo è ragionevolmente sicuro dal tuo punto di vista, perché offri la responsabilità di controllare il file per i tuoi utenti.

Nello scenario 2, lo eseguirò sicuramente attraverso un AV. La tua libreria di parser potrebbe presentare una vulnerabilità, quindi è assolutamente necessario eseguire alcuni controlli di base prima di trasferirla nella libreria.

    
risposta data 01.11.2012 - 10:46
fonte
1

Se qualcuno ti chiedesse di trasportare un pacchetto sigillato come parte del tuo bagaglio su un volo commerciale, vero?

Anche se stai solo fornendo un ripostiglio affinché gli utenti possano archiviare i propri file anziché pubblicare nuovamente il contenuto caricato, sarebbe imprudente accettare qualsiasi cosa venga lanciata sul tuo server.

Tuttavia, la scansione AV non è l'unico modo per proteggersi dai malware: la verifica del mimetype e l'uso di un metodo di conversione senza perdita per passare da un formato all'altro possono neutralizzare un'ampia percentuale di minacce (ad esempio, convertire jpg in png, MSWord in pdf *). Se hai implementato il tuo parser per il file ed è un formato di base come XML, stai già verificando i contenuti - la scansione AV è probabilmente eccessiva. Ma come tutto il codice, dovrebbe essere sicuro.

*) ma non si utilizza MSWord per eseguire la conversione!

    
risposta data 01.11.2012 - 10:47
fonte
1

Type of file isn't checked when uploading. They are stored in folder that isn't directly accessible from the internet. Files don't have permissions to execute. Then user may query some url, and files will be returned with Content-Disposition: attachment

Scansionare prima di consegnare l'allegato è solo una cosa cortese da fare, ma ci sono molte cose che sono problematiche da archiviare ma che supereranno una scansione antivirus.

Questo può essere un po 'paranoico, ma se non vuoi scrivere intenzionalmente software che permetta alle persone di trovare prove che ti facciano incriminare, non scrivere involontariamente software che lo faccia.

Che tipo di informazioni registrate sugli uploader? Potresti avere nemici che caricheranno sul tuo server la pedopornografia o i piani di fabbricazione di bombe e poi manderanno un manoscritto anonimo alla polizia?

Type of file isn't checked when uploading. Its content is parsed with some HTML/XML/JSON/etc. parser. After parsing the file isn't stored at server.

È improbabile che gli scanner anti-virus siano utili qui. La stessa domanda di cui sopra. Puoi controllare le informazioni estratte dai file o dimostrare che le informazioni che hai memorizzato provengono da una fonte esterna?

    
risposta data 01.11.2012 - 18:32
fonte

Leggi altre domande sui tag