SlideShare una empresa de Scribd logo
Developers: Ignorance is… bliss?
Cristián Rojas, CSSLP
CLCERT Universidadde Chile
About: Cristián Rojas
●
Ingeniero Civil en
Computación y Tesista MSc-
CS DCC-UCHILE
●
Múltiples funciones en
INFOSEC:
– Mercenario-Consigliere
– Profesor-Instructor
– Investigador (CLCERT-UCHILE)
●
ISC2 Certified Secure Software
Lifecycle Professional (CSSLP)
●
INFOSEC-Privacy-Kittehs-
Beer Geek Foto: 8.8 Security Conference 2015. Meme: @RobertoRiquelme
Foto: 8.8 Security Conference 2015
Ya, ¿ahora sí?
Vulnerabilidades
Violación del principio de privilegio mínimo
●
Abuso de permisos en apps móviles
– Si tu app es para iluminar con el flash de la
cámara ¿necesitas permisos para acceder a
contactos, GPS, SMS, etc?
●
GRANT ALL PRIVILEGES ON my_db to
user;
Código de Debugging/Logging Abandonado
●
phpinfo.php
●
Código TRACE
abandonado
●
Builds generados en
modo Debug
●
Exceso de logging
– A veces con
información sensible
I want your SK now,
Mr. Anderson.
SHA1
RC4
Mala configuración SSL/TLS
Developers: Ignorance is... bliss?
Mal uso de cifrado en Reposo
●
ENCRYPT ALL THE THINGS!!!
●
Ya, pero…
– ¿Qué tipo de encriptación vas a usar?
– ¿Qué llave de cifrado?
●
Hardcodeadas
●
Basadas en información fácil de obtener
●
Algoritmos criptográficos tejidos en casa
– “Super-encriptación”
base64(md5(AES-ECB(data, DEVICE_ID)))
Developers: Ignorance is... bliss?
Mal almacenamiento de Passwords
●
Almacenamiento de
claves usando:
– Texto plano
– Hashes MD5
– Sin sal criptográfica
●
No conocen los KDF
– PBKDF2
– BCrypt
@cadcc
Exceso de confianza en secretos
●
Ocultamiento de
versiones de
servidores
●
Uso de medidas
anti-ingeniería
reversa
●
¿Eso realmente hace
más segura tu
aplicación?
Easy money!
“Terminator 2”, Tristar, 1991
Exceso de confianza en herramientas
●
Frameworks
– Ej. Ruby on Rails, Django, NodeJS, Android SDK,
iOS SDK, etc...
– ¿Tienen documentación de seguridad?
– “No, si el framework trae seguridad integrada. Yo
no tengo que preocuparme de nada”
Exceso de confianza en herramientas
●
Content Management
Systems (CMS)
– Ej. Wordpress, Drupal,
Joomla…
– ¿Qué consideraciones
de seguridad hay que
tener en cuenta?
– ¿Les hacemos un
cariñito de vez en
cuando? Eduardo Bonvallet, 1955-2015
Exceso de confianza en herramientas
●
Paneles de Control
– Ej. CPanel,
PHPMyAdmin
– Clásicos en servicios
de hosting
– Excesiva cantidad de
privilegios
– A menudo en
entornos HTTP sin
protección
Exceso de confianza en herramientas
●
“Usemos este scanner de vulnerabilidades”
(muy caro, dicho sea de paso)
– ¿Saben cómo accionar las vulnerabilidades que
reporta?
– ¿Saben cómo reconocer falsos positivos?
– ¿Son seguros para escanear ambientes de
producción?
●
La seguridad es algo que hay que pensar
¿Por qué los buenos
desarrolladores hacemos
código inseguro?
Factores Técnicos
●
“El todo es más que
la suma de sus
partes” (NOT!)
– Más que
desarrollando,
armando Legos
●
Hay fallas que surgen
espontáneamente
¿Por qué?
Factores psicológicos
●
Programar es una actividad difícil y
frustrante
●
Nunca debemos confiar ciegamente en el
código de otro (ahora... anda a que alguien
llegue a desconfiar del de uno)
●
Nosotros descansamos en la abstracción...
los chicos malos se fijan en los detalles
Factores del mundo real
●
La fuente de nuestro
código fuente
●
El desarrollo de
software es cada día
más democrático
●
La presión de
producir, producir,
producir
– Y seguridad, ¿cuándo?
Factores del mundo real
●
“¿Cuándo dejarán de vendernos esta
porquería?”
– “Cuando Ustedes dejen de comprarla”
●
Muchas compañías restan importancia a
incidentes
– Anda a contactar a alguna empresa por una
vulnerabilidad que les encontraste
Factores del mundo real
●
Cuando aprendemos
a programar,
¿vemos conceptos
de seguridad?
– ¿En cursos?
– ¿En manuales?
– ¿En documentación?
Requisitos Diseño Implementación Pruebas Operación
1X 1X
7X
15X
100X
IBM Systems Sciences Institute, “Implementing Software Inspections”
¿Qué podemos hacer?
Big Data
Cloud Computing
Mobile
Web 2.0, 3.0, 4….
Visualización
Sistemas recomendadores
Agile/Lean
Educación
●
¿Cursos?
– CC5315 (DCC-UCHILE)
– Taller de Seguridad Web (SPECT-UTFSM)
– NeoSecure: “Seguridad de Aplicaciones Web”
– ¿Algún otro?
●
¿Certificaciones?
– Certified Secure Software Lifecycle Professional (ISC2
CSSLP)
– Certified Software Development Professional (CSDP)
Educación
●
Documentación (disponible libremente)
– OWASP (Open Web Application Security Project)
●
OWASP Top 10 2013
●
Múltiple documentación online
– BSIMM-V (Build Security In Maturity Model)
– NowSecure: “42+ Best Practices for Secure iOS
and Android Development”
– CodePoet, “Locking Down Wordpress”
Educación
●
Libros
– McGraw, “Software Security”
– Howard, Lipner, “The Security Development
Lifecycle”
– Shostack, “Threat Modeling”
– Ristic, “Bulletproof SSL and TLS”
– Howard, LeBlanc, Viega, “24 Sins of Software
Security”
Herramientas
●
Configuración HTTPS
– Qualys SSL Test (online)
– Cipherscan (local)
●
Scanneres de vulnerabilidades
– OWASP ZAP
– BURP Suite
– W3AF
– wpscan (Wordpress)
Herramientas
●
Analizadores de seguridad en código
– Findbugs + Find Security Bugs (Java)
– JSPrime (NodeJS y otros frameworks JS)
– Brakeman (Rails)
– FXCop (.NET, desactualizada)
– PHP Code Sniffer + phpcs-security-audit
GRACIAS… TOTALES.
Contacto: crirojas@clcert.cl
@injenierobarsa

Más contenido relacionado

PDF
Tu banca móvil, en forma simple y ¿segura? Estado de la seguridad en apps móv...
PPTX
Seminario virtual “Ciberseguridad para profesionales online” (#webinarsUNIA)
PDF
Ethical Hacking azure juan-oliva
PDF
Introduccion a la OWASP Guatemala
PDF
Navegacion segura
PPTX
Seminario virtual “Búsqueda (y verificación) de información en red” (#webinar...
PDF
Webinar Gratuito: Amenazas contra la Autenticación Web
PDF
Webinar Gratuito "Reconocimiento Web"
Tu banca móvil, en forma simple y ¿segura? Estado de la seguridad en apps móv...
Seminario virtual “Ciberseguridad para profesionales online” (#webinarsUNIA)
Ethical Hacking azure juan-oliva
Introduccion a la OWASP Guatemala
Navegacion segura
Seminario virtual “Búsqueda (y verificación) de información en red” (#webinar...
Webinar Gratuito: Amenazas contra la Autenticación Web
Webinar Gratuito "Reconocimiento Web"

Destacado (20)

DOC
Tutoriales[1]
PPTX
Ud 5 (1)
PPTX
Naturalezammaloka2
PPTX
PPT
Trabajo grupal webquest
PPTX
Modelo pledagógico de la fcecep vanner ocoro
PDF
1111 1107-1-pb
PPTX
E learning
PPTX
DOCX
Problematica (reparado) 2
PPT
Inteligencias múltiples y artificial
PPS
Grupo I Cyberconstructores (Fase Planificación)
PPTX
PPTX
Ingenioso asalto a mano armada
PPTX
Expo sig
PPTX
Ecuador y sus riquezas turísticas
PDF
Invitación Carlo Petrini en Bogotá
PDF
Objetos de aprendizaje final tec
PPT
Antivirus parte b
PPTX
Fotobiografia, resumen exposicion
Tutoriales[1]
Ud 5 (1)
Naturalezammaloka2
Trabajo grupal webquest
Modelo pledagógico de la fcecep vanner ocoro
1111 1107-1-pb
E learning
Problematica (reparado) 2
Inteligencias múltiples y artificial
Grupo I Cyberconstructores (Fase Planificación)
Ingenioso asalto a mano armada
Expo sig
Ecuador y sus riquezas turísticas
Invitación Carlo Petrini en Bogotá
Objetos de aprendizaje final tec
Antivirus parte b
Fotobiografia, resumen exposicion
Publicidad

Similar a Developers: Ignorance is... bliss? (20)

PPTX
Aplicaciones seguras
PDF
Medidas básicas de seguridad informática para empresas
PPTX
Dragonjarcon2015 - ¿Cómo programar aplicaciones seguras? por Paulino Calderon...
PDF
Capacitacion sobre Desarrollo Seguro - SDL / OWASP 2013
PPTX
Curso de Seguridad de la Informacion
PDF
Introduccion seguridad informatica - chakan
PDF
Herramientas Tecnológicas.pdf
PPTX
Ingenieria de software - Unidad 4 seguridad
PDF
Semana de la I+D - Proyecto OPOSSUM
PDF
Pruebas de Seguridad en Todo el Ciclo de Vida del Software
PDF
Seguridad de Software: Una Introducción
PPT
Diapositivas guia 1 de software.melissa burgos
PDF
Terranova Training
PDF
Fundamentos Seguridad OT - Mod 1-2 (1).pdf
PDF
Seguridad Global
PDF
Arduino Software - Servicios de Seguridad Informática
PDF
Seguridad y auditoría de Apps o aplicaciones móviles
PPT
Asegúr@IT IV - Microsoft y Seguridad
DOCX
taller de tecnología del periodo II ie liceo departamental
PDF
2020 enero Argentesting
Aplicaciones seguras
Medidas básicas de seguridad informática para empresas
Dragonjarcon2015 - ¿Cómo programar aplicaciones seguras? por Paulino Calderon...
Capacitacion sobre Desarrollo Seguro - SDL / OWASP 2013
Curso de Seguridad de la Informacion
Introduccion seguridad informatica - chakan
Herramientas Tecnológicas.pdf
Ingenieria de software - Unidad 4 seguridad
Semana de la I+D - Proyecto OPOSSUM
Pruebas de Seguridad en Todo el Ciclo de Vida del Software
Seguridad de Software: Una Introducción
Diapositivas guia 1 de software.melissa burgos
Terranova Training
Fundamentos Seguridad OT - Mod 1-2 (1).pdf
Seguridad Global
Arduino Software - Servicios de Seguridad Informática
Seguridad y auditoría de Apps o aplicaciones móviles
Asegúr@IT IV - Microsoft y Seguridad
taller de tecnología del periodo II ie liceo departamental
2020 enero Argentesting
Publicidad

Último (20)

PPTX
modulo seguimiento 1 para iniciantes del
PDF
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PPTX
El uso de las TIC en la vida cotidiana..
PPTX
Propuesta BKP servidores con Acronis1.pptx
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PPTX
Curso de generación de energía mediante sistemas solares
PDF
MANUAL de recursos humanos para ODOO.pdf
DOCX
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PPTX
Historia Inteligencia Artificial Ana Romero.pptx
PPTX
Sesion 1 de microsoft power point - Clase 1
PPTX
Presentacion de Alba Curso Auditores Internos ISO 19011
PDF
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
PDF
Documental Beyond the Code (Dossier Presentación - 2.0)
PDF
Diapositiva proyecto de vida, materia catedra
DOCX
TRABAJO GRUPAL (5) (1).docxjesjssjsjjskss
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PPTX
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
modulo seguimiento 1 para iniciantes del
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
El uso de las TIC en la vida cotidiana..
Propuesta BKP servidores con Acronis1.pptx
El-Gobierno-Electrónico-En-El-Estado-Bolivia
Curso de generación de energía mediante sistemas solares
MANUAL de recursos humanos para ODOO.pdf
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
Historia Inteligencia Artificial Ana Romero.pptx
Sesion 1 de microsoft power point - Clase 1
Presentacion de Alba Curso Auditores Internos ISO 19011
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
Documental Beyond the Code (Dossier Presentación - 2.0)
Diapositiva proyecto de vida, materia catedra
TRABAJO GRUPAL (5) (1).docxjesjssjsjjskss
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD

Developers: Ignorance is... bliss?

  • 1. Developers: Ignorance is… bliss? Cristián Rojas, CSSLP CLCERT Universidadde Chile
  • 2. About: Cristián Rojas ● Ingeniero Civil en Computación y Tesista MSc- CS DCC-UCHILE ● Múltiples funciones en INFOSEC: – Mercenario-Consigliere – Profesor-Instructor – Investigador (CLCERT-UCHILE) ● ISC2 Certified Secure Software Lifecycle Professional (CSSLP) ● INFOSEC-Privacy-Kittehs- Beer Geek Foto: 8.8 Security Conference 2015. Meme: @RobertoRiquelme
  • 3. Foto: 8.8 Security Conference 2015 Ya, ¿ahora sí?
  • 5. Violación del principio de privilegio mínimo ● Abuso de permisos en apps móviles – Si tu app es para iluminar con el flash de la cámara ¿necesitas permisos para acceder a contactos, GPS, SMS, etc? ● GRANT ALL PRIVILEGES ON my_db to user;
  • 6. Código de Debugging/Logging Abandonado ● phpinfo.php ● Código TRACE abandonado ● Builds generados en modo Debug ● Exceso de logging – A veces con información sensible
  • 7. I want your SK now, Mr. Anderson. SHA1 RC4 Mala configuración SSL/TLS
  • 9. Mal uso de cifrado en Reposo ● ENCRYPT ALL THE THINGS!!! ● Ya, pero… – ¿Qué tipo de encriptación vas a usar? – ¿Qué llave de cifrado? ● Hardcodeadas ● Basadas en información fácil de obtener ● Algoritmos criptográficos tejidos en casa – “Super-encriptación”
  • 12. Mal almacenamiento de Passwords ● Almacenamiento de claves usando: – Texto plano – Hashes MD5 – Sin sal criptográfica ● No conocen los KDF – PBKDF2 – BCrypt @cadcc
  • 13. Exceso de confianza en secretos ● Ocultamiento de versiones de servidores ● Uso de medidas anti-ingeniería reversa ● ¿Eso realmente hace más segura tu aplicación? Easy money! “Terminator 2”, Tristar, 1991
  • 14. Exceso de confianza en herramientas ● Frameworks – Ej. Ruby on Rails, Django, NodeJS, Android SDK, iOS SDK, etc... – ¿Tienen documentación de seguridad? – “No, si el framework trae seguridad integrada. Yo no tengo que preocuparme de nada”
  • 15. Exceso de confianza en herramientas ● Content Management Systems (CMS) – Ej. Wordpress, Drupal, Joomla… – ¿Qué consideraciones de seguridad hay que tener en cuenta? – ¿Les hacemos un cariñito de vez en cuando? Eduardo Bonvallet, 1955-2015
  • 16. Exceso de confianza en herramientas ● Paneles de Control – Ej. CPanel, PHPMyAdmin – Clásicos en servicios de hosting – Excesiva cantidad de privilegios – A menudo en entornos HTTP sin protección
  • 17. Exceso de confianza en herramientas ● “Usemos este scanner de vulnerabilidades” (muy caro, dicho sea de paso) – ¿Saben cómo accionar las vulnerabilidades que reporta? – ¿Saben cómo reconocer falsos positivos? – ¿Son seguros para escanear ambientes de producción? ● La seguridad es algo que hay que pensar
  • 18. ¿Por qué los buenos desarrolladores hacemos código inseguro?
  • 19. Factores Técnicos ● “El todo es más que la suma de sus partes” (NOT!) – Más que desarrollando, armando Legos ● Hay fallas que surgen espontáneamente ¿Por qué?
  • 20. Factores psicológicos ● Programar es una actividad difícil y frustrante ● Nunca debemos confiar ciegamente en el código de otro (ahora... anda a que alguien llegue a desconfiar del de uno) ● Nosotros descansamos en la abstracción... los chicos malos se fijan en los detalles
  • 21. Factores del mundo real ● La fuente de nuestro código fuente ● El desarrollo de software es cada día más democrático ● La presión de producir, producir, producir – Y seguridad, ¿cuándo?
  • 22. Factores del mundo real ● “¿Cuándo dejarán de vendernos esta porquería?” – “Cuando Ustedes dejen de comprarla” ● Muchas compañías restan importancia a incidentes – Anda a contactar a alguna empresa por una vulnerabilidad que les encontraste
  • 23. Factores del mundo real ● Cuando aprendemos a programar, ¿vemos conceptos de seguridad? – ¿En cursos? – ¿En manuales? – ¿En documentación?
  • 24. Requisitos Diseño Implementación Pruebas Operación 1X 1X 7X 15X 100X IBM Systems Sciences Institute, “Implementing Software Inspections”
  • 26. Big Data Cloud Computing Mobile Web 2.0, 3.0, 4…. Visualización Sistemas recomendadores Agile/Lean
  • 27. Educación ● ¿Cursos? – CC5315 (DCC-UCHILE) – Taller de Seguridad Web (SPECT-UTFSM) – NeoSecure: “Seguridad de Aplicaciones Web” – ¿Algún otro? ● ¿Certificaciones? – Certified Secure Software Lifecycle Professional (ISC2 CSSLP) – Certified Software Development Professional (CSDP)
  • 28. Educación ● Documentación (disponible libremente) – OWASP (Open Web Application Security Project) ● OWASP Top 10 2013 ● Múltiple documentación online – BSIMM-V (Build Security In Maturity Model) – NowSecure: “42+ Best Practices for Secure iOS and Android Development” – CodePoet, “Locking Down Wordpress”
  • 29. Educación ● Libros – McGraw, “Software Security” – Howard, Lipner, “The Security Development Lifecycle” – Shostack, “Threat Modeling” – Ristic, “Bulletproof SSL and TLS” – Howard, LeBlanc, Viega, “24 Sins of Software Security”
  • 30. Herramientas ● Configuración HTTPS – Qualys SSL Test (online) – Cipherscan (local) ● Scanneres de vulnerabilidades – OWASP ZAP – BURP Suite – W3AF – wpscan (Wordpress)
  • 31. Herramientas ● Analizadores de seguridad en código – Findbugs + Find Security Bugs (Java) – JSPrime (NodeJS y otros frameworks JS) – Brakeman (Rails) – FXCop (.NET, desactualizada) – PHP Code Sniffer + phpcs-security-audit