Upload
fernando-tricas-garcia
View
2.316
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Dentro del Curso del Programa Oficial de Posgrado en Ingeniería Informática imparto con otros colegas una asignatura de Diseño de Aplicaciones Seguras (http://webdiis.unizar.es/~ftricas/Asignaturas/seguridadD/Home.html). Estas son las transparencias de la Introducción por si pueden servirle a alguien. Casi dos horas de clase. Son una actualización de las del curso pasado, que puse en: http://www.slideshare.net/fernand0/desarrollo-de-aplicaciones-segurias/
Citation preview
Curso: (62612) Diseno de aplicaciones seguras
Fernando Tricas Garcıa
Departamento de Informatica e Ingenierıa de SistemasUniversidad de Zaragoza
http://www.cps.unizar.es/~ftricas/
http://moodle.unizar.es/
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 1
Introduccion
Fernando Tricas Garcıa
Departamento de Informatica e Ingenierıa de SistemasUniversidad de Zaragoza
http://www.cps.unizar.es/~ftricas/
http://moodle.unizar.es/
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 2
Un ındice
I Introduccion
I Gestion de riesgos
I Seleccion de tecnologıas
I Codigo abierto o cerrado
I Principios
I Auditorıa de programas
I Desbordamiento de memoria
I Control de acceso
I Condiciones de carrera
I Aleatoriedad y determinismo
I Aplicacion de la criptografıa
I Gestion de la confianza yvalidacion de entradas
I Autentificacion con claves
I Seguridad en bases de datos
I Seguridad en el cliente
I En la web
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 3
Introduccion. Antes de empezar.
I Se invierte mucho tiempo, dinero y esfuerzo en seguridad anivel de red por la mala calidad de los programas.
I Algunas veces los cortafuegos, los sistemas de deteccion deintrusos (IDS) ayudan.
I Los programas malos son mucho mas abundantes de lo quecreemos.
I La forma de desarrollar los programas es responsable en granmedida del problema.
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 4
Cifras
I El 30 % de los proyectos en entornos empresariales se cancelansin haber sido finalizados.
I De los que se terminan, el 30 % cuesta al final entre un 150 %y un 200 % del presupuesto original.
I En 2002 el ‘National Institute of Standards and Technology’(NIST) estimo que los defectos de los programas costabanmas de 60 millardos de dolares (60 billions).
I Detectarlos a tiempo ahorrarıa 22 millardos de dolares.‘Measuring software quality. A Study of Open Source Software’
http://osvdb.org/ref/blog/open_source_quality_report.pdf
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 5
Cifras
I Menos del 10 % de proyectos en empresas grandes terminan atiempo, y cumpliendo el presupuesto.
I Las tasas de defectos en productos comerciales se estimanentre 10 y 17 por cada 1000 lıneas de codigo.Otras estimaciones: entre 5 y 50 fallos.
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 6
Mas cifras
I Diciembre de 1990: Miller, Fredrickson. ‘An empirical study ofthe reliability of Unix Utilities’ (Communications of the ACM,Vol 33, issue 12, pp.32-44).
I Entre el 25 y el 33 % de las utilidades en Unix podıaninterrumpirse o colgarse proporcionandoles entradasinesperadas.
I 1995: Miller otra vez, ejecutando Fuzz en nueve plataformastipo Unix diferentes:
I Fallos entre un 15 y un 43 %I Muchos fallos ya avisados en el 90 seguıan allıI La menor tasa de fallos: utilidades de la FSF (7 %) y a las
incluidas junto con Linux (9 %) (¿Uh?)
No consiguieron hacer fallar ningun servidor de red. Tampocoel servidor X Window. Muchos clientes de X, si
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 7
Cifras
I 2000: Miller y Forrester. Fuzz con Windows NT.I 45 % de los programas se colgaron o se interrumpieronI Enviar mensajes aleatorios Win32 a las aplicaciones hacıa fallar
al 100 %
I 2006: Miller, Cooksey y Moore. Fuzz y Mac OS X.I 7 % de las aplicaciones de lınea de ordenes.I De las 30 basadas en GUI solo 8 no se colgaron o se pararon.
http://pages.cs.wisc.edu/~bart/fuzz/fuzz.html
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 8
En dispositivos bluetooth
Resultados de robustez para 31 dispositivos Bluetooth (2007)I Solo 3 dispositivos sobrevivieron a todos los tests.I Los demas tuvieron problemas con, al menos, un perfilI La mayorıa simplemente se colgaronI En algunos casos hubo que reprogramar la memoria flash
corrupta62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 9
En dispositivos WiFi
Resultados de robustez para 7 puntos de acceso Wifi:
I Solo se marcan como FAIL los que son reproducibles (INCmuestra que ha habido fallos pero no faciles de repetir).
I Todos fallaron en alguna de las pruebas.
‘Wireless Security: Past, Present and Future. Sami Petajasoja, Tommi
Makila, Mikko Varpiola, Miikka Saukko and Ari Takanen’. Feb 2008.
http://www.codenomicon.com/resources/whitepapers/Codenomicon_Wireless_WP_v1_0.pdf
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 10
CifrasI 2004-2005. Honeypot, con varios sistemas (6: Windows, Mac,
Linux). Una semana. Fueron escaneados 46255 veces desde elexterior con un resultado de 4892 ataques directos.
I Windows XP. SP 1.I Fue atacado 4857 vecesI Infectado en 18 minutos (Blaster y Sasser)I En una hora era un ‘bot’ controlado remotamente, y
comenzo a realizar sus propios ataquesI Windows XP. SP2.
I 16 ataquesI Sobrevivio a todos ellos
I MacOS X Jaguar (3, 0), Suse Professional 9.2 (8,0), FedoraCore 3 (8,0), Red Hat 9 (0 ataques).
http://www.stillsecure.com/docs/StillSecure_DenverPost_Honeypot.pdf
I Feb-Marzo 2005: menos del 24 % de los Windows XPobservados en un estudio de AssetMetrix Research Labstenıan SP2. Menos del 7 % del total lo tenıan. 251 empresasnorteamericanas (seis meses despues de su lanzamiento).
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 11
Estudio OpenSSHI Julio 2002 se descubrio un fallo de desbordamiento de
memoria remotoI Dos semanas despues de la publicacion del anuncio del fallo,
mas de 2/3 de los servidores observados seguıan siendovulnerables.
I Septiembre 2002. Un gusano explotaba el fallo (Slapper).I El 60 % de servidores era todavıa vulnerable.
‘Security holes. . . Who cares? Eric Rescorla’http://www.cgisecurity.com/lib/reports/slapper-report.pdf
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 12
Introduccion. Antes de empezar.
I Los programas no tienen garantıa (¿todavıa?).
I La seguridad es un problema de gestion de riesgos.
I Pensemos en la seguridad durante el diseno, despues ya estarde.
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 13
Puede haber castigo
Cada vez se habla mas de la responsabilidad de las empresas quedesarrollan programas:
I 1999. Ambrosia Software (Rochester, N.Y.) anuncio que si algunode sus productos requerıan la reparacion de errores, el responsablede marketing comerıa insectos en alguna feria.http://www.ambrosiasw.com/PRs/eatbugs_PR.html
Parece que finalmente tuvieron que comerlos . . .
http://www.ambrosiasw.com/news/old_newsletter.php?id=34019&page=3
I 31 de diciembre de 1999. Las autoridades chinas obligaron a losejecutivos de la companıa aerea nacional a volar durante esa nocheen los vuelos programados.
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 14
¿Por que es importante?
I Cada vez hay mas computadores y en mas sitios.
I La gente ni sabe ni quiere saber de estos temas.
I Aun peor, saben lo que dicen las noticias.
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 15
Son los programas
I Dependemos (mucho) de los computadores (y sus programas).
I El principal problema es que la mayorıa de los desarrolladoresni siquiera saben que hay un problema.
I Ni los cortafuegos ni la criptografıa resolveran los problemas(el 85 % de los avisos del CERT no se pueden prevenir concriptografıa).
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 16
Son los programas
I Esta bien proteger la transmision pero los atacantes prefierenlos extremos
I Las aplicaciones que interactuan con Internet son las masdelicadas, pero no es imprescindible que tengan contacto conla red para ser peligrosas.
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 17
Son los programas
I Empezar pronto
I Conocer las amenazas
I Disenar pensando en la seguridad
I Cenir el diseno a los analisis de riesgos y las pruebas
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 18
Gestion del riesgo
I La seguridad es un compromiso entre muchos factores:I Tiempo hasta que se puede venderI CosteI FlexibilidadI ReutilizabilidadI Relaciones entre los anteriores
I Hay que establecer las prioridades, a veces la seguridad no esla principal necesidad.
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 19
Seguro o Inseguro
I Mucha gente piensa en la seguridad como algo que se tiene ono se tiene.
I Es muy difıcil probar que un sistema de complejidad medianaes seguro.
I Frecuentemente, ni si quiera vale la pena.
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 20
Seguro o Inseguro
I Es mas realista pensar en terminos de gestion de riesgo:
I ¿Cuanto riesgo?I ¿Cuanto cuesta reducirlo?
Recordar: los ’malos’ no crean los defectos, simplemente losutilizan.
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 21
Fallos en los programas
I Ano 2000: aproximadamente 20 nuevas vulnerabilidades cadasemana
I Muchas en programas con codigo, pero otras tantas en lasque no se conoce
I Unix y Windows tambien estan equilibrados
I Siguen apareciendo problemas en programas probados yusados.
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 22
Algunas cifras
NIST: National Institute of Standards and TechnologyNVD: National Vulnerabilities Database
Year Num. of Vulns % of Total1988 2 1001989 3 1001990 11 1001991 15 1001992 13 1001993 13 1001994 25 1001995 25 1001996 75 1001997 252 1001998 246 1001999 894 1002000 1020 1002001 1677 1002002 2156 1002003 1527 1002004 2451 1002005 4933 1002006 6608 1002007 6515 1002008 4673 100
3 de noviembre de 2008http://nvd.nist.gov/statistics.cfm?results=1
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 23
Mas cifras
CERT: Organizacion del Software Engineering Institute (SEI).
http://www.cert.org/stats/3 de noviembre de 2008
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 24
Y mas . . . la web
Figure 1. (a) Breakdown of disclosed vulnerabilities by softwaretype in May 2006, and (b) current vulnerability types disclosed in
Web-based applications. (Source: SecurityFocus.com)http://www.computer.org/portal/site/security/menuitem.6f7b2414551cb84651286b108bcd45f3/index.
jsp?&pName=security_level1_article&TheCat=1015&path=security/2006/v4n4&file=gei.xml
Resumida: http://tinyurl.com/3862ba
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 25
Mas cifras
http://www.cisco.com/web/about/security/cspo/docs/Cisco2007Annual_Security_Report.pdf
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 26
Consecuencias
http://www-935.ibm.com/services/us/iss/pdf/etr_xforce-2007-annual-report.pdf
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 27
¿Donde conocerlos?
I Bugtraq (http://www.securityfocus.com/)
I CERT Advisories http://www.cert.org/
I http://www.rediris.es/cert/
I Equipo de Seguridad para la Coordinacion de Emergencias enRedes Telematicas (http://escert.upc.edu/)
I ICAT Metabase (http://nvd.nist.gov/)
I OSVDB, Open Source Vulnerability Database(http://osvdb.org/)
I INTECO, http://www.inteco.es/
I RISKS Digest (http://catless.ncl.ac.uk/Risks/)
I Help Net Security http://www.net-security.org/
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 28
¿Y las tecnologıas?
I La complejidad introduce riesgos.I Anadir funcionalidades (no presente en el original)I Invisibilidad de ciertos problemasI Dificultad para analizar, comprender, asegurar.
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 29
Complejidad en navegadores
http://www.spinellis.gr/blog/20031003/index.html
Mozilla 1.3 // Explorer 5
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 30
La complejidad
I Windows NT → 35 millones de lıneas de codigo.
I Windows XP → 40 millones de lıneas de codigo.
I Windows Vista → 50 millones de lıneas de codigo.
I Linux 2.2 → 1.78 millones,
I Solaris 7 → 400000.
I Debian GNU/Linux 2.2 55 millones
I Red Hat 6.2 17 millones.
I Mac OS X Darwin 790000 (el kernel)
I ¡Seguimos programando en C! (en el mejor de los casos C++)
I Esto va cambiando . . . Java, .Net, . . .
I Luego hay que instalar, configurar, usar
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 31
La complejidad
I Windows NT → 35 millones de lıneas de codigo.
I Windows XP → 40 millones de lıneas de codigo.
I Windows Vista → 50 millones de lıneas de codigo.
I Linux 2.2 → 1.78 millones,
I Solaris 7 → 400000.
I Debian GNU/Linux 2.2 55 millones
I Red Hat 6.2 17 millones.
I Mac OS X Darwin 790000 (el kernel)
I ¡Seguimos programando en C! (en el mejor de los casos C++)
I Esto va cambiando . . . Java, .Net, . . .
I Luego hay que instalar, configurar, usar
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 31
Complejidad
Linux + Apache Windows + IIS
http://blogs.zdnet.com/threatchaos/?p=311
http://www.thisisby.us/index.php/content/why_windows_is_less_secure_than_linux
‘Why Windows is less secure than Linux’Abril 2006
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 32
Complejidad, vulnerabilidades, incidentes, . . .
Dan Geer, 2004http://www.stanford.edu/class/msande91si/www-spr04/slides/geer.pdf
‘Shared Risk at National Scale. Dan Geer’
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 33
En red
I Cada vez mas redesI Los ataques pueden venir de mas sitiosI Ataques automatizados/automaticosI Mas sitios para atacar, mas ataques, mas riesgo
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 34
Extensibilidad
I Codigo movilI ‘Enchufables’ en el navegador (‘plugins’)I Modulos, ‘drivers’I Muchas aplicaciones tienen lenguajes que permiten extenderlas.
Economicamente conveniente (reutilizacion) pero ...
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 35
El entorno
I Anadir seguridad a un sistema ya existente es casi imposible
I Es mejor disenar con la seguridad en mente
I Otra fuente de problemas es ‘ambiental’: un sistemacompletamente seguro en el entorno para el que fue disenado,deja de serlo en otros.
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 36
Pero ... ¿Que es seguridad?
Primero, es importante establecer una polıtica que describa laforma de acceder a los recursos.
I Si no queremos accesos sin autentificar y alguien accede ...
I Si alguien hace un ataque de denegacion de servicio ...
A veces es evidente lo que esta mal, y no hay que hilar tanfino, pero ...
I ¿Un escaneo de puertos es un ataque o no?I ¿Hay que responder? ¿Como?
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 37
Pero ... ¿Que es seguridad?
Primero, es importante establecer una polıtica que describa laforma de acceder a los recursos.
I Si no queremos accesos sin autentificar y alguien accede ...
I Si alguien hace un ataque de denegacion de servicio ...
A veces es evidente lo que esta mal, y no hay que hilar tanfino, pero ...
I ¿Un escaneo de puertos es un ataque o no?I ¿Hay que responder? ¿Como?
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 37
¿Tiene que ver con la confiabilidad?
‘Reliability’, confiabilidad, ¿no deberıa proporcionar seguridad?
I La confiabilidad se mide segun la robustez de la aplicacionrespecto a los fallos.
I La definicion de fallo es analoga a la definicion de polıtica deseguridad.
I Entonces, la seguridad serıa una parte de la confiabilidad: si sepuede violar alguna parte de la polıtica de seguridad, hay unfallo.Sin embargo...
I Los problemas de robustez no siempre son problemas deseguridad (Lo son mas frecuentemente de lo que se piensa, detodos modos)
I Si disenamos pensando en su robustez, seguramente tambienmejoraremos su seguridad
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 38
¿Tiene que ver con la confiabilidad?
‘Reliability’, confiabilidad, ¿no deberıa proporcionar seguridad?
I La confiabilidad se mide segun la robustez de la aplicacionrespecto a los fallos.
I La definicion de fallo es analoga a la definicion de polıtica deseguridad.
I Entonces, la seguridad serıa una parte de la confiabilidad: si sepuede violar alguna parte de la polıtica de seguridad, hay unfallo.Sin embargo...
I Los problemas de robustez no siempre son problemas deseguridad (Lo son mas frecuentemente de lo que se piensa, detodos modos)
I Si disenamos pensando en su robustez, seguramente tambienmejoraremos su seguridad
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 38
Malas practicas
Se hacen los programas, se espera a que aparezcan problemas, y seresuelven (si se puede).
I Solo se resuelven problemas conocidos por los desarrolladores
I No se trabaja ni con el tiempo, ni con la tranquilidad que hacefalta.
I Los parches habitualmente atacan al sıntoma, no al problema
I Los parches hay que aplicarlos ...
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 39
Las metas
I La seguridad no es una caracterıstica estatica
I 100 % seguro no existe (o es mentira)Mejor ...
I ¿Que queremos proteger?I ¿Contra quien?I ¿Contra que?
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 40
Prevencion
I Normalmente, se presta atencion cuando ya es tardeI El tiempo en la red es distinto (velocidad)
I Los ataques se propagan muy rapidoI Incluso se automatizan
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 41
Trazabilidad, auditabilidad
I Los ataques ocurriran
I Los contables lo saben (dinero)
I Estas medidas ayudan a detectar, comprender y demostrar losataques
I Es delicado
=⇒Vigilancia
I Auditorıa en tiempo realI Se puede hacer a muchos niveles
busqueda de ‘firmas’, patrones ...... pero tambien aserciones, codigo a proposito.
I A menudo, con trampas sencillas se puede capturar a unladron, o al menos evitar que haga dano.
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 42
Trazabilidad, auditabilidad
I Los ataques ocurriran
I Los contables lo saben (dinero)
I Estas medidas ayudan a detectar, comprender y demostrar losataques
I Es delicado
=⇒Vigilancia
I Auditorıa en tiempo realI Se puede hacer a muchos niveles
busqueda de ‘firmas’, patrones ...... pero tambien aserciones, codigo a proposito.
I A menudo, con trampas sencillas se puede capturar a unladron, o al menos evitar que haga dano.
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 42
Privacidad y Confidencialidad
(Privacidad ←→ Intimidad)
I Privacidad y confidencialidad son terminos muy relacionados
I Las empresas deben proteger los datos de sus clientes, inclusode los anunciantes
I Los gobiernos tambien
I No siempre comprendemos bien las consecuencias de nuestrasacciones
I Los programas deberıan asegurar la privacidad ...... pero los programas solo sirven para hacer el trabajo
I Si es posible ... no almacenar secretos
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 43
Seguridad multinivel
I Hay secretos ‘mas secretos’ que otros
I Ni las empresas ni los gobiernos quieren que se sepan algunosdatos
I Ademas, no todo el mundo tiene que saber lo mismo ......
I Es complejo
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 44
Anonimato
I Arma de doble filo
I A veces, hay razones sociales para favorecerlo (SIDA)
I Pero tambien las hay para controlarla (racismo, terrorismo,..)
I Junto con la privacidad, es de los temas mas importantes quehay que decidir.
I Global Identifier de Microsoft sirve para saber que copia deMS Office origino un documento
I WGA (Windows Genuine Advantage)
I las ‘supercookies’ de Google y Microsoft . . .
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 45
Anonimato
I Carnivore, Echelon, ... ¿quien nos garantiza que se usan‘adecuadamente’?
I ¿Y las galletitas? (cookies) ¿Realmente son necesarias? ¿Y sinos las roban?
I Hay empresas que las ‘coleccionan’
I ¿Y si tenemos que hacerlo nosotros? ¿Que pasa si algo vamal? ¿La comodidad es compatible con la privacidad?
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 46
Autentificacion
I Saber quien para saber que puede hacer
I Hasta no hace mucho bastaba con la presencia fısica
I Internet!!!I http://mibancofavorito.com
I ¿Realmente es MiBancoFavorito(TM)?I ¿Realmente es un banco?
I SSL da tranquilidad pero ... ¿que garantiza?
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 47
Autentificacion
I Nadie mira los datos
I De muchas formas:http://mibancofavorito.com/ →http://mibacofavorito.com/
I ¿Quien se fija?
I Si vale dinero, hay que tener cuidado.
I Algunos esquemas suponen anonimato, otros auditorıa.
I Algunos esquemas estan orientados a sesiones, otros atransacciones.
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 48
Integridad
I Seguir teniendo ‘lo mismo’
I Precios, cotizaciones, ... ¿y si nos los cambian?
I La informacion digital es muy facil de simular
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 49
Conociendo al enemigo
Es bueno conocer los errores frecuentes, sobre todo porque no sesuele hablar mucho del tema.
I Errores de programacion (buffers, condiciones de carrera,numeros aleatorios)Pero tambien ...
I La construccion es importante y tambien como se usaI Arquitectura cliente/servidorI Ingenierıa socialI Entradas maliciosas
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 50
Las amenazas
I Ver lo que va por la red, ponerse en medio
I Modificar lo que va por la red
I Simular lo que deberıa ir por la red
I Reemplazar el flujo de datos
I Grabar y repetir
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 51
Las metas de un proyecto
I Funcionalidad (resolver el problema)
I Ergonomıa -usabilidad- (a veces la seguridad interfiere con lacomodidad/conveniencia)
I Eficiencia (a nadie le gusta esperar)
I El mercado (habitualmente en contra de la simplicidad, y dela gestion de riesgos)
I Simplicidad (buena para los proyectos, buena para laseguridad)
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 52
Algunas listas de correo
I Secure Coding http://www.securecoding.org/list/
I WEB APPLICATION SECURITYhttp://www.securityfocus.com/archive/107
I SECPROG http://www.securityfocus.com/archive/98
I Webappsec (de OWASP):https://lists.owasp.org/mailman/listinfo/webappsec
I Web Security http://webappsec.org/lists/
I HACK http://mailman.argo.es/listinfo/hacking
I Owasp-spanishhttps://lists.owasp.org/mailman/listinfo/owasp-spanish
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 53
Bibliografıa
I John Viega and Gary McGraw. Building Secure Software.Addison-Wesley
I Michael Howard, David C. LeBlanc. Writing Secure Code.Microsoft Press. Second Edition.
I Innocent Code. A security wake-up call for web programmers.Sverre H. Huseby. Wiley.
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 54
Mas libros
I Software Security. Gary McGraw. Addison-Wesley SoftwareSecurity Series.
I OWASP Guide to Building Secure Web Applications (va porla version 3.0)http://www.owasp.org/index.php/OWASP_Guide_Project
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 55
Mas bibliografıa
I Mark G. Graff, Kenneth R. Van Wyk. Secure Coding:Principles and Practices. O’Reilly & Associates
I John Viega, Matt Messier. Secure Programming Cookbook forC and C++. O’Reilly & Associates.
I Gary McGraw, Edward W. Felten. Securing Java: GettingDown to Business with Mobile Code
I Computer Security. Dieter Gollmann. Wiley.
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 56
Bibliografıa
El otro lado.
I Greg Hoglund, Gary McGraw. Exploiting Software. How tobreak code. Addison Wesley.
I Cyrus Peikari, Anton Chuvakin. Security Warrior. O’Reilly.
I Andrews & Whittaker. How to Break Web Software. AddisonWesley.
I Tom Gallagher; Bryan Jeffries; Lawrence Landauer. HuntingSecurity Bugs. Microsoft Press.
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 57
Mas bibliografıa
En la red:I Security Developer Center Microsoft
http://msdn.microsoft.com/securityI ‘Improving Web Application Security: Threats and
Countermeasures’. J.D. Meier, Alex Mackman, MichaelDunner, Srinath Vasireddy, Ray Escamilla and AnandhaMurukan Microsoft Corporation(http://msdn.microsoft.com/library/default.asp?url=
/library/en-us/dnnetsec/html/ThreatCounter.asp)
I Secure Programming for Linux and Unix HOWTOhttp://www.dwheeler.com/secure-programs/
Hay mas...
62612 Diseno de aplicaciones seguras. Fernando Tricas Garcıa. 58