Unidad 2.2. Seguridad en Aplicaciones Web

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 13

Unidad 2.2.

Seguridad en
aplicaciones web
2. 2. 1. Consideraciones sobre seguridad web
En este punto, abordaremos ciertas consideraciones que

debemos tener en cuenta como usuarios dentro de la web.

Básicamente, al hablar de web, nos referimos a seguridad en

el uso de las herramientas que usamos para acceder a los

recursos que se encuentran en Internet; los principales

protagonistas son los navegadores web. Hay una gran

variedad de navegadores en el mercado y para cada uno de

ellos hay consideraciones de seguridad relevantes entre

todos los navegadores.

Amenazas comunes entre todos los navegadores


bullet
JavaScript: es un lenguaje de programación que se ejecuta
del lado del cliente; es decir, el navegador ejecuta el
código en la máquina local. Este lenguaje de
programación abarca grandes posibilidades de
operación, por lo cual ha sido demandado por muchas
webs.
bullet
Java: también es un lenguaje de programación altamente
utilizado y con grandes funcionalidades. Hoy, no es
muy empleado en Internet; sin embargo, tuvo un papel
importante en la creación de páginas web dinámicas
mediante el uso de applets, un código Java que se
ejecuta en la JVM (Java Virtual Machine) de la máquina
local del cliente, y esto puede presentar altos riesgos
para este.
bullet
ActiveX: es una solución diseñada por Microsoft para
darle respuesta a funcionalidades comunes de Java. A
pesar de que es firmado digitalmente, aún sigue
trayendo riesgos de seguridad en la ejecución de
códigos maliciosos.
bullet
Cookies: son archivos de texto en los que el navegador
almacena información sobre las páginas web visitadas.
En ellos, se guarda información, como, por ejemplo:
sesiones, recomendaciones de búsquedas, accesos
realizados, entre otros. El principal riesgo con las
cookies es que pueden utilizar nuestra información o
preferencias para hacer o ingeniería social o robarnos
información de sesiones.
bullet
Plugins: muchos navegadores, por no decir todos, vienen
provistos de funcionalidades básicas y, mediante el uso
de plugins, pretenden extender sus funcionalidades;
por ejemplo: Firefox usa plugins para el bloqueo de
contenido con scripts en Java, Java scripts y otros.
bullet
Páginas de dudosa procedencia: actualmente, las
funcionalidades de los navegadores más utilizados nos
proveen de herramientas que nos ayudan a conocer si
estamos bajo una posible amenaza al acceder a ciertos
sitios; sin embargo, esto no siempre es del todo
efectivo, debido a lo cambiante que es Internet.
Hay que considerar que algunos de los navegadores que

usamos nos proveen de herramientas que nos ayudan a

mitigar o reducir estos riesgos de seguridad. Por ejemplo:

bullet
Internet Explorer. Su última versión se lanzó con las
siguientes características destacables de seguridad:
1. manejo de zonas de seguridad. Esta funcionalidad
nos permite establecer políticas de seguridad en
relación con la categorización o la clasificación de
las páginas a las que accedemos.
2. Control de adjuntos: con esta funcionalidad, se
puede validar y filtrar la descarga de archivos que
puedan ser un foco de amenaza para nuestro
sistema operativo, es decir, aquí podemos limitar
la descarga de algún tipo de archivo o
desbloquear su restricción por default.
3. Filtrado de ActiveX.
4. Protección de rastreo: esta funcionalidad se creó
para reducir el secuestro de información dejada
en las cookies por un tercero, lo que evita la
suplantación de identidad de dichas páginas.
5. Modificación de user-agent: esta funcionalidad
busca engañar a los posibles atacantes respecto
de cuál es nuestro navegador. Con esta medida,
evitamos que se hagan ataques focalizados de
acuerdo con el tipo y versión de nuestro
navegador utilizado.
bullet
Chrome
1. Incognito: mediante esta funcionalidad, se puede
hacer una navegación sin guardar cookies ni
información en el historial. Esta funcionalidad
también es muy utilizada para realizar debug en
desarrollo o testing de páginas web.
2. Plugins como los siguientes:
3. NotScripts.
4. Adblock plus.
5. Donottrackme.
6. Passwordfail.
7. Wot.
bullet
Firefox
1. Plugins como los siguientes:
2. Noscript.
3. Foxfilter.
4. Adblock for Firefox.
5. Wot.
6. Blocksite.
7. Modify headers.

2. 2. 2. Fundamentos de SSL
El protocolo SSL (Secure Sockets Layer), definido mediante el

RFC 6101 (Internet Engineering Task Force [IETF], 2011), es

uno de los protocolos de seguridad más populares y usados

en Internet; su principal funcionalidad es proveer un canal

de transporte seguro para diversos protocolos de

comunicación utilizados en la red como lo son los

siguientes:

bullet
HTTP
bullet
IMAP
bullet
POP
bullet
VPN
bullet
SMTP
bullet
Otros
SSL nace con el fin de aportar a las comunicaciones los

principales pilares de la seguridad, como, por ejemplo:

bullet
integridad, ya que la información entre el cliente y el
servidor es asegurada para que no pueda ser borrada,
copiada o alterada por un tercero desde el origen hasta
el destino.
bullet
Privacidad: implica que solo los entes autorizados pueden
acceder a la información, en este caso, el cliente y el
servidor.
bullet
Autenticidad de la información: mediante el uso de los
certificados digitales y la validación de estos a través
de una CA (certification authority) de confianza, se
valida que el servidor corresponde o pertenece a la
entidad u organización a quien se le está solicitando la
información.
Cómo trabaja SSL
Lo primero que debemos tener en cuenta es que los

protocolos de comunicación tradicionales envían sus datos

de manera legible; esto quiere decir que los mensajes

pueden ser leídos por un ente que pueda interceptar la

comunicación y capturar los paquetes. Para proteger esta


comunicación, se puede utilizar el protocolo SSL, que está

ubicado en la capa 4 del modelo OSI, pero está una subcapa

por encima del protocolo de transporte TCP.

El canal seguro que es generado por el protocolo SSL: utiliza

métodos de cifrado simétricos y asimétricos, usando claves

precompartidas y certificados digitales. Para visualizar con

un mayor detalle cómo trabaja el protocolo SSL, nos

basaremos en la figura siguiente.

Figura 2: Protocolo SSL


Fuente: [imagen sin título sobre protocolo SSL], (s. f.),
https://bit.ly/46BIatb.
Breve explicación del flujo
1 Cuando iniciamos una session con una página web
HTTPS, el navegador de nuestra máquina envía una
solicitud para establecer un canal SSL. Mediante este
mensaje, se lista las posibilidades criptográficas de
nosotros como cliente.
2 El servidor web recibe nuestra solicitud y responde con
un mensaje que contiene:
método criptográfico seleccionado;
1. el método de compresión de datos seleccionado;
2. el ID de la sesión que se establece;
3. el certificado digital,
4. y la llave pública del servidor.
3 Luego de recibir el mensaje del servidor en nuestra
computadora, nuestro navegador web verifica la
validez del certificado digital del servidor, usando la
base de datos de certificados incluidos en el navegador.
4 Si nuestro navegador obtiene una validación
satisfactoria, entonces se envía desde nuestra PC un
mensaje llamado «Client key exchange», que contiene
los parámetros necesarios para crear las llaves usadas
por los algoritmos de cifrado simétricos, que se
encargan del encriptado de los datos que se
transportan. El mensaje «Client key exchange» es
cifrado con la llave pública del servidor, con la
finalidad de que solo sea descifrado con la llave privada
del servidor web.
5 El servidor web finalmente envía los mensajes: Change
Cipher Spec y Finished. El protocolo de enlace SSL
finaliza y los datos de aplicación cifrados se pueden
enviar.
2. 2. 3. Fundamentos de TLS
TLS (Transport Layer Security) es un protocolo de seguridad

que busca brindar un canal de comunicación seguro. Está

basado en la versión 3 de SSL, y su última versión, la TLS

v1.2, que está definida en el RFC 5246 (IETF, 2008).

TLS ha pasado por tres versiones:

bullet
TLSv1.0. Básicamente, surge como una actualización de
SSLv3, ya que SSL es un protocolo definido por
Netscape.

bullet
TLSv1.1. Incluye mejoras añadidas al protocolo, como, por
ejemplo, las siguientes:
● medidas de protección contra ataques CBC (cipher-
block chaining);
● definición de registros IANA (Internet Assigned
Numbers Authority);
● otras medidas preventivas de seguridad agregadas
en el protocolo como notas para evitar ciertos
ataques.
bullet
TLSv1.2: mejoras incluidas en el protocolo:
● combinaciones de hash (hash, resultado de
procesos o funciones criptográficas aplicadas a
los datos y que tienen una salida irreversible).
(MD5|SHA) son reemplazadas por una suite de
cifrados;
● las combinaciones de hash para la firma también
son cambiadas por un simple hash;
● soporte para nuevos cifrados de autenticación
con nuevos modos de data;
● incorporación de la suite de cifrado AES
(Advanced Encryption Standard).

SSL/TLS son protocolos de seguridad que no escapan de los

ataques, por lo que se mencionarán algunos de los más

relevantes para ambos protocolos:

bullet
ataque de renegociación. Mediante este tipo de ataque, se
busca que el protocolo efectúe una renegociación de
claves para el cifrado, y se actúa luego como si fuera un
ataque de hombre en el medio.
bullet
Ataque de reversión de versiones: este ataque es parecido
al de renegociación, salvo por el hecho de que se busca
que el cliente negocie con el server algoritmos de
cifrado obsoletos y con mecanismos débiles, para así
aprovechar sus vulnerabilidades.
bullet
BEAST (browser exploit against SSL/TLS): tipo de ataque
que aprovecha las vulnerabilidades de los cifrados
simétricos de tipo CBC.
bullet
Ataque POODLE (padding oracle on downgraded legacy
encryption): al igual que BEAST, este tipo de ataque
busca vulnerabilidades en algoritmos simétricos del
tipo CBC utilizados en el cifrado del canal, con la
especial diferencia de que este realiza un ataque de
relleno a los algoritmos para conseguir la llave del
cifrado.
bullet
Ataque RC4 (Rivest Cipher 4): son ataques dirigidos a
romper los algoritmos RC4.
2. 2. 4. Fundamentos de SET
Secure Electronic Transaction (SET) es un protocolo de

seguridad que fue desarrollado para hacer converger o unir

diversas compañías internacionales, como VISA y

MasterCard, para estandarizar los procedimientos de las

transacciones electrónicas y brindar así procedimientos

más seguros y confiables entre aquellas y sus clientes. SET

usa certificados digitales para proteger las transacciones de

créditos que atraviesan la Internet. SET está definido en el

RFC 3538 (IETF, 2003).

SET proporciona tres servicios:

bullet
un canal de comunicación seguro entre todas las partes
implicadas en la transacción;
bullet
confiabilidad, mediante el uso de certificados digitales;
bullet
privacidad, ya que la información solamente estará
disponible cuando y donde sea necesaria entre las
partes de la transacción.
Participantes en una transacción definida por SET
bullet
Titular de la tarjeta o comprador.
bullet
Vendedor.
bullet
Banco del comprador.
bullet
Banco del vendedor.
bullet
Pasarela o gateway de pago.
bullet
Autoridad de certificación (CA).
Resumen de transacción SET
1
1
Al hacer una solicitud de compra mediante una página
web en Internet, si esta no está bajo el protocolo SSL
(HTTPS), el comprador será redireccionado a una
página en la que figurará la solicitud de compra y,
seguramente, se le solicitará la confirmación de la
solicitud. En este primer paso, el usuario puede validar
la autenticidad del vendedor mediante los certificados
digitales que entrega la página.
2
1.
2.
3.
4.
5.
2
El usuario, luego de confirmar la orden de compra, deberá
llenar un formulario en el que completará datos que el
comerciante o vendedor necesite acerca de él. Los
campos de la transacción se reunirán en el servidor del
vendedor:
1. datos del pedido.
2. Orden de pago (esta está cifrada para que solo
pueda ser leída por el banco).
3. Vinculación del pedido y orden de pago.
4. El vendedor envía la información de pago al banco
para que pueda ser procesada (recordemos que
esta información no puede ser leída por el
vendedor).
5. El banco autoriza o rechaza la compra, dependiendo
de los haberes del cliente en la entidad, y envía a
ambas partes la aprobación o rechazo de la
solicitud de compra.
Figura 3: Elementos del SET

Fuente: [imagen sin título sobre elementos de SET], (s. f.),


https://bit.ly/3QpDZuN.

También podría gustarte