Professional Documents
Culture Documents
Seguridad en
Aplicaciones Online
y Bases de Datos
Fecha
Actividades
Trabajo: Seguridad en AJAX
Descripcin de la actividad
Realizacin de un trabajo para recopilar los problemas de seguridad que presenta la
tecnologa WEB 2.0 AJAX y las posibles soluciones a los mismos.
Pautas de elaboracin
Esta actividad sobre seguridad en aplicaciones Ajax abarca los problemas de seguridad
que tienen este tipo de aplicaciones, que caen en la categora 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 informacin relevante sin limitarse
a copiar el contenido de alguna de ellas.
Criterios de valoracin
Se valorar (para todas las actividades):
Contenidos. Para la realizacin de los trabajos se deben consultar varias fuentes
para despus contrastarlas, sintetizarlas y generar un trabajo y opinin
personalizados aportando ejemplos grficos.
Estructura del documento. Debe ser planificada previamente y tener un
apartado de conclusiones y de referencias al final.
Presentacin acorde con la categora del curso.
Referencias. Se deben especificar en un apartado al final todas las fuentes
consultadas, URLs de internet, papers, artculos o libros especificando todos los
datos de la publicacin disponibles. Recalcar la obligatoriedad de la especificacin
de las referencias consultadas.
Extensin mxima: 10-15 pginas (fuente Georgia 11 e interlineado 1,5).
TEMA 1 Actividades
Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos
Fecha
DESARROLLO
Las tecnologas Web 2.0 permiten abrir nuevos canales de comunicacin y mejorar la
usabilidad de las aplicaciones Web, haciendo que stas sean ms amigables e
interactivas a travs de funcionalidades como redes sociales, wikis, blogs y servicios
interactivos.
Las aplicaciones se conforman por un mayor nmero de componentes, normalmente
con tareas muy pequeas lo que aumenta su complejidad y cada uno de ellos deber ser
protegido ya que pueden ser sujetos de posibles ataques, tarea que se vuelve ms difcil
aumentando su vulnerabilidad y de igual manera la complejidad de realizar un hacking
tico adecuado como medida de prevencin a posibles ataques.
Para algunos usuarios de la web 2.0 la seguridad es un tema irrelevante, esta opinin se
convierte
mismos al usar los blogs para insertar un cdigo HTML malicioso, archivos con virus o
gusanos por el solo hecho de no dar la importancia y prestar atencin a los cuidados
mnimos a una de las tantas ventanas que tiene el ciberespacio de cara a nuestra
informacin.
Aunque muchas organizaciones han encontrado formas, aplicaciones y herramientas
para darle un buen uso a la web 2.0, los directores de IT y seguridad de la informacin
han empezado a preocuparse por los riesgos que representa los malware, la perdida de
datos y otros aspectos que hacen parte de la seguridad de la informacin como activo
ms importante. Las soluciones de seguridad tradicionales como los antivirus no
pueden incluso evadir la deteccin de antivirus. A travs de sentencias de comandos
activos, cdigos maliciosos y tcticas de ingeniera social. La seguridad de la web 2.0
requiere de un anlisis y categorizacin en tiempo real de contenidos web que deben
ser monitoreados al vuelo.
Sin embargo y a pesar de todas las medidas los profesionales de TI, deben prevenir que
los empleados de las organizaciones empresariales carguen contenidos con derechos de
propiedad intelectual, secretos comerciales, o cualquier otra informacin sensible a
blogs, sitios en la nube o aplicaciones web 2.0. Desafortunadamente y muy a pesar de
TEMA 1 Actividades
Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos
Fecha
de
invocacin,
implementaciones
tecnolgicas
subyacentes
las
vulnerabilidades asociadas. Este tipo de sondeo se lleva a cabo para realizar ataques
ms graves (por ejemplo, la manipulacin de parmetros, inyeccin malicioso
TEMA 1 Actividades
Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos
Fecha
Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos
Fecha
Atom injection se trata de un nuevo ataque WEB 2.0. RSS, son un medio comn de
intercambio de informacin sobre portales y aplicaciones web, estos datos son
almacenados por las aplicaciones web y enviados al navegador del lado del cliente, se
puede inyectar JavaScript en el RSS para generar ataques en el navegador portales y
aplicaciones web. Aunque es un ataque ejecutado en el lado del cliente puede
trascender. [3]
XPath Injection
Las XPath Injection operan sobre los sitios web que utiliza la informacin suministrada
por el usuario para construir una consulta XPath para los datos XML. Mediante el
envo de la informacin intencionalmente con formato incorrecto en el sitio web, un
atacante puede averiguar cmo se estructura de los datos XML, o acceder a datos que
puede normalmente no tiene acceso. l puede incluso ser capaz de elevar sus privilegios
en el sitio web si los datos XML se utiliza para la autenticacin (por ejemplo, un archivo
de usuario basada en XML).
Las XPath Injection podra ser incluso ms peligroso que las inyecciones SQL desde
XPath carece de control de acceso y permite la consulta de la base de datos completa
(documento XML), mientras que muchas bases de datos SQL tienen mesas meta que no
se puede acceder por las consultas regulares. Estas atacan el servicio web mediante la
sustitucin de los parmetros originales del TestStep con strings maliciosos, diseados
para exponer las posibles deficiencias en los servicios web que estn utilizando la
entrada del usuario en expresiones XPath. Mediante el uso de afirmaciones, se puede
asegurar que el ataque no expuso a datos sensibles, devolver un identificador de sesin,
etc. [4]
RIA thick client binary manipulation
Las RIA thick client binary manipulation utilizan funciones de interfaz de usuario como
Flash, ActiveX y controles o applets como sus interfaces primarias a las aplicaciones
Web. Uno de sus problemas es la gestin de sesiones ya que se ejecuta en el navegador
y comparten una misma sesin, ya que la totalidad del cdigo se descargar en el lado
del cliente , un atacante puede realizar ingeniera inversa y descompilar el cdigo. [5]
TEMA 1 Actividades
Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos
Fecha
TEMA 1 Actividades
Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos
Fecha
Entre las amenazas ms notables se tienen el XSS el cual mediante el DOM se puede
alterar el contenido de un sitio, modificar la direccin donde los datos o formularios de
usuarios son enviados, robo de cookies y credenciales.
DOM-Based XSS.
Vulnerabilidad de aplicaciones web con el cual un atacante puede robar una sesin,
llevara cabo ataques phishing y mucho ms. Las vulnerabilidades de scripts de sitios
(XSS) se producen cuando:
1. Los datos entran en una aplicacin web a travs de una fuente no confiable. En
el caso de XSS basado en DOM, los datos se leen desde un parmetro de URL u
otro valor dentro del explorador, y se escriben en la pgina con cdigo del
cliente. En el caso de XSS reflejado, la fuente no confiable suele ser una
solicitud web, mientras que en el caso de XSS persistente (tambin conocido
como almacenado) suele ser una base de datos u otro almacn de datos backend.
2. Los datos se incluyen en el contenido dinmico que se enva a un usuario web
sin que se validen. En el caso de XSS basado en DOM, el contenido
malintencionado se ejecuta como parte de la creacin de DOM (Modelo de
objetos de documento), siempre que el explorador de la vctima analice la
pgina HTML.
TEMA 1 Actividades
Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos
Fecha
Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos
Fecha
Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos
Fecha
http://www.ejemplo.com:8080/scripts/codigo2.js
https://www.ejemplo.com/scripts/codigo2.js
http://192.168.0.1/scripts/codigo2.js
http://scripts.ejemplo.com/codigo2.js
La solucin para el acceso a recursos no originados en el mismo dominio se basa
precisamente en esta propiedad. Lo realiza de esta manera:
El cdigo alojado en:
http://www.ejemplo.com/scritps/codigo1.js
Establece la variable document.domain = "ejemplo.com"
Por otra parte, el cdigo alojado en:
http://scripts.ejemplo.com/codigo2.js
Establece la variable document.domain = "ejemplo.com"
Los recursos de ambos cdigos pueden interactuar entre s. [9]
Un
grave
problema
utilizando
AJAX
entre
nombres
de
dominios
Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos
Fecha
En este caso el script no podra enviar las peticiones AJAX a los bancos (son orgenes
diferentes a "tengoDeTodo.com") ni tendra acceso a las cookies o datos de las otras
pginas que Inocencio est viendo.
Envenenamiento XML
El envenenamiento XML es otro de los problemas de seguridad a los que nos podemos
enfrentar. El servidor debe validar todos los datos que recibe, ya que un posible XML
malformado puede causar un crash en el servidor provocando una denegacin de
servicio.
La ejecucin de cdigo malicioso tambin debemos tenerlo en cuenta. Las llamadas que
se realizan con Ajax ejecutan en backgraund sin ninguna interaccin del usuario por lo
que el usuario no es consciente de lo que se est realizando en un sitio concreto,
aprovechando la web este hecho para realizar un robo de cookies y aun peor de
manera silenciosa y poco sospechosa
En todo software particularmente en nuestro caso Ajax que requiere de validaciones de
cliente enfrenta un mayor grado de amenaza, como una forma de contrarrestarlo
podramos citar la validacin tanto en este lado como en el lado del servidor.
TEMA 1 Actividades
Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos
Fecha
No establecer conexiones con sitios diferentes del nombre de dominio del que se ha
obtenido el script de JavaScript, protegindolo ante problemas de seguridad y esta
medida se conoce como CORS, Cross-Origin Resource Sharing.
Ejemplo:
TEMA 1 Actividades
Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos
Fecha
Una peticin Ajax realizada por Facebook mientras los usuarios utilizan el chat. Las
cabeceras de peticin y respuesta coinciden y la peticin consigue realizarse.
[12]
Los ficheros Javascript que se han obtenido desde un sitio en concreto no deben poder
acceder a propiedades de otro sitio.
-
Se debe tener en cuenta los ataques clsicos como SQLi y XSS por lo que buscarlos
especialmente y XSRF, los cuales podrn ser solventados mediante un filtrado
correcto o utilizacin de tokens correctamente en el caso del XSRF.
Tradicionalmente las vulnerabilidades del tipo SQL Injection se han asociado con la
extraccin de informacin y posible ejecucin arbitraria de cdigo en el lado del
servidor, sin embargo, ahora en el lado del cliente tambin es posible almacenar datos
en bases de datos relacionales.
Esta es la razn por la cual SQL Injection es una amenaza para Ajax. Estas amenazas
cobran forma cuando un atacante inserta cdigos maliciosos en una zona de la pgina
web poco desarrollada como por ejemplo un formulario, si este es vulnerable todo el
contenido de la base de datos puede estar expuesto. El SQL Injection es tan perjudicial
TEMA 1 Actividades
Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos
Fecha
en Ajax que al ser mitigado con tcnicas de saneamiento basadas en JavaScript no son
suficientes frente al ataque de esta explotacin.
Para proteger una base de datos cuando se utiliza Ajax se debe validar la entrada del
usuario con la validacin que se realiza del lado de servidor, de igual manera la
cuidadosa declaracin de parmetros evitarn este tipo de amenazas y que los valores
no ingresan directamente en la base de datos, en su lugar se utiliza una variable de
enlace as como tambin una llamada API para el marcador de posicin.
Ejemplo
TEMA 1 Actividades
Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos
Fecha
Podramos ir alargando la cadena letra a letra hasta encontrar el nombre del usuario. [13]
Otras medidas que podramos citar tendramos las siguientes:
Toda peticin realizada con AJAX y que acceda a recursos protegidos debern
encontrarse autenticadas.
Conclusiones
- La seguridad de datos confidenciales, como la contabilidad, facturacin, es uno de los
aspectos que ms se debaten, al estar almacenados en servidores ajenos. Si nos
centramos en
TEMA 1 Actividades
Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos
Fecha
BIBLIOGRAFIA
[1] https://capec.mitre.org/data/definitions/95.html
TEMA 1 Actividades
Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos
Fecha
[2]https://capec.mitre.org/data/definitions/280.html
[3] http://www.cgisecurity.com/rss.html
[4] https://www.soapui.org/security-testing/security-
scans/xpath-injection.html
[5]
http://www.infosecwriters.com/text_resources/pdf/SShah_Web2
0.pdf
[6] http://ns2.elhacker.net/XSS_for_fun_and_profit_SCG09_(spanish).pdf
[7] http://ns2.elhacker.net/XSS_for_fun_and_profit_SCG09_(spanish).pdf
[8] https://issuu.com/dragonjar/docs/cross-site-scripting/137
[9] http://librosweb.es/libro/ajax/capitulo_7/seguridad.html
[10] http://www.jquery-tutorial.net/ajax/same-origin-policy/
[11]http://notasjs.blogspot.com.co/2013/09/politica-del-mismo-origen-sameorigin.html
[12] http://www.cantabriatic.com/wp-content/uploads/2015/04/peticiones.png
[13] http://www.mclibre.org/consultar/php/lecciones/php_db_inyeccion_sql.html
TEMA 1 Actividades
Asignatura
Seguridad en
Aplicaciones Online
y Bases de Datos
TEMA 1 Actividades
Fecha