Está en la página 1de 8

Actividades

Trabajo: Seguridad en AJAX

Descripción de la actividad

Realización de un trabajo para recopilar los problemas de seguridad que presenta la


tecnología WEB 2.0 AJAX y las posibles soluciones a los mismos.

Pautas de elaboración

Esta actividad sobre seguridad en aplicaciones Ajax abarca los problemas de seguridad
que tienen este tipo de aplicaciones, que caen en la categoría denominada rich internet
applications y en las posibles soluciones a los mismos. Hay que consultar cuantas
fuentes relativas al tema se considere y sintetizar la información relevante sin limitarse
a copiar el contenido de alguna de ellas.

Criterios de valoración

Se valorará (para todas las actividades):

Contenidos. Para la realización de los trabajos se deben consultar varias fuentes


para después contrastarlas, sintetizarlas y generar un trabajo y opinión
personalizados aportando ejemplos gráficos.
Estructura del documento. Debe ser planificada previamente y tener un
apartado de conclusiones y de referencias al final.
Presentación acorde con la categoría del curso.
Referencias. Se deben especificar en un apartado al final todas las fuentes
consultadas, URL’s de internet, papers, artículos o libros especificando todos los
datos de la publicación disponibles. Recalcar la obligatoriedad de la especificación
de las referencias consultadas.

Extensión máxima: 10-15 páginas (fuente Georgia 11 e interlineado 1,5).

¿Qué es Ajax?

TEMA 1 – Actividades © Universidad Internacional de La Rioja (UNIR)


Asynchronous
Las peticiones pueden ser síncronas o asíncronas, las asíncronas engañan más por que el
cliente sigue trabajando con la aplicación mientras se resuelve la petición.
JavaScript And
Lenguaje que controla las acciones en el cliente
XML
Suele o puede ser el contenido de los mensajes de solicitud y respuesta.
No es ninguna tecnología, ni lenguaje de programación Es una técnica de desarrollo
web que combina varias tecnologías de forma conjunta como XML, JavaScript y
objetos de cliente (Microsoft.XMLHTTP o XMLHttpRequest) y por lo cual permite una
navegación más ágil y rápida, más dinámica.

¿Cómo funciona Ajax?

En una aplicación web tradicional, las solicitudes HTTP, que se inician


mediante la interacción del usuario con la interfaz web, se realizan a un servidor

TEMA 1 – Actividades © Universidad Internacional de La Rioja (UNIR)


web. El servidor web procesa la solicitud y devuelve una página HTML al
cliente. Durante el transporte HTTP, el usuario no puede interactuar con la
aplicación web.

En una aplicación web Ajax, no se interrumpe el usuario en interacciones con la


aplicación web. El motor de Ajax o el intérprete JavaScript permite que el
usuario interactúe con la aplicación web independientemente del transporte
HTTP procedente del servidor o que tenga el servidor como destino
representando la interfaz y gestionando las comunicaciones con el servidor en
nombre del usuario.

Ventajas del uso de Ajax


1. Mejor experiencia de usuario: Ajax permite que las páginas se modifiquen sin
tener que volver a cargarse, dándole al usuario la sensación de que los cambios
se producen instantáneamente.
2. Optimización de recursos: Al no recargarse la página se reduce el tiempo
implicado en cada transacción. Por lo que se reduce el consumo del ancho de
banda.
3. Alta compatibilidad: Ajax es soportado por casi todas las plataformas We b.

Limitaciones de Ajax

TEMA 1 – Actividades © Universidad Internacional de La Rioja (UNIR)


Aunque Ajax es una técnica de desarrollo de aplicaciones web que se ha diseñado para
que las páginas web sean más receptivas e interactivas con un usuario, Ajax presenta
algunas limitaciones a tener en cuenta antes de desarrollar una aplicación basada en
Ajax. Las limitaciones siguientes representan algunas de las desventajas principales:

1. Problemas de SEO: Los buscadores tiene n dificultades al analizar el código


escrito en JavaScript.
2. Accesibilidad : Las aplicaciones con Ajax suelen requerir un mayor tiempo
de desarrollo.
3. Seguridad y privacidad de usuario - No se resuelven todos los
puntos de vista. Es necesario tener en cuenta los problemas relacionados
con la seguridad y la privacidad de usuario a la hora de desarrollar una
aplicación Ajax.
4. Los motores de búsqueda: La información en la página dinámica no se
almacena en los registros del buscador. Exceptuando Google, que desde el 2011
sí indexa contenido Ajax y JavaScript.
5. El Objeto XMLHttpRequest no está estandarizado y no está en navegadores
antiguos.
6. Marcador y navegación - Puesto que Ajax se utiliza para cargar bits de
contenido de forma asíncrona en una página existente, es posible que parte de
la información de la página no corresponda a una página recién cargada. Puede
que el historial del navegador y los marcadores no se comporten de forma
correcta porque el URL no se ha modificado, aunque ciertas partes de la página
se hayan cambiado.

Un grave problema utilizando AJAX entre nombres de dominios es lo que se conoce


como Same Origin Policy. Con este problema de seguridad un script obtenido en un
origen puede cargar o modificar propiedades del documento desde otro origen no igual
al primero.

TEMA 1 – Actividades © Universidad Internacional de La Rioja (UNIR)


¿Qué es la Web 2.0?
Se refiere a la transición percibida en Internet desde las webs tradicionales a
aplicaciones web destinadas a usuarios. Web 2.0 no es un cambio tecnológico, sino un
cambio en la filosofía con la que los usuarios y empresas se plantean Internet.  Los
usuarios de Internet quieren participar (blogs, wikis…), quieren poder elegir, estar
informados de forma rápida y eficaz de lo que les interesa y eligen, localizar la
información más fiable, y poder colaborar o participar sin tener que rehacer (servicios
web) y además disfrutar de una buen interfaz de cliente.

Aquí va la lista de vectores de ataque en aplicaciones Web 2.0 y una breve descripción
de cada uno de ellos:

 Cross-site scripting en AJAX: Las vulnerabilidades basadas en XSS son ya


unas viejas conocidas de todos los desarrolladores web, pero sin duda el amplio
uso de JavaScript que hace AJAX hace que estas tomen una nueva dimensión.
 Envenenamiento XML: Muchas aplicaciones Web 2.0 mueven datos entre el
servidor y el cliente en forma de XML. Es relativamente fácil crear XML
malformado, que unido a un parseo poco cuidadoso del mismo en el servidor,
puede degenerar en una denegación de servicio. Debemos validar en cualquier
caso todo XML recibido en el servidor.
 Ejecución maliciosa de código AJAX: Las llamadas AJAX se ejecutan en
segundo plano sin la interacción directa del usuario. Esto hace que el usuario no
siempre sea consciente de las actividades que está realizando un determinada

TEMA 1 – Actividades © Universidad Internacional de La Rioja (UNIR)


web, lo que una web maliciosa puede aprovechar para, por ejemplo, hacerse con
cookies de autentificación.
 Injección RSS / Atom: Esta técnica consiste en inyectar código JavaScript en
el RSS o Atom para que el navegador lo ejecute. Casi todos los navegadores son
capaces de mostrar feeds RSS o Atom. Si nuestra aplicación produce un RSS o
un Atom deberíamos validar su contenido antes de enviarlo al cliente.
 Enumeración y escaneo WSDL: Básicamente los posibles atacantes
pueden encontrar un motón de información sobre simplemente viendo la
información que nosotros publicamos sobre nuestros servicios web. Debemos
proporcionar el acceso más limitado posible a nuestros WSDLs.
 Validación (únicamente) de cliente en rutinas AJAX: La validación en
cliente en las aplicaciones Web 2.0 es muy rica, esto ha hecho que algunos
desarrolladores no hagan estas mismas validaciones en el servidor. Esto es un
error porque es fácil crear una petición y enviarla al servidor saltándose las
validaciones de cliente. Por ello las validaciones de cliente siempre deben ser
respaldadas en el servidor.
 Cuestiones relacionadas con el enrutador de servicios web: WS-
Routing permite enviar un mensaje SOAP debidamente encriptado por un
camino de servidores, pero si un solo servidor de ese camino se ve
comprometido, nuestro mensaje SOAP puede ser comprometido.
 Manipulación de parámetros con SOAP: Es posible crear mensajes SOAP
malformados que intenten realizar inyecciones clásica tipo SQL, XPATH, LDAP
o de comandos.
 Inyección XPATH en mensajes SOAP: Es un proceso similar a las
inyecciones de SQL sobre bases de datos, solo que utilizando XPATH como
lenguaje de consulta y documentos XML como destino del ataque.
 Manipulación binaria del cliente rico ligero: La aplicaciones utilizan
componentes ActiveX, Flash o Applets, que ya han demostrado históricamente
que son caldo de cultivo para virus y otros tipos de malware.

Recomendaciones de protección Ajax


 Ser cuidadoso en las actividades que se deben desempeñar del lado del cliente y
del lado del Servidor.
 Mantener los datos separados del código, ser cuidadoso con los datos que
podrían incluir una entrada del usuario. En este caso procure validar todos los
datos antes de ejecutarlos, aún en aquellos datos que se ejecutan del lado del
cliente.

TEMA 1 – Actividades © Universidad Internacional de La Rioja (UNIR)


 Tener cuidado en la codificación, ya que Las decisiones que se realicen pueden
incrementar drásticamente el tamaño de la superficie de ataque. Asegurarse de
dónde se ejecuta el código, qué tipo de formato de datos y protocolos que están
involucrados y también que analizadores e intérpretes se utilizan. Y lo más
importante, asegure que los datos y el código se mantengan separados.

Casos de vulnerabilidades en Ajax


 Vulnerabilidad de Seguridad UNAM-CERT-2005-343. Vulnerabilidades de
ejecución de comandos en Ajax Toolkit de CPAINT.

Descripción: Thor Larholm reportarón varias vulnerabilidades en CPAINT, que


pueden explotarse por personas maliciosas para realizar ataques de Cross-site
Scripting o comprometer un sistema vulnerable.
Ataque: Cross-Site Scripting.
Solución: Actualizar a la versión 1.3-SP2.
 Caso Equifax

Descripción: los hackers expusieran los números de seguridad social,


direcciones postales e incluso números de los carnés de conducir de millones de
personas. Esto demuestra que no cumplir con medidas básicas de seguridad
como parchear el software que emplea la empresa puede tener consecuencias
colosales.
Ataque: Cross-Site Scripting.
Solución: Siempre hay que mantener actualizadas todas las medidas de
seguridad para evitar ataques en los sistemas.

Referencias

 Web 2.0
-http://www.ite.educacion.es/formacion/materiales/155/cd/modulo_1_Iniciac
ionblog/concepto_de_web_20.html
 Qué es Ajax- https://www.tutorialspoint.com/ajax/what_is_ajax.html

TEMA 1 – Actividades © Universidad Internacional de La Rioja (UNIR)


 Seguridad de las web 2.0
-https://es.slideshare.net/danielalejandro04/seguridad-de-las-web-20
 Caso de Vulnerabilidades
-https://www.cert.org.mx/historico/vulnerabilidadesDB/index.html-
vulne=4695
 Caso de vulnerabilidad equifax
-https://www.pandasecurity.com/spain/mediacenter/seguridad/equifax-y-
peligro-de-las-web-apps/
 Seguridad Ajax- https://uniwebsidad.com/libros/ajax/capitulo-7/seguridad?
from=librosweb

TEMA 1 – Actividades © Universidad Internacional de La Rioja (UNIR)

También podría gustarte