SlideShare ist ein Scribd-Unternehmen logo
1 von 62
Downloaden Sie, um offline zu lesen
Curso: (62612) Dise˜o de aplicaciones seguras
                                   n

                                               Fernando Tricas Garc´
                                                                   ıa

                               Departamento de Inform´tica e Ingenier´ de Sistemas
                                                      a              ıa
                                            Universidad de Zaragoza
                                     http://www.cps.unizar.es/~ftricas/
                                          http://moodle.unizar.es/
                                                ftricas@unizar.es




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                        1
Introducci´n
                                                               o

                                               Fernando Tricas Garc´
                                                                   ıa

                               Departamento de Inform´tica e Ingenier´ de Sistemas
                                                      a              ıa
                                            Universidad de Zaragoza
                                     http://www.cps.unizar.es/~ftricas/
                                          http://moodle.unizar.es/
                                                ftricas@unizar.es




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                        2
Un ´
      ındice


                  Introducci´n
                            o
                                                                Aleatoriedad y determinismo
                  Gesti´n de riesgos
                       o
                                                                Aplicaci´n de la criptograf´
                                                                        o                  ıa
                  Selecci´n de tecnolog´
                         o             ıas
                                                                Gesti´n de la confianza y
                                                                     o
                  C´digo abierto o cerrado
                   o
                                                                validaci´n de entradas
                                                                        o
                  Principios
                                                                Autentificaci´n con claves
                                                                            o
                  Auditor´ de programas
                         ıa
                                                                Seguridad en bases de datos
                  Desbordamiento de memoria
                                                                Seguridad en el cliente
                  Control de acceso
                                                                En la web
                  Condiciones de carrera




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                                   3
Introducci´n. Antes de empezar.
             o



                  Se invierte mucho tiempo, dinero y esfuerzo en seguridad a
                  nivel de red por la mala calidad de los programas.
                  Algunas veces los cortafuegos, los sistemas de detecci´n de
                                                                        o
                  intrusos (IDS) ayudan.
                  Los programas malos son mucho m´s abundantes de lo que
                                                 a
                  creemos.
                  La forma de desarrollar los programas es responsable en gran
                  medida del problema.




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                    4
Cifras



                  El 30 % de los proyectos en entornos empresariales se cancelan
                  sin haber sido finalizados.
                  De los que se terminan, el 30 % cuesta al final entre un 150 %
                  y un 200 % del presupuesto original.
                  En 2002 el ‘National Institute of Standards and Technology’
                  (NIST) estim´ que los defectos de los programas costaban
                               o
                  mas de 60 millardos de d´lares (60 billions).
                                           o
                          Detectarlos a tiempo ahorrar´ 22 millardos de d´lares.
                                                       ıa                o
                          ‘Measuring software quality. A Study of Open Source Software’
                                                         http://osvdb.org/ref/blog/open_source_quality_report.pdf




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                                                       5
Cifras




                  Menos del 10 % de proyectos en empresas grandes terminan a
                  tiempo, y cumpliendo el presupuesto.
                  Las tasas de defectos en productos comerciales se estiman
                  entre 10 y 17 por cada 1000 l´ıneas de c´digo.
                                                           o
                  Otras estimaciones: entre 5 y 50 fallos.




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                  6
M´s cifras
    a

                  Diciembre de 1990: Miller, Fredrickson. ‘An empirical study of
                  the reliability of Unix Utilities’ (Communications of the ACM,
                  Vol 33, issue 12, pp.32-44).
                          Entre el 25 y el 33 % de las utilidades en Unix pod´
                                                                             ıan
                          interrumpirse o colgarse proporcion´ndoles entradas
                                                               a
                          inesperadas.
                  1995: Miller otra vez, ejecutando Fuzz en nueve plataformas
                  tipo Unix diferentes:
                          Fallos entre un 15 y un 43 %
                          Muchos fallos ya avisados en el 90 segu´ all´
                                                                   ıan ı
                          La menor tasa de fallos: utilidades de la FSF (7 %) y a las
                          incluidas junto con Linux (9 %) (¿Uh?)
                  No consiguieron hacer fallar ning´n servidor de red. Tampoco
                                                   u
                  el servidor X Window. Muchos clientes de X, si



62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                           7
Cifras


                  2000: Miller y Forrester. Fuzz con Windows NT.
                          45 % de los programas se colgaron o se interrumpieron
                          Enviar mensajes aleatorios Win32 a las aplicaciones hac´ fallar
                                                                                 ıa
                          al 100 %
                  2006: Miller, Cooksey y Moore. Fuzz y Mac OS X.
                          7 % de las aplicaciones de l´
                                                      ınea de ´rdenes.
                                                              o
                          De las 30 basadas en GUI s´lo 8 no se colgaron o se pararon.
                                                       o




                   http://pages.cs.wisc.edu/~bart/fuzz/fuzz.html




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                               8
En dispositivos bluetooth




          Resultados de robustez para 31 dispositivos Bluetooth (2007)
              S´lo 3 dispositivos sobrevivieron a todos los tests.
                o
              Los dem´s tuvieron problemas con, al menos, un perfil
                       a
              La mayor´ simplemente se colgaron
                        ıa
              En algunos casos hubo que reprogramar la memoria flash
              corrupta
62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.            9
En dispositivos WiFi




          Resultados de robustez para 7 puntos de acceso Wifi:
                  S´lo se marcan como FAIL los que son reproducibles (INC
                   o
                  muestra que ha habido fallos pero no f´ciles de repetir).
                                                        a
                  Todos fallaron en alguna de las pruebas.
          ‘Wireless Security: Past, Present and Future. Sami Pet¨j¨soja, Tommi
                                                                aa
          M¨kil¨, Mikko Varpiola, Miikka Saukko and Ari Takanen’. Feb 2008.
            a a
                           http://www.codenomicon.com/resources/whitepapers/Codenomicon_Wireless_WP_v1_0.pdf




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                                                  10
Cifras
                  2004-2005. Honeypot, con varios sistemas (6: Windows, Mac,
                  Linux). Una semana. Fueron escaneados 46255 veces desde el
                  exterior con un resultado de 4892 ataques directos.
                          Windows XP. SP 1.
                                  Fue atacado 4857 veces
                                  Infectado en 18 minutos (Blaster y Sasser)
                                  En una hora era un ‘bot’ controlado remotamente, y
                                  comenz´ a realizar sus propios ataques
                                          o
                          Windows XP. SP2.
                                  16 ataques
                                  Sobrevivi´ a todos ellos
                                           o
                          MacOS X Jaguar (3, 0), Suse Professional 9.2 (8,0), Fedora
                          Core 3 (8,0), Red Hat 9 (0 ataques).
                  http://www.stillsecure.com/docs/StillSecure_DenverPost_Honeypot.pdf

                  Feb-Marzo 2005: menos del 24 % de los Windows XP
                  observados en un estudio de AssetMetrix Research Labs
                  ten´ SP2. Menos del 7 % del total lo ten´ 251 empresas
                     ıan                                   ıan.
                  norteamericanas (seis meses despu´s de su lanzamiento).
                                                   e

62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                           11
Estudio OpenSSH
                  Julio 2002 se descubri´ un fallo de desbordamiento de
                                        o
                  memoria remoto
                          Dos semanas despu´s de la publicaci´n del anuncio del fallo,
                                             e                o
                          mas de 2/3 de los servidores observados segu´ siendo
                                                                      ıan
                          vulnerables.
                  Septiembre 2002. Un gusano explotaba el fallo (Slapper).
                          El 60 % de servidores era todav´ vulnerable.
                                                         ıa




                              ‘Security holes. . . Who cares? Eric Rescorla’
                                http://www.cgisecurity.com/lib/reports/slapper-report.pdf


62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                               12
Introducci´n. Antes de empezar.
             o




                  Los programas no tienen garant´ (¿todav´
                                                ıa       ıa?).
                  La seguridad es un problema de gesti´n de riesgos.
                                                      o
                  Pensemos en la seguridad durante el dise˜o, despu´s ya es
                                                          n        e
                  tarde.




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                 13
Puede haber castigo


          Cada vez se habla m´s de la responsabilidad de las empresas que
                              a
          desarrollan programas:

                  1999. Ambrosia Software (Rochester, N.Y.) anunci´ que si alguno
                                                                   o
                  de sus productos requer´ la reparaci´n de errores, el responsable
                                         ıan          o
                  de marketing comer´ insectos en alguna feria.
                                     ıa
                  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


                  31 de diciembre de 1999. Las autoridades chinas obligaron a los
                  ejecutivos de la compa˜´ a´rea nacional a volar durante esa noche
                                        nıa e
                  en los vuelos programados.




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                         14
¿Por qu´ es importante?
          e




                  Cada vez hay m´s computadores y en m´s sitios.
                                a                     a
                  La gente ni sabe ni quiere saber de estos temas.
                  A´n peor, saben lo que dicen las noticias.
                   u




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.        15
Son los programas




                  Dependemos (mucho) de los computadores (y sus programas).
                  El principal problema es que la mayor´ de los desarrolladores
                                                       ıa
                  ni siquiera saben que hay un problema.
                  Ni los cortafuegos ni la criptograf´ resolver´n los problemas
                                                     ıa        a
                  (el 85 % de los avisos del CERT no se pueden prevenir con
                  criptograf´
                            ıa).




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                     16
Son los programas




                  Est´ bien proteger la transmisi´n pero los atacantes prefieren
                      a                          o
                  los extremos
                  Las aplicaciones que interact´an con Internet son las m´s
                                               u                         a
                  delicadas, pero no es imprescindible que tengan contacto con
                  la red para ser peligrosas.




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                     17
Son los programas




                  Empezar pronto
                  Conocer las amenazas
                  Dise˜ar pensando en la seguridad
                      n
                  Ce˜ir el dise˜o a los an´lisis de riesgos y las pruebas
                    n          n          a




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.               18
Gesti´n del riesgo
        o



                  La seguridad es un compromiso entre muchos factores:
                          Tiempo hasta que se puede vender
                          Coste
                          Flexibilidad
                          Reutilizabilidad
                          Relaciones entre los anteriores
                  Hay que establecer las prioridades, a veces la seguridad no es
                  la principal necesidad.




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                      19
Seguro o Inseguro




                  Mucha gente piensa en la seguridad como algo que se tiene o
                  no se tiene.
                  Es muy dif´ probar que un sistema de complejidad mediana
                             ıcil
                  es seguro.
                  Frecuentemente, ni si quiera vale la pena.




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                   20
Seguro o Inseguro




                  Es mas realista pensar en t´rminos de gesti´n de riesgo:
                                             e               o
                          ¿Cu´nto riesgo?
                             a
                          ¿Cu´nto cuesta reducirlo?
                             a
          Recordar: los ’malos’ no crean los defectos, simplemente los
          utilizan.




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                21
Fallos en los programas



                  A˜o 2000: aproximadamente 20 nuevas vulnerabilidades cada
                    n
                  semana
                  Muchas en programas con c´digo, pero otras tantas en las
                                           o
                  que no se conoce
                  Unix y Windows tambi´n est´n equilibrados
                                      e     a
                  Siguen apareciendo problemas en programas probados y
                  usados.




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                 22
Algunas cifras
          NIST: National Institute of Standards and Technology
          NVD: National Vulnerabilities Database
                                                                Year   Num. of Vulns   % of Total
                                                                1988               2         100
                                                                1989               3         100
                                                                1990              11         100
                                                                1991              15         100
                                                                1992              13         100
                                                                1993              13         100
                                                                1994              25         100
                                                                1995              25         100
                                                                1996              75         100
                                                                1997            252          100
                                                                1998            246          100
                                                                1999            894          100
                                                                2000           1020          100
                                                                2001           1677          100
                                                                2002           2156          100
                                                                2003           1527          100
                                                                2004           2451          100
                                                                2005           4933          100
                                                                2006           6608          100
                                                                2007           6515          100
                                                                2008           4673          100



                                3 de noviembre de 2008
                    http://nvd.nist.gov/statistics.cfm?results=1

62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                                       23
M´s cifras
    a

          CERT: Organizaci´n del Software Engineering Institute (SEI).
                          o




                                       http://www.cert.org/stats/
                                          3 de noviembre de 2008



62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.            24
Y m´s . . . la web
      a




            Figure 1. (a) Breakdown of disclosed vulnerabilities by software
           type 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 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                                               25
M´s cifras
    a




                 http://www.cisco.com/web/about/security/cspo/docs/Cisco2007Annual_Security_Report.pdf




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                                            26
Consecuencias




                     http://www-935.ibm.com/services/us/iss/pdf/etr_xforce-2007-annual-report.pdf

62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                                       27
¿D´nde conocerlos?
     o

                  Bugtraq (http://www.securityfocus.com/)
                  CERT Advisories http://www.cert.org/
                  http://www.rediris.es/cert/
                  Equipo de Seguridad para la Coordinaci´n de Emergencias en
                                                        o
                  Redes Telem´ticas (http://escert.upc.edu/)
                             a
                  ICAT Metabase (http://nvd.nist.gov/)
                  OSVDB, Open Source Vulnerability Database
                  (http://osvdb.org/)
                  INTECO, http://www.inteco.es/

                  RISKS Digest (http://catless.ncl.ac.uk/Risks/)
                  Help Net Security http://www.net-security.org/



62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                  28
¿Y las tecnolog´
                  ıas?




                  La complejidad introduce riesgos.
                          A˜adir funcionalidades (no presente en el original)
                            n
                          Invisibilidad de ciertos problemas
                          Dificultad para analizar, comprender, asegurar.




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                   29
Complejidad en navegadores




          http://www.spinellis.gr/blog/20031003/index.html
          Mozilla 1.3 // Explorer 5


62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.   30
La complejidad

                  Windows NT → 35 millones de l´
                                               ıneas de c´digo.
                                                         o
                  Windows XP → 40 millones de l´
                                               ıneas de c´digo.
                                                         o
                  Windows Vista → 50 millones de l´
                                                  ıneas de c´digo.
                                                            o

                  Linux 2.2 → 1.78 millones,
                  Solaris 7 → 400000.
                  Debian GNU/Linux 2.2 55 millones
                  Red Hat 6.2 17 millones.
                  Mac OS X Darwin 790000 (el kernel)




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.        31
La complejidad

                  Windows NT → 35 millones de l´
                                               ıneas de c´digo.
                                                         o
                  Windows XP → 40 millones de l´
                                               ıneas de c´digo.
                                                         o
                  Windows Vista → 50 millones de l´
                                                  ıneas de c´digo.
                                                            o

                  Linux 2.2 → 1.78 millones,
                  Solaris 7 → 400000.
                  Debian GNU/Linux 2.2 55 millones
                  Red Hat 6.2 17 millones.
                  Mac OS X Darwin 790000 (el kernel)

                  ¡Seguimos programando en C! (en el mejor de los casos C++)
                          Esto va cambiando . . . Java, .Net, . . .
                  Luego hay que instalar, configurar, usar

62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ı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 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                                            32
Complejidad, vulnerabilidades, incidentes, . . .




                                                     Dan Geer, 2004
                           http://www.stanford.edu/class/msande91si/www-spr04/slides/geer.pdf

                               ‘Shared Risk at National Scale. Dan Geer’



62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                                   33
En red

                  Cada vez m´s redes
                            a
                          Los ataques pueden venir de m´s sitios
                                                         a
                          Ataques automatizados/autom´ticos
                                                        a
                          M´s sitios para atacar, m´s ataques, mas riesgo
                            a                      a




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.               34
Extensibilidad




                  C´digo m´vil
                   o      o
                          ‘Enchufables’ en el navegador (‘plugins’)
                          M´dulos, ‘drivers’
                            o
                          Muchas aplicaciones tienen lenguajes que permiten extenderlas.
          Econ´micamente conveniente (reutilizaci´n) pero ...
              o                                  o




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                              35
El entorno




                  A˜adir seguridad a un sistema ya existente es casi imposible
                   n
                  Es mejor dise˜ar con la seguridad en mente
                               n
                  Otra fuente de problemas es ‘ambiental’: un sistema
                  completamente seguro en el entorno para el que fue dise˜ado,
                                                                         n
                  deja de serlo en otros.




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                    36
Pero ... ¿Qu´ es seguridad?
               e


          Primero, es importante establecer una pol´
                                                   ıtica que describa la
          forma de acceder a los recursos.
                  Si no queremos accesos sin autentificar y alguien accede ...
                  Si alguien hace un ataque de denegaci´n de servicio ...
                                                       o




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                   37
Pero ... ¿Qu´ es seguridad?
               e


          Primero, es importante establecer una pol´
                                                   ıtica que describa la
          forma de acceder a los recursos.
                  Si no queremos accesos sin autentificar y alguien accede ...
                  Si alguien hace un ataque de denegaci´n de servicio ...
                                                       o

                  A veces es evidente lo que est´ mal, y no hay que hilar tan
                                                a
                  fino, pero ...
                          ¿Un escaneo de puertos es un ataque o no?
                          ¿Hay que responder? ¿C´mo?
                                                 o




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                   37
¿Tiene que ver con la confiabilidad?
          ‘Reliability’, confiabilidad, ¿no deber´ proporcionar seguridad?
                                                ıa
                  La confiabilidad se mide seg´n la robustez de la aplicaci´n
                                             u                            o
                  respecto a los fallos.
                  La definici´n de fallo es an´loga a la definici´n de pol´
                             o               a                 o        ıtica de
                  seguridad.




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                      38
¿Tiene que ver con la confiabilidad?
          ‘Reliability’, confiabilidad, ¿no deber´ proporcionar seguridad?
                                                ıa
                  La confiabilidad se mide seg´n la robustez de la aplicaci´n
                                             u                            o
                  respecto a los fallos.
                  La definici´n de fallo es an´loga a la definici´n de pol´
                             o               a                 o        ıtica de
                  seguridad.

                          Entonces, la seguridad ser´ una parte de la confiabilidad: si se
                                                    ıa
                          puede violar alguna parte de la pol´
                                                             ıtica de seguridad, hay un
                          fallo.
                          Sin embargo...
                                  Los problemas de robustez no siempre son problemas de
                                  seguridad (Lo son m´s frecuentemente de lo que se piensa, de
                                                     a
                                  todos modos)
                                  Si dise˜amos pensando en su robustez, seguramente tambi´n
                                         n                                                 e
                                  mejoraremos su seguridad


62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                                    38
Malas pr´cticas
           a



          Se hacen los programas, se espera a que aparezcan problemas, y se
          resuelven (si se puede).
                  S´lo se resuelven problemas conocidos por los desarrolladores
                   o
                  No se trabaja ni con el tiempo, ni con la tranquilidad que hace
                  falta.
                  Los parches habitualmente atacan al s´
                                                       ıntoma, no al problema
                  Los parches hay que aplicarlos ...




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                       39
Las metas




                  La seguridad no es una caracter´
                                                 ıstica est´tica
                                                           a
                  100 % seguro no existe (o es mentira)
                  Mejor ...
                          ¿Qu´ queremos proteger?
                             e
                          ¿Contra qui´n?
                                     e
                          ¿Contra qu´?
                                    e




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.      40
Prevenci´n
           o




                  Normalmente, se presta atenci´n cuando ya es tarde
                                                 o
                  El tiempo en la red es distinto (velocidad)
                          Los ataques se propagan muy r´pido
                                                       a
                          Incluso se automatizan




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.          41
Trazabilidad, auditabilidad

                  Los ataques ocurrir´n
                                     a
                  Los contables lo saben (dinero)
                  Estas medidas ayudan a detectar, comprender y demostrar los
                  ataques
                  Es delicado




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                   42
Trazabilidad, auditabilidad

                  Los ataques ocurrir´n
                                     a
                  Los contables lo saben (dinero)
                  Estas medidas ayudan a detectar, comprender y demostrar los
                  ataques
                  Es delicado


          =⇒Vigilancia
                          Auditor´ en tiempo real
                                  ıa
                          Se puede hacer a muchos niveles
                          b´squeda de ‘firmas’, patrones ...
                            u
                          ... pero tambi´n aserciones, c´digo a prop´sito.
                                        e               o           o
                          A menudo, con trampas sencillas se puede capturar a un
                          ladr´n, o al menos evitar que haga da˜o.
                               o                                n



62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                      42
Privacidad y Confidencialidad


          (Privacidad ←→ Intimidad)
                  Privacidad y confidencialidad son t´rminos muy relacionados
                                                    e
                  Las empresas deben proteger los datos de sus clientes, incluso
                  de los anunciantes
                  Los gobiernos tambi´n
                                     e
                  No siempre comprendemos bien las consecuencias de nuestras
                  acciones
                  Los programas deber´ asegurar la privacidad ...
                                       ıan
                  ... pero los programas s´lo sirven para hacer el trabajo
                                          o
                  Si es posible ... no almacenar secretos




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                      43
Seguridad multinivel




                  Hay secretos ‘m´s secretos’ que otros
                                 a
                  Ni las empresas ni los gobiernos quieren que se sepan algunos
                  datos
                  Adem´s, no todo el mundo tiene que saber lo mismo ...
                      a
                  ...
                  Es complejo




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                     44
Anonimato


                  Arma de doble filo
                  A veces, hay razones sociales para favorecerlo (SIDA)
                  Pero tambi´n las hay para controlarla (racismo, terrorismo,..)
                            e
                  Junto con la privacidad, es de los temas m´s importantes que
                                                            a
                  hay que decidir.
                  Global Identifier de Microsoft sirve para saber qu´ copia de
                                                                   e
                  MS Office origin´ un documento
                                   o
                  WGA (Windows Genuine Advantage)
                  las ‘supercookies’ de Google y Microsoft . . .




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                      45
Anonimato



                  Carnivore, Echelon, ... ¿qui´n nos garantiza que se usan
                                              e
                  ‘adecuadamente’ ?
                  ¿Y las galletitas? (cookies) ¿Realmente son necesarias? ¿Y si
                  nos las roban?
                  Hay empresas que las ‘coleccionan’
                  ¿Y si tenemos que hacerlo nosotros? ¿Qu´ pasa si algo va
                                                         e
                  mal? ¿La comodidad es compatible con la privacidad?




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                     46
Autentificaci´n
               o



                  Saber qui´n para saber qu´ puede hacer
                           e               e
                  Hasta no hace mucho bastaba con la presencia f´
                                                                ısica
                  Internet!!!
                  http://mibancofavorito.com
                          ¿Realmente es MiBancoFavorito(TM) ?
                          ¿Realmente es un banco?
                  SSL da tranquilidad pero ... ¿qu´ garantiza?
                                                  e




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.           47
Autentificaci´n
               o



                  Nadie mira los datos
                  De muchas formas:
                  http://mibancofavorito.com/ →
                  http://mibacofavorito.com/
                          ¿Qui´n se fija?
                              e
                  Si vale dinero, hay que tener cuidado.
                  Algunos esquemas suponen anonimato, otros auditor´
                                                                   ıa.
                  Algunos esquemas est´n orientados a sesiones, otros a
                                      a
                  transacciones.




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.             48
Integridad




                  Seguir teniendo ‘lo mismo’
                  Precios, cotizaciones, ... ¿y si nos los cambian?
                  La informaci´n digital es muy f´cil de simular
                              o                  a




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.         49
Conociendo al enemigo



          Es bueno conocer los errores frecuentes, sobre todo porque no se
          suele hablar mucho del tema.
                  Errores de programaci´n (buffers, condiciones de carrera,
                                       o
                  n´meros aleatorios)
                   u
                  Pero tambi´n ...
                             e
                  La construcci´n es importante y tambi´n como se usa
                               o                       e
                          Arquitectura cliente/servidor
                          Ingenier´ social
                                  ıa
                          Entradas maliciosas




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                50
Las amenazas




                  Ver lo que va por la red, ponerse en medio
                  Modificar lo que va por la red
                  Simular lo que deber´ ir por la red
                                      ıa
                  Reemplazar el flujo de datos
                  Grabar y repetir




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.   51
Las metas de un proyecto



                  Funcionalidad (resolver el problema)
                  Ergonom´ -usabilidad- (a veces la seguridad interfiere con la
                         ıa
                  comodidad/conveniencia)
                  Eficiencia (a nadie le gusta esperar)
                  El mercado (habitualmente en contra de la simplicidad, y de
                  la gesti´n de riesgos)
                          o
                  Simplicidad (buena para los proyectos, buena para la
                  seguridad)




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                    52
Algunas listas de correo


                  Secure Coding http://www.securecoding.org/list/
                  WEB APPLICATION SECURITY
                  http://www.securityfocus.com/archive/107
                  SECPROG http://www.securityfocus.com/archive/98
                  Webappsec (de OWASP):
                  https://lists.owasp.org/mailman/listinfo/webappsec
                  Web Security http://webappsec.org/lists/

                  HACK http://mailman.argo.es/listinfo/hacking
                  Owasp-spanish
                  https://lists.owasp.org/mailman/listinfo/owasp-spanish




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.              53
Bibliograf´
             ıa




                  John Viega and Gary McGraw. Building Secure Software.
                  Addison-Wesley
                  Michael Howard, David C. LeBlanc. Writing Secure Code.
                  Microsoft Press. Second Edition.
                  Innocent Code. A security wake-up call for web programmers.
                  Sverre H. Huseby. Wiley.




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                   54
M´s libros
    a




                  Software Security. Gary McGraw. Addison-Wesley Software
                  Security Series.
                  OWASP Guide to Building Secure Web Applications (va por
                  la versi´n 3.0)
                          o
                  http://www.owasp.org/index.php/OWASP_Guide_Project




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.               55
M´s bibliograf´
    a            ıa



                  Mark G. Graff, Kenneth R. Van Wyk. Secure Coding:
                  Principles and Practices. O’Reilly & Associates
                  John Viega, Matt Messier. Secure Programming Cookbook for
                  C and C++. O’Reilly & Associates.
                  Gary McGraw, Edward W. Felten. Securing Java: Getting
                  Down to Business with Mobile Code
                  Computer Security. Dieter Gollmann. Wiley.




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                 56
Bibliograf´
             ıa



          El otro lado.
                  Greg Hoglund, Gary McGraw. Exploiting Software. How to
                  break code. Addison Wesley.
                  Cyrus Peikari, Anton Chuvakin. Security Warrior. O’Reilly.
                  Andrews & Whittaker. How to Break Web Software. Addison
                  Wesley.

                  Tom Gallagher; Bryan Jeffries; Lawrence Landauer. Hunting
                  Security Bugs. Microsoft Press.




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                  57
M´s bibliograf´
    a            ıa


          En la red:
               Security Developer Center Microsoft
               http://msdn.microsoft.com/security
                          ‘Improving Web Application Security: Threats and
                          Countermeasures’. J.D. Meier, Alex Mackman, Michael
                          Dunner, Srinath Vasireddy, Ray Escamilla and Anandha
                          Murukan Microsoft Corporation
                          (http://msdn.microsoft.com/library/default.asp?url=
                          /library/en-us/dnnetsec/html/ThreatCounter.asp)
                  Secure Programming for Linux and Unix HOWTO
                  http://www.dwheeler.com/secure-programs/
          Hay mas...




62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´
          n                                               ıa.                    58

Weitere ähnliche Inhalte

Andere mochten auch

Location Intelligence & Data Visualization
Location Intelligence & Data VisualizationLocation Intelligence & Data Visualization
Location Intelligence & Data VisualizationJorge Sanz
 
Location Intelligence for Everyone
Location Intelligence for EveryoneLocation Intelligence for Everyone
Location Intelligence for EveryoneJorge Sanz
 
CleverCity - Location Intelligence for Smart Cities
CleverCity - Location Intelligence for Smart Cities CleverCity - Location Intelligence for Smart Cities
CleverCity - Location Intelligence for Smart Cities CleverMaps
 
CARTO BUILDER: from visualization to geospatial analysis
CARTO BUILDER: from visualization to geospatial analysisCARTO BUILDER: from visualization to geospatial analysis
CARTO BUILDER: from visualization to geospatial analysisJorge Sanz
 
Evaluacion de arquitecturas
Evaluacion de arquitecturasEvaluacion de arquitecturas
Evaluacion de arquitecturasSamis Ambrocio
 
Tecnologías de información maestría
Tecnologías de información maestríaTecnologías de información maestría
Tecnologías de información maestríaMaestros Online
 
ACD Riesgos TIC: Sistemas Seguros para Compras Online
ACD Riesgos TIC: Sistemas Seguros para Compras OnlineACD Riesgos TIC: Sistemas Seguros para Compras Online
ACD Riesgos TIC: Sistemas Seguros para Compras OnlineAndaluciaCD
 
Ejemplo de un Proyecto CRM
Ejemplo de un Proyecto CRMEjemplo de un Proyecto CRM
Ejemplo de un Proyecto CRMJose Martinez
 
Livret vente 2013
Livret vente 2013Livret vente 2013
Livret vente 2013wizii
 
Gestion del conocimiento
Gestion del conocimientoGestion del conocimiento
Gestion del conocimientoYazmin Garcia
 
Similar Presentation French
Similar Presentation FrenchSimilar Presentation French
Similar Presentation FrenchBenoit Michel
 
Politika20 01-junio-2009
Politika20 01-junio-2009Politika20 01-junio-2009
Politika20 01-junio-2009Mak Makygregor
 
Les 53 Dans Le 973
Les 53 Dans Le 973Les 53 Dans Le 973
Les 53 Dans Le 973lizou973
 

Andere mochten auch (20)

Location Intelligence & Data Visualization
Location Intelligence & Data VisualizationLocation Intelligence & Data Visualization
Location Intelligence & Data Visualization
 
Location Intelligence for Everyone
Location Intelligence for EveryoneLocation Intelligence for Everyone
Location Intelligence for Everyone
 
La ComunicacióN
La ComunicacióNLa ComunicacióN
La ComunicacióN
 
CARTO ENGINE
CARTO ENGINECARTO ENGINE
CARTO ENGINE
 
CleverCity - Location Intelligence for Smart Cities
CleverCity - Location Intelligence for Smart Cities CleverCity - Location Intelligence for Smart Cities
CleverCity - Location Intelligence for Smart Cities
 
CARTO BUILDER: from visualization to geospatial analysis
CARTO BUILDER: from visualization to geospatial analysisCARTO BUILDER: from visualization to geospatial analysis
CARTO BUILDER: from visualization to geospatial analysis
 
Samm owasp
Samm owaspSamm owasp
Samm owasp
 
Evaluacion de arquitecturas
Evaluacion de arquitecturasEvaluacion de arquitecturas
Evaluacion de arquitecturas
 
Tecnologías de información maestría
Tecnologías de información maestríaTecnologías de información maestría
Tecnologías de información maestría
 
ACD Riesgos TIC: Sistemas Seguros para Compras Online
ACD Riesgos TIC: Sistemas Seguros para Compras OnlineACD Riesgos TIC: Sistemas Seguros para Compras Online
ACD Riesgos TIC: Sistemas Seguros para Compras Online
 
Ejemplo de un Proyecto CRM
Ejemplo de un Proyecto CRMEjemplo de un Proyecto CRM
Ejemplo de un Proyecto CRM
 
Livret vente 2013
Livret vente 2013Livret vente 2013
Livret vente 2013
 
La pertinence des "gros" quali
La pertinence des "gros" qualiLa pertinence des "gros" quali
La pertinence des "gros" quali
 
I S A
I S AI S A
I S A
 
Gestion del conocimiento
Gestion del conocimientoGestion del conocimiento
Gestion del conocimiento
 
Similar Presentation French
Similar Presentation FrenchSimilar Presentation French
Similar Presentation French
 
Politika20 01-junio-2009
Politika20 01-junio-2009Politika20 01-junio-2009
Politika20 01-junio-2009
 
Les 53 Dans Le 973
Les 53 Dans Le 973Les 53 Dans Le 973
Les 53 Dans Le 973
 
La vida de los memes
La vida de los memesLa vida de los memes
La vida de los memes
 
Guerra??
Guerra??Guerra??
Guerra??
 

Ähnlich wie Introduccion a un curso de Programación Segura

Introduccion par un Curso de Diseño de Aplicaciones Seguras
Introduccion par un Curso de Diseño de Aplicaciones SegurasIntroduccion par un Curso de Diseño de Aplicaciones Seguras
Introduccion par un Curso de Diseño de Aplicaciones SegurasFernando Tricas García
 
Introduccion de un curso sobre Diseño de Aplicaciones Seguras
Introduccion de un curso sobre Diseño de Aplicaciones SegurasIntroduccion de un curso sobre Diseño de Aplicaciones Seguras
Introduccion de un curso sobre Diseño de Aplicaciones SegurasFernando Tricas García
 
Curso: Control de acceso y seguridad: 05 Gestión de riesgos 2
Curso: Control de acceso y seguridad: 05 Gestión de riesgos 2Curso: Control de acceso y seguridad: 05 Gestión de riesgos 2
Curso: Control de acceso y seguridad: 05 Gestión de riesgos 2Jack Daniel Cáceres Meza
 
Curso: Introducción a la seguridad informática: 02 Riesgos
Curso: Introducción a la seguridad informática: 02 RiesgosCurso: Introducción a la seguridad informática: 02 Riesgos
Curso: Introducción a la seguridad informática: 02 RiesgosJack Daniel Cáceres Meza
 
Seguridad Informática.
Seguridad Informática.Seguridad Informática.
Seguridad Informática.Manel Montero
 
Conferencia red flags en molinos
Conferencia red flags en molinosConferencia red flags en molinos
Conferencia red flags en molinosGuillermo Paredes
 
Tipos de auditoria informatica
 Tipos de auditoria informatica Tipos de auditoria informatica
Tipos de auditoria informaticaeverttyb21
 
Portafolios Servicios - Optimiza TI
Portafolios Servicios - Optimiza TIPortafolios Servicios - Optimiza TI
Portafolios Servicios - Optimiza TIOptimizaTI
 
PRESENTACION DEL PROYECTO.pdf
PRESENTACION DEL PROYECTO.pdfPRESENTACION DEL PROYECTO.pdf
PRESENTACION DEL PROYECTO.pdfruddy78
 
Conferencia Prevención de riesgos tecnológicos en el uso de Billeteras Digitales
Conferencia Prevención de riesgos tecnológicos en el uso de Billeteras DigitalesConferencia Prevención de riesgos tecnológicos en el uso de Billeteras Digitales
Conferencia Prevención de riesgos tecnológicos en el uso de Billeteras DigitalesFabián Descalzo
 
Calidad y Seguridad en el SDLC V1 4
Calidad y Seguridad en el SDLC  V1 4Calidad y Seguridad en el SDLC  V1 4
Calidad y Seguridad en el SDLC V1 4Roger CARHUATOCTO
 
Presentación IMP-GEXCON Final_Nov.2020.pptx
Presentación IMP-GEXCON Final_Nov.2020.pptxPresentación IMP-GEXCON Final_Nov.2020.pptx
Presentación IMP-GEXCON Final_Nov.2020.pptxERICKMARTINEZAGUIRRE
 
Informe de Seguridad Informática EPS SANITAS
Informe de Seguridad Informática EPS SANITASInforme de Seguridad Informática EPS SANITAS
Informe de Seguridad Informática EPS SANITASJuan407916
 
Seguridad informática final y ciberseguridad en colombia
Seguridad informática final y ciberseguridad en colombiaSeguridad informática final y ciberseguridad en colombia
Seguridad informática final y ciberseguridad en colombiaAndersonMartinez64
 

Ähnlich wie Introduccion a un curso de Programación Segura (20)

Introduccion par un Curso de Diseño de Aplicaciones Seguras
Introduccion par un Curso de Diseño de Aplicaciones SegurasIntroduccion par un Curso de Diseño de Aplicaciones Seguras
Introduccion par un Curso de Diseño de Aplicaciones Seguras
 
Introduccion de un curso sobre Diseño de Aplicaciones Seguras
Introduccion de un curso sobre Diseño de Aplicaciones SegurasIntroduccion de un curso sobre Diseño de Aplicaciones Seguras
Introduccion de un curso sobre Diseño de Aplicaciones Seguras
 
Curso: Control de acceso y seguridad: 05 Gestión de riesgos 2
Curso: Control de acceso y seguridad: 05 Gestión de riesgos 2Curso: Control de acceso y seguridad: 05 Gestión de riesgos 2
Curso: Control de acceso y seguridad: 05 Gestión de riesgos 2
 
Gestión de riesgo
Gestión de riesgoGestión de riesgo
Gestión de riesgo
 
Curso: Introducción a la seguridad informática: 02 Riesgos
Curso: Introducción a la seguridad informática: 02 RiesgosCurso: Introducción a la seguridad informática: 02 Riesgos
Curso: Introducción a la seguridad informática: 02 Riesgos
 
Desarrollo de aplicaciones seguras
Desarrollo de aplicaciones segurasDesarrollo de aplicaciones seguras
Desarrollo de aplicaciones seguras
 
Seguridad Informática.
Seguridad Informática.Seguridad Informática.
Seguridad Informática.
 
Conferencia red flags en molinos
Conferencia red flags en molinosConferencia red flags en molinos
Conferencia red flags en molinos
 
Tipos de auditoria informatica
 Tipos de auditoria informatica Tipos de auditoria informatica
Tipos de auditoria informatica
 
Portafolios Servicios - Optimiza TI
Portafolios Servicios - Optimiza TIPortafolios Servicios - Optimiza TI
Portafolios Servicios - Optimiza TI
 
CHARLA_USUARIOS_COLEGIO_WEBERBAUER
CHARLA_USUARIOS_COLEGIO_WEBERBAUERCHARLA_USUARIOS_COLEGIO_WEBERBAUER
CHARLA_USUARIOS_COLEGIO_WEBERBAUER
 
ADA #2
ADA #2ADA #2
ADA #2
 
PRESENTACION DEL PROYECTO.pdf
PRESENTACION DEL PROYECTO.pdfPRESENTACION DEL PROYECTO.pdf
PRESENTACION DEL PROYECTO.pdf
 
Conferencia Prevención de riesgos tecnológicos en el uso de Billeteras Digitales
Conferencia Prevención de riesgos tecnológicos en el uso de Billeteras DigitalesConferencia Prevención de riesgos tecnológicos en el uso de Billeteras Digitales
Conferencia Prevención de riesgos tecnológicos en el uso de Billeteras Digitales
 
Calidad y Seguridad en el SDLC V1 4
Calidad y Seguridad en el SDLC  V1 4Calidad y Seguridad en el SDLC  V1 4
Calidad y Seguridad en el SDLC V1 4
 
Pf sence
Pf sencePf sence
Pf sence
 
Presentación IMP-GEXCON Final_Nov.2020.pptx
Presentación IMP-GEXCON Final_Nov.2020.pptxPresentación IMP-GEXCON Final_Nov.2020.pptx
Presentación IMP-GEXCON Final_Nov.2020.pptx
 
Informe de Seguridad Informática EPS SANITAS
Informe de Seguridad Informática EPS SANITASInforme de Seguridad Informática EPS SANITAS
Informe de Seguridad Informática EPS SANITAS
 
Seguridad informática final y ciberseguridad en colombia
Seguridad informática final y ciberseguridad en colombiaSeguridad informática final y ciberseguridad en colombia
Seguridad informática final y ciberseguridad en colombia
 
ADA2_B1_JAHG
ADA2_B1_JAHGADA2_B1_JAHG
ADA2_B1_JAHG
 

Mehr von Fernando Tricas García

Criptomonedas y otras inversiones en la red: oportunidades y riesgos.
Criptomonedas y otras inversiones en la red: oportunidades y riesgos.Criptomonedas y otras inversiones en la red: oportunidades y riesgos.
Criptomonedas y otras inversiones en la red: oportunidades y riesgos.Fernando Tricas García
 
Defense, Tech and Internet. The World Changed.
Defense, Tech and Internet. The World Changed.Defense, Tech and Internet. The World Changed.
Defense, Tech and Internet. The World Changed.Fernando Tricas García
 
Consejos y oportunidades en ciberseguridad
Consejos y oportunidades en ciberseguridadConsejos y oportunidades en ciberseguridad
Consejos y oportunidades en ciberseguridadFernando Tricas García
 
Oportunidades y consejos de ciberseguridad
Oportunidades y consejos de ciberseguridadOportunidades y consejos de ciberseguridad
Oportunidades y consejos de ciberseguridadFernando Tricas García
 
Algoritmos de Inteligencia artificial y ofertas personalizadas de bienes y se...
Algoritmos de Inteligencia artificial y ofertas personalizadas de bienes y se...Algoritmos de Inteligencia artificial y ofertas personalizadas de bienes y se...
Algoritmos de Inteligencia artificial y ofertas personalizadas de bienes y se...Fernando Tricas García
 
Por qué mi banco me envía un SMS para confirmar mis operaciones y otras dific...
Por qué mi banco me envía un SMS para confirmar mis operaciones y otras dific...Por qué mi banco me envía un SMS para confirmar mis operaciones y otras dific...
Por qué mi banco me envía un SMS para confirmar mis operaciones y otras dific...Fernando Tricas García
 
Un bot (no inteligente) multiinterfaz y distribuido como asistente personal
Un bot (no inteligente) multiinterfaz y distribuido como asistente personalUn bot (no inteligente) multiinterfaz y distribuido como asistente personal
Un bot (no inteligente) multiinterfaz y distribuido como asistente personalFernando Tricas García
 
Seguridad en Internet. Ataques informáticos. Sitios seguros
Seguridad en Internet. Ataques informáticos. Sitios segurosSeguridad en Internet. Ataques informáticos. Sitios seguros
Seguridad en Internet. Ataques informáticos. Sitios segurosFernando Tricas García
 
Te puede pasar a ti. Tres consejos y algunas tendencias
Te puede pasar a ti. Tres consejos y algunas tendenciasTe puede pasar a ti. Tres consejos y algunas tendencias
Te puede pasar a ti. Tres consejos y algunas tendenciasFernando Tricas García
 

Mehr von Fernando Tricas García (20)

Criptomonedas y otras inversiones en la red: oportunidades y riesgos.
Criptomonedas y otras inversiones en la red: oportunidades y riesgos.Criptomonedas y otras inversiones en la red: oportunidades y riesgos.
Criptomonedas y otras inversiones en la red: oportunidades y riesgos.
 
Inteligencia Artificial.
Inteligencia Artificial.Inteligencia Artificial.
Inteligencia Artificial.
 
Defense, Tech and Internet. The World Changed.
Defense, Tech and Internet. The World Changed.Defense, Tech and Internet. The World Changed.
Defense, Tech and Internet. The World Changed.
 
Smart Grids y ciberseguridad
Smart Grids y ciberseguridadSmart Grids y ciberseguridad
Smart Grids y ciberseguridad
 
Consejos y oportunidades en ciberseguridad
Consejos y oportunidades en ciberseguridadConsejos y oportunidades en ciberseguridad
Consejos y oportunidades en ciberseguridad
 
Oportunidades y consejos de ciberseguridad
Oportunidades y consejos de ciberseguridadOportunidades y consejos de ciberseguridad
Oportunidades y consejos de ciberseguridad
 
Algoritmos de Inteligencia artificial y ofertas personalizadas de bienes y se...
Algoritmos de Inteligencia artificial y ofertas personalizadas de bienes y se...Algoritmos de Inteligencia artificial y ofertas personalizadas de bienes y se...
Algoritmos de Inteligencia artificial y ofertas personalizadas de bienes y se...
 
Ciberseguridad en la Nube.
Ciberseguridad en la Nube. Ciberseguridad en la Nube.
Ciberseguridad en la Nube.
 
Oportunidades en Ciberseguridad.
Oportunidades en Ciberseguridad.Oportunidades en Ciberseguridad.
Oportunidades en Ciberseguridad.
 
Por qué mi banco me envía un SMS para confirmar mis operaciones y otras dific...
Por qué mi banco me envía un SMS para confirmar mis operaciones y otras dific...Por qué mi banco me envía un SMS para confirmar mis operaciones y otras dific...
Por qué mi banco me envía un SMS para confirmar mis operaciones y otras dific...
 
Un bot (no inteligente) multiinterfaz y distribuido como asistente personal
Un bot (no inteligente) multiinterfaz y distribuido como asistente personalUn bot (no inteligente) multiinterfaz y distribuido como asistente personal
Un bot (no inteligente) multiinterfaz y distribuido como asistente personal
 
Seguridad aplicaciones web
Seguridad aplicaciones webSeguridad aplicaciones web
Seguridad aplicaciones web
 
Seguridad en Internet. Ataques informáticos. Sitios seguros
Seguridad en Internet. Ataques informáticos. Sitios segurosSeguridad en Internet. Ataques informáticos. Sitios seguros
Seguridad en Internet. Ataques informáticos. Sitios seguros
 
Te puede pasar a ti. Tres consejos y algunas tendencias
Te puede pasar a ti. Tres consejos y algunas tendenciasTe puede pasar a ti. Tres consejos y algunas tendencias
Te puede pasar a ti. Tres consejos y algunas tendencias
 
Seguridad de la Información
Seguridad de la InformaciónSeguridad de la Información
Seguridad de la Información
 
Fabricación
FabricaciónFabricación
Fabricación
 
Big Data
Big DataBig Data
Big Data
 
Web 4.0
Web 4.0Web 4.0
Web 4.0
 
Internet para las cosas. Web 1.0, 2.0
Internet para las cosas. Web 1.0, 2.0Internet para las cosas. Web 1.0, 2.0
Internet para las cosas. Web 1.0, 2.0
 
Sácale todo el partido a tu móvil - I
Sácale todo el partido a tu móvil - ISácale todo el partido a tu móvil - I
Sácale todo el partido a tu móvil - I
 

Kürzlich hochgeladen

NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 

Kürzlich hochgeladen (20)

Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 

Introduccion a un curso de Programación Segura

  • 1. Curso: (62612) Dise˜o de aplicaciones seguras n Fernando Tricas Garc´ ıa Departamento de Inform´tica e Ingenier´ de Sistemas a ıa Universidad de Zaragoza http://www.cps.unizar.es/~ftricas/ http://moodle.unizar.es/ ftricas@unizar.es 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 1
  • 2. Introducci´n o Fernando Tricas Garc´ ıa Departamento de Inform´tica e Ingenier´ de Sistemas a ıa Universidad de Zaragoza http://www.cps.unizar.es/~ftricas/ http://moodle.unizar.es/ ftricas@unizar.es 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 2
  • 3. Un ´ ındice Introducci´n o Aleatoriedad y determinismo Gesti´n de riesgos o Aplicaci´n de la criptograf´ o ıa Selecci´n de tecnolog´ o ıas Gesti´n de la confianza y o C´digo abierto o cerrado o validaci´n de entradas o Principios Autentificaci´n con claves o Auditor´ de programas ıa Seguridad en bases de datos Desbordamiento de memoria Seguridad en el cliente Control de acceso En la web Condiciones de carrera 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 3
  • 4. Introducci´n. Antes de empezar. o Se invierte mucho tiempo, dinero y esfuerzo en seguridad a nivel de red por la mala calidad de los programas. Algunas veces los cortafuegos, los sistemas de detecci´n de o intrusos (IDS) ayudan. Los programas malos son mucho m´s abundantes de lo que a creemos. La forma de desarrollar los programas es responsable en gran medida del problema. 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 4
  • 5. Cifras El 30 % de los proyectos en entornos empresariales se cancelan sin haber sido finalizados. De los que se terminan, el 30 % cuesta al final entre un 150 % y un 200 % del presupuesto original. En 2002 el ‘National Institute of Standards and Technology’ (NIST) estim´ que los defectos de los programas costaban o mas de 60 millardos de d´lares (60 billions). o Detectarlos a tiempo ahorrar´ 22 millardos de d´lares. ıa o ‘Measuring software quality. A Study of Open Source Software’ http://osvdb.org/ref/blog/open_source_quality_report.pdf 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 5
  • 6. Cifras Menos del 10 % de proyectos en empresas grandes terminan a tiempo, y cumpliendo el presupuesto. Las tasas de defectos en productos comerciales se estiman entre 10 y 17 por cada 1000 l´ıneas de c´digo. o Otras estimaciones: entre 5 y 50 fallos. 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 6
  • 7. M´s cifras a Diciembre de 1990: Miller, Fredrickson. ‘An empirical study of the reliability of Unix Utilities’ (Communications of the ACM, Vol 33, issue 12, pp.32-44). Entre el 25 y el 33 % de las utilidades en Unix pod´ ıan interrumpirse o colgarse proporcion´ndoles entradas a inesperadas. 1995: Miller otra vez, ejecutando Fuzz en nueve plataformas tipo Unix diferentes: Fallos entre un 15 y un 43 % Muchos fallos ya avisados en el 90 segu´ all´ ıan ı La menor tasa de fallos: utilidades de la FSF (7 %) y a las incluidas junto con Linux (9 %) (¿Uh?) No consiguieron hacer fallar ning´n servidor de red. Tampoco u el servidor X Window. Muchos clientes de X, si 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 7
  • 8. Cifras 2000: Miller y Forrester. Fuzz con Windows NT. 45 % de los programas se colgaron o se interrumpieron Enviar mensajes aleatorios Win32 a las aplicaciones hac´ fallar ıa al 100 % 2006: Miller, Cooksey y Moore. Fuzz y Mac OS X. 7 % de las aplicaciones de l´ ınea de ´rdenes. o De las 30 basadas en GUI s´lo 8 no se colgaron o se pararon. o http://pages.cs.wisc.edu/~bart/fuzz/fuzz.html 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 8
  • 9. En dispositivos bluetooth Resultados de robustez para 31 dispositivos Bluetooth (2007) S´lo 3 dispositivos sobrevivieron a todos los tests. o Los dem´s tuvieron problemas con, al menos, un perfil a La mayor´ simplemente se colgaron ıa En algunos casos hubo que reprogramar la memoria flash corrupta 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 9
  • 10. En dispositivos WiFi Resultados de robustez para 7 puntos de acceso Wifi: S´lo se marcan como FAIL los que son reproducibles (INC o muestra que ha habido fallos pero no f´ciles de repetir). a Todos fallaron en alguna de las pruebas. ‘Wireless Security: Past, Present and Future. Sami Pet¨j¨soja, Tommi aa M¨kil¨, Mikko Varpiola, Miikka Saukko and Ari Takanen’. Feb 2008. a a http://www.codenomicon.com/resources/whitepapers/Codenomicon_Wireless_WP_v1_0.pdf 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 10
  • 11. Cifras 2004-2005. Honeypot, con varios sistemas (6: Windows, Mac, Linux). Una semana. Fueron escaneados 46255 veces desde el exterior con un resultado de 4892 ataques directos. Windows XP. SP 1. Fue atacado 4857 veces Infectado en 18 minutos (Blaster y Sasser) En una hora era un ‘bot’ controlado remotamente, y comenz´ a realizar sus propios ataques o Windows XP. SP2. 16 ataques Sobrevivi´ a todos ellos o MacOS X Jaguar (3, 0), Suse Professional 9.2 (8,0), Fedora Core 3 (8,0), Red Hat 9 (0 ataques). http://www.stillsecure.com/docs/StillSecure_DenverPost_Honeypot.pdf Feb-Marzo 2005: menos del 24 % de los Windows XP observados en un estudio de AssetMetrix Research Labs ten´ SP2. Menos del 7 % del total lo ten´ 251 empresas ıan ıan. norteamericanas (seis meses despu´s de su lanzamiento). e 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 11
  • 12. Estudio OpenSSH Julio 2002 se descubri´ un fallo de desbordamiento de o memoria remoto Dos semanas despu´s de la publicaci´n del anuncio del fallo, e o mas de 2/3 de los servidores observados segu´ siendo ıan vulnerables. Septiembre 2002. Un gusano explotaba el fallo (Slapper). El 60 % de servidores era todav´ vulnerable. ıa ‘Security holes. . . Who cares? Eric Rescorla’ http://www.cgisecurity.com/lib/reports/slapper-report.pdf 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 12
  • 13. Introducci´n. Antes de empezar. o Los programas no tienen garant´ (¿todav´ ıa ıa?). La seguridad es un problema de gesti´n de riesgos. o Pensemos en la seguridad durante el dise˜o, despu´s ya es n e tarde. 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 13
  • 14. Puede haber castigo Cada vez se habla m´s de la responsabilidad de las empresas que a desarrollan programas: 1999. Ambrosia Software (Rochester, N.Y.) anunci´ que si alguno o de sus productos requer´ la reparaci´n de errores, el responsable ıan o de marketing comer´ insectos en alguna feria. ıa 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 31 de diciembre de 1999. Las autoridades chinas obligaron a los ejecutivos de la compa˜´ a´rea nacional a volar durante esa noche nıa e en los vuelos programados. 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 14
  • 15. ¿Por qu´ es importante? e Cada vez hay m´s computadores y en m´s sitios. a a La gente ni sabe ni quiere saber de estos temas. A´n peor, saben lo que dicen las noticias. u 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 15
  • 16. Son los programas Dependemos (mucho) de los computadores (y sus programas). El principal problema es que la mayor´ de los desarrolladores ıa ni siquiera saben que hay un problema. Ni los cortafuegos ni la criptograf´ resolver´n los problemas ıa a (el 85 % de los avisos del CERT no se pueden prevenir con criptograf´ ıa). 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 16
  • 17. Son los programas Est´ bien proteger la transmisi´n pero los atacantes prefieren a o los extremos Las aplicaciones que interact´an con Internet son las m´s u a delicadas, pero no es imprescindible que tengan contacto con la red para ser peligrosas. 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 17
  • 18. Son los programas Empezar pronto Conocer las amenazas Dise˜ar pensando en la seguridad n Ce˜ir el dise˜o a los an´lisis de riesgos y las pruebas n n a 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 18
  • 19. Gesti´n del riesgo o La seguridad es un compromiso entre muchos factores: Tiempo hasta que se puede vender Coste Flexibilidad Reutilizabilidad Relaciones entre los anteriores Hay que establecer las prioridades, a veces la seguridad no es la principal necesidad. 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 19
  • 20. Seguro o Inseguro Mucha gente piensa en la seguridad como algo que se tiene o no se tiene. Es muy dif´ probar que un sistema de complejidad mediana ıcil es seguro. Frecuentemente, ni si quiera vale la pena. 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 20
  • 21. Seguro o Inseguro Es mas realista pensar en t´rminos de gesti´n de riesgo: e o ¿Cu´nto riesgo? a ¿Cu´nto cuesta reducirlo? a Recordar: los ’malos’ no crean los defectos, simplemente los utilizan. 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 21
  • 22. Fallos en los programas A˜o 2000: aproximadamente 20 nuevas vulnerabilidades cada n semana Muchas en programas con c´digo, pero otras tantas en las o que no se conoce Unix y Windows tambi´n est´n equilibrados e a Siguen apareciendo problemas en programas probados y usados. 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 22
  • 23. Algunas cifras NIST: National Institute of Standards and Technology NVD: National Vulnerabilities Database Year Num. of Vulns % of Total 1988 2 100 1989 3 100 1990 11 100 1991 15 100 1992 13 100 1993 13 100 1994 25 100 1995 25 100 1996 75 100 1997 252 100 1998 246 100 1999 894 100 2000 1020 100 2001 1677 100 2002 2156 100 2003 1527 100 2004 2451 100 2005 4933 100 2006 6608 100 2007 6515 100 2008 4673 100 3 de noviembre de 2008 http://nvd.nist.gov/statistics.cfm?results=1 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 23
  • 24. M´s cifras a CERT: Organizaci´n del Software Engineering Institute (SEI). o http://www.cert.org/stats/ 3 de noviembre de 2008 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 24
  • 25. Y m´s . . . la web a Figure 1. (a) Breakdown of disclosed vulnerabilities by software type 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 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 25
  • 26. M´s cifras a http://www.cisco.com/web/about/security/cspo/docs/Cisco2007Annual_Security_Report.pdf 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 26
  • 27. Consecuencias http://www-935.ibm.com/services/us/iss/pdf/etr_xforce-2007-annual-report.pdf 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 27
  • 28. ¿D´nde conocerlos? o Bugtraq (http://www.securityfocus.com/) CERT Advisories http://www.cert.org/ http://www.rediris.es/cert/ Equipo de Seguridad para la Coordinaci´n de Emergencias en o Redes Telem´ticas (http://escert.upc.edu/) a ICAT Metabase (http://nvd.nist.gov/) OSVDB, Open Source Vulnerability Database (http://osvdb.org/) INTECO, http://www.inteco.es/ RISKS Digest (http://catless.ncl.ac.uk/Risks/) Help Net Security http://www.net-security.org/ 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 28
  • 29. ¿Y las tecnolog´ ıas? La complejidad introduce riesgos. A˜adir funcionalidades (no presente en el original) n Invisibilidad de ciertos problemas Dificultad para analizar, comprender, asegurar. 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 29
  • 30. Complejidad en navegadores http://www.spinellis.gr/blog/20031003/index.html Mozilla 1.3 // Explorer 5 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 30
  • 31. La complejidad Windows NT → 35 millones de l´ ıneas de c´digo. o Windows XP → 40 millones de l´ ıneas de c´digo. o Windows Vista → 50 millones de l´ ıneas de c´digo. o Linux 2.2 → 1.78 millones, Solaris 7 → 400000. Debian GNU/Linux 2.2 55 millones Red Hat 6.2 17 millones. Mac OS X Darwin 790000 (el kernel) 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 31
  • 32. La complejidad Windows NT → 35 millones de l´ ıneas de c´digo. o Windows XP → 40 millones de l´ ıneas de c´digo. o Windows Vista → 50 millones de l´ ıneas de c´digo. o Linux 2.2 → 1.78 millones, Solaris 7 → 400000. Debian GNU/Linux 2.2 55 millones Red Hat 6.2 17 millones. Mac OS X Darwin 790000 (el kernel) ¡Seguimos programando en C! (en el mejor de los casos C++) Esto va cambiando . . . Java, .Net, . . . Luego hay que instalar, configurar, usar 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 31
  • 33. 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 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 32
  • 34. Complejidad, vulnerabilidades, incidentes, . . . Dan Geer, 2004 http://www.stanford.edu/class/msande91si/www-spr04/slides/geer.pdf ‘Shared Risk at National Scale. Dan Geer’ 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 33
  • 35. En red Cada vez m´s redes a Los ataques pueden venir de m´s sitios a Ataques automatizados/autom´ticos a M´s sitios para atacar, m´s ataques, mas riesgo a a 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 34
  • 36. Extensibilidad C´digo m´vil o o ‘Enchufables’ en el navegador (‘plugins’) M´dulos, ‘drivers’ o Muchas aplicaciones tienen lenguajes que permiten extenderlas. Econ´micamente conveniente (reutilizaci´n) pero ... o o 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 35
  • 37. El entorno A˜adir seguridad a un sistema ya existente es casi imposible n Es mejor dise˜ar con la seguridad en mente n Otra fuente de problemas es ‘ambiental’: un sistema completamente seguro en el entorno para el que fue dise˜ado, n deja de serlo en otros. 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 36
  • 38. Pero ... ¿Qu´ es seguridad? e Primero, es importante establecer una pol´ ıtica que describa la forma de acceder a los recursos. Si no queremos accesos sin autentificar y alguien accede ... Si alguien hace un ataque de denegaci´n de servicio ... o 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 37
  • 39. Pero ... ¿Qu´ es seguridad? e Primero, es importante establecer una pol´ ıtica que describa la forma de acceder a los recursos. Si no queremos accesos sin autentificar y alguien accede ... Si alguien hace un ataque de denegaci´n de servicio ... o A veces es evidente lo que est´ mal, y no hay que hilar tan a fino, pero ... ¿Un escaneo de puertos es un ataque o no? ¿Hay que responder? ¿C´mo? o 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 37
  • 40. ¿Tiene que ver con la confiabilidad? ‘Reliability’, confiabilidad, ¿no deber´ proporcionar seguridad? ıa La confiabilidad se mide seg´n la robustez de la aplicaci´n u o respecto a los fallos. La definici´n de fallo es an´loga a la definici´n de pol´ o a o ıtica de seguridad. 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 38
  • 41. ¿Tiene que ver con la confiabilidad? ‘Reliability’, confiabilidad, ¿no deber´ proporcionar seguridad? ıa La confiabilidad se mide seg´n la robustez de la aplicaci´n u o respecto a los fallos. La definici´n de fallo es an´loga a la definici´n de pol´ o a o ıtica de seguridad. Entonces, la seguridad ser´ una parte de la confiabilidad: si se ıa puede violar alguna parte de la pol´ ıtica de seguridad, hay un fallo. Sin embargo... Los problemas de robustez no siempre son problemas de seguridad (Lo son m´s frecuentemente de lo que se piensa, de a todos modos) Si dise˜amos pensando en su robustez, seguramente tambi´n n e mejoraremos su seguridad 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 38
  • 42. Malas pr´cticas a Se hacen los programas, se espera a que aparezcan problemas, y se resuelven (si se puede). S´lo se resuelven problemas conocidos por los desarrolladores o No se trabaja ni con el tiempo, ni con la tranquilidad que hace falta. Los parches habitualmente atacan al s´ ıntoma, no al problema Los parches hay que aplicarlos ... 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 39
  • 43. Las metas La seguridad no es una caracter´ ıstica est´tica a 100 % seguro no existe (o es mentira) Mejor ... ¿Qu´ queremos proteger? e ¿Contra qui´n? e ¿Contra qu´? e 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 40
  • 44. Prevenci´n o Normalmente, se presta atenci´n cuando ya es tarde o El tiempo en la red es distinto (velocidad) Los ataques se propagan muy r´pido a Incluso se automatizan 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 41
  • 45. Trazabilidad, auditabilidad Los ataques ocurrir´n a Los contables lo saben (dinero) Estas medidas ayudan a detectar, comprender y demostrar los ataques Es delicado 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 42
  • 46. Trazabilidad, auditabilidad Los ataques ocurrir´n a Los contables lo saben (dinero) Estas medidas ayudan a detectar, comprender y demostrar los ataques Es delicado =⇒Vigilancia Auditor´ en tiempo real ıa Se puede hacer a muchos niveles b´squeda de ‘firmas’, patrones ... u ... pero tambi´n aserciones, c´digo a prop´sito. e o o A menudo, con trampas sencillas se puede capturar a un ladr´n, o al menos evitar que haga da˜o. o n 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 42
  • 47. Privacidad y Confidencialidad (Privacidad ←→ Intimidad) Privacidad y confidencialidad son t´rminos muy relacionados e Las empresas deben proteger los datos de sus clientes, incluso de los anunciantes Los gobiernos tambi´n e No siempre comprendemos bien las consecuencias de nuestras acciones Los programas deber´ asegurar la privacidad ... ıan ... pero los programas s´lo sirven para hacer el trabajo o Si es posible ... no almacenar secretos 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 43
  • 48. Seguridad multinivel Hay secretos ‘m´s secretos’ que otros a Ni las empresas ni los gobiernos quieren que se sepan algunos datos Adem´s, no todo el mundo tiene que saber lo mismo ... a ... Es complejo 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 44
  • 49. Anonimato Arma de doble filo A veces, hay razones sociales para favorecerlo (SIDA) Pero tambi´n las hay para controlarla (racismo, terrorismo,..) e Junto con la privacidad, es de los temas m´s importantes que a hay que decidir. Global Identifier de Microsoft sirve para saber qu´ copia de e MS Office origin´ un documento o WGA (Windows Genuine Advantage) las ‘supercookies’ de Google y Microsoft . . . 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 45
  • 50. Anonimato Carnivore, Echelon, ... ¿qui´n nos garantiza que se usan e ‘adecuadamente’ ? ¿Y las galletitas? (cookies) ¿Realmente son necesarias? ¿Y si nos las roban? Hay empresas que las ‘coleccionan’ ¿Y si tenemos que hacerlo nosotros? ¿Qu´ pasa si algo va e mal? ¿La comodidad es compatible con la privacidad? 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 46
  • 51. Autentificaci´n o Saber qui´n para saber qu´ puede hacer e e Hasta no hace mucho bastaba con la presencia f´ ısica Internet!!! http://mibancofavorito.com ¿Realmente es MiBancoFavorito(TM) ? ¿Realmente es un banco? SSL da tranquilidad pero ... ¿qu´ garantiza? e 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 47
  • 52. Autentificaci´n o Nadie mira los datos De muchas formas: http://mibancofavorito.com/ → http://mibacofavorito.com/ ¿Qui´n se fija? e Si vale dinero, hay que tener cuidado. Algunos esquemas suponen anonimato, otros auditor´ ıa. Algunos esquemas est´n orientados a sesiones, otros a a transacciones. 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 48
  • 53. Integridad Seguir teniendo ‘lo mismo’ Precios, cotizaciones, ... ¿y si nos los cambian? La informaci´n digital es muy f´cil de simular o a 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 49
  • 54. Conociendo al enemigo Es bueno conocer los errores frecuentes, sobre todo porque no se suele hablar mucho del tema. Errores de programaci´n (buffers, condiciones de carrera, o n´meros aleatorios) u Pero tambi´n ... e La construcci´n es importante y tambi´n como se usa o e Arquitectura cliente/servidor Ingenier´ social ıa Entradas maliciosas 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 50
  • 55. Las amenazas Ver lo que va por la red, ponerse en medio Modificar lo que va por la red Simular lo que deber´ ir por la red ıa Reemplazar el flujo de datos Grabar y repetir 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 51
  • 56. Las metas de un proyecto Funcionalidad (resolver el problema) Ergonom´ -usabilidad- (a veces la seguridad interfiere con la ıa comodidad/conveniencia) Eficiencia (a nadie le gusta esperar) El mercado (habitualmente en contra de la simplicidad, y de la gesti´n de riesgos) o Simplicidad (buena para los proyectos, buena para la seguridad) 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 52
  • 57. Algunas listas de correo Secure Coding http://www.securecoding.org/list/ WEB APPLICATION SECURITY http://www.securityfocus.com/archive/107 SECPROG http://www.securityfocus.com/archive/98 Webappsec (de OWASP): https://lists.owasp.org/mailman/listinfo/webappsec Web Security http://webappsec.org/lists/ HACK http://mailman.argo.es/listinfo/hacking Owasp-spanish https://lists.owasp.org/mailman/listinfo/owasp-spanish 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 53
  • 58. Bibliograf´ ıa John Viega and Gary McGraw. Building Secure Software. Addison-Wesley Michael Howard, David C. LeBlanc. Writing Secure Code. Microsoft Press. Second Edition. Innocent Code. A security wake-up call for web programmers. Sverre H. Huseby. Wiley. 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 54
  • 59. M´s libros a Software Security. Gary McGraw. Addison-Wesley Software Security Series. OWASP Guide to Building Secure Web Applications (va por la versi´n 3.0) o http://www.owasp.org/index.php/OWASP_Guide_Project 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 55
  • 60. M´s bibliograf´ a ıa Mark G. Graff, Kenneth R. Van Wyk. Secure Coding: Principles and Practices. O’Reilly & Associates John Viega, Matt Messier. Secure Programming Cookbook for C and C++. O’Reilly & Associates. Gary McGraw, Edward W. Felten. Securing Java: Getting Down to Business with Mobile Code Computer Security. Dieter Gollmann. Wiley. 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 56
  • 61. Bibliograf´ ıa El otro lado. Greg Hoglund, Gary McGraw. Exploiting Software. How to break code. Addison Wesley. Cyrus Peikari, Anton Chuvakin. Security Warrior. O’Reilly. Andrews & Whittaker. How to Break Web Software. Addison Wesley. Tom Gallagher; Bryan Jeffries; Lawrence Landauer. Hunting Security Bugs. Microsoft Press. 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 57
  • 62. M´s bibliograf´ a ıa En la red: Security Developer Center Microsoft http://msdn.microsoft.com/security ‘Improving Web Application Security: Threats and Countermeasures’. J.D. Meier, Alex Mackman, Michael Dunner, Srinath Vasireddy, Ray Escamilla and Anandha Murukan Microsoft Corporation (http://msdn.microsoft.com/library/default.asp?url= /library/en-us/dnnetsec/html/ThreatCounter.asp) Secure Programming for Linux and Unix HOWTO http://www.dwheeler.com/secure-programs/ Hay mas... 62612 Dise˜o de aplicaciones seguras. Fernando Tricas Garc´ n ıa. 58