Denegación de servicio al cargar un archivo [cerrado]

0

Es posible un ataque de DOS al cargar un archivo grande.

Digamos que un sitio web tiene un control de carga de archivos, y hay un intento de cargar un archivo de 1 GB de tamaño.

Si la conexión permanece abierta durante mucho tiempo, ¿significa que se están consumiendo los recursos del sistema? ¿Es posible subir muchos archivos grandes de esa manera? o el proceso simplemente "cuelga"? ¿La conexión está abierta, pero no se está cargando nada?

¿Cómo puedes verificar el tamaño de un archivo antes de intentar subirlo?

    
pregunta XWormz 05.12.2013 - 10:13
fuente

2 respuestas

0

Si alguien puede cargar un archivo grande en su sitio, entonces presumiblemente pueden establecer muchas sesiones en su sitio y realizar cargas de archivos grandes en todos ellos.

Esto consumirá espacio en disco en su servidor; consumirá ancho de banda de la red; y consumirá sockets TCP. Esto es efectivamente una denegación de servicio.

Incluso si su control de carga de archivos comprueba el tamaño del archivo antes de cargarlo (lo que debería), esto no lo protegerá de los atacantes que pueden pasar por alto el cheque. También querrá monitorear el consumo de recursos en su servidor, y si la carga demora demasiado o los datos cargados son demasiado grandes, es posible que desee terminar la conexión.

    
respondido por el jdigital 05.12.2013 - 12:51
fuente
1

Una carga de un solo archivo no debería afectar el rendimiento si el servidor está configurado correctamente. En general, las velocidades de descarga son más rápidas que las de carga, y esto es especialmente cierto con las conexiones domésticas. Es mucho más probable que alcance el límite de ancho de banda antes de que lo haga el servidor, lo que hace que este sea un ataque de denegación de servicio muy deficiente.

Los servidores web son multiproceso y no bloquearán nuevas conexiones porque ya tiene una abierta. Existen algunas limitaciones en ciertos navegadores debido a la cantidad de procesos de trabajo generados y la cantidad de memoria que utilizan estos procesos.

Si agrega más de un cliente a la ecuación, se convierte en un DOS distribuido y es mucho más factible. La idea de cargar contenido en un DDOS sigue siendo ineficiente. Cuando se realiza DDOS, a menudo se busca un multiplicador de fuerza integrado en el protocolo. Aquí es donde se envía una pequeña cantidad de datos, y el servidor envía una respuesta mucho mayor. Esto se puede ver con los ataques de amplificación de DNS, donde es posible alcanzar una proporción de 1:70 de datos de cliente: servidor.

Todos los sistemas operativos tienen métodos para determinar el tamaño del archivo, consulte la documentación que acompaña a su sistema operativo.

    
respondido por el David Houde 05.12.2013 - 12:25
fuente

Lea otras preguntas en las etiquetas