Entendiendo la capa 7 DoS

10

Recientemente leí este artículo sobre cómo un hacker solitario (The Jester) lleva a cabo, entre otras cosas, sus ataques DoS sobre la capa 7 en lugar de la capa 4. También menciona en un momento que fue capaz de hacer con éxito un sitio web con solo un teléfono con capacidad 3G como su plataforma de ataque.

Tengo curiosidad por saber cómo se hizo esto realmente. ¿Un simple script HTML podría causar un impacto tan grande? Especialmente teniendo en cuenta que el artículo parece sugerir que puede negar el servicio sin tener que distribuir el ataque.

Por ejemplo, y aprecio que esto sea solo uno muy básico, encontrar un elemento grande en una página y solicitar constantemente una gran cantidad de él:

<html>
<meta http-equiv="refresh" content="1" />
<img src="http://www.iana.org/_img/iana-logo-pageheader.png"width="5" height="5"/>
<img src="http://www.iana.org/_img/iana-logo-pageheader.png"width="5" height="5"/>
<img src="http://www.iana.org/_img/iana-logo-pageheader.png"width="5" height="5"/>
<img src="http://www.iana.org/_img/iana-logo-pageheader.png"width="5" height="5"/>
<img src="http://www.iana.org/_img/iana-logo-pageheader.png"width="5" height="5"/>
<img src="http://www.iana.org/_img/iana-logo-pageheader.png"width="5" height="5"/>

(x100)

</meta>
</html>

¿Es este un AV viable, aunque muy básico, para una capa 7 DoS?

    
pregunta XOR 16.02.2012 - 12:38
fuente

2 respuestas

10

Esta es una forma perfectamente fina y viable de ataque de DOS.

En su ejemplo, construiría un ataque como, por ejemplo, XSS inyecto una página en línea muy popular con Una gran cantidad de tráfico oculto a mi página de destino, podría eventualmente hacer DOS a la página de destino causando una variación del efecto slashdot . Esta es una forma de ataque de capa 7 DOS.

Hay muchos ejemplos de ataques de DOS de capa 7. Básicamente significa que estás explotando fallas en la lógica de la aplicación, lo que podría ser cualquier cosa como pegar la aplicación en ciclos intensivos de CPU, hacer que la aplicación consuma todos los recursos locales o simplemente hacer que la capa 7 consuma todo el ancho de banda.

Un ejemplo más de Layer 7 DOS podría ser si tomo su nombre de usuario e intento iniciar sesión en una aplicación muchas veces con la contraseña incorrecta, esencialmente dejando su cuenta bloqueada impidiendo que usted inicie sesión.

Layer 4 DOS puede ser un ataque de inundación de TCP donde envía un montón de paquetes TCP SYN a un host que deja al host con la mitad de las conexiones abiertas, consumiendo potencialmente todos los recursos que el sistema operativo tiene disponibles.

Editar: Un buen ejemplo de la capa 7 DOS es Slowloris. La cita sobre cómo funciona sigue:

  

Slowloris mantiene las conexiones abiertas al enviar solicitudes HTTP parciales. Continúa enviando encabezados subsiguientes a intervalos regulares para evitar que las tomas se cierren. De esta manera los servidores web pueden ser rápidamente atados. En particular, los servidores que tienen subprocesos tienden a ser vulnerables, en virtud del hecho de que intentan limitar la cantidad de subprocesos que permitirán.

    
respondido por el Chris Dale 16.02.2012 - 13:11
fuente
9

Un DoS es normalmente sobre el agotamiento de recursos. Hay muchos recursos diferentes que puede agotar, pero uno de los más fáciles de determinar desde el exterior son las solicitudes concurrentes porque de repente obtiene respuestas HTTP 503 cuando alcanza el límite.

Por ejemplo, si puede encontrar una página con un tiempo de carga lento, digamos 10 segundos, solo necesita hacer 11 solicitudes por segundo para agotar todas las conexiones disponibles. Ni siquiera necesita mantener la conexión una vez que haya realizado la solicitud, ya que la aplicación seguirá haciendo todo el trabajo para generar la página antes de descubrir que ya no está allí. Incluso perderá tiempo esperando a que se agote el tiempo de espera de la conexión TCP.

Poner % en una función de búsqueda mal escrita puede causar que % sea el símbolo comodín de MySQL que hará que la búsqueda regrese a cada fila en la base de datos.

Una variante de esto es el ataque Slow-Loris, en el que se realiza una solicitud simple pero se acelera la rapidez con la que se recibe la respuesta a meros bytes por segundo. Para lograr un DoS aquí, solo necesita mantener abiertas más conexiones activas de las que permite el sitio.

Desde la vaga memoria, la configuración predeterminada de Apache MaxChildren es algo así como 50, que probablemente se pueda lograr desde un teléfono móvil.

Una tercera variante tiene que ver con el control de un recurso único y único. Ejemplos de esto son las tablas MyISAM al leer y escribir simultáneamente y los archivos de sesión de PHP. Con una sola solicitud lenta que bloquea el recurso, todas las solicitudes posteriores que requieran el mismo recurso simplemente esperarán hasta que finalice la solicitud lenta.

Un ejemplo de esto podría ser hacer mucho si se alternan las solicitudes de lectura y escritura en un foro o si se realiza una solicitud de inicio de sesión (que requiere el archivo de sesión de PHP), donde se acelera la rapidez con la que recibe la respuesta. Todas las solicitudes con el mismo ID de sesión ni siquiera comenzarán hasta que se termine esa, pero seguirán atando a un hijo Apache mientras esperan.

Algunos software de servicio web (como nginx y Node.js) están diseñados para manejar muchas solicitudes simultáneas, pero aún son susceptibles a otras técnicas de agotamiento, como bloquear un archivo de sesión particular para bloquear ese usuario y las conexiones máximas de la base de datos.

También puede apuntar a la CPU, la memoria, el espacio en disco, la utilización del disco, los archivos abiertos, el ancho de banda interno de la red, las conexiones de red abiertas (que la aplicación crea si solo estamos hablando de la capa 7, no las directas que usted crea), y puede apuntar a cualquiera de estos en cualquier servidor que toque su solicitud, como la base de datos o SAN o el servidor de búsqueda o lo que sea.

    
respondido por el Ladadadada 16.02.2012 - 13:22
fuente

Lea otras preguntas en las etiquetas