viernes, 23 de septiembre de 2011

Examen de Admisión & DoS

Hoy quiero hablar sobre ataques DoS (Denial of Service) o lo que es lo mismo "Denegaciones de servicio". Este tipo de ataques, van en contra de un principio de la seguridad informática conocido como "Disponibilidad". Este principio dice que los sistemas deben garantizar la continuidad de acceso a la información contenida en ellos, es decir, que un usuario pueda disponer de dicha información con la frecuencia que requiera. Entonces, el objetivo de un ataque DoS, es bloquear o degradar de alguna manera el servicio proporcionado por un sistema informático a sus usuarios.

Específicamente, hoy hablaremos de denegaciones de servicio en el proceso de admisión.

En los últimos días se ha venido desarrollando el proceso de admisión a la UNMSM. Parte de este proceso comprende la entrega de resultados que generalmente se hace publicándolos en una página web y (si hubo suerte) el llenado del "Formulario de ingresante" que también se hace vía web. He allí la importancia de mantener la seguridad de ese portal web.

El mismo día del examen y uno o dos días después... el servidor donde se publican los resultados es brutalmente asediado por miles de ansiosos jóvenes que esperan encontrar su nombre junto a un "ALCANZO VACANTE" aunque con frecuencia solo verán un espacio blanco y vacío. Y no precisamente por que les haya ido mal en el examen sino por que son tantas las conexiones que se lanzan contra el servidor que termina saturado y las páginas demoran demasiado en mostrarse. A esto es lo que yo llamaría una denegación de servicio legitima. Es decir un colapso del sistema por un uso (abuso) legítimo de sus usuarios.

Para sobrellevar esos contratiempos, se toman algunas medidas preventivas como usar una conexión dedicada, un servidor bastante ligero y tener toda la información en documentos html para que no haya que procesar nada ni hacer consultas a bases de datos que eso si que demora y consume recursos. Pero... ¿Será suficiente? Analicemos un poco...

Si quisiéramos bloquear el acceso a los postulantes para que no puedan revisar sus resultados o aún peor, llenar el formulario de ingresantes... ¿Qué tendríamos que hacer? Pues pongamonos en su lugar... si yo quisiera consultar mis resultados del examen... lo primero que haría sería abrir Google y escribir "resultados admision 2012-I unmsm"

Fig. 1 - Búsqueda en Google.

Como se ve en la imagen, los dos primeros resultados corresponden a www.admision.unmsm.edu.pe y www.unmsm.edu.pe. Los demás resultados son de blogs y páginas similares que replican la noticia y en su mayoría solo contienen enlaces a estas dos primeras.

Pero los resultados del examen tampoco están en esas páginas... sino que en ambas encontramos un enlace hacia otro servidor donde realmente se encuentra el reporte con los resultados del examen.

Fig. 2 - Web de los resultados.
Lo primero que salta a la vista es que no tiene un dominio, sino que en la barra de direcciones aparece la IP tal cual... Luego, si revisamos un poco, veremos que la IP no esta dentro del rango de direcciones de la universidad, así que lo más probable es que hayan contratado una linea dedicada para aguantar todo el trafico que recibirá el servidor por estos días... Así que ni hablar, un ataque DoS a este servidor mediante inundación de conexiones no sería muy viable...

Sin embargo llama la atención que este servidor no esté indexado por Google directamente con las palabras de búsqueda usuales... En parte, creo yo, el hecho de no tener un nombre de dominio debe afectar su posicionamiento.

Así que hay otra forma de bloquear el acceso a ese servidor... Si conseguimos hacer caer los servidores de www.unmsm.edu.pe y www.admision.unmsm.edu.pe, nadie podrá encontrar el enlace al servidor donde están los resultados y en consecuencia no podrán acceder a los mismos. El problema es ¿Cómo lo hacemos? Si volvemos a intentar el flood de conexiones vamos a ver que tampoco resulta pues... son dos servidores, con una conexión de varios megabits por segundo y nosotros un solo PC con una conexión casera que compartimos con la familia (y el vecino) xD Casi como un David pero contra dos Goliaths...

Fig. 3 - David vs Goliath

Al final de la historia y aún por poco probable que parezca, se sabe que David le gano a Goliath por que encontró un punto vulnerable en medio de su casco y en él centro su ataque. De la misma forma, si existiera un punto vulnerable en este par de Goliaths, habría la posibilidad de dejarlos fuera de juego.

Y ese punto debil, existe.

(se usó http://www.downforeveryoneorjustme.com/ para verificar el DoS)
Fig. 4 - www.unmsm.edu.pe Game Over!!
Fig. 5 - admision.unmsm.edu.pe ZzZzZ...

Por lo pronto no daré más detalles de la vulnerabilidad, solo pretendía informar que el problema existe (si eres el admin, ya debes haber recibido los detalles del problema por correo)

Un saludo...

4 comentarios:

  1. :O Informaras como lo hiciste si arreglan el problema :D ?

    ResponderEliminar
  2. Sí, pero... uff... hasta que lo arreglen... xD

    Saludos

    ResponderEliminar
  3. Esta disponible la vulne para que hagan sus pinitos en seguridad :)

    ResponderEliminar
  4. En verdad, yo también he llegado a creer eso xD Y es que con un lab así se aprende bastante...

    Saludos

    ResponderEliminar