SlideShare ist ein Scribd-Unternehmen logo
1 von 53
Downloaden Sie, um offline zu lesen
René Olivo
Santo Domingo
28 Mayo 2015
En las Aplicaciones Web
y el Comercio Electrónico
Seguridad
● Definiciones.
● Mitos de seguridad.
● Como documentarse.
● Como analizar tu website.
● NodeGoat.
● Recomendaciones.
Temas
Seguridad
- Es relativa. Será tan efectiva como el valor
de lo que se quiere proteger.
- Incluye a todos los componentes que
integran el sistema (hardware, software,
personas, etc.).
- Es un estado temporal. Debe reevaluarse
periodicamente.
Source: The Protection of Information in Computer Systems. – Jeromoe Saltzer & Michael Schroeder.
Mito
Seguridad por oscuridad.
Mito
Seguridad por oscuridad.
Debil contra ataques como Brute-Force, Dictionary y
Crawling.
Mito
Las claves necesitan números, símbolos y
mayúsculas para ser seguras.
Mito
Las claves necesitan números, símbolos y
mayúsculas para ser seguras.
"durante 20 años de esfuerzo, hemos entrenado a todo el mundo a usar claves
que son difíciles de recordar para los humanos y fáciles de adivinar para las
computadoras"
- XKCD
Mito
Mi sitio es seguro porque usa HTTPS.
Mito
Usar un framework (o un lenguaje) hace que mi
aplicación sea segura.
Mito
Usar un framework (o un lenguaje) hace que mi
aplicación sea segura.
Ing. Lead Programador Senior
Data Breach
Investigation Report
(DBIR)
http://www.verizonenterprise.com/DBIR/
Cómo documentarse?
PCI Compliance
Guide
https://www.pcicomplianceguide.org/
Cómo documentarse?
Open Web Application
Security Project
(OWASP)
http://owasp.org
Cómo documentarse?
OWASP Top 10
1. Ataques de Inyección.
2. Problemas de autenticación y manejo de sesiones.
3. Cross-Site Scripting (XSS).
4. Accesos a recursos no autorizados.
5. Mala configuración de servicios.
6. Data sensible expuesta.
7. Uso no autorizado de funcionalidades.
8. Cross-Site Request Forgery.
9. Uso de componentes con vulnerabilidades conocidas.
10. Redireccionamientos no validados.
OWASP Top 10
1. Ataques de Inyección.
2. Problemas de autenticación y manejo de sesiones.
3. Cross-Site Scripting (XSS).
4. Accesos a recursos no autorizados.
5. Mala configuración de servicios.
6. Data sensible expuesta.
7. Uso no autorizado de funcionalidades.
8. Cross-Site Request Forgery.
9. Uso de componentes con vulnerabilidades conocidas.
10. Redireccionamientos no validados.
Validación!
Validación
!
Validación!
1. Inyección
1. Inyección
3. XSS
Demo Time!
http://localhost:4000
No intentes sanear la data
No intentes sanear la data
No intentes sanear la data
No intentes sanear la data
8. CSRF
8. CSRF
Demo Time!
http://localhost:3000
8. CSRF
Crea un token por cada request y validalo
2. Mal manejo de la autenticación
● Arregla problemas de XSS, Inyección,
validación, etc.
● Usa HTTPS.
● Usa HTTP-Only y expira las cookies en un
tiempo prudente.
● Cuando el usuario haga login, dale un
session ID nuevo. (Session Fixation)
OWASP Top 10 en R.D.
5. Mala configuración de servicios.
6. Data sensible expuesta.
9. Uso de componentes con vulnerabilidades conocidas.
0. Mal manejo de subida de archivos (defacement)
9. componentes vulnerables
Guardando información
Confidencial
Disclaimer!
PCI Compliance
Operador
Chrome
Servidor
Público
Servidor
Privado
USB
Certificados
Cliente
Servidor
Administrativo
Servidor
Público
Cliente
1. El cliente envía el dato confidencial por HTTPS
Más información: https://www.pcicomplianceguide.org/pci-dss-v3-1-and-ssl-what-you-should-do-now/
2. El servidor público encripta la información de la
tarjeta usando el certificado público.
Servidor
Público
Más información: https://github.com/quartzjer/ursa
3. El servidor público envía los datos del usuario y la
información encriptada al servidor privado.
DATA: {
idUsuario:
tarjeta:
}
Servidor
Público
Servidor
Privado
Nota: El servidor público solo tiene acceso de escritura al servidor privado
Más información: http://www.noelherrick.com/blog/creating-users-granting-permissions-in-mysql
4. El Operador accesa el Servidor Administrativo.
Operador
Servidor
Administrativo
DATA: {
usuario: ******
clave: ********
}
5. El Servidor Administrativo genera un token aleatorio
y lo encripta usando el Certificado Público.
Servidor
Administrativo
6. El Servidor Administrativo envía el token encriptado
al operador.
Operador
Servidor
Administrativo
7. El Operador espera a Chrome que Chrome busque
los certificados en un dispositivo externo.
Más información: https://developer.chrome.com/apps/app_usb
Operador
Chrome
USB
Certificados
8. Chrome usa el Certificado Privado para desencriptar
el token.
Más información: https://www.chromium.org/administrators/certificate-management-extension-api-on-chrome-
os
Chrome
9. El Operador envía el token desencriptado al Servidor
Administrativo.
Operador
Servidor
Administrativo
10. El Servidor Administrativo compara los tokens y
pide la información privada de un usuario específico al
servidor privado.
Servidor
Administrativo Servidor
Privado
DATA: {
idUsuario:
}
11. El Servidor Privado responde con la información
necesaria y el Servidor Administrativo la pasa al
Operador.
Servidor
Administrativo
Servidor
Privado
Operador
DATA: {
idUsuario:
tarjeta:
}
12. Chrome desencripta la información privada usando
el Certificado Privado.
Chrome
13. El Operador recive la Información Privada
desencriptada y realiza la transacción deseada.
Operador
Chrome
Analizando vulnerabilidades
Estudiando el protocolo HTTP.
Analizando vulnerabilidades
Herramientas de prueba de vulnerabilidades.
OWASP ZAP
(Open Source)
ACUNETIX
(Comercial)
PhantomJS
(Open Source, Manual)
Recomendaciones
● Documentarse bien sobre el tema.
● Minimizar el uso de componentes externos
de poca confianza.
● Usar solo los servicios necesarios.
● Implementar Unit Testings.
Seguridad en Aplicaciones Web y Comercio Electrónico

Weitere ähnliche Inhalte

Andere mochten auch

Introducciòn a RequireJS
Introducciòn a RequireJSIntroducciòn a RequireJS
Introducciòn a RequireJSRené Olivo
 
Pagos electrónicos
Pagos electrónicosPagos electrónicos
Pagos electrónicosRené Olivo
 
How to code in the XXI century without losing your head
How to code in the XXI century without losing your headHow to code in the XXI century without losing your head
How to code in the XXI century without losing your headRené Olivo
 
How to Effectively Secure your Assets
How to Effectively Secure your AssetsHow to Effectively Secure your Assets
How to Effectively Secure your Assetsglobaledit®
 
Principles of secure system design
Principles of secure system designPrinciples of secure system design
Principles of secure system designJohn Scrimsher
 
Embedded Systems Security: Building a More Secure Device
Embedded Systems Security: Building a More Secure DeviceEmbedded Systems Security: Building a More Secure Device
Embedded Systems Security: Building a More Secure DevicePriyanka Aash
 
Usabiltyvs Security Case study of SmartPhone OS
Usabiltyvs Security Case study of SmartPhone OSUsabiltyvs Security Case study of SmartPhone OS
Usabiltyvs Security Case study of SmartPhone OSRajiv Ranjan Singh
 
TUD CS4105 | 2015 | Lecture 1
TUD CS4105 | 2015 | Lecture 1TUD CS4105 | 2015 | Lecture 1
TUD CS4105 | 2015 | Lecture 1Eelco Visser
 
Security Training: #1 What Actually a Security Is?
Security Training: #1 What Actually a Security Is?Security Training: #1 What Actually a Security Is?
Security Training: #1 What Actually a Security Is?Yulian Slobodyan
 
Resolución de Prueba Lucila Zamora
Resolución de Prueba Lucila ZamoraResolución de Prueba Lucila Zamora
Resolución de Prueba Lucila Zamoraluly-z
 
salidas profesionales
salidas profesionales salidas profesionales
salidas profesionales ANYZURITA
 
Paseo por microsft word
Paseo por microsft wordPaseo por microsft word
Paseo por microsft wordalejixx14
 
Automatisation de la cartographie et de l'analyse des données de comptage de ...
Automatisation de la cartographie et de l'analyse des données de comptage de ...Automatisation de la cartographie et de l'analyse des données de comptage de ...
Automatisation de la cartographie et de l'analyse des données de comptage de ...Intelli³
 
Invitation à la danse
Invitation à la danseInvitation à la danse
Invitation à la danseehnee
 

Andere mochten auch (20)

BDD UI testing
BDD UI testingBDD UI testing
BDD UI testing
 
Introducciòn a RequireJS
Introducciòn a RequireJSIntroducciòn a RequireJS
Introducciòn a RequireJS
 
Emacscript 6
Emacscript 6Emacscript 6
Emacscript 6
 
Pagos electrónicos
Pagos electrónicosPagos electrónicos
Pagos electrónicos
 
How to code in the XXI century without losing your head
How to code in the XXI century without losing your headHow to code in the XXI century without losing your head
How to code in the XXI century without losing your head
 
Seguridad WiFi
Seguridad WiFiSeguridad WiFi
Seguridad WiFi
 
How to Effectively Secure your Assets
How to Effectively Secure your AssetsHow to Effectively Secure your Assets
How to Effectively Secure your Assets
 
Principles of secure system design
Principles of secure system designPrinciples of secure system design
Principles of secure system design
 
Embedded Systems Security: Building a More Secure Device
Embedded Systems Security: Building a More Secure DeviceEmbedded Systems Security: Building a More Secure Device
Embedded Systems Security: Building a More Secure Device
 
Usabiltyvs Security Case study of SmartPhone OS
Usabiltyvs Security Case study of SmartPhone OSUsabiltyvs Security Case study of SmartPhone OS
Usabiltyvs Security Case study of SmartPhone OS
 
TUD CS4105 | 2015 | Lecture 1
TUD CS4105 | 2015 | Lecture 1TUD CS4105 | 2015 | Lecture 1
TUD CS4105 | 2015 | Lecture 1
 
Security Training: #1 What Actually a Security Is?
Security Training: #1 What Actually a Security Is?Security Training: #1 What Actually a Security Is?
Security Training: #1 What Actually a Security Is?
 
Contabilidad
ContabilidadContabilidad
Contabilidad
 
Resolución de Prueba Lucila Zamora
Resolución de Prueba Lucila ZamoraResolución de Prueba Lucila Zamora
Resolución de Prueba Lucila Zamora
 
salidas profesionales
salidas profesionales salidas profesionales
salidas profesionales
 
Paseo por microsft word
Paseo por microsft wordPaseo por microsft word
Paseo por microsft word
 
03 t b-internet2
03 t b-internet203 t b-internet2
03 t b-internet2
 
Amifête1º ESOA
Amifête1º ESOAAmifête1º ESOA
Amifête1º ESOA
 
Automatisation de la cartographie et de l'analyse des données de comptage de ...
Automatisation de la cartographie et de l'analyse des données de comptage de ...Automatisation de la cartographie et de l'analyse des données de comptage de ...
Automatisation de la cartographie et de l'analyse des données de comptage de ...
 
Invitation à la danse
Invitation à la danseInvitation à la danse
Invitation à la danse
 

Ähnlich wie Seguridad en Aplicaciones Web y Comercio Electrónico

Protegiendo los secretos de tus aplicaciones con Azure Key Vault
Protegiendo los secretos de tus aplicaciones con Azure Key VaultProtegiendo los secretos de tus aplicaciones con Azure Key Vault
Protegiendo los secretos de tus aplicaciones con Azure Key VaultLuis Beltran
 
Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1Andrés Gómez
 
Colombia Bootcamp Azure Key Vault.pptx
Colombia Bootcamp Azure Key Vault.pptxColombia Bootcamp Azure Key Vault.pptx
Colombia Bootcamp Azure Key Vault.pptxLuis Beltran
 
Certificados digitales
Certificados digitalesCertificados digitales
Certificados digitalesTensor
 
Seguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPSeguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPMarcos Harasimowicz
 
Hack & beers lleida seguridad en desarrollo fullstack
Hack & beers lleida   seguridad en desarrollo fullstackHack & beers lleida   seguridad en desarrollo fullstack
Hack & beers lleida seguridad en desarrollo fullstackMarc Pàmpols
 
Seguridad de información para criptoactivos
Seguridad de información para criptoactivosSeguridad de información para criptoactivos
Seguridad de información para criptoactivosEudy Zerpa
 
Seguridad web
Seguridad webSeguridad web
Seguridad webcamposer
 
Los 7 pecados del Desarrollo Web
Los 7 pecados del Desarrollo WebLos 7 pecados del Desarrollo Web
Los 7 pecados del Desarrollo Webacksec
 
Ey ciber seg uah 2016 freewifi
Ey ciber seg uah 2016   freewifiEy ciber seg uah 2016   freewifi
Ey ciber seg uah 2016 freewifiWiktor Nykiel ✔
 
Vulnerabilidades en Aplicaciones Web PHP
Vulnerabilidades en Aplicaciones Web PHPVulnerabilidades en Aplicaciones Web PHP
Vulnerabilidades en Aplicaciones Web PHPMoises Silva
 
Desarrollo seguro en NodeJS (OWASP top ten y JWT)
Desarrollo seguro en NodeJS (OWASP top ten y JWT)Desarrollo seguro en NodeJS (OWASP top ten y JWT)
Desarrollo seguro en NodeJS (OWASP top ten y JWT)Raúl Requero García
 
Cómo realizar un test de intrusión a una aplicación Web
Cómo realizar un test de intrusión a una aplicación WebCómo realizar un test de intrusión a una aplicación Web
Cómo realizar un test de intrusión a una aplicación WebEduardo Jalon
 
Los 10 principales riesgos en aplicaciones web #CPMX5
Los 10 principales riesgos en aplicaciones web #CPMX5Los 10 principales riesgos en aplicaciones web #CPMX5
Los 10 principales riesgos en aplicaciones web #CPMX5SemanticWebBuilder
 
Owasp top 10 2017
Owasp top 10 2017Owasp top 10 2017
Owasp top 10 2017yopablo
 

Ähnlich wie Seguridad en Aplicaciones Web y Comercio Electrónico (20)

Protegiendo los secretos de tus aplicaciones con Azure Key Vault
Protegiendo los secretos de tus aplicaciones con Azure Key VaultProtegiendo los secretos de tus aplicaciones con Azure Key Vault
Protegiendo los secretos de tus aplicaciones con Azure Key Vault
 
Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1
 
Colombia Bootcamp Azure Key Vault.pptx
Colombia Bootcamp Azure Key Vault.pptxColombia Bootcamp Azure Key Vault.pptx
Colombia Bootcamp Azure Key Vault.pptx
 
Certificados digitales
Certificados digitalesCertificados digitales
Certificados digitales
 
Seguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPSeguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASP
 
Hack & beers lleida seguridad en desarrollo fullstack
Hack & beers lleida   seguridad en desarrollo fullstackHack & beers lleida   seguridad en desarrollo fullstack
Hack & beers lleida seguridad en desarrollo fullstack
 
Seguridad de información para criptoactivos
Seguridad de información para criptoactivosSeguridad de información para criptoactivos
Seguridad de información para criptoactivos
 
Respuestas
RespuestasRespuestas
Respuestas
 
Seguridad web
Seguridad webSeguridad web
Seguridad web
 
Los 7 pecados del Desarrollo Web
Los 7 pecados del Desarrollo WebLos 7 pecados del Desarrollo Web
Los 7 pecados del Desarrollo Web
 
Ey ciber seg uah 2016 freewifi
Ey ciber seg uah 2016   freewifiEy ciber seg uah 2016   freewifi
Ey ciber seg uah 2016 freewifi
 
Vulnerabilidades en Aplicaciones Web PHP
Vulnerabilidades en Aplicaciones Web PHPVulnerabilidades en Aplicaciones Web PHP
Vulnerabilidades en Aplicaciones Web PHP
 
Desarrollo seguro en NodeJS (OWASP top ten y JWT)
Desarrollo seguro en NodeJS (OWASP top ten y JWT)Desarrollo seguro en NodeJS (OWASP top ten y JWT)
Desarrollo seguro en NodeJS (OWASP top ten y JWT)
 
Cómo realizar un test de intrusión a una aplicación Web
Cómo realizar un test de intrusión a una aplicación WebCómo realizar un test de intrusión a una aplicación Web
Cómo realizar un test de intrusión a una aplicación Web
 
Recomendaciones de seguridad informática
Recomendaciones de seguridad informáticaRecomendaciones de seguridad informática
Recomendaciones de seguridad informática
 
Los 10 principales riesgos en aplicaciones web #CPMX5
Los 10 principales riesgos en aplicaciones web #CPMX5Los 10 principales riesgos en aplicaciones web #CPMX5
Los 10 principales riesgos en aplicaciones web #CPMX5
 
Owasp top 10 2017
Owasp top 10 2017Owasp top 10 2017
Owasp top 10 2017
 
Seguridad j1v2
Seguridad   j1v2Seguridad   j1v2
Seguridad j1v2
 
Owasp proyecto
Owasp proyectoOwasp proyecto
Owasp proyecto
 
Temas owasp
Temas owaspTemas owasp
Temas owasp
 

Mehr von René Olivo

Implementing bootstrap the right way using less (1)
Implementing bootstrap the right way using less (1)Implementing bootstrap the right way using less (1)
Implementing bootstrap the right way using less (1)René Olivo
 
Usando Bootstrap correctamente con LESS
Usando Bootstrap correctamente con LESSUsando Bootstrap correctamente con LESS
Usando Bootstrap correctamente con LESSRené Olivo
 
Introducciòn a AngularJS
Introducciòn a AngularJSIntroducciòn a AngularJS
Introducciòn a AngularJSRené Olivo
 
Comercio Electrónico en la República Dominicana
Comercio Electrónico en la República DominicanaComercio Electrónico en la República Dominicana
Comercio Electrónico en la República DominicanaRené Olivo
 

Mehr von René Olivo (7)

Implementing bootstrap the right way using less (1)
Implementing bootstrap the right way using less (1)Implementing bootstrap the right way using less (1)
Implementing bootstrap the right way using less (1)
 
Usando Bootstrap correctamente con LESS
Usando Bootstrap correctamente con LESSUsando Bootstrap correctamente con LESS
Usando Bootstrap correctamente con LESS
 
Git 101
Git 101Git 101
Git 101
 
Git workflow v2
Git workflow  v2Git workflow  v2
Git workflow v2
 
Git workflow
Git workflowGit workflow
Git workflow
 
Introducciòn a AngularJS
Introducciòn a AngularJSIntroducciòn a AngularJS
Introducciòn a AngularJS
 
Comercio Electrónico en la República Dominicana
Comercio Electrónico en la República DominicanaComercio Electrónico en la República Dominicana
Comercio Electrónico en la República Dominicana
 

Seguridad en Aplicaciones Web y Comercio Electrónico