17 abr 2014

Seguridad en AJAX (Parte I)

En este artículo vamos a comenzar a recopilar los problemas de seguridad que presenta la tecnología AJAX. Esta tecnología cada vez más distribuida por la web 2.0. Primero hablaremos lo que es AJAX y después vamos a hablar de los problemas de seguridad que se tiene y posibles soluciones o formas de mitigación. 

AJAX, Asynchronous Javascript and XML, es una técnica que permite presentar la información con CSS y DOM. Esta técnica permite crear aplicaciones interactivas ricas, las cuales se ejecutan en el lado del cliente, client-side, en el navegador. El funcionamiento de AJAX es sencillo, mientras la aplicación se ejecuta en el navegador del cliente, la comunicación se lleva a cabo de manera asíncrona en segundo plano con el servidor. Esto permite crear el efecto de que el sitio web va cambiando en función de las necesidades, por la actualización de la información en el servidor, el cual podría ser debido a otras acciones del cliente.


Ahora vamos a hablar de problemas de seguridad que se tienen que tener en cuenta, para ello hablaremos de lo que está compuesto ya que su seguridad dependerá de la seguridad que tienen los componentes que lo forman.

Hay que tener en cuenta el aumento de la superficie de ataque, es decir, la parte que se ejecuta o desarrolla en la parte del cliente, y esto hace que la exposición o superficie de ataque sea mayor. La revelación de la lógica de la aplicación hace que los posibles atacantes conozcan parte del código, ya que éste reside en la parte del cliente. Esto hace que el usuario o atacante pueda estudiar e inferir cierta parte de la lógica, y utilizarlo para llevar a cabo acciones maliciosas sobre la lógica de la aplicación. 

La dificultad de la auditoría de las aplicaciones hace que exista un problema de seguridad, ya que por un lado se debe revisar un mayor número de líneas de código y hace que haya más puntos a revisar. La parte de auditoría hay que llevarla tanto de la parte del cliente como del servidor. 

Vulnerabilidades clásicas como SQLi o XSS, y nuevas posibilidades para el XSS. SQLi es una de las vulnerabilidades top de OWASP, y sigue siendo una de las principales amenazas en las nuevas tecnologías, hoy en día también con las bases de datos no relaciones, como por ejemplo Mongo Injection. Las nuevas posibilidades para los XSS surgen del almacenamiento de más datos en la parte del cliente y se pueden obtener cookies, credenciales y realizar un robo de información en profundidad. Mediante el DOM y un XSS se puede alterar el contenido de un sitio, modifica la dirección de dónde los datos o formularios de usuarios son enviados, robo de cookies y credenciales, tal y como se mencionó anteriormente. 

En el siguiente artículo iremos más allá sobre los problemas de seguridad y se centrará el foco en algunas soluciones o mitigaciones para evitar que esto nos pueda proporcionar algún susto.

No hay comentarios:

Publicar un comentario