SlideShare uma empresa Scribd logo
1 de 40
Las presentaciones El tiempo total de las presentaciones es de 1 hora y 15 minutos. Sugerimos presentaciones de 60 minutos, dejando 5-10 minutos finales para preguntas y discusión La puntualidadesmuyimportantepara el orden del evento. Solicitamospuntualidad en el comienzo y cierre de laspresentaciones. En www.codecamp.com.ar subiremos las PPT del evento. Le solicitamos nos envíe esta presentación una vez completa a: v-anasau@microsoft.com
b1010 formas de escribir código (in)seguro  Lic. CristianBorghello, CISSP - MVP Director Segu-Info info@segu-info.com.ar
Licencia de uso:CreativeCommons 2.5  Ud. puede: ,[object Object]
Hacer obras derivadasBajo las siguientes condiciones: 	Atribución. Debe atribuir la obra en la forma especificada por el autor 	No Comercial. No puede usar esta obra con fines comerciales.  	Compartir Obras Derivadas Igual. Si altera, transforma, o crea sobre esta obra, sólo podrá distribuir la obra derivada resultante bajo una licencia idéntica a ésta. http://creativecommons.org/licenses/by-nc-sa/2.5/ar/
Temario Riesgo Redes externas vs internas Bugs “simples” Validación de archivos XSS y SQL Injection Cookies Control en producción Conclusiones
Palabras de dudosa credibilidad... ¡El Cray es tanrápido que puede ejecutar un bucle infinito en menosde 2 segundos!
Cuando hablamos de Seguridad, en realidad ¿de qué hablamos? R I E S G O
Diseño Falla o Vuln. Costo< Ganancia Explotable SI SI SI Existe amenaza NO NO NO “Sin riesgo” SI Riesgo inaceptable Riesgo (simplificado)
Superficie de ataque Remoto Restringido Local Administradores UsuariosAutenticados Anónimos
Daño: cuan grande será el daño Reproducción: cuan fácil es reproducir el ataque Explotación: cuan fácil es lanzar el ataque Afectados: cuantos usuarios serán afectados Descubrimiento: cuan fácil es encontrar la vulnerabilidad Modelo de amenazas http://www.microsoft.com/sdl
Redes Internas vs Externas Si sólo personal interno conoce el acceso, entonces nadie podrá acceder desde el exterior Se ingresa a Intranet, sitios de backend o de administración a través de URL públicas Problemas asociados: El enemigo interno y el abuso de conocimiento El descubrimiento “fortuito” de personal externo
Redes Internas vs Externas
Bugs ”simples” Encontramos un pequeño bug que podríamos resolver en un momento pero nos llevaría más tiempo implementarlo en producción que arreglarlo,así que… lo dejamos así, total funciona
Bugs ”simples” Resolvemos el bug y realizamos una vaga descripción de la resolución porque resulta demasiado complicado explicarlo No detallamos los pasos para reproducir el error porque son triviales o muy complicados
Bugs “solucionado”
Validación de archivos Cargo los archivos en forma dinámica en tiempo de ejecución. ¡Qué buena idea! Falta de validación de archivos incluidos o subidos permiten la ejecución de los mismos en el servidor local o remoto Se debevalidar y rechazarcualquiertipo de archivo MIME no permitido
RFI y LFI
Inyección de archivos
“Validación” al subir archivos
Evitar RFI y LFI UrlScanpordefectobloquea: exe, bat, cmd, com, htw, ida, idq, htr, idc, printer, ini, pol, dat, etc. En PHP se puedeutilizarMod_Security y/o Sushosin Todaslasvalidaciones se debenrealizar en ambos lados:cliente y servidor
XSS – Cross-Site Script Ejecución de código no validadoen el cliente a través de la inyección del mismopordiversosmétodos
Las galletitas
Las galletitas Programar, comer y beber ¡That’slife! Las cookiespueden ser obtenidasdesde el cliente a través de scriptssencillos y a través de ataques XSS Si el browsersoportaHTTP-Only, se puedebloquear la lectura y escritura de lascookies en el cliente
XSS y Phishing
Control de Cookies Controlar la información en lascookies Implementar HTTP-Only Sin HTTP-Only Con HTTP-Only
Navegadores con HTTP-Only http://www.owasp.org/
Cross DomainRequest Los archivos no alcanzaron así que cargamos img, frames, forms, CSS, JS, etc. desde múltiples dominios Cross-site HTTP requests: solicitudes HTTP que se realizandesdediferentesdominios La W3C ha propuesto un nuevo estándar para controlar el Cross DomainRequest Todos los navegadores lo soportan excepto Opera (por ahora)
X-FrameOrigin Frame
RIA: Rich Internet Applications Las aplicaciones no se validan porque no tienen vulnerabilidades, o las mismas no pueden explotarse
Dos políticas a implementar Mismoorigen:si dos sitioscomparten el mismo [protocolo:puerto] entoncestienen el mismoorigenPuede ser utilizadopararestringir la ejecuciónsólodesdedominiosválidos SandBox: la ejecución se realiza en un entornocontrolado y no se accede a recursosque no hansidoespecíficamenteautorizadosLos procesos son considerados de “bajaintegridad” y no puedenacceder a procesos de integridad mayor (MIC y UIPI)
URL Redirect Para controlar los “abandonos”de mi sitio, redirecciono a sitios externos mediante un script
Bad URL Redirect
Control de URL Registrar y administrarlas URL del sitio ¿Yadijequelasvalidaciones se debenhacer de ambos lados?
Control de URL y Salt Ponele SALT a tu vida Intentarutilizar HMAC paragenerardatoscodificados y checksum en información sensible
SQL Injection
SQL Injection Creoqueya lo dije: lasvalidaciones se debenhacer de ambos lados
Testing en producción El testing es rápido así que lo realizamos en el servidor productivo El desarrollo y el testingdebenrealizarse en servidores != producción
Conclusiones y pasos a aplicar Asumir que cualquier entrada es maliciosa Validar todas las entradas Validar todas las salidas Codificar cada entrada y salida Utilizar aplicaciones para validación  Validar permisos de la aplicación y sus usuarios
Finalmente: mi preferida Sin palabras… 

Mais conteúdo relacionado

Mais procurados

Estudio comparativo de PHP, ASP.NET Y JAVA
Estudio comparativo de PHP, ASP.NET Y JAVAEstudio comparativo de PHP, ASP.NET Y JAVA
Estudio comparativo de PHP, ASP.NET Y JAVA
Helmilpa
 
Introducción a ASPNET vNext
Introducción a ASPNET vNextIntroducción a ASPNET vNext
Introducción a ASPNET vNext
Julito Avellaneda
 

Mais procurados (17)

Estudio comparativo de PHP, ASP.NET Y JAVA
Estudio comparativo de PHP, ASP.NET Y JAVAEstudio comparativo de PHP, ASP.NET Y JAVA
Estudio comparativo de PHP, ASP.NET Y JAVA
 
Www jmgvirtualconsulting com_producto_vmware_vsphere_icm_ins
Www jmgvirtualconsulting com_producto_vmware_vsphere_icm_insWww jmgvirtualconsulting com_producto_vmware_vsphere_icm_ins
Www jmgvirtualconsulting com_producto_vmware_vsphere_icm_ins
 
Presentacion de Red5
Presentacion de Red5Presentacion de Red5
Presentacion de Red5
 
Mapa conceptual de los servidores Apache y IIS
Mapa conceptual de los servidores Apache y IISMapa conceptual de los servidores Apache y IIS
Mapa conceptual de los servidores Apache y IIS
 
Symfony
SymfonySymfony
Symfony
 
Symfony
SymfonySymfony
Symfony
 
Presentacion Impess Cms Juan Miranda Berenguel
Presentacion Impess Cms Juan Miranda BerenguelPresentacion Impess Cms Juan Miranda Berenguel
Presentacion Impess Cms Juan Miranda Berenguel
 
red5
red5red5
red5
 
Introducción a ASPNET vNext
Introducción a ASPNET vNextIntroducción a ASPNET vNext
Introducción a ASPNET vNext
 
Los navegadores
Los navegadoresLos navegadores
Los navegadores
 
Instalación y Datos Básicos Sobre Dreamweaver
Instalación y Datos Básicos Sobre DreamweaverInstalación y Datos Básicos Sobre Dreamweaver
Instalación y Datos Básicos Sobre Dreamweaver
 
Dunia
DuniaDunia
Dunia
 
Dunia
DuniaDunia
Dunia
 
Symfony dagrinchi
Symfony dagrinchiSymfony dagrinchi
Symfony dagrinchi
 
Symfony
SymfonySymfony
Symfony
 
Dreamweaver
DreamweaverDreamweaver
Dreamweaver
 
Framework
FrameworkFramework
Framework
 

Destaque

El tutor en educación infantil y primaria
El tutor en educación infantil y primariaEl tutor en educación infantil y primaria
El tutor en educación infantil y primaria
Sergio Perez
 
Fiche de révision chap 2 svt
Fiche de révision chap 2 svtFiche de révision chap 2 svt
Fiche de révision chap 2 svt
Ahmad Nehme
 
La route des pharaons
La route des pharaonsLa route des pharaons
La route des pharaons
ARCHOUK
 
2010 03-05 powerpointapc
2010 03-05 powerpointapc2010 03-05 powerpointapc
2010 03-05 powerpointapc
Ricardo
 
CAPCOM les 5e rencontres de la communication numérique
CAPCOM les 5e rencontres de la communication numériqueCAPCOM les 5e rencontres de la communication numérique
CAPCOM les 5e rencontres de la communication numérique
Adverbia
 

Destaque (20)

Lipdub et image de marque d'une organisation
Lipdub et image de marque d'une organisationLipdub et image de marque d'une organisation
Lipdub et image de marque d'une organisation
 
El tutor en educación infantil y primaria
El tutor en educación infantil y primariaEl tutor en educación infantil y primaria
El tutor en educación infantil y primaria
 
Webinar Social Media 22-05
Webinar Social Media 22-05Webinar Social Media 22-05
Webinar Social Media 22-05
 
Les frotteurs
Les frotteursLes frotteurs
Les frotteurs
 
Fiche de révision chap 2 svt
Fiche de révision chap 2 svtFiche de révision chap 2 svt
Fiche de révision chap 2 svt
 
CGNC Maroc
CGNC MarocCGNC Maroc
CGNC Maroc
 
Bruits (Pp Tminimizer)
Bruits (Pp Tminimizer)Bruits (Pp Tminimizer)
Bruits (Pp Tminimizer)
 
Trabajo jornadas exilio m
Trabajo jornadas exilio mTrabajo jornadas exilio m
Trabajo jornadas exilio m
 
Dsi Meeting V3
Dsi Meeting V3Dsi Meeting V3
Dsi Meeting V3
 
Projet D\' organisation 2RSTIC
Projet D\' organisation 2RSTICProjet D\' organisation 2RSTIC
Projet D\' organisation 2RSTIC
 
Situacions DifíCils Camfic 11 De Febrer De 2009
Situacions DifíCils Camfic 11 De Febrer De 2009Situacions DifíCils Camfic 11 De Febrer De 2009
Situacions DifíCils Camfic 11 De Febrer De 2009
 
Acentuación
AcentuaciónAcentuación
Acentuación
 
Arenay Cafe
Arenay CafeArenay Cafe
Arenay Cafe
 
La route des pharaons
La route des pharaonsLa route des pharaons
La route des pharaons
 
2010 03-05 powerpointapc
2010 03-05 powerpointapc2010 03-05 powerpointapc
2010 03-05 powerpointapc
 
Mesa Redonda Barcelona Activa
Mesa Redonda Barcelona ActivaMesa Redonda Barcelona Activa
Mesa Redonda Barcelona Activa
 
Esteban
EstebanEsteban
Esteban
 
CAPCOM les 5e rencontres de la communication numérique
CAPCOM les 5e rencontres de la communication numériqueCAPCOM les 5e rencontres de la communication numérique
CAPCOM les 5e rencontres de la communication numérique
 
Mots Liste4
Mots Liste4Mots Liste4
Mots Liste4
 
MADE IN PERU
MADE IN PERUMADE IN PERU
MADE IN PERU
 

Semelhante a CodeCamp 2010 | Diez formas de escribir código (in)seguro

Samurai Web Testing Framework 2.0
Samurai Web Testing Framework 2.0Samurai Web Testing Framework 2.0
Samurai Web Testing Framework 2.0
Alonso Caballero
 
Seguridad en Aplicaciones Web
Seguridad en Aplicaciones WebSeguridad en Aplicaciones Web
Seguridad en Aplicaciones Web
Carlos Fernandez
 
Seguridad: Ataque Unicode Solución
Seguridad: Ataque Unicode SoluciónSeguridad: Ataque Unicode Solución
Seguridad: Ataque Unicode Solución
Francesc Perez
 

Semelhante a CodeCamp 2010 | Diez formas de escribir código (in)seguro (20)

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)
 
Racciatti Html Scripting Attacks
Racciatti Html Scripting AttacksRacciatti Html Scripting Attacks
Racciatti Html Scripting Attacks
 
Samurai Web Testing Framework 2.0
Samurai Web Testing Framework 2.0Samurai Web Testing Framework 2.0
Samurai Web Testing Framework 2.0
 
Pucela testingdays testing_en_php
Pucela testingdays testing_en_phpPucela testingdays testing_en_php
Pucela testingdays testing_en_php
 
Flash player security
Flash player securityFlash player security
Flash player security
 
Seguridad en Aplicaciones Web
Seguridad en Aplicaciones WebSeguridad en Aplicaciones Web
Seguridad en Aplicaciones Web
 
Dragonjarcon2015 - ¿Cómo programar aplicaciones seguras? por Paulino Calderon...
Dragonjarcon2015 - ¿Cómo programar aplicaciones seguras? por Paulino Calderon...Dragonjarcon2015 - ¿Cómo programar aplicaciones seguras? por Paulino Calderon...
Dragonjarcon2015 - ¿Cómo programar aplicaciones seguras? por Paulino Calderon...
 
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
 
Seguridad en el Desarrollo de Aplicaciones Web PHP
Seguridad en el Desarrollo de Aplicaciones Web PHPSeguridad en el Desarrollo de Aplicaciones Web PHP
Seguridad en el Desarrollo de Aplicaciones Web PHP
 
Web App Hacking and Penetration Testing - (RFI - LFI & RCE)
Web App Hacking and Penetration Testing - (RFI - LFI & RCE) Web App Hacking and Penetration Testing - (RFI - LFI & RCE)
Web App Hacking and Penetration Testing - (RFI - LFI & RCE)
 
Seguridad: Ataque Unicode Solución
Seguridad: Ataque Unicode SoluciónSeguridad: Ataque Unicode Solución
Seguridad: Ataque Unicode Solución
 
01 webinar caso_migracion_portalweb_v1.4.1-intix
01 webinar caso_migracion_portalweb_v1.4.1-intix01 webinar caso_migracion_portalweb_v1.4.1-intix
01 webinar caso_migracion_portalweb_v1.4.1-intix
 
WebAttack - Presentación
WebAttack - PresentaciónWebAttack - Presentación
WebAttack - Presentación
 
In seguridad de aplicaciones web
In seguridad de aplicaciones webIn seguridad de aplicaciones web
In seguridad de aplicaciones web
 
Web App Security, Ethical hacking for CodeCamp SDQ 5
Web App Security, Ethical hacking for CodeCamp SDQ 5Web App Security, Ethical hacking for CodeCamp SDQ 5
Web App Security, Ethical hacking for CodeCamp SDQ 5
 
Adentrándonos al Framework Symfony
Adentrándonos al  Framework SymfonyAdentrándonos al  Framework Symfony
Adentrándonos al Framework Symfony
 
Instalacion adobe dream weaver
Instalacion adobe dream weaverInstalacion adobe dream weaver
Instalacion adobe dream weaver
 
Bots más humanos con Alexa
Bots más humanos con AlexaBots más humanos con Alexa
Bots más humanos con Alexa
 
Desarrollo de aplicaciones web
Desarrollo de aplicaciones webDesarrollo de aplicaciones web
Desarrollo de aplicaciones web
 
Html5
Html5Html5
Html5
 

Mais de Microsoft Argentina y Uruguay [Official Space]

Mais de Microsoft Argentina y Uruguay [Official Space] (20)

CodeCamp 2010 | FBI- Fácil Business Intelligence
CodeCamp 2010 | FBI- Fácil Business IntelligenceCodeCamp 2010 | FBI- Fácil Business Intelligence
CodeCamp 2010 | FBI- Fácil Business Intelligence
 
CodeCamp 2010 | Productividad mas allá de la velocidad de tus dedos (cazzulin...
CodeCamp 2010 | Productividad mas allá de la velocidad de tus dedos (cazzulin...CodeCamp 2010 | Productividad mas allá de la velocidad de tus dedos (cazzulin...
CodeCamp 2010 | Productividad mas allá de la velocidad de tus dedos (cazzulin...
 
CodeCamp 2010 | Un paseo por WCF 4.0
CodeCamp 2010 | Un paseo por WCF 4.0CodeCamp 2010 | Un paseo por WCF 4.0
CodeCamp 2010 | Un paseo por WCF 4.0
 
CodeCamp 2010 | Desarrollo de videojuegos fuera de control
CodeCamp 2010 | Desarrollo de videojuegos fuera de controlCodeCamp 2010 | Desarrollo de videojuegos fuera de control
CodeCamp 2010 | Desarrollo de videojuegos fuera de control
 
CodeCamp 2010 | Recorriendo ocs 2010
CodeCamp 2010 | Recorriendo ocs 2010CodeCamp 2010 | Recorriendo ocs 2010
CodeCamp 2010 | Recorriendo ocs 2010
 
Novedades de vs 2010 y net 40
Novedades de vs 2010 y net 40Novedades de vs 2010 y net 40
Novedades de vs 2010 y net 40
 
Run 2 0 keynote azure
Run 2 0 keynote azureRun 2 0 keynote azure
Run 2 0 keynote azure
 
Run 20 Track SQL Server
Run 20 Track SQL ServerRun 20 Track SQL Server
Run 20 Track SQL Server
 
Run 20 programando sobre sharepoint 2010
Run 20 programando sobre sharepoint 2010Run 20 programando sobre sharepoint 2010
Run 20 programando sobre sharepoint 2010
 
(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0
(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0
(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0
 
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica
 
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Services 3
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Services 3(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Services 3
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Services 3
 
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Moss
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Moss(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Moss
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Moss
 
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Mapa De Ruta
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Mapa De Ruta(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Mapa De Ruta
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Mapa De Ruta
 
(27.05) MOSSCA Invita - Búsqueda empresarial 2
(27.05) MOSSCA Invita - Búsqueda empresarial 2(27.05) MOSSCA Invita - Búsqueda empresarial 2
(27.05) MOSSCA Invita - Búsqueda empresarial 2
 
(27.05) MOSSCA Invita - Búsqueda empresarial 1
(27.05) MOSSCA Invita - Búsqueda empresarial 1(27.05) MOSSCA Invita - Búsqueda empresarial 1
(27.05) MOSSCA Invita - Búsqueda empresarial 1
 
(25.03) RUN 09 - Sesiones Desarrollo - Azure Live
(25.03) RUN 09 - Sesiones Desarrollo - Azure Live(25.03) RUN 09 - Sesiones Desarrollo - Azure Live
(25.03) RUN 09 - Sesiones Desarrollo - Azure Live
 
(22.04.2009) Cumuy Presenta - Novedades en la plataforma de desarrollo .NET ...
(22.04.2009) Cumuy Presenta -  Novedades en la plataforma de desarrollo .NET ...(22.04.2009) Cumuy Presenta -  Novedades en la plataforma de desarrollo .NET ...
(22.04.2009) Cumuy Presenta - Novedades en la plataforma de desarrollo .NET ...
 
(25.03) RUN 09 - Sesiones Desarrollo - WPF Silverlight
(25.03) RUN 09 - Sesiones Desarrollo - WPF Silverlight(25.03) RUN 09 - Sesiones Desarrollo - WPF Silverlight
(25.03) RUN 09 - Sesiones Desarrollo - WPF Silverlight
 
(20.05.2009) Cumuy Presenta - Más tecnologías interesantes para conocer - PPT 2
(20.05.2009) Cumuy Presenta - Más tecnologías interesantes para conocer - PPT 2(20.05.2009) Cumuy Presenta - Más tecnologías interesantes para conocer - PPT 2
(20.05.2009) Cumuy Presenta - Más tecnologías interesantes para conocer - PPT 2
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Último (11)

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 

CodeCamp 2010 | Diez formas de escribir código (in)seguro

  • 1.
  • 2. Las presentaciones El tiempo total de las presentaciones es de 1 hora y 15 minutos. Sugerimos presentaciones de 60 minutos, dejando 5-10 minutos finales para preguntas y discusión La puntualidadesmuyimportantepara el orden del evento. Solicitamospuntualidad en el comienzo y cierre de laspresentaciones. En www.codecamp.com.ar subiremos las PPT del evento. Le solicitamos nos envíe esta presentación una vez completa a: v-anasau@microsoft.com
  • 3. b1010 formas de escribir código (in)seguro Lic. CristianBorghello, CISSP - MVP Director Segu-Info info@segu-info.com.ar
  • 4.
  • 5. Hacer obras derivadasBajo las siguientes condiciones: Atribución. Debe atribuir la obra en la forma especificada por el autor No Comercial. No puede usar esta obra con fines comerciales. Compartir Obras Derivadas Igual. Si altera, transforma, o crea sobre esta obra, sólo podrá distribuir la obra derivada resultante bajo una licencia idéntica a ésta. http://creativecommons.org/licenses/by-nc-sa/2.5/ar/
  • 6. Temario Riesgo Redes externas vs internas Bugs “simples” Validación de archivos XSS y SQL Injection Cookies Control en producción Conclusiones
  • 7. Palabras de dudosa credibilidad... ¡El Cray es tanrápido que puede ejecutar un bucle infinito en menosde 2 segundos!
  • 8. Cuando hablamos de Seguridad, en realidad ¿de qué hablamos? R I E S G O
  • 9. Diseño Falla o Vuln. Costo< Ganancia Explotable SI SI SI Existe amenaza NO NO NO “Sin riesgo” SI Riesgo inaceptable Riesgo (simplificado)
  • 10. Superficie de ataque Remoto Restringido Local Administradores UsuariosAutenticados Anónimos
  • 11. Daño: cuan grande será el daño Reproducción: cuan fácil es reproducir el ataque Explotación: cuan fácil es lanzar el ataque Afectados: cuantos usuarios serán afectados Descubrimiento: cuan fácil es encontrar la vulnerabilidad Modelo de amenazas http://www.microsoft.com/sdl
  • 12. Redes Internas vs Externas Si sólo personal interno conoce el acceso, entonces nadie podrá acceder desde el exterior Se ingresa a Intranet, sitios de backend o de administración a través de URL públicas Problemas asociados: El enemigo interno y el abuso de conocimiento El descubrimiento “fortuito” de personal externo
  • 13. Redes Internas vs Externas
  • 14. Bugs ”simples” Encontramos un pequeño bug que podríamos resolver en un momento pero nos llevaría más tiempo implementarlo en producción que arreglarlo,así que… lo dejamos así, total funciona
  • 15. Bugs ”simples” Resolvemos el bug y realizamos una vaga descripción de la resolución porque resulta demasiado complicado explicarlo No detallamos los pasos para reproducir el error porque son triviales o muy complicados
  • 17. Validación de archivos Cargo los archivos en forma dinámica en tiempo de ejecución. ¡Qué buena idea! Falta de validación de archivos incluidos o subidos permiten la ejecución de los mismos en el servidor local o remoto Se debevalidar y rechazarcualquiertipo de archivo MIME no permitido
  • 21. Evitar RFI y LFI UrlScanpordefectobloquea: exe, bat, cmd, com, htw, ida, idq, htr, idc, printer, ini, pol, dat, etc. En PHP se puedeutilizarMod_Security y/o Sushosin Todaslasvalidaciones se debenrealizar en ambos lados:cliente y servidor
  • 22. XSS – Cross-Site Script Ejecución de código no validadoen el cliente a través de la inyección del mismopordiversosmétodos
  • 24. Las galletitas Programar, comer y beber ¡That’slife! Las cookiespueden ser obtenidasdesde el cliente a través de scriptssencillos y a través de ataques XSS Si el browsersoportaHTTP-Only, se puedebloquear la lectura y escritura de lascookies en el cliente
  • 26. Control de Cookies Controlar la información en lascookies Implementar HTTP-Only Sin HTTP-Only Con HTTP-Only
  • 27. Navegadores con HTTP-Only http://www.owasp.org/
  • 28. Cross DomainRequest Los archivos no alcanzaron así que cargamos img, frames, forms, CSS, JS, etc. desde múltiples dominios Cross-site HTTP requests: solicitudes HTTP que se realizandesdediferentesdominios La W3C ha propuesto un nuevo estándar para controlar el Cross DomainRequest Todos los navegadores lo soportan excepto Opera (por ahora)
  • 30. RIA: Rich Internet Applications Las aplicaciones no se validan porque no tienen vulnerabilidades, o las mismas no pueden explotarse
  • 31. Dos políticas a implementar Mismoorigen:si dos sitioscomparten el mismo [protocolo:puerto] entoncestienen el mismoorigenPuede ser utilizadopararestringir la ejecuciónsólodesdedominiosválidos SandBox: la ejecución se realiza en un entornocontrolado y no se accede a recursosque no hansidoespecíficamenteautorizadosLos procesos son considerados de “bajaintegridad” y no puedenacceder a procesos de integridad mayor (MIC y UIPI)
  • 32. URL Redirect Para controlar los “abandonos”de mi sitio, redirecciono a sitios externos mediante un script
  • 34. Control de URL Registrar y administrarlas URL del sitio ¿Yadijequelasvalidaciones se debenhacer de ambos lados?
  • 35. Control de URL y Salt Ponele SALT a tu vida Intentarutilizar HMAC paragenerardatoscodificados y checksum en información sensible
  • 37. SQL Injection Creoqueya lo dije: lasvalidaciones se debenhacer de ambos lados
  • 38. Testing en producción El testing es rápido así que lo realizamos en el servidor productivo El desarrollo y el testingdebenrealizarse en servidores != producción
  • 39. Conclusiones y pasos a aplicar Asumir que cualquier entrada es maliciosa Validar todas las entradas Validar todas las salidas Codificar cada entrada y salida Utilizar aplicaciones para validación Validar permisos de la aplicación y sus usuarios
  • 40. Finalmente: mi preferida Sin palabras… 
  • 41. Referencias Microsoft Security Development Lifecycle v5http://bit.ly/9piMph Threat Analysis and Modeling (TAM) v3http://bit.ly/cTP0Uq FoundStone Free Toolshttp://bit.ly/aep4qs WebGoathttp://bit.ly/btPp9n Damn Vulnerable Web App (DVWA) http://bit.ly/9NeO8F WritingSecureCodehttp://amzn.to/aEytaE Sanitize HTMLhttp://bit.ly/b9fn0R URLScanhttp://bit.ly/aX8V4X Practical Windows Sandboxing (3 partes)http://bit.ly/adWAIW - http://bit.ly/cBgWW9 - http://bit.ly/9lSw97
  • 42. Preguntas Lic. CristianBorghello, CISSP - MVP info@segu-info.com.ar
  • 43. Participá del DEMOFEST Los mejores proyectos de las células Microsoft, los grupos de investigación de estudiantes, son seleccionados para participar en el espacio del DEMOFEST. ¡Conócelos!
  • 44. Necesitamos tu Feedback! Completá los FORM de avaluación que estarán en nuestra WEB: www.codecamp.com.ar Necesitamos de tu feedback para mejorar.
  • 45. © 2008 Microsoft Corporation. Todos los derechosreservados. Microsoft, Windows, Windows Vista y otrosnombres de producto son y pueden ser marcasregistradas y registros en EstadosUnidos y en otrospaíses. La informacióncontenida en el presenteessólopara fines informativos y representa la visión actual de Microsoft Corporation a la fecha de estapresentación. Debido a que Microsoft debe responder a lascambiantescondiciones del mercado, no se debeinterpretarcomo un compromisopor parte de Microsoft, y Microsoft no puedegarantizar la precisión de ningunainformaciónprovistadespués de la fecha de estapresentación. MICROSOFT NO OFRECE GARANTÍA ALGUNA, EXPRESA, IMPLÍCITA O DE LEY, RESPECTO A LA INFORMACIÓN EN ESTA PRESENTACIÓN.