Está en la página 1de 24

PROTOCOLO DE SEGURIRIDAD PARA

APLICACIONES WEB
 PROTOCOLO SSL (SECURE SOCKET LAYER)

 PROTOCOLO TLS (TRANSPORT LAYER SECURITY)

 PROTOCOLO S-HTTP

 PROTOCOLO SET
PROTOCOLO SSL (SECURE SOCKET
LAYER)
 La conexión es privada.- Se realiza un proceso de
autenticación inicial, para establecer una llave
secreta, después se utiliza criptografía simétrica
para el cifrado de datos.
 Las identidades tanto del cliente como del
servidor, pueden ser autenticadas utilizando
criptografía asimétrica o de llave publica
 La conexión es confiable.- el transporte de los
mensajes, incluye una revisión de la integridad del
mensaje, utilizando una MAC3 con llave, con
algoritmos seguros (SHA).
OBJETIVOS DEL PROTOCOLO SSL

 Seguridad criptográfica

 Interoperabilidad

 Extensibilidad

 Eficiencia relativa

 Descripción del protocolo


PROTOCOLO TLS (TRANSPORT LAYER SECURITY)

El protocolo TLS, es un protocolo para establecer una conexión segura


entre un cliente y un servidor, TLS es capaz de autenticar en ambos lados
de la comunicación, y crea una conexión cifrada entre las dos. El protocolo
TLS puede ser extendido, esto es que nuevos algoritmos pueden ser
utilizados para cualquiera de los propósitos, con la condición de que tanto
el cliente como el servidor estén conscientes de los algoritmos.
La principal propiedad del protocolo TLS, es ofrecer privacidad e integridad
de los datos, entre dos aplicaciones que se comunican; el protocolo está
compuesto por dos capas, el TLS Record Protocol y el TLS Handshake
Protocol.
El TLS Record Protocol ofrece seguridad en las conexiones y tiene dos
propiedades básicas:
1. La conexión es privada; se utiliza criptografía simétrica para el cifrado de
los datos (DES, AES, RC4, etc),
2. La conexión es confiable, el transporte de mensajes, incluye una
verificación de integridad de mensajes, utilizando una MAC con llave, para
esto se utilizan algoritmos de funciones de hash seguros como SHA1,
SHA256, MD5.
El TLS Record Protocol, es utilizado para la encapsulación de varios protocolos
de nivel superior, uno de tales protocolos encapsulados, es el TLS Handshake
Protocol, el cual es utilizado para autenticar tanto a los clientes como a los
servidores, y para negociar un algoritmo decifrado así como las llaves
criptográficas, antes de que el protocolo de la aplicación transmita o reciba el
primer byte de datos. El protocolo TLS Handshake Protocol ofrece seguridad
en la conexión.

 Una ventaja de TLS, es que es independiente del protocolo de la aplicación,


los protocolos de más alto nivel pueden tener capas encima del protocolo
TLS de forma transparente, sin embargo, el estándar TLS no especifica de
qué forma los protocolos definen la seguridad en TLS.
PROTOCOLO S-HTTP

 El protocolo HTTPS es una versión segura del protocolo http, utiliza un sistema de
cifrado basado en la Secure Socket Layers (SSL), para crear un canal seguro cuyo
nivel de cifrado depende del servidor remoto y del navegador utilizado por el
cliente, más apropiado para el tráfico de información sensible que el protocolo
http, ambos protocolos pueden existir juntos, ya que los navegadores de hoy en
día, los soportan.
 El protocolo http, fue originalmente utilizado en claro sobre Internet, sin embargo,
el uso reiterado de dicho protocolo en aplicaciones importantes, ha requerido que
algunas medidas de seguridad sean consideradas, por lo cual los protocolos SSL
y su sucesor TLS (ambos descritos previamente), fueran diseñados para ofrecer
seguridad en el canal de comunicación.
Inicio de una conexión.- El agente que actúa como el cliente http, también debería
actuar como el cliente TLS o SSL, y sería el encargado de iniciar una conexión al
servidor en el puerto apropiado, y enviar un mensaje de inicio del protocolo, por
ejemplo un mensaje del tipo TLS ClientHello para iniciar el protocolo de acuerdo
(handshake) sobre TLS. Una vez que el protocolo de acuerdo (handshake) ha
terminado, el cliente debe entonces iniciar la primera petición http; todos los
datos http deben ser enviados como datos de la aplicación TLS.
Fin de una conexión.- EL protocolo TLS ofrece una posibilidad de cerrar una
conexión de forma segura; cuando se recibe un mensaje de petición de cierre de
la conexión, una implementación debe asegurar que ya no se recibirán datos
después de haber cerrado dicha conexión.

 Cuando HTTPS fue utilizado por primera vez por el navegador Netscape 2 en
1995, la estrategia utilizada fue la de usar dos puertos diferentes, el puerto
80 para http y el 443para HTTPS respectivamente.
PROTOCOLO SET
Transacción Electrónica Segura
CÓMO FUNCIONA SET
Cuando se realiza una transacción segura por medio de SET,
los datos del cliente son enviados al servidor del vendedor,
pero dicho vendedor sólo recibe la orden. Los números de la
tarjeta del banco se envían directamente al banco del
vendedor, quien podrá leer los detalles de la cuenta bancaria
del comprador y contactar con el banco para verificarlos en
tiempo real.
Qué se precisa para utilizar el Qué problemas plantea la
Protocolo SET utilización del SET

Que el comerciante disponga de Aunque para el titular de la


un certificado digital emitido por tarjeta es gratuito, la obtención
una Autoridad de Certificación. del certificado digital puede
tener un coste importante para
el comerciante.
Que el comprador disponga de
un certificado digital emitido por
la entidad emisora de la tarjeta Supone una mayor complejidad
(por ejemplo, Visa), que incluye para el comerciante, ya que
la firma digital de dicha trabajar con SET implica, hoy por
institución y una fecha de hoy, trabajar simultáneamente
expiración. con SSL, puesto que la mayoría
de los clientes no tienen todavía
certificado digital.
QUÉ SEGURIDAD PROPORCIONA EL SET

• Confidencialidad de los datos de la tarjeta de


crédito
• Integridad de los datos
• Autenticación del comerciante ante el
comprador
• Autenticación del cliente ante el comerciante
METODOLOGIA DE PRIVILEGIOS DE SEGURIDAD

Fase 1 – Evaluación

 Definición y referencia de los ataques – Análisis de la Información


Los medios para la obtención de la información de la red o la entidad, puede
ser derivada desde cualquier medio de difusión (ya sea a nivel público o desde
la propia entidad privada). Por otra parte, se valora la obtención de información
electrónica cuyas técnicas engloban (detección de protocolos, aplicaciones,
topología lógica, etc.).
 Basándonos en un conjunto de técnicas y metodologías propias,
desarrollamos un modelo que reproduce los intentos de acceso de un
intruso potencial, desde los diferentes puntos de entrada, tanto sea de
forma privilegiada como no privilegiada.
 En este punto se desglosarán las diferentes pruebas, en las cuales se
englobarán cada uno de los Sistemas –aplicaciones, formularios, portales,
servicio de Mensajería, servicios DNS – en función de su naturaleza y/o
criticidad.
Fase 2 – Planificación
En esta fase se programan todas las acciones según el siguiente esquema:

En función del primer análisis y naturaleza de los Sistemas de Información, o red informática
en busca de intentos para comprometer la seguridad de dicho sistema:
 Búsqueda de patrones previamente definidos que impliquen cualquier tipo de actividad
sospechosa o maliciosa sobre nuestra red o host.
 Capacidad preventiva y de alerta anticipada ante cualquier actividad sospechosa.
 Vigilan el tráfico de nuestra red, examinan los paquetes analizándolos en busca de datos
sospechosos y detectan las primeras fases de cualquier ataque como pueden ser el análisis de
nuestra red, barrido de puertos, etc.
Por el tipo de respuesta los clasificamos:
 Pasivos: Son aquellos IDS que avisan a la autoridad competente o administrador de la red
mediante el sistema que sea (alerta, etc).
 Activos: Generan algún tipo de respuesta sobre el sistema atacante o fuente de ataque como
cerrar la conexión o enviar algún tipo de respuesta predefinida en nuestra configuración.
Fase 3 – Test Externo Sistemas y Aplicaciones

Se accederá de forma remota a los Sistemas de Información de la organización para


posicionarse como Administrador de Sistema. El acceso inicial se realizará de forma
privilegiada (con usuario y contraseña legítima) y no privilegiada. se recomendarán las
medidas a aplicar por parte de e-el Cliente.

Scanner de vulnerabilidades en componentes de red (a nivel de protocolo, de


código y de configuración):

 Estudio de la red externa


 Scanning de puertos. Obtención rangos de direcciones IP. Detección de protocolos.
 Ataques de fuerza bruta/aplicaciones:
 Scanner de vulnerabilidades
 Sistemas operativos (se incluye cualquier dispositivo)
 Nivel de aplicación
 En scripts
 En fallos de configuración
 Análisis de aplicaciones WEB propietarias
 Elevación de privilegios. Debilidades de RPC. Prueba de Passwords.
 Comprobación de políticas de claves
 Análisis de las políticas de protección (Firewalls, ACL, etc.)
 Análisis de la red y topología (estudio de vulnerabilidades en la red: ARP Poisoning,
niffers, etc.)
Fase 4 – Documentación

Documentar las diferentes pruebas de vulnerabilidad, cuyo contenido


especificará:
 Objetivo

 Modo de ejecución

 Tiempo de duración

 Estudio del impacto: Valorar el impacto real dentro de los


escenarios establecidos como posibles
 Checklist

 Formularios
ESCALACION DE PRIVILEGIOS EN
APLICACIONES WEB

NIVEL DE SISTEMAS.-Es el nivel de


acceso que representa mas riesgo es lo
que todo intruso desea lograr en una
maquina tener el control de todos los
recursos, es decir adueñarse
completamente de la maquina con los
mismos privilegios del propio
administrador
LA ESCALADA DE PRIVILEGIOS TIENE UN
NOMBRE BIEN AUTO EXPLICATIVO:
CONSISTE EN LA REALIZACIÓN DE UNO O
MAS ATAQUES A PROGRAMAS LOCALES
MAL CONFIGURADOS Y A TRAVÉS DE LOS
MISMOS IR LOGRANDO NUEVOS
PRIVILEGIOS HASTA TOMAR EL LUGAR
DEL SUPERUSUARIO.
QUIEN SE HAYA TOMADO EL TRABAJO DE
ACCEDER DE ESTA FORMA A UN SERVIDOR,
DIFÍCILMENTE SEA TAN ESTÚPIDO COMO
PARA DEDICARSE A MODIFICAR LAS
PAGINAS WEB PONIENDO UN “SERVIDOR
HACKEADO”.POR EL CONTRARIO ESTA
CATEGORIA DE INTRUSOS PERMANECE EN
SILENCIO, TRATAR DE PERMANECER
INADVERTIDOS DURANTE TODO EL TIEMPO
POSIBLE Y DE ESTA FORMA SACAR EL
MAXIMO PROVECHO POSIBLE
NIVEL DE APLICACIÓN
LOS ATAQUES A NIVEL DE APLICACIÓN SON
AQUELLOS QUE SE REALIZAN EXPLOTANDO
VULNERABILIDADES DE APLICACIONES QUE
PERMITAN MODIFICAR LOS DATOS QUE LA
PROPIA APLICACIÓN MANIPULA , PERO SIN LA
POSIBILIDAD DE EJECUCIÓN DE COMANDOS
SOBRE EL SISTEMA OPERATIVO , LOS ATAQUES
A NIVEL DE APLICACIÓN SON LOS MAS
COMUNES
Y VISIBLES DE MODO QUE EL SERVIDOR A
PESAR DE ESTOS ATAQUES PERMANECE
INTACTO , LA SERIEDAD Y LA GRAVEDAD
DE ESTOS ATAQUES DEPENDE DE LA
IMPORTANCIA DE LA APLICACIÓN WEB
ATACADA NO ES LO MISMO UN ATAQUE DE
ESTE TIPO EN UNA GALERÍA DE FOTOS
ONLINE QUE EN UNA APLICACIÓN DE
PROCESAMIENTO DE PAGOS Y
TRANSFERENCIAS FINANCIERAS
AUTENTIFICACION Y AUTORIZACION

AUTENTIFICACIÓN
Es el proceso de determinar si un usuario es quien dice ser
Esto se puede hacer de varias maneras. Algunas de ellas son:
 Autentificación HTTP básica
 Autentificación basada en la aplicación

Autentificación HTTP básica


 Cuando se requiere una URI protegida, el
servidor web devuelve un código “HTTP/1.1
401 Authorization required”, indicando al
cliente que muestre una ventana de diálogo
con un nombre de usuario y una contraseña
 Cuando se pulsa el botón de envío estos datos
llegan al servidor que comprueba si son
correctos y en caso afirmativo sirve el recurso
solicitado.
Ventajas:
 Es muy simple de implementar
 Se pueden fijar restricciones de acceso por usuario y contraseña o por otros
conceptos como por ejemplo el dominio o dirección IP de la máquina
Inconvenientes:
 Los datos viajan por la red sin encriptar.
 No se puede hacer logout, la única forma es cerrar el navegador
 No hay control sobre el diseño de la ventana de diálogo

Autentificación basada en la aplicación


La propia aplicación puede implementar un mecanismo de autentificación que
implica la presentación de un formulario para que el usuario introduzca sus
credenciales y el uso de una base de datos para verificar la corrección de éstas
Es más costosa pero más flexible .
AUTORIZACIÓN
Es el acto de comprobar si un usuario tiene el permiso adecuado para acceder
a un cierto fichero o realizar una determinada acción, una vez que ha sido
autentificado
Diseñar el mecanismo de control de acceso exige:
 Determinar la información que será accesible por cada usuario
 Determinar el nivel de acceso de cada usuario a la información
 Especificar un mecanismo para otorgar y revocar permisos a los usuarios
 Proporcionar funciones a los usuarios autorizados: identificación, desconexión,
petición de ayuda, consulta y modificación de información personal, cambio de
password, etc.
 Ajustar los niveles de acceso a la información a la política de seguridad de la
organización
Modelos para el control de acceso:
Control de Acceso Discrecional: se basa en la identidad de los usuarios o su
pertenencia a ciertos grupos.
Control de Acceso Obligatorio: cada pieza de información tiene un nivel de seguridad y
cada usuario un nivel de acceso, lo cual permite determinar los permisos de acceso de cada
usuario a cada pieza de información
Control de Acceso Basado en Roles: cada usuario tiene un rol dentro de la
organización y en función de él unos permisos de acceso.

Análisis de Aplicaciones Web


Se conduce un proceso de análisis intenso de una aplicación web, verificando que no posea
ninguna vulnerabilidad capaz de exponer la información de su empresa o la de sus clientes.
El proceso consiste en 3 simples pasos:
Recopilación de información de los sistemas utilizados incluyendo tecnologías, versiones,
frameworks, entre otros.
Análisis del sistema basado en la información obtenida previamente, realizando diversas
pruebas para identificar cualquier amenaza y riesgo potencial.
Simulaciónes de ataque: creación y simulación de ataques a fin de medir el verdadero nivel de
riesgo detrás de cada uno de las vulnerabilidades previamente detectadas.

También podría gustarte