Vous êtes sur la page 1sur 32

Titulacin de Sistemas Informticos y

Computacin

Informe Tcnico OWASP TOP 10

Autor:
Leonardo Fabin Montalvn Celi

Loja - Ecuador
Contenido
1.

Problemtica................................................................................................. 5

2.

Situacin Actual............................................................................................ 7

3.

Estadsticas................................................................................................... 8

4.

Tringulo de la Seguridad............................................................................. 9

5.

OWASP.......................................................................................................... 9

5.1.

Introduccin............................................................................................... 9

5.2.

OWASP TOP 10........................................................................................ 10

5.3.

Factores de riesgos de seguridad en aplicaciones...................................11

5.4.

Identificacin de Riesgos.........................................................................11

5.5.

Arquitectura de una aplicacin web. Cmo funciona?...........................12

5.5.1.

Arquitectura Cliente Servidor...............................................................12

5.5.2.

Arquitectura por capas.........................................................................12

5.6.

OWASP Top 10 de Riesgos de Seguridad en Aplicaciones........................14

5.6.1.

A1 Inyeccin...................................................................................... 14

5.6.1.1.

Definicin.......................................................................................... 14

5.6.1.2.

Riesgos.............................................................................................. 14

5.6.1.3.

Impacto del ataque........................................................................... 14

5.6.1.4.

Etapas del Ataque............................................................................. 14

5.6.1.5.

Prevencin......................................................................................... 15

5.6.2.

A2 Prdida de Autenticacin y Gestin de Sesiones..........................16

5.6.2.1.

Definicin.......................................................................................... 16

5.6.2.2.

Riesgos.............................................................................................. 16

5.6.2.3.

Impacto del ataque........................................................................... 16

5.6.2.4.

Etapas del ataque............................................................................. 16

5.6.2.5.

Prevencin......................................................................................... 17

5.6.3.

A3 Secuencia de comandos en sitios cruzados (XSS)........................17

5.6.3.1.

Definicin.......................................................................................... 17

5.6.3.2.

Riesgos.............................................................................................. 17

5.6.3.3.

Impacto del ataque...........................................................................18

5.6.3.4.

Etapas del ataque............................................................................. 18

5.6.3.5.

Prevencin......................................................................................... 19

5.6.4.

A4 Referencia directa insegura a objetos...........................................19

5.6.4.1.

Definicin.......................................................................................... 19

5.6.4.2.

Riesgos.............................................................................................. 19
2

5.6.4.3.

Impacto del ataque...........................................................................20

5.6.4.4.

Etapas del ataque............................................................................. 20

5.6.4.5.

Prevencin......................................................................................... 20

5.6.5.

A5 Configuracin de Seguridad Incorrecta.........................................21

5.6.5.1.

Definicin.......................................................................................... 21

5.6.5.2.

Riesgos.............................................................................................. 21

5.6.5.3.

Impacto del ataque...........................................................................21

5.6.5.4.

Etapas del ataque............................................................................. 22

5.6.5.5.

Prevencin......................................................................................... 22

5.6.6.

A6 Exposicin de datos sensibles......................................................22

5.6.6.1.

Definicin.......................................................................................... 22

5.6.6.2.

Riesgos.............................................................................................. 23

5.6.6.3.

Impacto del ataque...........................................................................23

5.6.6.4.

Etapas del ataque............................................................................. 23

5.6.6.5.

Prevencin......................................................................................... 24

5.6.7.

A7 Inexistente Control de Acceso a nivel de funcionalidades............24

5.6.7.1.

Definicin.......................................................................................... 24

5.6.7.2.

Riesgos.............................................................................................. 24

5.6.7.3.

Impacto del ataque...........................................................................24

5.6.7.4.

Etapas del ataque............................................................................. 25

5.6.7.5.

Prevencin......................................................................................... 25

5.6.8.

A8 Falsificacin de Peticiones en Sitios Cruzados (CSFR)...................25

5.6.8.1.

Definicin.......................................................................................... 25

5.6.8.2.

Riesgos.............................................................................................. 26

5.6.8.3.

Impacto del ataque...........................................................................26

5.6.8.4.

Etapas del ataque............................................................................. 26

5.6.8.5.

Prevencin......................................................................................... 27

5.6.9.

A9 Uso de Componentes con Vulnerabilidades Conocidas.................27

5.6.9.1.

Definicin.......................................................................................... 27

5.6.9.2.

Riesgos.............................................................................................. 27

5.6.9.3.

Impacto del ataque...........................................................................27

5.6.9.4.

Etapas del ataque............................................................................. 28

5.6.9.5.

Prevencin......................................................................................... 28
3

5.6.10. A10 Redirecciones y reenvos no vlidos...........................................28


5.6.10.1. Definicin.......................................................................................... 28
5.6.10.2. Riesgos.............................................................................................. 28
5.6.10.3. Impacto del ataque...........................................................................29
5.6.10.4. Etapas del ataque............................................................................. 29
5.6.10.5. Prevencin......................................................................................... 29
5.7.

Controles del Top 10 de OWASP...............................................................29

5.8.

Conclusiones........................................................................................... 30

5.9.

Recomendaciones.................................................................................... 30

5.10.

Bibliografa........................................................................................... 31

1. Problemtica
En la actualidad (Milano, 2007) la seguridad no es tomada en cuenta durante el proceso
de desarrollo de aplicaciones web, por lo general la seguridad es tomada en cuenta en la

ltima etapa del ciclo de vida del desarrollo de un sistema (SDLC 1). En la Figura 1, se
pude observar el ciclo de vida del desarrollo de sistema, mientras que en la Figura 2, se
indica la curva del costo de implementar seguridad en las ltimas fases del SDLC, es
decir mientras ms nos demoremos en implementar la seguridad ms costoso ser.

Figura 1. Etapas del SDLC


Fuente: Tomada de (Tutorialspoint.com, n.d.)

Figura 2. Curva de Costos de la Implementacin de Seguridad


Fuente: Tomada de (Milano, 2007)

Pero cuales son los principales motivos por lo que no se toma en cuenta la
implementacin de la seguridad, para (Milano, 2007), los principales mitos son:
1 SDLC (System Development Life Cycle).- (Tutorialspoint.com, n.d.) ciclo
de vida del desarrollo de sistemas o software, es un framework, donde se
especifican las tareas o actividades que se deben realizar en cada etapa del
proceso del desarrollo de software.
5

La seguridad de la aplicacin es responsabilidad del programador.


Nadie sabe cmo funciona, por ende, no la van a atacar.
Si no se encontraron vulnerabilidades hasta ahora
A nadie le interesara atacar nuestra aplicacin.
La aplicacin es segura porque corre detrs de un firewall.
La aplicacin es segura porque usa encriptacin.
Si no corre como Administrator / root, no funciona.
Si, ese feature (que es inseguro) viene habilitado por default, pero el administrador

lo puede deshabilitar.
No hay manera de explotarla.
No hay tiempo para incluir seguridad.
Recolectando en puntos principales, la problemtica de la no implementacin de la
seguridad se debe a:
Muchos de los desarrolladores y/o lderes de proyectos no consideran importante
incluir la seguridad, y creen que no aporta ningn valor.
Resolver las vulnerabilidades antes de la ejecucin de un proyecto se toma como
un proceso costoso e innecesario.
El objetivo principal es la funcionalidad sin tomar en cuenta aspectos de seguridad.
Tiempos cortos para desarrollos y/o proyectos.
La seguridad en aplicaciones no se ve como una inversin sino como un costo
impuesto por la necesidad de cumplir las normas y reglamentos.
Mala comunicacin entre el equipo o departamentos involucrados, en un ambiente
de desarrollo de aplicaciones, se pueden encontrar problemas graficados en la
Figura 3.

Figura 3. Mala comunicacin entre equipos


Fuente: Tomada de (Infoinnova, n.d.)

2. Situacin Actual
En la sociedad tecnolgica actual, los riesgos de que nuestros sistemas o aplicaciones
web sean atacados por hackers, por no tener una implementacin de seguridad robusta
se vuelve cada vez ms comn, pero que hacen los hackers con nuestros sistemas:
1. Principalmente los hacker / researchers, encuentra vulnerabilidades o debilidades
en el software.
2. Cuando encuentra una vulnerabilidad, no importa en qu plataforma (Windows,
Linux, Unix, Oracle, SqlServer), esta vulnerabilidad es publicada.
3. Se crean websites, con el detalle de la vulnerabilidad y como explotarla.
4. Se libera el fix, parche, SP o se publica el workaround.
5. Estos parches son instalados y testeados por el administrador.
Las principales causas para que los hacker encuentren vulnerabilidades en nuestros
sistemas son:
1.
2.
3.
4.
5.
6.

Ausencia de procesos formales para el SDLC y que incluyan Seguridad.


Diseo orientado a la funcionalidad.
Falta de uso de metodologas, estndares o buenas prcticas.
No existen procedimientos para el anlisis y evaluacin de riesgos.
Falta de conocimiento de las amenazas, riesgos, vulnerabilidades.
Tiempo y Presupuesto.

3. Estadsticas
Para (Brumfield, 2014), en un estudio realizado en el 2013, que cubra ms de 63.000
incidentes de seguridad, de 50 organizaciones participantes a nivel global, se determin
que el 92%

de los incidentes de seguridad en los ltimos 10 aos, se encuentran

categorizados en: instrucciones POS, Ataque de la aplicacin web, Uso indebido de


informacin privilegiada, Robo / prdida, Diversos errores, Crimeware, Skimmer de la
tarjeta de pago, Denegacin de servicio, Ciber espionaje. Entre otros datos estadsticos
tenemos:
1.
2.
3.
4.
5.
6.
7.

Los ataques a aplicaciones web van en aumento (35%).


El 66% de los ataques a aplicaciones web son sin fines de lucro.
El sector financiero es el ms afectado.
Los atacantes utilizan viejas vulnerabilidades conocidas.
Inyecciones SQL fueron usadas en el 80% de ataques a aplicaciones web.
El 74% de ataques a aplicaciones web fueron reportados por clientes.
Los atacantes siguen explotando fallas en los sistemas CMS populares,
especialmente mediante el uso de vulnerabilidades en plugins populares.

Figura 4. Resultados Ataques a la Seguridad


Fuente: Tomado de (Brumfield, 2014)

4. Tringulo de la Seguridad
Por qu se representa como un tringulo? (Batshoun, n.d.), en la Figura 5, si se
comienza en el centro y se mueve el punto hacia la seguridad, se est moviendo ms
lejos de la funcionalidad y la usabilidad. Si se mueve el punto hacia la Usabilidad, se est
alejando de la Seguridad y de la Funcionalidad. En pocas palabras, a medida que
aumenta la seguridad, la funcionalidad del sistema y la facilidad de uso disminucin.

Figura 5. Tringulo de la Seguridad


Fuente: Tomado de (Batshoun, n.d.)

Con todas las amenazas a la seguridad que existen en nuestro mundo digital, es un
desafo, proporcionar una seguridad adecuada a los datos y la red interna. La pregunta
que a menudo los clientes formulan es "Estamos haciendo lo suficiente?" Siempre hay
algo ms que puede hacer. No hay mecanismo suficiente para proteger sus datos y red.
La seguridad se logra mejor a travs de un enfoque por capas. El nmero de capas y
exhaustividad de cada capa son una cuestin de grados y se debe discutir de manera
recurrente.

5. OWASP
5.1.

Introduccin

Despus de analizar las estadsticas en el punto 3, determinamos que el software


inseguro est afectando a los sectores de: finanzas, salud, defensa, energa. En el mundo
actual donde las infraestructuras digitales, se hacen cada vez ms complejas y suman sus
nodos de conexiones, la implementacin de la seguridad en las aplicaciones aumenta
exponencialmente. Con el objetivo de crear una conciencia a nivel mundial de la
importancia de la implementacin de la seguridad en las aplicaciones de las
organizaciones, se ha creado el proyecto Top 10 de OWASP, que es una coleccin abierta
de herramientas, estndares, libreras e investigaciones referente a la seguridad.
OWASP (Open Web Application Security Project) o Proyecto Abierto de Seguridad para
Aplicaciones Web, es un proyecto de cdigo abierto que naci en el ao 2003, que
permite a las organizaciones desarrollar, adquirir y mantener aplicaciones confiables.

5.2.

OWASP TOP 10

De los aos de estudios sobre los ataques y vulnerabilidades de las aplicaciones web de
nuestras organizaciones, se ha desarrollado un proyecto denominado TOP 10 de OWASP
el mismo que realiza 10 categorizaciones de los ataques ms comunes que pueden
atacar las aplicaciones web de las organizaciones, con el objetivo de crear una mejor
conciencia sobre la seguridad de las aplicaciones.
OWASP 2010 y 2013
En la Figura 6, se muestra la categorizacin de los 10 ataques que pueden ser vctimas
las aplicaciones web de cualquier organizacin, adems se hace referencia al listado del

2010 con el 2013, con la diferencia que los escenarios de amenazas para la seguridad de
aplicaciones cambian constantemente.

Figura 6. Top 10 de OWASP 2010 y 2013


Fuente: Tomado de (Owasp, 2013)

5.3.

Factores de riesgos de seguridad en aplicaciones.

Los atacantes pueden utilizar diversas rutas en nuestra aplicacin para encontrar
vulnerabilidades. Cada una de esta ruta es un riesgo que debemos prestar atencin. En la
Figura 7, se muestra las posibles rutas dentro de nuestra aplicacin, en donde se examina
la dificultad para encontrar la vulnerabilidad y el impacto que tendr nuestra aplicacin si
se llegara a explotar la vulnerabilidad, en la organizacin se evala la probabilidad
asociada a cada amenaza de vulnerabilidad, vector de ataque y la debilidad de la
seguridad, esto determina el riesgo total.

Figura 7. Factores de riesgos de seguridad

10

Fuente: Tomado de (Owasp, 2013)

5.4.

Identificacin de Riesgos

El proyecto OWASP Top 10, se enfoca a la identificacin de riesgos y su categorizacin,


cuando se encuentra con un riesgo el Top 10 de OWASP le proporciona informacin
genrica sobre la probabilidad y el impacto tcnico a travs de un esquema de
calificaciones, el mismo que se basa en la metodologa de evaluacin de riesgos OWASP
(Figura 8). Dependiendo de los detalles especficos de su empresa, pueden existir riesgos
que tengan un mayor impacto en una organizacin, que en otras, por lo que se determina
que el Top 10 de OWASP, pueden existir riesgos que no han sido tomados en cuenta pero
afectan a la organizacin.

Figura 8. Tabla cualitativa de los riesgos


Fuente: Tomada de (Owasp, 2013)

5.5.

Arquitectura de una aplicacin web. Cmo funciona?

5.5.1. Arquitectura Cliente Servidor


Las aplicaciones web utilizan lo que se conoce como clientes livianos (light clients) los
cuales no ejecutan demasiadas labores de procesamiento para la ejecucin de la
aplicacin misma. Desde el punto de vista de la arquitectura se distinguen dos lados; uno
es el cliente, donde se encuentra el usuario final utilizando la aplicacin por medio de un
navegador (como Internet Explorer o Mozilla Firefox). A travs de este cliente web, el
usuario interacta con la aplicacin localizada al otro lado, en el servidor, que es donde
residen realmente los datos, reglas y lgica de la aplicacin. En la Figura 9, se pude
observar el funcionamiento de una arquitectura cliente servidor.

11

Figura 9. Arquitectura Cliente Servidor


Fuente: Tomado de (Wiki Informtica de la UTFSM, 2012)

5.5.2. Arquitectura por capas


Tambin conocida como Arquitectura de tres capas, esta arquitectura permite definir un
modelo de diseo en capas, que pueden estar fsicamente distribuidas, es decir que los
componentes de una capa slo pueden hacer referencia a componentes en capas
inmediatamente inferiores. Este patrn es importante porque simplifica la comprensin y
la organizacin del desarrollo de sistemas complejos, reduciendo las dependencias de
forma que las capas ms bajas no son conscientes de ningn detalle o interfaz de las
superiores. Adems, permite identificar qu componentes se puede reutilizarse, y
proporciona una estructura que nos ayuda a tomar decisiones sobre qu partes comprar y
qu partes construir.
La aplicacin se divide en tres capas lgicas distintas, cada una de ellas con un grupo de
interfaces perfectamente definido.
La primera capa se denomina capa de presentacin y normalmente consiste en una
interfaz grfica de usuario de algn tipo.
La capa intermedia, o capa de empresa, consiste en la aplicacin o lgica de empresa,
La tercera capa, la capa de datos, contiene los datos necesarios para la aplicacin.
La capa intermedia (lgica de aplicacin) es bsicamente el cdigo al que recurre la capa
de presentacin para recuperar los datos deseados. La capa de presentacin recibe
entonces los datos y los formatea para su presentacin. En la Figura 10, se pude observar
la arquitectura en capas.
12

Figura 10. Arquitectura en Capas


Fuente: Tomado de (EcuRed, n.d.)

5.6.

OWASP Top 10 de Riesgos de Seguridad en Aplicaciones

Los nombres en los riesgos en el Top 10 de OWASP, se deben al tipo de ataque, debilidad
o impacto que causan.

5.6.1. A1 Inyeccin.
5.6.1.1.

Definicin

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 enviados
por parte del atacante pueden engaar al interprete para que ejecute comandos no
intencionados o para acceder datos no autorizados.

5.6.1.2.

Riesgos

En la Figura 11, se identifica los riesgos de las Inyecciones.

13

Figura 11. Riesgos de las Inyecciones


Fuente: Tomado de (Owasp, 2013)

5.6.1.3.

Impacto del ataque

Una inyeccin puede causar prdida o corrupcin de datos, prdida de responsabilidad, o


negacin de acceso. Algunas veces, una inyeccin puede llevar al compromiso total del
servidor.

5.6.1.4.

Etapas del Ataque

Para ejecutar una inyeccin se realizan los siguientes pasos, adems se ilustra en la
Figura 12.
1.
2.
3.
4.

La aplicacin presenta un formulario web al atacante.


El atacante enva un ataque en los datos del formulario.
La aplicacin dirige el ataque a la base de datos en una consulta SQL.
La base de datos ejecuta el ataque y enva los resultados cifrados nuevamente a

la aplicacin.
5. La aplicacin descifra los datos normalmente y enva los resultados al atacante.

14

Figura 12. Demostracin ataque por Inyeccin


Fuente: Tomado de (Martnez & Espinoza, n.d.)

5.6.1.5.

Prevencin

Usar API seguras, la cual evite el uso de intrpretes por completo.


Evitar el uso del intrprete utilizando procedimientos almacenados o consultas
parame trizadas.
Escapar de caracteres especiales utilizando APIs como OWASP ESAPI.
Realizar validacin positiva o whitelisting ("Lista Blanca), con adecuada
canonicalizacin2.

5.6.2. A2 Prdida de Autenticacin y Gestin de Sesiones.


5.6.2.1.

Definicin.

Las funciones de la aplicacin relacionadas a autenticacin y gestin de sesiones son


frecuentemente implementadas de forma incorrecta, permitiendo a los atacantes
comprometer contraseas, claves, tokens

de sesiones, o explotar otras fallas de

implementacin para asumir la identidad de otros usuarios.


2 Canonicalizacin.- segn (Web SEO, 2007) es una peculiar palabra, que en
trminos SEO significa escoger la mejor URL para mostrar nuestro sitio Web.
3 Token (Wikipedia, n.d.) o tambin llamado componente lxico es una cadena
de caracteres que tiene un significado coherente en cierto lenguaje de
programacin.
15

5.6.2.2.

Riesgos.

En la Figura 13, se identifica los riesgos por Prdida de Autenticacin.

Figura 13. Riesgos de la Prdida de Autenticacin y Gestin de Sesiones


Fuente: Tomado de (Owasp, 2013)

5.6.2.3.

Impacto del ataque

Estas vulnerabilidades pueden permitir que algunas o todas las cuentas sean atacadas.
Una vez que el ataque resulte exitoso, el atacante podra realizar cualquier accin que la
vctima pudiese. Las cuentas privilegiadas son objetivos prioritarios.

5.6.2.4.

Etapas del ataque

Las etapas del ataque por prdida de autenticacin y gestin de sesiones, se demuestran
en la Figura 14.

16

Figura 14. Demostracin ataque por Prdida de Autenticacin y Gestin de Sesiones


Fuente: Tomado de (Martnez & Espinoza, n.d.)

5.6.2.5.

Prevencin

Proveer a los desarrolladores un conjunto de controles de autentificacin y gestin


de sesiones fuertes definidos en el Application Security Verification Standard
(ASVS) de OWASP.

5.6.3. A3 Secuencia de comandos en sitios cruzados (XSS)


5.6.3.1.

Definicin.

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

5.6.3.2.

Riesgos.

En la Figura 15, se identifica los riesgos por XSS.

17

Figura 15. Riesgos XSS


Fuente: Tomado de (Owasp, 2013)

5.6.3.3.

Impacto del ataque.

El atacante puede ejecutar secuencias de comandos en el navegador de la vctima para


secuestrar las sesiones de usuario, alterar la apariencia del sitio web, insertar cdigo
hostil, redirigir usuarios, secuestrar el navegador de la vctima utilizando malware, etc.

5.6.3.4.

Etapas del ataque.

Figura 16. Demostracin ataque XSS


Fuente: Tomado de (Martnez & Espinoza, n.d.)

18

5.6.3.5.

Prevencin.

Utilizar tcnicas de codificacin (codificar datos no confiables basados en HTML)


Validacin de la "Lista Blanca" (Validar la longitud, formato, caracteres de los
datos)
Utilizar bibliotecas de auto sanitizacin4 (AntuSamy de OWASP)
Aplicar polticas de seguridad de contenido.

5.6.4. A4 Referencia directa insegura a objetos.


5.6.4.1.

Definicin.

Una referencia directa a objetos ocurre cuando un desarrollador expone una referencia a
un objeto de implementacin interno, tal como un fichero, directorio, o base de datos. Sin
un chequeo de control de acceso u otra proteccin, los atacantes pueden manipular estas
referencias para acceder datos no autorizados.

5.6.4.2.

Riesgos.

En la Figura 17, se identifica los riesgos por referencia directa insegura a objetos.

Figura 17. Riesgos por referencia directa insegura a objetos.


Fuente: Tomado de (Owasp, 2013)

4 Sanitizacin: (Wikipedia, n.d.) en el manejo de informacin confidencial o


sensible es el proceso lgico y/o fsico mediante el cual se remueve
informacin considerada sensible o confidencial de un medio ya sea fsico o
magntico, ya sea con el objeto de desclasificarlo, reutilizar el medio o destruir
el medio en el cual se encuentra.
19

5.6.4.3.

Impacto del ataque.

Dichas vulnerabilidades pueden comprometer toda la informacin que pueda ser referida
por parmetros. A menos que el espacio de nombres resulte escaso, para un atacante
resulta sencillo acceder a todos los datos disponibles de este tipo.

5.6.4.4.

Etapas del ataque.

Para ejecutar un ataque por referencia directa insegura a objetos, los hacker hacen lo
siguiente, como se ilustra en la Figura 18.

Figura 18. Demostracin ataque por referencia directa insegura a objetos.


Fuente: Tomado de (Martnez & Espinoza, n.d.)

1. El atacante identifica su nmero de cuenta. En la Figura 18, se pude observar que


el nmero de cuenta es el 6065.
2. El atacante modifica a un nmero parecido. ?acct=6066.
3. El atacante visualiza los datos de la cuenta de la vctima.

5.6.4.5.

Prevencin.

Utilizar referencias indirectas por usuario o sesin.(Evita que los atacantes


accedan directamente a recursos no autorizados)
Comprobar el acceso. (Comprueba que el usuario est autorizado a acceder al
objeto solicitado)

20

5.6.5. A5 Configuracin de Seguridad Incorrecta.


5.6.5.1.

Definicin.

Una buena seguridad requiere tener una configuracin segura, definida e implementada
para la aplicacin, servidor de aplicaciones, servidor web, base de datos, plataforma, etc.
Todas estas configuraciones deben ser definidas, implementadas, y mantenidas ya que
por lo general no son seguras por defecto. Esto incluye mantener todo el software
actualizado, incluidas las libreras de cdigo utilizadas por la aplicacin.

5.6.5.2.

Riesgos.

En la Figura 19, se identifica los riesgos por configuracin de seguridad incorrecta.

Figura 19. Riesgos por configuracin de seguridad incorrecta


Fuente: Tomado de (Owasp, 2013)

5.6.5.3.

Impacto del ataque.

Estas vulnerabilidades frecuentemente dan a los atacantes acceso no autorizado a


algunas funcionalidades o datos del sistema. Ocasionalmente provoca que el sistema se
comprometa totalmente.

21

5.6.5.4.

Etapas del ataque.

Figura 20. Demostracin ataque por configuracin de seguridad incorrecta


Fuente: Tomado de (Martnez & Espinoza, n.d.)

5.6.5.5.

Prevencin.

Un proceso rpido, fcil y repetible de fortalecimiento para obtener un entorno


apropiadamente asegurado.
Procesos para mantener y desplegar las nuevas actualizaciones y parches de
software.
Arquitectura robusta de aplicaciones.
Escanear y realizar auditoras peridicamente para detectar fallos de configuracin
o parches obsoletos.

5.6.6. A6 Exposicin de datos sensibles.


5.6.6.1.

Definicin.

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 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, as como tambin de precauciones especiales en un intercambio de datos con
el navegador.

22

5.6.6.2.

Riesgos.

En la Figura 21, se identifica los riesgos por exposicin de datos sensibles.

Figura 21. Riesgos por exposicin de datos sensibles.


Fuente: Tomado de (Owasp, 2013)

5.6.6.3.

Impacto del ataque.

Los fallos frecuentemente comprometen todos los datos que deberan estar protegidos.
Tpicamente, esta informacin incluye datos sensibles como ser registros mdicos,
credenciales, datos personales, tarjetas de crdito, etc.

5.6.6.4.

Etapas del ataque.

Figura 22. Demostracin ataque por exposicin de datos sensibles


Fuente: Tomado de (Martnez & Espinoza, n.d.)

23

5.6.6.5.

Prevencin.

Cifrar los datos sensibles almacenados o en trfico.


No almacenar datos sensibles innecesarios.
Aplicar algoritmos de cifrados robustos y estandarizados.
Disear algoritmos para proteger las claves.
Deshabilitar el autocompletar en los formularios que recogen datos sensibles.

5.6.7. A7 Inexistente Control de Acceso a nivel de funcionalidades.


5.6.7.1.

Definicin.

La mayora de aplicaciones web verifican los derechos (permisos) de acceso a nivel de


funcin antes de hacerlos visibles en la misma interfaz de usuario. A pesar de esto, las
aplicaciones necesitan verificar el control de acceso en el servidor cuando se accede a
cada funcin. Si las solicitudes de acceso no se verifican, los atacantes podran realizar
peticiones sin la autorizacin apropiada.

5.6.7.2.

Riesgos.

En la Figura 23, se identifica los riesgos por el inexistente control de acceso a nivel de
funcionalidades.

Figura 23. Riesgos por el inexistente control de acceso a nivel de funcionalidades.


Fuente: Tomado de (Owasp, 2013)

24

5.6.7.3.

Impacto del ataque.

Estas vulnerabilidades permiten el acceso no autorizado de los atacantes a funciones del


sistema. Las funciones administrativas son un objetivo clave de este tipo de ataques.

5.6.7.4.

Etapas del ataque.

Figura 24. Demostracin ataque por inexistente control de acceso a nivel de funcionalidades
Fuente: Tomado de (Martnez & Espinoza, n.d.)

1. Los atacantes identifican que la URL indica su perfil /user/getAccounts.


2. Los atacantes modifican la URL apuntando a otro perfil /admin/getAccounts o
manager/getAccounts.
3. Los atacantes visualizan otros perfiles.

5.6.7.5.

Prevencin.

El proceso para la gestin de accesos y permisos deberan ser actualizable y


auditable fcilmente.
La implementacin del mecanismo debera negar todo acceso por defecto.
Si la funcionalidad forma parte de un workflow, verificar y asegurarse que las
condiciones del flujo se encuentren en el estado apropiado para permitir acceso.

5.6.8. A8 Falsificacin de Peticiones en Sitios Cruzados (CSFR)


5.6.8.1.

Definicin.

Un ataque CSRF obliga al navegador de una vctima autenticada, enviar una peticin
HTTP falsificada, incluyendo la sesin del usuario y cualquier otra informacin de
25

autenticacin incluida automticamente, a una aplicacin web vulnerable. Esto permite al


atacante forzar al navegador de la vctima, para generar pedidos que la aplicacin
vulnerable piense que son peticiones legtimas provenientes de la vctima.

5.6.8.2.

Riesgos.

En la Figura 25, se identifica los riesgos por CSFR.

Figura 25. Riesgos por CSFR.


Fuente: Tomado de (Owasp, 2013)

5.6.8.3.

Impacto del ataque.

Los atacantes pueden cambiar cualquier dato que la vctima est autorizada a cambiar, o
a acceder a cualquier funcionalidad donde est autorizada, incluyendo registro, cambio de
estado o cierre de sesin.

26

5.6.8.4.

Etapas del ataque.

Figura 26. Demostracin ataque CSFR.


Fuente: Tomado de (Martnez & Espinoza, n.d.)

5.6.8.5.

Prevencin.

Incluir un token nico en el campo oculto, para que el valor del campo se enve en
el cuerpo de la solicitud HTTP.
El token nico tambin puede ir incluido en la URL, o un parmetro de la misma.
Volverse a autenticar para comprobar que se trata de un usuario legtimo.

5.6.9. A9 Uso de Componentes con Vulnerabilidades Conocidas.


5.6.9.1.

Definicin.

Algunos componentes tales como las libreras, frameworks y otros mdulos de software
casi siempre funcionan con todos los privilegios. Si se ataca un componente vulnerable
esto podra facilitar la intrusin en el servidor o una perdida seria de datos. Las
aplicaciones que utilicen componentes con vulnerabilidades conocidas debilitan las
defensas de la aplicacin y permiten ampliar el rango de posibles ataques e impactos.

5.6.9.2.

Riesgos.

En la Figura 27, se identifica los riesgos por el uso de componentes con vulnerabilidades
conocidas.

27

Figura 27. Riesgos por uso de componentes con vulnerabilidades conocidas.


Fuente: Tomado de (Owasp, 2013)

5.6.9.3.

Impacto del ataque.

El rango completo de debilidades incluye inyeccin, control de acceso roto, XSS, etc. El
impacto puede ser desde mnimo hasta apoderamiento completo del equipo y
compromiso de datos.

5.6.9.4.

Etapas del ataque.

Este tipo de vulnerabilidades se encuentra dentro de A5 Configuracin de Seguridad


Incorrecta. Figura 20.

5.6.9.5.

Prevencin.

Identificar todos los componentes y la versin que estn ocupando.


Revisar la seguridad del componente y mantenerlos actualizados.
Establecer polticas de seguridad sobre el uso de componentes.
Agregar capas de seguridad alrededor del componente.

5.6.10.

A10 Redirecciones y reenvos no vlidos.

5.6.10.1. Definicin.
Las aplicaciones web frecuentemente redirigen y reenvan a los usuarios hacia otras
pginas o sitios web, y utilizan datos no confiables para determinar la pgina de destino.
Sin una validacin apropiada, los atacantes pueden redirigir a las vctimas hacia sitios de
phishing o malware, o utilizar reenvos para acceder pginas no autorizadas.

28

5.6.10.2. Riesgos.
En la Figura 28, se identifica los riesgos por redirecciones y reenvos no vlidos.

Figura 28. Riesgos por redirecciones y reenvos no vlidos.


Fuente: Tomado de (Owasp, 2013)

5.6.10.3. Impacto del ataque.


Estas redirecciones pueden instalar cdigo malicioso o engaar a las vctimas para que
revelen contraseas u otra informacin sensible. El uso de reenvos inseguros puede
permitir evadir el control de acceso.

29

5.6.10.4. Etapas del ataque.

Figura 29. Demostracin ataque por redirecciones y reenvos no vlidos.


Fuente: Tomado de (Martnez & Espinoza, n.d.)

5.6.10.5. Prevencin.
Evitar el uso de redirecciones y reenvos.
Si se utiliza, no involucrar parmetros manipulables por el usuario para definir el
destino.
Si los parmetros de destino no pueden ser evitados, asegrese que el valor
suministrado sea vlido y autorizado para el usuario.

5.7.

Controles del Top 10 de OWASP

Los controles del Top 10 de OWASP, son una lista de tcnicas de seguridad que deben
ser incluidas en cada proyecto de desarrollo de software. Estos controles permiten ayudar
a los desarrolladores asegurar el desarrollo de aplicaciones. Los principales controles
para las vulnerabilidades son:
1.
2.
3.
4.
5.
6.
7.
8.
9.

Consultas parametizadas.
Datos codificados.
Validar todas las entradas.
Implementar los controles de acceso apropiados.
Establecer controles para la identidad y autenticacin.
Proteccin y privacidad de datos.
Implementar logging, manejo de errores y deteccin de intrusiones.
Implementar caractersticas de seguridad y libreras de seguridad.
Incluir requerimientos especficos del usuario.
30

10. Incluir seguridad en el diseo y la arquitectura.

5.8.

Conclusiones.

Ningn modelo o metodologa ser perfecta.


La Gestin de Riesgos es clave para racionalizar el esfuerzo.
No es conveniente remediar las amenazas cuando ya se han materializado (tcnicas
detectivas, o a travs de herramientas automatizadas de seguridad) lo que incurre en
elevados costos, en cambio que identificarlas tempranamente a travs de tcnicas
preventivas es ms costo-efectivo.

5.9.

Recomendaciones.

No esperar seguridad por parte de los usuarios, desconfiar siempre en los datos
ingresados por parte de ellos.
Adoptar una metodologa para el ciclo de vida de desarrollo de software seguro,
incorporndola la seguridad en cada fase del desarrollo.
Las organizaciones deben adoptar buenas prcticas o estndares para la codificacin
segura, de manera que se prevengan las fallas que son introducidas con las aplicaciones.
Educacin, capacitacin, entrenamiento y concientizacin a las partes involucradas en el
desarrollo como tcnica preventiva para proporcionar los conocimientos para escribir
cdigo seguro.
Actualizacin continua de conocimientos de desarrolladores sobre tcnicas nuevas y
emergentes.

5.10. Bibliografa
Batshoun, W. (n.d.). The Security, Functionality and Usability triangle.
Linkology.
Retrieved
June
11,
2015,
from
http://www.linkologyusa.com/blog/2014/8/28/the-security-functionality-andusability-triangle
Brumfield, C. (2014). Verizon Data Breach Report: Nine Patterns Cover 92% of
Cybersecurity
Incidents.
Retrieved
June
11,
2015,
from
http://www.digitalcrazytown.com/2014/04/verizon-data-breach-reportnine.html

31

EcuRed. (n.d.). Arquitectura de tres niveles. Retrieved June 11, 2015, from
http://www.ecured.cu/index.php/Arquitectura_de_tres_niveles
Infoinnova. (n.d.). Programadores Vs. Diseadores Vs. Administradores de
Proyecto
Espacio
Digital.
Retrieved
June
11,
2015,
from
http://infoinnova.net/2011/08/programadores-vs-diseadores-vsadministradores-de-proyecto/
Martnez, L., & Espinoza, H. (n.d.). Owasp Top 10. Retrieved June 11, 2015, from
http://slideplayer.es/slide/1048631/
Milano, L. P. (2007). Seguridad en el ciclo de vida del desarrollo de software.
Owasp. (2013). Owasp Top Ten 10-2013, 22. Retrieved from www.owasp.org
Tutorialspoint.com. (n.d.). Software Development Life Cycle (SDLC).
Web

SEO. (2007). Canonicalizacin. Retrieved


http://www.webseo.es/canonicalizacion/

June

11,

2015,

from

Wiki Informtica de la UTFSM. (2012). Web and HTTP - Departamento de


Informatica.
Retrieved
June
11,
2015,
from
http://wiki.inf.utfsm.cl/index.php?title=Web_and_HTTP
Wikipedia. (n.d.). Trminos informticos. Retrieved June 12, 2015, from
http://es.wikipedia.org/wiki/Token_(inform%C3%A1tica)

32

Vous aimerez peut-être aussi