Implicazioni di sicurezza / malware sull'archiviazione dei dati in un BLOB in contrasto con il file system

7

Da un punto di vista della programmazione, è stato a lungo dibattuto se archiviare i file in un campo BLOB o binario in un database o nel file system. Il dibattito sembra sempre incentrato sulle prestazioni.

Mi sono sempre chiesto il rischio che i file infetti vengano salvati nel database. Supponiamo che consenta agli utenti interni di caricare i documenti disponibili sul nostro sito Web della società ai nostri clienti esterni. Ad esempio, detesto il fatto che il nostro sito Web fornisca documenti PDF infetti ai nostri clienti.

Oltre a integrare le politiche che richiedono che i nostri editor di contenuti analizzino i file prima di caricarli, esiste un tipo di protezione che può essere implementata per rilevare i documenti infetti? Non riesco a immaginare che l'anti-virus possa eseguire la scansione all'interno dei campi BLOB (ma potrei sbagliarmi su questo).

Mi sembra più rischioso. Se li abbiamo caricati sul file system, come minimo può avere la scansione antivirus del percorso di caricamento.

Questa è una preoccupazione valida? E se sì, quali strumenti o approcci sono raccomandati per affrontare questa potenziale minaccia?

    
posta David Stratton 08.01.2013 - 20:48
fonte

3 risposte

8

Questa risposta è già stata fornita in questo sito, in dettaglio. Vedi queste domande:

La risposta alla tua domanda sui database e il formato del file è: non importa come si archivia il file. I rischi sono gli stessi se il file caricato è memorizzato come un BLOB, come un campo binario, sul file system o in qualche altro modo. Questo è solo un dettaglio di implementazione.

Ciò che è importante è che tipo di convalida fai e come affronti le minacce. È possibile far funzionare qualsiasi attenuazione standard, indipendentemente da come si decide di archiviare il file caricato: l'importante è comprendere i rischi e selezionare le attenuazioni appropriate per la propria applicazione.

Per consigli generali relativi alla sicurezza web, OWASP è sempre una buona risorsa.

    
risposta data 09.01.2013 - 12:07
fonte
3

Memorizzare un file in un database o archiviarlo come file è fatto in modo sicuro o insicuro. Esistono anche database progettati per archiviare file, come Amazon S3 e Google Blobstore. Anche se è archiviato come un tipo di dati BLOB, il database memorizza tutto in un file sul file system.

Ci sono sempre problemi di sicurezza e c'è poca differenza tra questi approcci. È qualcosa di più sulla creazione di un'applicazione che tiene conto delle minacce.

    
risposta data 08.01.2013 - 20:54
fonte
0

Dipende dalla piattaforma del database. Con Oracle è possibile montare il 'database' come un file system (almeno in Linux). Come tale hai qualche altra opzione per la memorizzazione / scansione dei file.

link

Fondamentalmente un database e un file system sono entrambi meccanismi di archiviazione dei dati.

    
risposta data 09.01.2013 - 12:41
fonte

Leggi altre domande sui tag