PRESENTACION TEMA5 Sem 8 SESIONES AUTHZ PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 34

Seguridad en Sistemas, Aplicaciones, BigData

Juan Ramón Bermejo Higuera

Seguridad en Sistemas, Aplicaciones, BigData


Tema 5: Seguridad en el diseño, gestión de
sesiones y autorización
Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño

Tema 5:
Sesiones y autorización

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Concepto de sesión

▪ Una sesión Web (o HTTP) es una secuencia de peticiones y respuestas


(o transacciones) asociadas al mismo usuario

▪ Las aplicaciones Web modernas y complejas deben mantener


información (o el estado) de cada usuario durante múltiples peticiones

▪ Las sesiones proporcionan la capacidad de establecer variables, como


permisos o información de cualquier tipo manejada por la aplicación,
que se pueden utilizar en cada una de las interacciones del usuario con
la aplicación Web hasta que finalice su sesión

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Concepto de sesión

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Implementación de sesión

TRANSFERENCIA DE CONTROL

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Formas de envío

▪ Cookie (cabecera HTTP estándar):


Cookie: id=012345; …

▪ Parámetro URL: (URL rewriting)


https://portal.example.com/private;id=012345?...

▪ Argumento URL (petición GET):


https://portal.example.com/private?id=012345& …

▪ Argumento cuerpo (petición POST):


<INPUT TYPE=“SUBMIT” NAME=“id” VALUE=“012345”>

▪ Campo oculto de formulario (HTML):


<INPUT TYPE=“HIDDEN” NAME=“id” VALUE=“012345”>

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Procedencia peticiones:
CSRF

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Propiedades del
identificador de sesión

▪ Debe contener al menos 128 bits de datos aleatorios

▪ tiempo máximo de inactividad y absoluto

▪ Debe haber un modo de terminar la sesión. (logoff)

▪ Siempre se debe comenzar una nueva sesión después de la autenticación.

▪ Implementarlo aprovechando librerías del propio framework de desarrollo

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Propiedades del
identificador de sesión
Para obtener 128 bits pseudoaleatorios, el identificador debe contener al menos 22
caracteres (128/log2(62) = 21,5). Los 3 primeros caracteres no se generan
aleatoriamente, por lo que los identificadores de sesión tienen una longitud de 25
caracteres.

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Cabecera Set-Cookie

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Cabecera Set-Cookie

▪ Persistentes:
Guardadas en un fichero en el cliente (disco) Permanecen tras cerrar el
navegador Web. Ej. Funcionalidad "Recuérdame" durante la
Autenticación

▪ No persistentes (o de sesión):
Existen durante la vida del navegador Web Hasta que se cierra el
navegador Web Residen en la memoria del navegador Web

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Ataques

▪ Revelación y captura de la sesión

▪ Predicción y fuerza bruta de la sesión

▪ Secuestro de sesión (sidejacking)

▪ Fijación de sesión

▪ XSS

▪ SQLI

▪ CSRF

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Revelación y captura

▪ Revelación

Ingeniería social, enlaces web, logs, buscadores, url:jsessionid...

▪ Captura:

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Sidejacking

Herramientas de sidejacking:

▪ Firesheep (Firefox add-on) http://codebutler.com/firesheep

▪ CookieMonster http://fscked.org/projects/cookiemonster

▪ Hamster (y Ferret) http://hamster.erratasec.com

▪ The Middler http://inguardians.com/tools/middler-1.0.tgz

▪ Surfjack https://code.google.com/p/surfjack/

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Manipulación

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Fijación de sesión

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Repaso de defensas

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño

Tema 5:
Sesiones y autorización

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Autorización

▪ Fundamentos de autorización

▪ Proceso de autorización

▪ Tipos de sistemas

▪ Ataques

▪ Mejores prácticas

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Autorización: Objetivos

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Autorización: Tipos de
usuarios

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Autorización: Recursos

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Autorización: Vista
Horizontal

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Autorización: Vista
vertical

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Autorización:
Navegador

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Autorización:
Servidores Web / Aplicaciones

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Autorización:
Implementación

▪ Mediante cadenas de consulta al SGBD

▪ Mediante procedimientos almacenados implementados en el SGBD

▪ Uso de librerías frameworks de desarrollo, OWASP ESAPI, etc.

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Autorización:
Implementación: Procedimientos almacenados

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Autorización:
Implementación: Frameworks

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Autorización:
Administración en fase de operación

▪ Mandatory Access Control (MAC)

▪ Discretionary Access Control (DAC)

▪ Role-Based Access Control (RBAC)

▪ Sistemas híbridos

▪ RBAC + DAC (facebook: usuarios pueden configurar su seguridad en su


muro)
▪ MAC + DAC (IBM RACF z/os)

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Autorización: Ataques
▪ Secuestro de sesiones (credenciales) mediante sniffing, interceptación, sesion
fixation11, repetición, suplantación (ver apartado siguiente).

▪ Alteración de parámetros (parameter tampering, cooking poisoning, hidden-not


hiden parameters-URL parameters).

▪ Cross Site Scripting (XSS): robo de id. de sesión e historial (información).

▪ Manipulación de cabeceras HTML: http response splitting12, que dan lugar a


inyección de código HTML y a su vez en ataques XSS: secuestro de ID de sesión.

▪ LFI-Path Traversal, RFI

▪ Cross Site Request Forgery

▪ TOCTOU (Time To Check Time To use)

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Seguridad en el diseño. Autorización: Defensas

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


Seguridad en Sistemas, Aplicaciones, BigData
Tema 5: Sesiones y autorización. Puntos a destacar
(Highlights)

▪ Conceptos de sesión y autorización


▪ Formas de envío del identificador de sesión
▪ Cabecera SET-Cookie y parámetros
▪ Tipos de usuarios y recursos en la autorización
▪ Formas de implementar la autorización
▪ Ataques a la sesión y autorización
▪ Defensas y buenas prácticas

Seguridad Sistemas, Aaplicaciones, Bigdata Juan Ramón Bermejo


www.unir.net

También podría gustarte