ianaya89

Security is not a feature!

🚨 πŸ’»


πŸ‡¦πŸ‡· Nacho Anaya

🐦 @ianaya89

Nacho Anaya


πŸ™‹β€β™€οΈπŸ™‹β€β™‚οΈ


"Hay dos tipos de empresas: aquellas que han sido hackeadas y aquellas que todavΓ­a no saben que han sido hackeadas"

John T. Chambers

πŸ€” Entender el problema


πŸ“Ή Zoom

tween anuncio de zoom 5


Competencia Despareja

🏎 ... πŸš—


πŸ“ˆ 3.5 Billones


https://www.informationisbeautiful.net/visualizations/worlds-biggest-data-breaches-hacks/


πŸ’Έ Perdida de Dinero


🀬 Perdida de Confianza


πŸ“š Cultura

  • πŸ™‡β€β™€οΈ CapacitaciΓ³n
  • πŸ““ Politicas
  • ⏱ Tiempo
  • πŸ’΅ Dinero

"Si gastas mas dinero en cafe que en Seguridad IT, vas a ser hackeado. En realidad, te mereces ser hackeado"

Richard A. Clarke

πŸ™‡β€β™€οΈ πŸ““ ⏱ πŸ’΅

Invertir!


πŸ‘€ Mirada SistΓ©mica


🐜 Vulnerabilidades


logo de heartbleed

Heartbleed

vulnerabilidades conocidas de SSL


πŸ“¦ TCP es complejo


HTTP/S - WebSockets - DNS - TCP - FTP - IPv4 - IPv6 - SSH- ASCII - IRC


🌎 Los navegadores tambien


HTML - CSS - JS


DOM - Geolocation - Multimedia - Fetch - Web Sockets - Storage


πŸ“ Entender la SoluciΓ³n


πŸ€·β€β™‚οΈ No hay soluciΓ³n perfecta


πŸ’ͺ Pero podemos prepararnos


πŸ™ Seguridad no es "nice to have"


πŸ‘Œ Seguridad por defecto


πŸ’£ Siempre, pero siempre...

Asumamos lo peor


🀝 Conocer tu Aplicación.


πŸšͺ Vectores de Entrada


Query String - URL Path - Request Body - Cookies - Request Headers - Form Fields - File Inputs - Emails - Web Socket - Browser Storage


⚠️ No confiar en los usuarios

boletas de partidos politicos


βœ… Checklist de Seguridad


🚨


πŸ”’ HTTPS

😏 2020


screenshot de let's encrypt


⬇️ Actualizar Versiones

  • Node.js (12.18.0 LTS)
  • npm (6.14.4)
  • express (4.17.1)

πŸ“¦ Actualizar Dependencias


πŸ”¦ Linter

eslint-plugin-security


πŸ’‰ SQL / No-SQL Injection


πŸ’‰ βœ… SQL / No-SQL Injection

  • Validar inputs en el SERVER
  • Sanitizar queries
  • Usar ORM / ODM

πŸ’‰ πŸ›  SQL / No-SQL Injection


🀞 XSS


ataque xss al muro de facebook


πŸ€žβœ… XSS

  • Validar inputs en el SERVER
  • "Encodear" output (HTML)
  • Secure Response Headers

🀞 πŸ’†β€β™€οΈ XSS Headers

- HSTS
- HPKP
- X-Frame-Options
- X-XSS-Protection
- X-Content-Type-Options
- Referrer-Policy
- Expect-CT
- Content-Security-Policy

Secure Headers


πŸ€žπŸ›  XSS


😡 DoS


😡 βœ… DoS

  • Rate limiting
  • Manejo de errores
  • "Crasheos" explΓ­citos
  • Validacion de Regex
  • Bloqueo de Usuarios / IP

😡 πŸ›  DoS


πŸ—‚ Sesiones & Tokens


πŸ—‚ βœ… Sesiones & Tokens

  • No exponer
  • Expirar
  • Blacklist o WhiteList
  • OAUTH - OpenID

πŸ—‚ πŸ›  Sesiones & Tokens


πŸ— Passwords


Screenshot time to crack

Time to crack


πŸ— βœ… Passwords

  • hash + salt (no usar crypto)
  • ContraseΓ±as fuertes (entropia)
  • MFA

πŸ— πŸ›  Passwords


πŸ— πŸ”“ Have I been pawned?

imagen de ejemplo de have I been pwned

https://haveibeenpwned.com


πŸ— πŸ”“ Have I been pawned?

imagen de ejemplo de have I been pwned

https://haveibeenpwned.com


πŸ— πŸ”“ Have I been pawned?

API & DB

lista de DB de have I been pwned


😢 Dev Passwords & Secrets

  • CI
  • Dev Tools
  • Cloud
  • Keys - Tokens - Secrets

😢 βœ… Dev Passwords & Secrets


πŸͺ Cookies


πŸͺ 🚩 Cookies Flags

  • httpOnly
  • secure
  • SameSite

πŸͺ ↩️ Cookies Scoping

  • domain
  • path
  • expires

πŸ—ƒ Logging & Monitoring


πŸ—ƒ πŸ›  Logging & Monitoring


πŸ—ƒ πŸ›  Logging & Monitoring


πŸ’³ Exponer InformaciΓ³n Sensible


gif de persona diciendo que no


πŸ’³ βœ… Exponer InformaciΓ³n Sensible

Simplemente no!


gif chico haciendo ok


πŸ“» OWASP Top 10

owasp.org


πŸ€“ Recursos


πŸŽ’ Take Away


cadena debil


✌️ Crear una cultura de seguridad


πŸ‘€


πŸ‘ Gracias!

πŸ‘‡ Preguntas?

🐦 @ianaya89