developers: ignorance is... bliss?

Download Developers: Ignorance is... bliss?

Post on 06-Apr-2017

361 views

Category:

Technology

3 download

Embed Size (px)

TRANSCRIPT

  • Developers: Ignorance is bliss?Cristin Rojas, CSSLP

    CLCERT Universidad de Chile

  • About: Cristin Rojas Ingeniero Civil en

    Computacin y Tesista MSc-CS DCC-UCHILE

    Mltiples 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

  • Violacin del principio de privilegio mnimo

    Abuso de permisos en apps mviles Si tu app es para iluminar con el flash de la

    cmara necesitas permisos para acceder a contactos, GPS, SMS, etc?

    GRANT ALL PRIVILEGES ON my_db to user;

  • Cdigo de Debugging/Logging Abandonado

    phpinfo.php Cdigo TRACE

    abandonado Builds generados en

    modo Debug Exceso de logging

    A veces con informacin sensible

  • I want your SK now, Mr. Anderson.

    SHA1

    RC4

    Mala configuracin SSL/TLS

  • Mal uso de cifrado en Reposo ENCRYPT ALL THE THINGS!!! Ya, pero

    Qu tipo de encriptacin vas a usar? Qu llave de cifrado?

    Hardcodeadas Basadas en informacin fcil de obtener

    Algoritmos criptogrficos tejidos en casa Super-encriptacin

  • base64(md5(AES-ECB(data, DEVICE_ID)))

  • Mal almacenamiento de Passwords Almacenamiento de

    claves usando: Texto plano Hashes MD5 Sin sal criptogrfica

    No conocen los KDF PBKDF2 BCrypt

    @cadcc

  • Exceso de confianza en secretos Ocultamiento de

    versiones de servidores

    Uso de medidas anti-ingeniera reversa

    Eso realmente hace ms segura tu aplicacin?

    Easy money!

    Terminator 2, Tristar, 1991

  • Exceso de confianza en herramientas

    Frameworks Ej. Ruby on Rails, Django, NodeJS, Android SDK,

    iOS SDK, etc... Tienen documentacin 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 cariito de vez en cuando? Eduardo Bonvallet, 1955-2015

  • Exceso de confianza en herramientas

    Paneles de Control Ej. CPanel,

    PHPMyAdmin Clsicos en servicios

    de hosting Excesiva cantidad de

    privilegios A menudo en

    entornos HTTP sin proteccin

  • Exceso de confianza en herramientas

    Usemos este scanner de vulnerabilidades (muy caro, dicho sea de paso) Saben cmo accionar las vulnerabilidades que

    reporta? Saben cmo reconocer falsos positivos? Son seguros para escanear ambientes de

    produccin?

    La seguridad es algo que hay que pensar

  • Por qu los buenos desarrolladores hacemos

    cdigo inseguro?

  • Factores Tcnicos El todo es ms que

    la suma de sus partes (NOT!) Ms que

    desarrollando, armando Legos

    Hay fallas que surgen espontneamente Por qu?

  • Factores psicolgicos Programar es una actividad difcil y

    frustrante Nunca debemos confiar ciegamente en el

    cdigo de otro (ahora... anda a que alguien llegue a desconfiar del de uno)

    Nosotros descansamos en la abstraccin... los chicos malos se fijan en los detalles

  • Factores del mundo real La fuente de nuestro

    cdigo fuente El desarrollo de

    software es cada da ms democrtico

    La presin de producir, producir, producir Y seguridad, cundo?

  • Factores del mundo real Cundo dejarn de vendernos esta

    porquera? Cuando Ustedes dejen de comprarla

    Muchas compaas 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 documentacin?

  • Requisitos Diseo Implementacin Pruebas Operacin

    1X 1X7X

    15X

    100X

    IBM Systems Sciences Institute, Implementing Software Inspections

  • Qu podemos hacer?

  • Big Data

    Cloud Computing

    Mobile

    Web 2.0, 3.0, 4.

    Visualizacin

    Sistemas recomendadores

    Agile/Lean

  • Educacin Cursos?

    CC5315 (DCC-UCHILE) Taller de Seguridad Web (SPECT-UTFSM) NeoSecure: Seguridad de Aplicaciones Web Algn otro?

    Certificaciones? Certified Secure Software Lifecycle Professional (ISC2

    CSSLP) Certified Software Development Professional (CSDP)

  • Educacin Documentacin (disponible libremente)

    OWASP (Open Web Application Security Project) OWASP Top 10 2013 Mltiple documentacin online

    BSIMM-V (Build Security In Maturity Model) NowSecure: 42+ Best Practices for Secure iOS

    and Android Development CodePoet, Locking Down Wordpress

  • Educacin 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 Configuracin HTTPS

    Qualys SSL Test (online) Cipherscan (local)

    Scanneres de vulnerabilidades OWASP ZAP BURP Suite W3AF wpscan (Wordpress)

  • Herramientas Analizadores de seguridad en cdigo

    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

Recommended

View more >