Ataques al servidor web: vulnerabilidades, tipos, impacto...
Los primeros ataques a la red aprovecharon las vulnerabilidades relacionadas con la implementación de conjuntos de protocolos TCP/IP. Al corregirlas gradualmente, los ataques se dirigieron a las capas de aplicaciones y a la web en particular, ya que la mayoría de las empresas abrieron sus sistemas de firewall al tráfico en Internet.
¿En qué consiste la vulnerabilidad de los servicios en la web?
El protocolo HTTP (o HTTPS) representa el estándar que posibilita la transferencia de páginas web a través de un sistema de solicitud y respuesta. Internet, que se utiliza principalmente para transferir páginas Web estáticas, se ha convertido rápidamente en una herramienta interactiva que permite proporcionar servicios en línea. El término "aplicación web" se refiere a cualquier aplicación a cuya interfaz se pueda acceder en la Web desde un simple navegador. El protocolo HTTP, la base para una determinada cantidad de tecnologías (SOAP, Javascript, XML-RPC, etc.), juega un indudable papel estratégico en la seguridad de sistemas de información.
Debido a que los servidores web están cada vez más protegidos, los ataques están dirigiendo su atención al aprovechamiento de las fallas de las aplicaciones web. Como tal, la seguridad de los servicios de Internet debe tenerse en cuenta al momento del diseño y desarrollo.
¿Cuáles son los tipos de vulnerabilidades?
Las vulnerabilidades de aplicaciones web se pueden clasificar de la siguiente manera:
- Vulnerabilidades del servidor web. Este tipo es cada vez más atípico, ya que la mayoría de los desarrolladores de servidores web han aumentado su seguridad con los años;
- Manipulación de URL, incluida la modificación manual de parámetros de URL para modificar el comportamiento esperado del servidor web;
- Aprovechamiento de las debilidades de los identificadores de sesión y sistemas de autenticación;
- Inyección de código HTML y secuencia de comandos entre sitios;
- Inyección de comandos SQL.
¿Por qué es importante la verificación de los datos de entrada?
El protocolo HTTP se utiliza por naturaleza para administrar las solicitudes, es decir, para recibir los datos de entrada y enviar los datos de retorno. Los datos se pueden enviar de varias maneras:
- La URL de la página Web
- En encabezados HTTP
- En el cuerpo de la solicitud (solicitud POST)
- A través de una cookie
En general, la idea básica a tener en cuenta durante el proceso de desarrollo es que nunca se debe confiar en los datos enviados por el cliente. Casi todas las vulnerabilidades de los servicios web están vinculadas a la negligencia por parte de los diseñadores, quienes no han verificado el formato de los datos ingresados por los usuarios.
¿Cuál es el impacto de los ataques en la web?
Los ataques a las aplicaciones Web siempre son dañinos porque dañan la imagen de una empresa y, por lo tanto, la confianza que le tienen los usuarios o clientes. Un ataque exitoso puede traer cualquiera de las siguientes consecuencias:
- Desfiguración de la página Web;
- Robo de información;
- Modificación de datos, y en particular la modificación de datos personales de los usuarios;
- Intrusión en el servidor Web.