Top Banner
Mitos y realidades de la seguridad en Java ıctor Orozco Nabenik 11 de octubre de 2014
38

Mitos y realidades de la seguridad en Java

Jun 14, 2015

Download

Technology

Víctor Orozco

Presentación utilizada durante el Java Day 2014, Guatemala. Relatando el estado de
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Mitos y realidades de la seguridad en Java

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

Disertativa sin codigo

Page 3: Mitos y realidades de la seguridad en Java
Page 4: Mitos y realidades de la seguridad en Java
Page 5: Mitos y realidades de la seguridad en Java
Page 6: Mitos y realidades de la seguridad en Java
Page 7: Mitos y realidades de la seguridad en Java

¿Porque fue importante?

Page 8: Mitos y realidades de la seguridad en Java
Page 9: Mitos y realidades de la seguridad en Java
Page 10: Mitos y realidades de la seguridad en Java

Aumento de la superficie de ataque.Write (a exploit) once, run (it)

everywhere.

Page 11: Mitos y realidades de la seguridad en Java

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

¿Y que paso desde entonces?

Page 13: Mitos y realidades de la seguridad en Java

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 14: Mitos y realidades de la seguridad en Java

http://java-0day.com/ 11-10-2014

Page 15: Mitos y realidades de la seguridad en Java

¿Como debo protegerme?

Page 16: Mitos y realidades de la seguridad en Java
Page 17: Mitos y realidades de la seguridad en Java

-1. Evitar pentesting king/kids

Page 18: Mitos y realidades de la seguridad en Java
Page 19: Mitos y realidades de la seguridad en Java

0. Conociendo NUESTRO java

Page 20: Mitos y realidades de la seguridad en Java

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

1. (Intentar)Ir a la velocidad de losatacantes

Page 22: Mitos y realidades de la seguridad en Java

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

2. Conociendo los modelos deseguridad de Java

Page 24: Mitos y realidades de la seguridad en Java

Autenticacion, autorizacion,sandboxing y firmado de codigo.

Page 25: Mitos y realidades de la seguridad en Java

Modelo JavaSE

Page 26: Mitos y realidades de la seguridad en Java

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

3. Programando de forma segura

Page 28: Mitos y realidades de la seguridad en Java

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

4. Desplegando de forma segura

Page 30: Mitos y realidades de la seguridad en Java

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

5. Utilizando soluciones ya probadas

Page 32: Mitos y realidades de la seguridad en Java

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

OWASP Java Encoder

Tipo: BibliotecaModo de uso: ProgramaticoCaracterısticas principales:XSS

Page 34: Mitos y realidades de la seguridad en Java

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

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

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

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

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.