mitos y realidades de la seguridad en java
DESCRIPTION
Presentación utilizada durante el Java Day 2014, Guatemala. Relatando el estado deTRANSCRIPT
![Page 1: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/1.jpg)
Mitos y realidades de la seguridad en Java
Vıctor Orozco
Nabenik
11 de octubre de 2014
![Page 2: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/2.jpg)
Disertativa sin codigo
![Page 3: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/3.jpg)
![Page 4: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/4.jpg)
![Page 5: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/5.jpg)
![Page 6: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/6.jpg)
![Page 7: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/7.jpg)
¿Porque fue importante?
![Page 8: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/8.jpg)
![Page 9: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/9.jpg)
![Page 10: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/10.jpg)
Aumento de la superficie de ataque.Write (a exploit) once, run (it)
everywhere.
![Page 11: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/11.jpg)
Javas
• Java Card
• Java ME (BD-J, dumbphones)
• Java SE (Escritorio, Applets)
• Java EE (Web, SOA, personas con corbata)
![Page 12: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/12.jpg)
¿Y que paso desde entonces?
![Page 13: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/13.jpg)
Acciones
• Nuevo modelo de lanzamientos• Limited updates (actualizaciones) - multiplos de 20• Critical patch updates - Impares en multiplos de 5• 8u20 8u25 8u31 8u35 8u40 8u45 8u50
• Nuevo jefe de seguridad -http://www.securitycurmudgeon.com/2014/04/spotlight-on-java-se-8-security.html
• Grupo de seguridad en OpenJDK -http://openjdk.java.net/groups/security/
• Nuevo security track a partir de JavaOne 2013
![Page 15: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/15.jpg)
¿Como debo protegerme?
![Page 16: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/16.jpg)
![Page 17: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/17.jpg)
-1. Evitar pentesting king/kids
![Page 18: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/18.jpg)
![Page 19: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/19.jpg)
0. Conociendo NUESTRO java
![Page 20: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/20.jpg)
Javas
• HotSpot (Oracle)
• JRockit (Oracle)
• OpenJDK (Oracle)
• Jikes (Eclipse)
• HP-UX Java (HP)
• J9 (IBM)
• Zing (Azul Systems)
• Zulu (Azul Systems+OpenJDK)
![Page 21: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/21.jpg)
1. (Intentar)Ir a la velocidad de losatacantes
![Page 22: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/22.jpg)
Recursos
• CVE - http://web.nvd.nist.gov/view/vuln/search-results?
query=java&search_type=all&cves=on
• Oracle Software Security Assurance -https://blogs.oracle.com/security/
• Debian Advisories -https://www.debian.org/security/
• RedHat Advisories - https://access.redhat.com/security/updates/advisory
![Page 23: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/23.jpg)
2. Conociendo los modelos deseguridad de Java
![Page 24: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/24.jpg)
Autenticacion, autorizacion,sandboxing y firmado de codigo.
![Page 25: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/25.jpg)
Modelo JavaSE
![Page 26: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/26.jpg)
Modelo JavaEE
• Declarativa• Basado en el contenedor• Modelo de autenticacion - Credenciales, OpenID• Modelo de autorizacion - Basado en roles
• Programatica• EJBContext• HttpServletRequest
![Page 27: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/27.jpg)
3. Programando de forma segura
![Page 28: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/28.jpg)
Buenas practicas de programacion
• Seguridad = Requerimiento funcional
• Identificacion y correccion de riesgos
• Patrones de seguridad (reduccion de superficie de ataque,privilegios mınimos, defensa en profundidad)
• Documentacion de auditorias
![Page 29: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/29.jpg)
4. Desplegando de forma segura
![Page 30: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/30.jpg)
Despliegues seguros
• Maven central - http://www.infoq.com/news/2014/08/Maven-SSL-Default
• Server JRE -http://www.oracle.com/technetwork/java/
javase/7u21-relnotes-1932873.html#serverjre
![Page 31: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/31.jpg)
5. Utilizando soluciones ya probadas
![Page 32: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/32.jpg)
OWASP Java Enterprise Security API
Tipo: BibliotecaModo de uso: ProgramaticoCaracterısticas principales:Criptografıa, filtros, reglas devalidacion, tags JSP, rutinasseguridad
![Page 33: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/33.jpg)
OWASP Java Encoder
Tipo: BibliotecaModo de uso: ProgramaticoCaracterısticas principales:XSS
![Page 34: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/34.jpg)
Bouncy Castle
Tipo: BibliotecaModo de uso: ProgramaticoCaracterısticas principales:API Ligera (funciona con JME)Proveedor para JavaCryptography ExtensionGenerador y procesador decertificados (S/MIME, OCSP,TSP, CMP, OPENPGP) Jarfirmado y compatible conHotspot
![Page 35: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/35.jpg)
Jasypt
Tipo: BibliotecaModo de uso: ProgramaticoCaracterısticas principales:API Ligera (funciona conJME), Estandares avanzadosde seguridad, Integracionautomatica con Hibernate,Spring y Spring Security,Cifrado de alto rendimiento, Adiferencia de bouncy castle,Jasypt se enfoca solo en java
![Page 36: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/36.jpg)
Spring Security
Tipo: BibliotecaModo de uso:Programatico+DeclarativoCaracterısticas principales:Integracion automatica conspring, Soporte para inyeccionde dependencias, Acoplamientodebil, los componentes sonfacilmente reemplazables,Expression language (reglas),Autorizacion de peticionesHTTP, Autenticacion externa(LDAP, JDBC, Kerberos, AD),Encripcion de passwords, Tags
![Page 37: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/37.jpg)
Apache Shiro
Tipo: FrameworkModo de uso:Programatico+DeclarativoCaracterısticas principales:Autenticacion y autorizacionbasada en roles, Criptografıa,Administracion de sesiones,Autenticacion externa (LDAP,JDBC, Kerberos, AD) ysoporte para Single Sign On,Pocas dependencias,Acoplamiento debil,componentes facilmentereemplazables.
![Page 38: Mitos y realidades de la seguridad en Java](https://reader033.vdocuments.net/reader033/viewer/2022052904/557cf4bbd8b42a071b8b474c/html5/thumbnails/38.jpg)
Gracias
• E-mail: [email protected]
• Blog: http://tuxtor.shekalug.org
• Twitter: @tuxtor
• Fuentes: http://github.com/tuxtor/slides
This work is licensed under a Creative CommonsAttribution-ShareAlike 3.0 Guatemala License.