REVISTA .SEGURIDAD | 1 251 478, 1 251 477 | REVISTA BIMESTRAL

Ataques Web

Un ataque cibernético es un acto intencional por parte de un usuario malicioso con el fin aprovecharse de una vulnerabilidad en el diseño o desarrollo de una aplicación. La diferencia entre una vulnerabilidad y un ataque cibernético es que un ataque es algo que un usuario malicioso podría hacer y una vulnerabilidad es una debilidad en la aplicación.

Existen varios tipos de ataques que representan amenazas y cuyo riesgo depende de la manera en cómo actúa la herramienta maliciosa, la debilidad que explota y la importancia de la información que está siendo comprometida.

El riesgo que corre una aplicación ante un ataque varía de acuerdo al criterio que se utilice. Es posible calcular el riesgo que corre nuestra aplicación considerando el número de vulnerabilidades reportadas para el software que utilizamos consultando fuentes de información como la base de datos CWE que almacena prácticamente todas las fallas reportadas para cualquier aplicación, independiente de su plataforma, arquitectura o sistema operativo. Otra fuente de información relacionada con los ataques Web es OWASP que se enfoca en difundir información para desarrolladores y administradores de sistemas con la finalidad de prevenir ataques desde el diseño de una aplicación para lo cual ofrecen guías de desarrollo seguro, listados de riesgos potenciales de ataques y herramientas didácticas y de diagnóstico.

Existen muchas formas en que los atacantes pueden explotar debilidades de una aplicación Web, un ejemplo de esto son las relacionadas con lainteracción insegura entre los componentes de una aplicación. Estas vulnerabilidades se refieren a que el autor de la aplicación no ha tomado las debidas precauciones a la hora de validar los datos que permite en su sistema (por ejemplo al validar los datos que se envían a través de una forma HTML). Los ataques de inyección de código también toman ventaja de este tipo de debilidades al insertar código especialmente creado para engañar a la aplicación y obtener con ello acceso a información confidencial.
 
Ejemplo de forma HTML
 Ejemplo de forma HTML

Los ataques tipo XSS (Cross Site Scripting) permiten a los atacantes ejecutar código malicioso en el navegador del usuario de la aplicación, que podría resultar en la obtención de información confidencial o incluso la toma de control de una sesión de usuario con el objetivo de suplantar la identidad de un sitio legítimo o redirigir a otros usuarios de la aplicación a sitios Web maliciosos.

Otro problema que se puede presentar es que la aplicación no realice una adecuada gestión de los recursos que utiliza. Pocas precauciones al almacenar datos de identificación como nombres de usuario o contraseñas pueden conducir a que intrusos aprovechen esta debilidad y puedan llegar usar la identidad del usuario sin autorización. Este tipo de ataques también pueden ser explotados si existen archivos utilizados por la aplicación sin los privilegios configurados de manera adecuada, comprometiendo la confidencialidad de dichos recursos. Fallas de este tipo se pueden atribuir aerrores de configuración de seguridad, por ejemplo, al no cambiar ajustes predeterminados al momento de la instalación que pueden no ser suficientes para garantizar la seguridad de los recursos de la aplicación Web.

Las consecuencias de que un atacante realice con éxito alguno de estos ataques son muy variadas para el usuario, pasando de una simple molestia o baja temporal en el servicio hasta la divulgación o uso no autorizado de información altamente confidencial como es el caso de información de cuentas bancarias. Para los administradores de las aplicaciones afectadas, estos ataques pueden lesionar gravemente la reputación de la empresa disminuyendo la confianza de sus usuarios y por lo tanto disminuyendo también sus ganancias económicas.

Para prevenir estos ataques tanto administradores de sistemas como desarrolladores y nosotros mismos como usuarios, debemos estar conscientes de los riesgos de que la información que usamos esté siendo transmitida a través de Internet. Tomando precauciones simples desde el diseño de la aplicación podemos prevenir muchos de estos problemas. Como diseñadores de la aplicación debemos validar siempre los datos que se obtienen del usuario suponiendo siempre, que los usuarios pueden tener malas intenciones al usar nuestra aplicación. Como administradores de sistemas debemos analizar las características de las herramientas que se utilizan para estar seguros de que las configuraciones que usamos sean las adecuadas para poder garantizar que se preserva la privacidad, confidencialidad e integridad de la información que se maneje al ser transmitida por red. Como usuarios debemos revisar siempre que las aplicaciones Web que utilicemos tomen las medidas básicas de seguridad como lo es el solicitar siempre nuestro nombre de usuario y contraseña antes de realizar alguna operación con nuestros datos privados. Si usamos portales de banca en línea o servicios que manejen información confidencial debemos asegurarnos de que el sitio utilice mecanismos de cifrado (que utilice el protocolo HTTPS en lugar de HTTP) al manejar esta información para mantener al mínimo los riesgos de que un atacante pueda capturar los datos de navegación de la aplicación Web.

Referencias:

http://www.owasp.org
http://www.sans.org
http://cwe.mitre.org

 

UNAM

[ CONTACTO ]

Se prohíbe la reproducción total o parcial
de los artículos sin la autorización por escrito de los autores

 

Hecho en México, Universidad Nacional Autónoma de México (UNAM) © Todos los derechos reservados 2017.