Seguridad / Malware implicaciones de almacenar datos en un BLOB a diferencia del sistema de archivos

7

Desde una perspectiva de programación, ha habido un largo debate sobre si almacenar archivos en un campo BLOB o Binario en una base de datos o en el sistema de archivos. El debate siempre parece centrarse en el rendimiento.

Siempre me he preguntado sobre el riesgo de que los archivos infectados se guarden en la base de datos. Supongamos que permito a los usuarios internos cargar documentos que están disponibles en el sitio web de nuestra empresa para nuestros clientes externos. Realmente odiaría tener nuestro sitio web que sirve documentos PDF infectados a nuestros clientes, por ejemplo.

Además de incorporar políticas que requieren que nuestros editores de contenido analicen los archivos antes de cargarlos, ¿existe algún tipo de protección que se pueda implementar para detectar documentos infectados? No puedo imaginar que el antivirus pueda escanear dentro de los campos BLOB (pero podría estar equivocado en eso).

Simplemente me parece más arriesgado. Si los tenemos cargados en el sistema de archivos, al menos podemos tener antivirus para escanear la ubicación de la carga.

¿Es esta una preocupación válida? Y si es así, ¿qué herramientas o enfoques se recomiendan para enfrentar esta amenaza potencial?

    
pregunta David Stratton 08.01.2013 - 20:48
fuente

3 respuestas

8

Esto se ha respondido anteriormente en este sitio, con gran detalle. Vea estas preguntas:

La respuesta a su pregunta sobre las bases de datos y el formato del archivo es: no importa cómo almacene el archivo. Los riesgos son los mismos ya sea que el archivo cargado se almacene como un BLOB, como un campo binario, en el sistema de archivos o de alguna otra manera. Eso es solo un detalle de implementación.

Lo importante es el tipo de validación que hace y cómo aborda las amenazas. Cualquiera de las mitigaciones estándar puede funcionar, independientemente de cómo decida almacenar el archivo cargado, lo importante es que comprende los riesgos y selecciona las mitigaciones adecuadas que sean apropiadas para su aplicación.

Para obtener consejos generales relacionados con la seguridad web, OWASP siempre es un buen recurso.

    
respondido por el D.W. 09.01.2013 - 12:07
fuente
3

El almacenamiento de un archivo en una base de datos o el almacenamiento como un archivo se realiza de forma segura o insegura. También hay bases de datos que están diseñadas para almacenar archivos, como Amazon S3 y Google Blobstore. Aunque se almacena como un tipo de datos BLOB, la base de datos almacena todo en un archivo en el sistema de archivos.

Siempre hay problemas de seguridad y hay muy poca diferencia entre estos enfoques. Se trata más de crear una aplicación que tenga en cuenta las amenazas.

    
respondido por el rook 08.01.2013 - 20:54
fuente
0

Depende de la plataforma de base de datos. Con Oracle puede montar la 'base de datos' como un sistema de archivos (al menos en Linux). Como tal, tiene algunas opciones más para almacenar / escanear los archivos.

enlace

Básicamente, una base de datos y un sistema de archivos son solo mecanismos de almacenamiento de datos.

    
respondido por el Gary 09.01.2013 - 12:41
fuente

Lea otras preguntas en las etiquetas