Download - 10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplicaciones. OWASP Top 10
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License.
The OWASP Foundation http://www.owasp.org
Los 10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplicaciones: OWASP Top 10
Vicente Aguilera Díaz
OWASP Spain Chapter Leader
[email protected] Cádiz, 24 febrero 2011
OWASP
¿Quién soy?
Cristina Cameron
Vicente Aguilera Díaz
OWASP
¿Quién soy?
Vicente Aguilera Díaz – [email protected]
CISA, CISSP, CSSLP, ITIL, CEH Instructor, ECSP Instructor, OPSA, OPST
Presidente del capítulo español de OWASP
Socio y Director del Dpto. de Auditoría de Internet Security Auditors
Miembro del Consejo Técnico Asesor de la revista “Red Seguridad”
Colaborador en distintos proyectos (OWASP Testing Guide v2, WASC
Threat Classification v2, WASC Articles Project, OISSG ISSAF Project)
Ponente en congresos del sector (IGC, Hackmeeting, FIST, RedIRIS,
OWASP, ExpoQA)
Co-organizador de las conferencias IBWAS (Ibero-American Web
Application Security)
Publicación de vulnerabilidades (Oracle, Gmail, SquirrelMail, Hastymail,
ISMail, etc.) y artículos en medios especializados (SIC, RedSeguridad,
WebAppSec, etc.)
OWASP
Agenda
1. Escenario actual de la seguridad
2. OWASP y su aportación para la mejora de la seguridad
3. Los diez riesgos más críticos: OWASP Top 10
Actualización de los riesgos de seguridad a nivel de aplicación
Revisión de la recomendaciones
4. Evasión de controles de seguridad en un entorno real
Demostración práctica: gmailcrack
5. Referencias
OWASP
Agenda
1. Escenario actual de la seguridad
2. OWASP y su aportación para la mejora de la seguridad
3. Los diez riesgos más críticos: OWASP Top 10
Actualización de los riesgos de seguridad a nivel de aplicación
Revisión de la recomendaciones
4. Evasión de controles de seguridad en un entorno real
Demostración práctica: gmailcrack
5. Referencias
OWASP
1. Escenario actual de la seguridad
El grueso de la inversión actual en seguridad TI recae en:
¿Infraestructura o Aplicación?
OWASP
1. Escenario actual de la seguridad
Según Gartner[1], el 90% de la inversión TI se destina a seguridad
perimetral (p.e. firewalls)
Este hecho resulta ilógico, si pensamos en términos de:
Presupuesto de TI (network, host, applications, data)
Amenazas y riesgos de seguridad actuales
[1] http://www.continuitycentral.com/feature0555.htm
OWASP
1. Escenario actual de la seguridad
Objetivo de los ataques
Fuente: UK Security Breach Investigations Report 2010 (7safe)
OWASP
1. Escenario actual de la seguridad
Tipología de empresas afectadas
Fuente: 2010 Data Breach Investigations Report (Verizon Business Risk Team & USSS)
OWASP
1. Escenario actual de la seguridad
La mayor parte de los atacantes son externos
Generalmente se persigue un objetivo económico
El negocio está en la Web
Los sistemas de seguridad tradicionales no ofrecen protección a
nivel de aplicación
Es necesario incorporar la seguridad al SDLC
¡La balanza de inversión debería, por lo menos, equilibrarse!
OWASP
Agenda
1. Escenario actual de la seguridad
2. OWASP y su aportación para la mejora de la seguridad
3. Los diez riesgos más críticos: OWASP Top 10
Actualización de los riesgos de seguridad a nivel de aplicación
Revisión de la recomendaciones
4. Evasión de controles de seguridad en un entorno real
Demostración práctica: gmailcrack
5. Referencias
OWASP
2. OWASP y su aportación para la mejora de la seguridad
El Open Web Application Seguridad Project (OWASP) está
dedicado a la búsqueda y la lucha contra las causas de
software inseguro. La OWASP Foundation es una organización sin
ánimo de lucro que proporciona la infraestructura y apoya nuestro
trabajo.
La participación es gratuita y abierta para todos. ¡Os necesitamos!
Aquí todo es gratuito y de código abierto
Objetivos: crear herramientas, documentación y estándares
relacionados con la seguridad en aplicaciones
181 capítulos locales en el mundo y miles de miembros
www.owasp.org
OWASP
2. OWASP y su aportación para la mejora de la seguridad
Aportaciones
… y muchos otros proyectos!
http://www.owasp.org/index.php/Category:OWASP_Project
OWASP
2. OWASP y su aportación para la mejora de la seguridad
OWASP es un referente a nivel internacional
Algunas de las organizaciones que apoyan la misión de OWASP
OWASP
2. OWASP y su aportación para la mejora de la seguridad
OWASP es un referente a nivel internacional
Algunas de las Universidades que apoyan la misión de OWASP
OWASP
2. OWASP : referente en la seguridad a nivel de aplicación
A nivel español…
Entidades financieras
Universidades
Empresas de desarrollo
Empresas de seguridad
OWASP
2. OWASP : referente en la seguridad a nivel de aplicación
El capítulo español de OWASP
http://www.owasp.org/index.php/Spain
Creado en diciembre de 2005
Seguir la misión de OWASP de manera local
Lista de correo (suscríbete!):
https://lists.owasp.org/mailman/listinfo/owasp-spain
Foro abierto de discusión
Punto de encuentro de profesionales de la seguridad
Difusión del conocimiento en España sobre seguridad en
aplicaciones Web
¿Proyectos locales? ¡Necesitamos iniciativas!
OWASP
2. OWASP : referente en la seguridad a nivel de aplicación
El capítulo español de OWASP
Nuestras conferencias: OWASP Spain Chapter Meeting / IBWAS
OWASP
2. OWASP : referente en la seguridad a nivel de aplicación
El capítulo español de OWASP
OWASP
Agenda
1. Escenario actual de la seguridad
2. OWASP y su aportación para la mejora de la seguridad
3. Los diez riesgos más críticos: OWASP Top 10
Actualización de los riesgos de seguridad a nivel de aplicación
Revisión de la recomendaciones
4. Evasión de controles de seguridad en un entorno real
Demostración práctica: gmailcrack
5. Referencias
OWASP
2. OWASP Top 10 2010
Es un documento: 22 páginas
Gratuito
Los 10 riesgos más críticos
Evoluciona y se adapta
El principal objetivo es educar
Traducido a español!
OWASP
2. OWASP Top 10 2010
Enumera y describe los 10 riesgos más críticos en las
aplicaciones web
Para cada riesgo, aporta:
Descripción del mismo
Escenario de ejemplo de un ataque
Pautas para verificar si nuestra aplicación es vulnerable
Recomendaciones para prevenir dicho riesgo
Crecimiento en su aceptación:
MITRE
PCI DSS
US Defense Information Systems Agency (DISA)
US Federal Trade Commision (FTC)
y muchos más!
OWASP
2. OWASP Top 10 2010
Cambios destacados en esta versión (frente a 2007):
Se centra en los riesgos (no en vulnerabilidades)
Se reordena el Top 10 debido a que la metodología para
elaborar el ranking ha cambiado
Se incorporan dos elementos:
Security Misconfiguration
Unvalidated Redirect and Forwards
Se eliminan dos elementos:
Malicious File Execution
Information Leakage and Improper Error Handling
… y la maquetación del documento!
OWASP
2. OWASP Top 10 2010
Última actualización del Top 10
OWASP
2. OWASP Top 10 2010: Riesgos
Descripción
La aplicación envía a un intérprete datos no validados
correctamente y que pueden ser manipulados por el usuario.
Posibilita
Ejecución de consultas/comandos arbitrarios en el intérprete
afectado.
OWASP
Fir
ewal
l
Hardened OS
Web Server
App Server
Fir
ewal
l
Dat
abas
es
Leg
acy S
yst
ems
Web
Ser
vic
es
Dir
ecto
ries
Hum
an R
esrc
s
Bil
ling
Custom Code
APPLICATION
ATTACK
Netw
ork
Layer
Applic
ation L
ayer
Acc
ounts
Fin
ance
Ad
min
istr
atio
n
Tra
nsa
ctio
ns
Co
mm
unic
atio
n
Kno
wle
dge
Mgm
t
E-C
om
mer
ce
Bus.
Funct
ions
HTTP
request
SQL
query
DB
Table
HTTP
response
"SELECT *
FROM accounts
WHERE acct=‘’
OR 1=1--’"
1. Application presents a form to
the attacker
2. Attacker sends an attack in
the form data
3. Application forwards attack to
the database in a SQL query
Account Summary
Acct:5424-6066-2134-4334
Acct:4128-7574-3921-0192
Acct:5424-9383-2039-4029
Acct:4128-0004-1234-0293
4. Database runs query
containing attack and sends
encrypted results back to
application
5. Application decrypts data as
normal and sends results to the
user
Account:
SKU:
OWASP
2. OWASP Top 10 2010: Riesgos
Recomendaciones
Evitar el uso de intérpretes siempre que sea posible. En caso de
resultar necesario, utilizar APIs seguras.
Validaciones de los datos de entrada: basadas en white-list para
todos los datos de entrada.
Antes de validar el dato de entrada es necesario decodificarlo y
convertirlo a su forma más simple
Seguir el principio de mínimo privilegio en las conexiones con bases
de datos y otros componentes
No utilizar consultas dinámicas, sino parametrizadas
OWASP
2. OWASP Top 10 2010: Riesgos
Descripción
La aplicación retorna al navegador web datos no validados
correctamente y que pueden ser alterados por el usuario.
Posibilita
Secuestro de sesión, defacement, control del navegador del
usuario, etc.
OWASP
Application with
stored XSS
vulnerability
3
2
Attacker sets the trap – update my profile
Attacker enters a
malicious script into a
web page that stores the
data on the server
1
Victim views page – sees attacker profile
Script silently sends attacker Victim’s session cookie
Script runs inside
victim’s browser with full
access to the DOM and
cookies
Custom Code
Acc
ounts
Fin
ance
Ad
min
istr
atio
n
Tra
nsa
ctio
ns
Co
mm
unic
atio
n
Kno
wle
dge
Mgm
t
E-C
om
mer
ce
Bus.
Funct
ions
OWASP
2. OWASP Top 10 2010: Riesgos
Recomendaciones
Validaciones de los datos de entrada: basadas en white-list para
todos los datos de entrada.
Fuerte codificación de salida: todos los datos facilitados por el
usuario han de ser codificados antes de ser retornados al cliente.
Especificar la codificación de caracteres en cada página (por
ejemplo: ISO-8859-1 o UTF-8)
OWASP
2. OWASP Top 10 2010: Riesgos
Descripción
Deficiencias en la implementación de las funciones de
autenticación de usuarios.
Posibilita
Obtener contraseñas o IDs de sesión de otros usuarios,
suplantando su identidad.
OWASP
Custom Code
Acc
ou
nts
Fin
an
ce
Ad
min
istr
ati
on
Tra
nsa
ctio
ns
Co
mm
un
ica
tio
n
Kn
ow
led
ge
Mg
mt
E-C
om
merc
e
Bu
s. F
un
ctio
ns 1 User sends credentials
2 Site uses URL rewriting
(i.e., put session in URL)
3 User clicks on a link to http://www.hacker.com
in a forum
www.boi.com?JSESSIONID=9FA1DB9EA...
4
Hacker checks referer logs on www.hacker.com
and finds user’s JSESSIONID
5 Hacker uses JSESSIONID
and takes over victim’s
account
OWASP
2. OWASP Top 10 2010: Riesgos
Recomendaciones
Las credenciales deben viajar por un canal seguro (SSL)
Las credenciales deben ser almacenadas en forma de hash o utilizando cifrado
Utilizar la gestión de sesiones del propio framework
No aceptar nuevos identificadores de sesión desde el usuario.
El formulario de login deben ser accedido vía HTTPs. Comenzar el proceso de login desde una segunda página en la que se haya generado un nuevo ID de sesión.
Cada página debe incluir la opción de logout.
Utilizar time-out por inactividad (preferiblemente de pocos minutos)
No exponer credenciales (login y/o password) o identificadores de sesión en la URL.
Verificar el password anterior al solicitar un cambio de contraseña.
OWASP
2. OWASP Top 10 2010: Riesgos
Descripción
Exposición de una referencia a un objeto interno sin los
debidos controles de seguridad.
Posibilita
Acceso a datos no autorizados.
OWASP
https://www.onlinebank.com/user?acct=6065
• Attacker notices his acct parameter is 6065
?acct=6065
• He modifies it to a nearby number
?acct=6066
• Attacker views the victim’s account information
OWASP
2. OWASP Top 10 2010: Riesgos
Recomendaciones
Utilizar referencias indirectas. Por ejemplo:
http://www.example.com/application/file=1
Establecer un estándar a la hora de hacer referencia a objetos del
servidor:
Evitar exponer a los usuarios referencias directas a objetos
(como nombres de fichero o claves primarias)
Validar cualquier referencia a un objeto utilizado white-list.
Verificar el nivel de autorización sobre los objetos
referenciados.
OWASP
2. OWASP Top 10 2010: Riesgos
Descripción
Fuerza al navegador de la víctima (autenticada) a realizar
una petición HTTP, incluyendo la cookie de sesión u otra
información que permite autenticar al usuario.
Posibilita
Forzar acciones no deseadas por parte del usuario en la
aplicación vulnerable.
OWASP
3
2
Attacker sets the trap on some website on the internet
(or simply via an e-mail) 1
While logged into vulnerable site,
victim views attacker site
Vulnerable site sees
legitimate request from
victim and performs the
action requested
Custom Code
Acc
ou
nts
Fin
an
ce
Ad
min
istr
ati
on
Tra
nsa
ctio
ns
Co
mm
un
ica
tio
n
Kn
ow
led
ge
Mg
mt
E-C
om
merc
e
Bu
s. F
un
ctio
ns
Hidden <img> tag
contains attack against
vulnerable site
Application with CSRF
vulnerability
OWASP
2. OWASP Top 10 2010: Riesgos
Recomendaciones
Verificar que la aplicación no basa la autenticación del usuario
únicamente en credenciales o tokens transmitidos automáticamente por
el navegador.
Utilizar un token adicional, criptográficamente seguro, que no se
transmita de forma automática por el navegador (por ejemplo, campo
oculto de formulario o parámetro de URL)
Verificar que la aplicación no sufre vulnerabilidades de tipo XSS
En el acceso a datos u operativas sensibles, re-autenticar al usuario.
Aceptar únicamente el método POST para transmitir información
sensible.
OWASP
2. OWASP Top 10 2010: Riesgos
Descripción
Uso de configuraciones de seguridad deficientes o por
defecto.
Posibilita
Explotar vulnerabilidades en la aplicación, servidores
web/aplicación, u otros componentes.
OWASP
Hardened OS
Web Server
App Server
Framework
App Configuration
Custom Code
Acc
ounts
Fin
ance
Ad
min
istr
atio
n
Tra
nsa
ctio
ns
Co
mm
unic
atio
n
Kno
wle
dge
Mgm
t
E-C
om
mer
ce
Bus.
Funct
ions
Test Servers
QA Servers
Source Control
Development
Database
Insider
OWASP
2. OWASP Top 10 2010: Riesgos
Recomendaciones
Uso de guías de securización.
Mantener actualizadas todas las plataformas.
Analizar las implicaciones de los cambios realizados en las
plataformas.
OWASP
2. OWASP Top 10 2010: Riesgos
Descripción
Datos sensibles no protegidos con el cifrado adecuado.
Posibilita
Fraude con tarjetas de crédito, suplantación de identidades,
etc.
OWASP
Custom Code
Acc
ou
nts
Fin
an
ce
Ad
min
istr
ati
on
Tra
nsa
ctio
ns
Com
mu
nic
ati
on
K
now
led
ge
Mgm
t E
-Com
mer
ce
Bu
s. F
un
ctio
ns
1 Victim enters credit
card number in form
2 Error handler logs CC
details because merchant
gateway is unavailable
4 Malicious insider
steals 4 million credit
card numbers
Log files
3 Logs are accessible to all
members of IT staff for
debugging purposes
OWASP
2. OWASP Top 10 2010: Riesgos
Recomendaciones
Verificar que todo lo que debiera ser cifrado realmente lo está.
No crear algoritmos criptográficos. Usar únicamente algoritmos públicos
reconocidos (como AES, RSA, y SHA-256)
No utilizar algoritmos considerados débiles (como MD5 o SHA1)
Nunca transmitir claves privadas por canales inseguros
Verificar que las credenciales de toda la infraestructura (como base de
datos) se encuentran correctamente securizadas (permisos del sistema
de ficheros, cifrado, etc.)
No almacenar información innecesaria. Por ejemplo, según PCI DSS
nunca se debe almacenar el número CVV asociado a la tarjeta de
crédito.
OWASP
2. OWASP Top 10 2010: Riesgos
Descripción
Ausencia de controles de autenticación/autorización en el
acceso a recursos privados.
Posibilita
Acceso no autorizado a recursos privados.
OWASP
• Attacker notices the URL
indicates his role
/user/getAccounts
• He modifies it to another
directory (role)
/admin/getAccounts, or
/manager/getAccounts
• Attacker views more accounts
than just their own
https://www.onlinebank.com/user/getAccountshttps://www.onlinebank.com/user/getAccounts
OWASP
2. OWASP Top 10 2010: Riesgos
Recomendaciones
Disponer de una matriz de roles y funciones de la aplicación, como
parte del diseño de la aplicación.
La aplicación debe verificar el control de acceso en cada petición.
Llevar a cabo pentests (tests de intrusión) tras el despliegue de la
aplicación
No basar la seguridad en la ofuscación
Denegar el acceso a tipos de ficheros que la aplicación no debería
servir. Basar la validación en una white-list (por ejemplo: .html, .pdf,
.jsp)
OWASP
2. OWASP Top 10 2010: Riesgos
Descripción
Comunicaciones sensibles viajan por un canal no cifrado.
Posibilita
Acceso a información sensible mediante la captura del
tráfico.
OWASP
Custom Code
Employees
Business Partners External Victim
Backend Systems
External Attacker
1
External attacker
steals credentials
and data off
network
2
Internal attacker steals
credentials and data
from internal network
Internal Attacker
OWASP
2. OWASP Top 10 2010: Riesgos
Recomendaciones
Utilizar SSL en cualquier comunicación autenticada o al transmitir
información sensible (credenciales, datos de tarjetas, información
personal, etc.)
Verificar que la comunicación entre componentes (por ejemplo,
servidor web y base de datos) también utiliza un canal seguro.
Según el requerimiento 4 de PCI DSS hay que proteger los datos
que se transmiten sobre las tarjetas de crédito.
OWASP
2. OWASP Top 10 2010: Riesgos
Descripción
Uso de datos no validados correctamente para realizar
redirecciones a otros recursos.
Posibilita
Redirigir a los usuarios a sitios de phishing o malware, o
acceso a recursos no autorizados.
OWASP
3
2
Attacker sends attack to victim via email or webpage
From: Internal Revenue Service
Subject: Your Unclaimed Tax Refund
Our records show you have an
unclaimed federal tax refund. Please
click here to initiate your claim.
1
Request sent to vulnerable
site, including attacker’s
destination site as parameter.
Redirect sends victim to
attacker site
Custom Code
Acco
un
ts
Fin
an
ce
Ad
min
istr
ati
on
Tra
nsa
cti
on
s
Co
mm
un
ica
tio
n
Kn
ow
led
ge M
gm
t
E-C
om
merce
Bu
s. F
un
cti
on
s
4
Victim clicks link containing unvalidated parameter
Evil Site
http://www.irs.gov/taxrefund/claim.jsp?year=2006& … &dest=www.evilsite.com
OWASP
2. OWASP Top 10 2010: Riesgos
Recomendaciones
Intentar evitar el uso de redirecciones.
No utilizar parámetros que puedan ser manipulados por el
usuario como parte de la URL, o verificar cada parámetro
para verificar que es válido y autorizado para el usuario
Validar la URL después de haberla “calculado”.
OWASP
Agenda
1. Escenario actual de la seguridad
2. OWASP y su aportación para la mejora de la seguridad
3. Los diez riesgos más críticos: OWASP Top 10
Actualización de los riesgos de seguridad a nivel de aplicación
Revisión de la recomendaciones
4. Evasión de controles de seguridad en un entorno real
Demostración práctica: gmailcrack
5. Referencias
OWASP
4. Evasión de controles de seguridad en un escenario real
Gmail dispone de un gran número de controles de seguridad
Bloqueo de IP origen
Bloqueo de la cuenta al detectar actividad sospechosa
CAPTCHA
Detección de accesos concurrentes
… y muchos más!
¿Es posible automatizar el proceso de
autenticación de usuarios?
password cracking
OWASP
4. Evasión de controles de seguridad en un escenario real
Veamos qué deficiencias existen…
Nota: El equipo de seguridad de Google fue notificado de estas
deficiencias en 2009, pero desestimó aplicar cualquier medida
correctora debido a que consideraban suficientes sus actuales
mecanismos de protección.
OWASP
4. Evasión de controles de seguridad en un escenario real
Conozcamos gmailcrack, la implementación práctica que explota
dichas deficiencias
OWASP
4. Evasión de controles de seguridad en un escenario real
gmailcrack en acción….
OWASP
Agenda
1. Escenario actual de la seguridad
2. OWASP y su aportación para la mejora de la seguridad
3. Los diez riesgos más críticos: OWASP Top 10
Actualización de los riesgos de seguridad a nivel de aplicación
Revisión de la recomendaciones
4. Evasión de controles de seguridad en un entorno real
Demostración práctica: gmailcrack
5. Referencias
OWASP
5. Referencias
UK Security Breach Investigations Report
http://www.7safe.com/breach_report/Breach_report_2010.pdf
2009 Data Breach Investigations Report
http://www.verizonbusiness.com/resources/security/reports/2009
_databreach_rp.pdf
OWASP Top 10 2010 rc1
http://owasptop10.googlecode.com/files/OWASP%20Top%2010
%20-%202010%20Spanish.pdf
Internet Security Auditors Security Advisories
http://www.isecauditors.com/es/advisories.html#2009-008
OWASP
5. Referencias
The Economics of Finding and Fixing Vulnerabilities in Distributed
Systems
http://1raindrop.typepad.com/1_raindrop/2008/11/the-
economics-of-finding-and-fixing-vulnerabilities-in-distributed-
systems-.html