Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Seguridad aplicaciones web
1. Algunas ideas sobre seguridad en aplicaciones web
Fernando Tricas Garc´ıa
Departamento de Inform´atica e Ingenier´ıa de Sistemas
Universidad de Zaragoza
http://webdiis.unizar.es/~ftricas/
http://elmundoesimperfecto.com/
ftricas@unizar.es
3. El sistema m´as seguro del mundo es ....
http://www.youtube.com/watch?v=uqQwY-T6tE0
Otro:
http://www.youtube.com/watch?v=_3syp77QPts
Algunas ideas sobre seguridad en aplicaciones web. 3
6. Gesti´on del riesgo
La seguridad es un compromiso entre muchos factores:
Tiempo hasta que se puede vender
Coste
Flexibilidad
Reutilizabilidad
Relaciones entre los anteriores
Hay que establecer las prioridades, a veces la seguridad no es
la principal necesidad.
Algunas ideas sobre seguridad en aplicaciones web. 5
7. Seguro o Inseguro
Es mas realista pensar en t´erminos de gesti´on de riesgo:
¿Cu´anto riesgo?
¿Cu´anto cuesta reducirlo?
Recordar: los ’malos’ no crean los defectos, simplemente los
utilizan.
Algunas ideas sobre seguridad en aplicaciones web. 6
8. Algunas cifras
Year Num. of Vulns
1988 2
1989 3
1990 11
1991 15
1992 13
1993 13
1994 25
1995 25
1996 75
1997 252
1998 246
1999 894
2000 1020
2001 1677
2002 2156
2003 1527
2004 2451
2005 4933
2006 6608
2007 6514
2008 (4673) 5632
2009 5733
2010 (4091) 4639
2011 (3451) 4150
2012 (4565) 5289
2013 (4532) 5186
2014 (6785) 7937
2015 (5628) 6847
2016 6447
2017 14646
2018 3602
NIST: National Institute of Standards and
Technology
NVD: National Vulnerabilities Database
http://web.nvd.nist.gov/view/vuln/statistics-results
24 de marzo de 2018
Algunas ideas sobre seguridad en aplicaciones web. 7
9. Ataques
‘2017 Trustwave Global Security Report’
https://www2.trustwave.com/2017-Trustwave-Global-Security-Report.html
Algunas ideas sobre seguridad en aplicaciones web. 8
10. Robo de datos
Information is Beautiful
http://www.informationisbeautiful.net/visualizations/worlds-biggest-data-breaches-hacks/
‘The Biggest Data Thefts In Recent History [Infographic]‘
http://www.popsci.com/technology/article/2013-07/infographic-biggest-thefts-data-visualized
Algunas ideas sobre seguridad en aplicaciones web. 9
11. Vendedores
RiskBased Security. Vulnerability QuickView. 2016 Year End
https://www.riskbasedsecurity.com/2017/02/
15000-vulnerabilities-disclosed-in-2016-major-vendors-continue-to-be-affected/
Algunas ideas sobre seguridad en aplicaciones web. 10
12. Consecuencias
RiskBased Security. Vulnerability QuickView. 2016 Year End
https://www.riskbasedsecurity.com/2017/02/
15000-vulnerabilities-disclosed-in-2016-major-vendors-continue-to-be-affected/
Algunas ideas sobre seguridad en aplicaciones web. 11
14. ¿Contra qu´e nos protegemos?
https://profjohncole.com/2014/11/29/making-an-anti-fraguile-australia-by-2040/
Algunas ideas sobre seguridad en aplicaciones web. 13
15. Los principios
1. Asegurar el eslab´on m´as d´ebil
2. Seguridad en profundidad
3. Fallar de modo seguro
4. Seguir el principio del m´ınimo privilegio
5. Compartimentalizar
6. Simplicidad
7. Promover la privacidad (intimidad)
8. Recordar: guardar secretos es dif´ıcil
9. Ser desconfiados
10. Utilizar los recursos de tu comunidad
Algunas ideas sobre seguridad en aplicaciones web. 14
16. Asegurar el eslab´on m´as d´ebil
La identificaci´on del punto m´as d´ebil tiene que ver con el
an´alisis de riesgos
Si tenemos un buen an´alisis, mitigar el riesgo m´as grave
primero es mejor que mitigar el riesgo m´as ‘sencillo’
No siempre el programa es el eslab´on m´as d´ebil; a veces tiene
que ver con lo que le rodea.
http://www.flickr.com/photos/bulle_de/349393319/
Algunas ideas sobre seguridad en aplicaciones web. 15
17. Defensa en profundidad
Estrategias defensivas diversas, en niveles
Si algo falla, hay m´as barreras detr´as
Algunas ideas sobre seguridad en aplicaciones web. 16
18. Fallar de forma segura
Cualquier sistema suficientemente complejo fallar´a
Hay que procurar que eso no suponga problemas de seguridad
Si se rompe un sistema de control
... de una caja fuerte, ¿c´omo deber´ıa quedar?
¿y de un cine?
¿y en un sitio web controlado por claves?
Mejor ... Degradaci´on controlada
http://www.flickr.com/photos/bargas/3695903512/
Algunas ideas sobre seguridad en aplicaciones web. 17
19. Fallar de forma segura. ¿Y las configuraciones?
Por defecto, el sistema lo mas seguro posible
Recordad que los ejemplos terminan us´andose
Avisar de las consecuencias de los cambios
Algunas ideas sobre seguridad en aplicaciones web. 18
20. Principio del m´ınimo privilegio
Dar el acceso m´ınimo necesario para la tarea encargada
M´ınimo tiempo posible
Si alguien nos recoje el correo durante las vacaciones ... ¿le
damos tambi´en las llaves del piso?
Cuando compramos un piso, ¿conservamos la cerradura?
Ventanas de vulnerabilidad (windows of vulnerability) tan
peque˜nas como sea posible
Algunas ideas sobre seguridad en aplicaciones web. 19
21. Principio del m´ınimo privilegio
Si necesitamos permiso para leer un objeto, no darlo tambi´en
para escribir
Una vez que hayamos leido, quitarse los privilegios, si no
hacen falta m´as
La pereza es nuestro enemigo
Algunas ideas sobre seguridad en aplicaciones web. 20
24. Simplicidad
KISS: Keep It Simple Stupid!:
La complejidad incrementa la posibilidad de que aparezcan
problemas
El dise˜no y la implementaci´on deber´ıa ser tan sencillo como se
pueda
Dise˜nos complejos son m´as dif´ıciles de entender
M´as dif´ıcil de mantener
M´as fallos
Algunas ideas sobre seguridad en aplicaciones web. 22
25. Simplicidad
Ergonom´ıa (usability)
Todos los usuarios deber´ıan tener acceso a la mejor seguridad
de nuestro sistema, y no poder introducir puntos inseguros
por descuido.
Algunas ideas (Norman 1989, Nielsen 1993):
1. Los usuarios no leen
2. Hablar con los usuarios
3. Los usuarios no tienen raz´on siempre
4. Los usuarios son perezosos
Que el camino seguro sea el sencillo
Algunas ideas sobre seguridad en aplicaciones web. 23
26. Simplicidad
Making the simple complicated is commonplace; making
the complicated simple, awesomely simple, that’s
creativity.
Charles Mingus
Algunas ideas sobre seguridad en aplicaciones web. 24
27. Simplicidad
Making the simple complicated is commonplace; making
the complicated simple, awesomely simple, that’s
creativity.
Charles Mingus
Make everything as simple as possible, but not simpler.
Albert Einstein
(Fotograf´ıas: Wikipedia)
Algunas ideas sobre seguridad en aplicaciones web. 24
28. Promover la privacidad
Muchos usuarios consideran su intimidad un asunto de
seguridad
Tenemos que tratar de no comprometer los datos de nuestros
usuarios
La mayor´ıa de sitios ‘serios’ no guarda nuestra clave, ni el
n´umero de la tarjeta, ...
Al menos, no mostrarla (nunca entera)
Almacenarla cifrada
Almacenarla en otra m´aquina diferente
Algunas ideas sobre seguridad en aplicaciones web. 25
29. Esconder secretos es dif´ıcil
No divulgar datos de los usuarios
No divulgar claves
Los ‘malos’ son muy h´abiles (DVD, chips consolas,
‘jailbreaks’, ...)
Ataques desde dentro
Descontentos
Inadvertidos
En todo caso ... la mayor´ıa
No pueden robarnos los datos que no tenemos
Algunas ideas sobre seguridad en aplicaciones web. 26
30. Cuidado con la confianza
No poner secretos en el c´odigo del cliente
Dise˜nar los servidores para no confiar en los clientes
Ser desconfiado puede ayudar en la compartimentalizaci´on
Muchos desarrolladores, arquitectos y gestores de proyectos no
saben mucho sobre dise˜no seguro (incluso los que hacen
herramientas de seguridad).
Algunas ideas sobre seguridad en aplicaciones web. 27
31. Cuidado con la confianza
No extender la confianza al servicio de atenci´on al cliente
(ingenier´ıa social)
Seguir a la manada: a veces se hacen algunas cosas por
influencia de los competidores
Es sano desconfiar hasta de uno mismo
Confianza transitiva (amigos de amigos...)
Algunas ideas sobre seguridad en aplicaciones web. 28
32. Utilizar los recursos de la comunidad
No seguir ciegamente a la masa pero ...
El uso continuado de una tecnolog´ıa ayuda
El escrutinio p´ublico tambi´en
Ejemplo: la criptograf´ıa, bibliotecas seguras, ...
Algunas ideas sobre seguridad en aplicaciones web. 29
33. “Estos son mis principios. Si no le gustan tengo otros.”
(Fotograf´ıa: Wikipedia)
Algunas ideas sobre seguridad en aplicaciones web. 30
34. Otros principios
Exactidud, precisi´on (‘accuracy’)
¿Corresponde el dise˜no (y el software luego) a la ‘realidad’?
Claridad
Acoplamiento d´ebil
Menos complejidad, menos dependencias, ...
Cohesi´on fuerte
Los m´odulos gestionan tareas relacionadas entre si: hay una
buena descomposici´on y modularizaci´on.
Adecuada gesti´on de fallos
Algunas ideas sobre seguridad en aplicaciones web. 31
35. Los principios de Microsoft
SD3 + C
Seguro por dise˜no
Seguro por defecto
Seguro en la implantaci´on (‘Deployment’)
Comunicaci´on (con los clientes)
http://msdn.microsoft.com/en-us/magazine/cc163705.aspx
Algunas ideas sobre seguridad en aplicaciones web. 32
36. ¿De qu´e me tengo que preocupar?
Algunas ideas sobre seguridad en aplicaciones web. 33
37. ¿De qu´e me tengo que preocupar?
https://www.owasp.org/
Algunas ideas sobre seguridad en aplicaciones web. 33
38. OWASP Top 10
2017 (2013, 2007, 2004, 2003)
https://www.owasp.org/index.php/Category:
OWASP_Top_Ten_Project
A1:2017 - Injection
A2:2017 - Broken Authentication
A3:2017 - Sensitive Data Exposure
A4:2017 - XML External Entities (XXE)
A5:2017 - Broken Access Control
A6:2017 - Security Misconfiguration
A7:2017 - Cross-Site Scripting (XSS)
A8:2017 - Insecure Deserialization
A9:2017 - Using Components with Known Vulnerabilities
A10:2017 - Insufficient Logging & Monitoring
https://www.owasp.org/images/5/5e/OWASP-Top-10-2017-es.pdf
Algunas ideas sobre seguridad en aplicaciones web. 34
40. Las contrase˜nas
Michelle L. Mazurek, Saranga Komanduri, Timothy Vidas, Lujo
Bauer, Nicolas Christin, Lorrie Faith Cranor, Patrick Gage Kelley,
Richard Shay, and Blase Ur ‘Measuring Password Guessability for
an Entire University’.
Octubre 2013
https://www.cylab.cmu.edu/research/techreports/2013/tr_cylab13013.html
Claves largas
Que contenga s´ımbolos,
d´ıgitos, may´usculas
En lugares no predecibles.
¡Cuidado con las pol´ıticas!
Algunas ideas sobre seguridad en aplicaciones web. 36
41. Las contrase˜nas
Michelle L. Mazurek, Saranga Komanduri, Timothy Vidas, Lujo
Bauer, Nicolas Christin, Lorrie Faith Cranor, Patrick Gage Kelley,
Richard Shay, and Blase Ur ‘Measuring Password Guessability for
an Entire University’.
Octubre 2013
https://www.cylab.cmu.edu/research/techreports/2013/tr_cylab13013.html
Claves largas
Que contenga s´ımbolos,
d´ıgitos, may´usculas
En lugares no predecibles.
¡Cuidado con las pol´ıticas!
Los usuarios disconformes tienen
claves mucho peores (46 % m´as
f´aciles de adivinar)
Algunas ideas sobre seguridad en aplicaciones web. 36
42. Pedir la clave
Si es web: siempre, en una p´agina ‘segura’ (si no, no podemos
estar seguros de que el sitio es quien dice ser).
Si se transmite: siempre cifrada.
Mostrar la clave (¡no! ... ¿no?)
Algunas ideas sobre seguridad en aplicaciones web. 37
43. Opci´on mostrar la clave
Algunas ideas sobre seguridad en aplicaciones web. 38
44. Pedir la clave
¿Qu´e avisos?
¿Usuario incorrecto?
¿Clave incorrecta?
Seg´un la decisi´on, tener en cuenta las consecuencias...
Algunas ideas sobre seguridad en aplicaciones web. 39
45. Sistemas de recuperaci´on de la clave
Las preguntas secretas s´olo son claves m´as d´ebiles
Aunque...
https://www.owasp.org/index.php/Choosing_and_Using_Security_Questions_Cheat_Sheet
Las pistas ‘hints’, parecido
Algunas ideas sobre seguridad en aplicaciones web. 40
46. Sistemas de recuperaci´on de la clave
Joseph Bonneau, Elie Bursztein, Ilan Caron, Rob Jackson, Mike
Williamson. ‘Secrets, Lies, and Account Recovery: Lessons from
the Use of Personal Knowledge Questions at Google’. WWW’15 -
Proceedings of the 22nd international conference on World Wide
Web, ACM (2015)
http://research.google.com/pubs/pub43783.html
Algunos mienten para ‘fortalecer’ la seguridad
Y proporcionan respuestas a´un m´as predecibles.
Son poco ‘memorables’
Y las m´as seguras (tu primer n´umero de tel´efono) m´as f´aciles
de olvidar.
→ Casi imposible encontrar preguntas de seguridad memorables y
seguras.
Algunas ideas sobre seguridad en aplicaciones web. 41
47. Algunas listas de consejos
Autentificaci´on:
https://www.owasp.org/index.php/Authentication_Cheat_Sheet
Recordatorio de claves:
https://www.owasp.org/index.php/Forgot_Password_Cheat_Sheet
Algunas ideas sobre seguridad en aplicaciones web. 42
48. Sistemas de recuperaci´on de la clave
Enviar la clave (al correo de registro, correo f´ısico, SMS, ...).
Preferiblemente sistemas ‘fuera de banda’.
Enviar un enlace para reinicializarla:
expiraci´on del enlace,
url o identificador no predecible,
posibilidad de re-enviarlo
puede haber filtros anti-spam
. . .
O una clave temporal
Algunas ideas sobre seguridad en aplicaciones web. 43
49. El caso de Evernote
Algunas ideas sobre seguridad en aplicaciones web. 44
50. Mas consejos
La autentificaci´on es tan segura como el sistema de gesti´on de
usuarios
Utilizar la forma mas apropiada de autentificaci´on de acuerdo
al bien que se protege (claves, SMS, ...)
Re-autentificar al usuario para transacciones de valor alto y
´areas protegidas
Autentificar la transacci´on, no el usuario.
Las claves son f´aciles de romper, no son v´alidas para sistemas
de valor alto.
Algunas ideas sobre seguridad en aplicaciones web. 45
51. El caso de GMail
Algunas ideas sobre seguridad en aplicaciones web. 46
52. El caso de Facebook (I)
Algunas ideas sobre seguridad en aplicaciones web. 47
53. El caso de Facebook (II)
Algunas ideas sobre seguridad en aplicaciones web. 48
54. El caso de Facebook (III)
Algunas ideas sobre seguridad en aplicaciones web. 49
55. El caso de Facebook (V)
(Me salto el IV, son fotos reales de amigos)
Algunas ideas sobre seguridad en aplicaciones web. 50
57. Seguridad con + cosas
¡Dinero!
http://econinfosec.org/
Algunas ideas sobre seguridad en aplicaciones web. 52
58. Seguridad con + cosas
http://www.econinfosec.org/archive/weis2013/program.html
Algunas ideas sobre seguridad en aplicaciones web. 53
59. Seguridad con + cosas
¡Personas!
http://cups.cs.cmu.edu/soups/
Algunas ideas sobre seguridad en aplicaciones web. 54
60. Seguridad con + cosas
‘Shouldn’t All Security Be Usable?’ IEEE Security & Privacy.
Volume: 9 Issue: 2. March 2011
http://doi.org/10.1109/MSP.2011.30
Algunas ideas sobre seguridad en aplicaciones web. 55
62. Regulaciones + Buenas pr´acticas
https://www.ccn-cert.cni.es/ens.html
http://www.agpd.es/portalwebAGPD/temas/reglamento/index-ides-idphp.php
https://www.owasp.org/
Algunas ideas sobre seguridad en aplicaciones web. 56
63. Regulaciones + Buenas pr´acticas
https://www.ccn-cert.cni.es/ens.html
http://www.agpd.es/portalwebAGPD/temas/reglamento/index-ides-idphp.php
https://www.owasp.org/
https://www.pcisecuritystandards.org/
Algunas ideas sobre seguridad en aplicaciones web. 56