Musi010 act1 - tarea PDF

Title Musi010 act1 - tarea
Author Javier Sanchez
Course Seguridad en Redes
Institution Universidad Internacional de La Rioja
Pages 9
File Size 278.2 KB
File Type PDF
Total Downloads 599
Total Views 814

Summary

Download Musi010 act1 - tarea PDF


Description

Asignatura Seguridad en Aplicaciones Online

Datos del alumno Apellidos: Sánchez Delgado

Fecha

20/10/2021

Nombre: Javier Antonio

Actividad: Seguridad en aplicaciones AJAX Introducción AJAX son las siglas para Asynchronous Javascript y XML, y no es una nueva tecnología, sino la combinación de varias tecnologías: Javascript como lenguaje de programación, XML para el intercambio de datos, DOM para el manejo de los objetos de la página y un modelo asíncrono de comunicación para el intercambio de datos. La idea principal de AJAX es cargar y renderizar una página, esto se logra con base a scripts que se comunican de manera asíncrona con el servidor para traer los datos y luego cambiar partes de esta sin tener que cargar de nuevo la página. Entre las empresas más grandes que utilizan AJAX se encuentra Google, Yahoo, Amazon y Microsoft. Las aplicaciones automáticamente hasta una suite de

van desde completar algunos campos

oficina con procesador de

texto y hojas

electrónicas. ¿Qué es Ajax? Hace algún

tiempo para realizar una aplicación Web

que tuviera la

funcionalidad de una aplicación de escritorio, había que realizarla en Flash, Java o algún otro producto comercial. Esta solución tenía el inconveniente de tener que instalar un plug-in o en el caso de los applets la máquina virtual de Java. AJAX viene a ser otra opción y son las siglas Asynchronous Javascript y XML. Pero no es una nueva tecnología, sino la combinación de varias tecnologías y estándares que llevan muchos años usándose. Garret (2005) enumera las tecnologías que lo forman: 

CSS: Su función es manipular la presentación de las páginas Web, sin tener que cambiar el código HTML.



DOM: Su función es la manipulación dinámica e interacción de

los

elementos HTML y XML.  XML: función © Universidad Internacional de La Su Rioja (UNIR) 

es proveer un estándar para el intercambio de datos.

El objeto XMLHttpRequest: Su función es la proveer un mecanismo de comunicación síncrona y asíncrona con el servidor.



JavaScript: Su función es proveer un lenguaje de

programación que se

encarga de unir todas estas tecnologías y estándares.

Actividades

1

Asignatura Seguridad en Aplicaciones Online

Datos del alumno Apellidos: Sánchez Delgado Nombre: Javier Antonio

Fecha

20/10/2021

Arquitectura AJAX La gran diferencia entre la arquitectura de

una aplicación AJAX

y una

aplicación Web tradicional es el motor AJAX. Sin el motor AJAX cada evento del usuario, podría significar una petición al servidor. El resultado sería una nueva página HTML. Ahora el explorador tiene una aplicación más inteligente, ya no solo visualiza el contenido de

la página HTML sino realiza más procesamiento,

aprovechando los recursos que tiene la computadora del usuario. Desde una perspectiva general la arquitectura AJAX difiere de la arquitectura Web tradicional en los siguientes puntos: 

Motor AJAX del lado del cliente, como intermediario entre el servidor y las interfaces de usuario.



Eventos generados por el usuario, generan llamadas al motor AJAX en lugar de peticiones directas al servidor.



Comunicación asíncrona entre el motor AJAX y el servidor.



Utiliza un formato de intercambio de datos como XML o JSON.

© Universidad Internacional de La Rioja (UNIR)

Actividades

2

Asignatura Seguridad en Aplicaciones Online

Datos del alumno Apellidos: Sánchez Delgado

Fecha

20/10/2021

Nombre: Javier Antonio

Función Es un refinamiento del DHTML, utiliza todas sus herramientas, sumándole el objeto XMLHttpRequest para obtener información asíncronamente y refrescar solo la parte necesaria de

la página sin perder nada del contexto, se terminaron los

problemas del DHTML. Ventajas: 

La mejor tecnología RIA hasta el momento.



Está en su mejor momento para la industria.



No se necesita descargar plug-in.

Desventaja: 

Todavía existen incompatibilidades entre navegadores (cada vez menos).



Desarrollo con Javascript, hoy día no suficientemente explorado.

Vulnerabilidades de seguridad. Así como AJAX brinda mejoras a las aplicaciones web a nivel de

usabilidad,

velocidad, dinamismo y atractivo con respecto a las tradicionales, dio lugar también a la creación de posibles ataques o amenazas si es que no se ha tenido en cuenta un adecuado diseño de seguridad. Dado que AJAX puede encontrarse tanto en el cliente como en el servidor, ambas partes suelen verse afectadas. A continuación se mencionaran algunas de las cuestiones que deben de tenerse en cuenta al momento de diseñar una aplicación AJAX. 1. Código de Sitio-Entrecruzado (Cross-Site Scripting - XSS): es un ataque basado en explotar las

vulnerabilidades

del sistema de validación de

una página HTML, mas específicamente al problema de inserción, dado a que permite insertar código malicioso o fragmentos maliciosos en sitios web confiables, de acuerdo a la comunidad que conforma el Proyecto Abierto de Seguridad de Aplicaciones Web (PASAW) [OWASP-XSS]. 2. Aumento en la Superficie de Ataque: a diferencia de las aplicaciones web tradicionales que residen en el servidor, las aplicaciones AJAX se entienden el Rioja cliente y el servidor, el llevar © Universidad Internacionalen de La (UNIR) parte de AJAX requiere una relación de

a

cabo esta implementación por

confianza entre el cliente y el

servidor, la cual en muchas ocasiones es aprovechada por un atacante. Además agrega que una aplicación AJAX, envía pequeñas con el propósito de

muchas

solicitudes

crear más entradas en la aplicación. Esas

entradas ofrecen más vías de ingreso para que un atacante ingrese a la

Actividades

3

Asignatura Seguridad en Aplicaciones Online

Datos del alumno Apellidos: Sánchez Delgado

Fecha

20/10/2021

Nombre: Javier Antonio

aplicación. AJAX también aumenta inevitablemente la complejidad general del sistema, puesto que al momento de

adoptarlo, los programadores

pueden codificar un gran número de páginas del lado del servidor, donde cada página lleva a cabo una pequeña función (por ejemplo, el autocompletado del código postal a partir de

la ciudad y provincia del

usuario) en lo que respecta a la aplicación general. Esas pequeñas páginas representan un objetivo adicional para el atacante y un punto a tener en cuenta a nivel seguridad dado que representa una nueva vulnerabilidad. 3. Solicitud

Falsa

de

Sitio-Entrecruzado (Cross-Site Request Forgery -

XSRF): es un viejo ataque en el que un navegador puede ser forzado a realizar

solicitudes GET o

POST

a dominios-entrecruzados (cross-

domains); solicitudes que pueden desencadenar un evento en la lógica

de

la aplicación que se esté ejecutando en el dominio- entrecruzado. Desde la postura que ofrece la comunidad del PASAW [OWASP-XSRF], este ataque engaña a la víctima cargándole una página que

contiene

solicitudes

maliciosas, esto se refiere al sentido que hereda la identidad y privilegios de la víctima para realizar una función no deseada en nombre de la víctima. Estos ataques generalmente apuntan a las funciones que causan un cambio de estado en el servidor pero también pueden utilizarse para acceder a datos confidenciales. 4. Inserción de XPATH: la inserción XPath ocurre cuando un sitio web utiliza la información suministrada por el usuario para construir una consulta XPath

para

datos XML.

Al enviar

intencionalmente

la información

errónea al sitio web, un atacante puede determinar cómo están estructurados los datos XML o tener acceso a los mismos y aumentar los privilegios del sitio web, si se trata de los datos XML para la autenticación de usuario. 5. Ejecución de Código AJAX Malicioso: debido a que las llamadas de AJAX, medio © Universidad Internacionalpor de La Rioja de objetos XMLHttpRequest, (UNIR) podría determinar si el navegador

son muy silenciosas, un usuario no está

realizándolas. Cuando un

navegador realiza una llamada AJAX a algún sitio web, se reproduce una cookie por cada solicitud. Esto

puede

dar

lugar

a

potenciales

oportunidades en materia de inseguridad, ya que cuando un usuario navega en una página en la que requiere conectarse y autenticarse con el servidor, se

Actividades

4

Asignatura Seguridad en Aplicaciones Online

Datos del alumno Apellidos: Sánchez Delgado

Fecha

20/10/2021

Nombre: Javier Antonio

genera una cookie de sesión. Si el usuario continua navegando por otras páginas mientras su sesión está abierta y llega a una página web de un atacante, la cual tiene escrito código AJAX silencioso, ésta puede realizar llamadas en segundo

plano

sin

el

consentimiento del

usuario,

obteniendo información crítica de las páginas del mismo y enviándola al sitio web del atacante, pudiendo dar lugar a un problema de seguridad y a la pérdida de información confidencial. 6. Infección de XML: muchas aplicaciones web 2.0 hacen uso de bloques de XML,

provenientes de

clientes AJAX,

para la comunicación entre

navegadores y servidores. Es posible infectar un bloque de XML, ya que los atacantes pueden

producir documentos XML con formato erróneo que

puede alterar la lógica dependiendo del mecanismo de análisis que se utilice en el servidor. Ampliando el alcance de

este ataque Shah [Shah11/06]

comenta que esta vulnerabilidad se traslada hacia los servicios web quienes en definitiva consumen mensajes XML, dando lugar a que los atacantes puedan insertar contenido malicioso. 7. Inserción

de RSS /

Atom: La problemática de

la redifusión de

contenidos web comentando que, los suministros de RSS / Atom son un medio común para

compartir y

actualizar

información a

través

de

internet, pudiendo ser utilizadas por aplicaciones web, portales, blogs, etc. Un suministro (o feed) es un documento XML estándar, el cual puede ser consumido por una aplicación web y enviado al navegador del usuario. Una vez en el navegador el suministro es analizado e insertado en el DOM. Esto representa un caso crítico de

seguridad, ya que si el suministro no

es

validado adecuadamente antes de su inserción, es posible introducir enlaces maliciosos o código Javascript para generar un ataque en el navegador (dando lugar a un ataque XSS). Por lo que es de suma importancia filtrar ciertos caracteres del lado del cliente antes del envió de datos al usuario © Universidad Internacionalfinal. de La Rioja 8. Parte(UNIR) del Cliente:

En principio todas las aplicaciones Web están sujetas

a los mismos problemas de seguridad ya que todas se suelen correr sobre el mismo software del servidor al que le llegan las peticiones de los usuarios “no identificados” ya que nunca se puede asegurar realmente de quien hay al otro lado de la línea, si la aplicación necesita de seguridad deberá ser el

Actividades

5

Asignatura Seguridad en Aplicaciones Online

Datos del alumno Apellidos: Sánchez Delgado Nombre: Javier Antonio

Fecha

20/10/2021

servidor el que la proporcione. A nadie se ocurriría poner la seguridad en el lado cliente ya que equivale a servir en bandeja al cracker todo el control de seguridad. 9. Problemas Antiguos AJAX: El código Javascript es visible al usuario, que perfectamente puede ser un potencial Hacker, puede buscar la forma de utilizar el código, como está o

con las modificaciones oportunas para

explotar las debilidades de la aplicación. 

Solución

errónea: Encriptarlo, si se ejecuta es porque nuestra

máquina es capaz de desencriptarlo con lo cual seguro que es posible la ingeniería inversa. 

Solución correcta: No existe, el código debe ser visible para que se ejecute defensas de seguridad.

Aplicación desarrollada con una Seguridad Ineficiente.

Aplicación desarrollada con una Seguridad correcta

© Universidad Internacional de La Rioja (UNIR)

Actividades

6

Asignatura Seguridad en Aplicaciones Online

Datos del alumno Apellidos: Sánchez Delgado Nombre: Javier Antonio

Fecha

20/10/2021

Defensas de seguridad. Como cualquier otra técnica o tecnología que se emplee en un entorno Web, el uso de AJAX está sujeto a inconvenientes. La experiencia enseña que con el tiempo estos inconvenientes se suplen cuando el mercado apoya una tecnología y ésta se estandariza lo suficiente como para que los distintos navegadores no den problemas con ella, ya sean estos de compatibilidad o de seguridad. Conexión cifrada La conexión debería estar cifrada desde la página principal para que cuando el usuario mande sus datos personales éstos estén codificados, aunque esto haga gastar más recursos. Hay que configurarlo en el servidor. Sin cookies Entre otras cosas, gracias a AJAX, al no

necesitar cambiar de

Web

e

ir

modificando dinámicamente la actual, se puede dar al usuario un identificador al comenzar la sesión, apuntarlo en la base de datos y no necesitar usar ningún cookie sino una variable que contenga el identificador y que se borrará al cerrar el navegador, de

esta manera enviando ese identificador con cada petición se

identificaría al usuario. Verificación completa del usuario. Al desarrollar un sitio Web

se lo debe dividir en dos partes claramente

diferenciadas: una a la que se puede entrar sin verificación y otra en la que será obligada. Por ejemplo en una aplicación de negocio, se puede tener una parte de noticias pública, donde el usuario además pueda ver los productos pero en caso de que quiera realizar una compra el usuario tenga que introducir su nombre y contraseña que ha dado anteriormente cuando se registró, dando sus datos de cuenta y demás, aunque estos se podrían especificar más tarde por si quiere cambiar el domicilio envío o cualquier otra © Universidad Internacional de Lade Rioja (UNIR) Evitar la inserción de código.

información personal

El usuario no debería poder introducir información en ningún momento, la página debe estar hecha completamente para su cometido, que es realizar las compras a golpe de clic, en caso de dudas que se hagan por correo-e. Verificación completa de datos.

Actividades

7

Asignatura Seguridad en Aplicaciones Online

Datos del alumno Apellidos: Sánchez Delgado Nombre: Javier Antonio

Fecha

20/10/2021

Cuando el usuario decida pagar por su carrito de la compra, se deberá comparar toda la información enviada de

nombre del artículo, su identificador único y su

precio de manera que se sepa que la petición es correcta ya que el usuario podría cambiar los precios de

los artículos usando alguna herramienta de depuración,

como Firebug. Base de datos no accesible exteriormente. Solamente debe de poder trabajar con ella la parte del servidor Web y debe tener un usuario que solo debe poder acceder a su base de datos para evitar que se cambien los precios aquí, si es que se tiene una tienda. Además, en una aplicación Web el usuario no

necesita acceder directamente al servidor por SQL a no ser que sea

precisamente para esto como el ISQLPlus de Oracle, en cuyo caso está diseñado expresamente para esto. Minimizar la superficie de impacto. El cliente solo debe poder acceder a una página que luego delegará dependiendo la petición realizada por el usuario el trabajo en otras contenidas en el servidor no accesibles desde fuera. Conclusión Al desarrollar una aplicación web, se deben analizar las distintas tecnologías con las que uno dispone, si bien a lo largo del texto se da una breve descripción de las mismas, optando por dar mayor importancia a AJAX y haciendo un estudio más profundo de ella, esto no debe entenderse como que las demás tecnologías son de menor importancia, ya que el uso de cada una de ellas dependerá de la aplicación final que se quiera obtener. Así mismo las distintas tecnologías pueden interactuar complementándose unas a otras. La tecnología AJAX

permite que una aplicación

sea dinámica,

que cargue

contenidos parciales de una página, que brinde una mayor interacción del usuario final con la aplicación sin la necesidad de esperar por una respuesta del lado del servidor.deOtros de © Universidad Internacional La Rioja (UNIR) implementación de

los beneficios que se puede mencionar es la simplicidad en la las herramientas desarrolladas en Javascript (librerías y

frameworks), las cuales ofrecen al usuario un gran atractivo visual y facilidad de uso. En el proceso de elaboración de una aplicación AJAX, pueden surgir distintos inconvenientes, para la solución de los mismos se pueden utilizar los patrones de

Actividades

8

Asignatura Seguridad en Aplicaciones Online diseño, la no

Datos del alumno Apellidos: Sánchez Delgado

Fecha

20/10/2021

Nombre: Javier Antonio

utilización de

ellos como el uso en exceso puede producir

contratiempos. Si no se han tomado recaudos al momento de diseñar la seguridad de la aplicación web, puede darse lugar a ataques provenientes de

piratas informáticos o

códigos malintencionados.

Bibliografía bitstream.

(s.f.).

repository.unipiloto.edu.co.

Obtenido

de

http://repository.unipiloto.edu.co/bitstream/handle/20.500.12277/4913/00 0050 flu-project.

(s.f.).

flu-project.

Obtenido

de

https://www.flu-

project.com/2014/04/seguridad-en-ajax-parte-i.html www.cert.org.mx.

(s.f.).

www.cert.org.mx.

Obtenido

de

https://www.cert.org.mx/historico/vulnerabilidadesDB/index.html vulne=4695

© Universidad Internacional de La Rioja (UNIR)

Actividades

9...


Similar Free PDFs