Anda di halaman 1dari 12

FACULTAD DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS Y


COMPUTACION

MONOGRAFIA

TOP TEN-OWASP (Open Web Application Security Project)

AUTOR

LIMA PERU

DEDICATORIA:
Dedicado a mis padres que
dan todo su apoyo incondicional

INDICE
Introduccin
I.1 OWASP
I.1.1 OWASP TOP 10
I.1.2 OBJETIVO DE TOP 10
I.4 RIESGO DE SEGURIDAD EN APLICACIONES
I.5 MI RIESGO
I.6 OWASP TOP 10 DE RIESGOS DE SEGURIDAD EN
APLICACIONES
I.6.1 INYECCION
I.6.1.1 Soy vulnerable
I.6.1.2 Como prevenirlo
I.6.2 PERDIDA DE AUTENTICACION Y GESTION DE SESIONES
I.6.2.1 Soy vulnerable
I.6.2.2 Como prevenirlo
I.6.3 SECUENCIA DE COMANDOS EN SITIOS CRUZADOS (XSS)
I.6.3.1 Soy vulnerable
I.6.3.2 Como prevenirlo
I.6.4 REFERENCIA DIRECTA INSEGURA A OBJETOS
I.6.4.1 Soy vulnerable
I.6.4.2 Como prevenirlo
I.6.5 CONFIGURACION DE SEGURIDAD INCORRECTA
I.6.5.1 Soy vulnerable
I.6.5.2 Como prevenirlo
I.6.6 EXPOSICION DE DATOS SENSIBLES
I.6.6.1 Soy vulnerable
I.6.6.2 Como prevenirlo
I.6.7 AUSENCIA DE CONTROL DE ACCESO A FUNCIONES
I.6.7.1 Soy vulnerable
I.6.7.2 Como prevenirlo
I.6.8 FALSIFICACION DE PETICIONES EN SITIOS CRUZADOS
(CSRF)
I.6.8.1 Soy vulnerable
I.6.8.1 Como prevenirlo
I.6.9 UTILIZACION DE COMPONENTES CON VULNERABILIDAD
CONOCIDAS
I.6.9.1 Soy vulnerable
I.6.9.2 Como prevenirlo
I.6.10 REDIRECCIONES Y REENVIOS NO VALIDADOS
I.6.1.1 Soy vulnerable
I.6.1.2 Como prevenirlo
I.7 Que ms hay para desarrolladores
Conclusin
Bibliografa

4
5
5
5
6
6
6
6
6
7
7
7
7
7
8
8
8
8
8
9
9
9
9
9
9
10
10
10
10
10
10
10
11
11
11
11
11
11
12
12

INTRODUCCION
El software inseguro est debilitado las finanzas, salud, defensa, energa, y
otras infraestructuras crticas. A medida que la infraestructura digital se hace
cada vez ms compleja e interconectada, la dificultad de lograr la seguridad en
aplicaciones aumenta exponencialmente. No se puede dar el lujo de tolerar
problemas de seguridad relativamente sencillas, como los que se presentan en
este OWASP Top 10.
El objetivo del proyecto Top 10 es crear conciencia acerca de la seguridad en
aplicaciones mediante la identificacin de algunos de los riesgos mas crticos
que enfrentan las organizaciones. El proyecto Top 10 es referenciado por
muchos estndares, libros, herramientas, y organizaciones.
Lo invitamos a que utilice el Top 10 para hacer que su organizacin se inciie en
la temtica sobre seguridad en aplicaciones. Los desarrolladores pueden
aprender de los errores de otras organizaciones. Los ejecutivos deben
comenzar a pensar cmo gestionar el riesgo que las aplicaciones de software
crear en sus empresas.

CAPITULO I

I.1 OWASP
Es una comunidad abierta dedicada a facultar a las organizaciones a
desarrollar, adquirir y mantener aplicaciones que pueden ser confiables.
En OWASP se encuentran gratuitas:

Herramientas y estndares de seguridad


Libros
Controles de seguridad
Investigaciones de vanguardia

I.1.1 OWASP TOP 10


Es un documento de los diez riesgos de seguridad ms importantes en
aplicaciones web segn la organizacin OWASP (en ingls Open Web
Application Security Project, en espaol Proyecto Abierto de Seguridad
de Aplicaciones Web)1 esta lista es publicada y actualizada cada tres
aos por dicha organizacin.
Se basa en 8 conjuntos de datos de 7 firmas especializadas en
seguridad de aplicaciones, incluyendo 4 empresas consultoras y 3
proveedores de herramientas.
El top 10 cambiara incluso sin cambiar una sola lnea de cdigo en la
aplicaciones, es posible llegar a ser vulnerables, ya que al descubrirse
nuevos defectos, los ataques son refinados.

I.1.2 OBJETIVO DE TOP 10


5

Es educar a los desarrolladores, diseadores, arquitectos, gerentes y


organizaciones; provee tcnicas bsicas como protegerse en estas
reas de alto riesgo.
I.4 RIESGO DE SEGURIDAD EN 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 suficiente grave como para
justificar la atencin.
I.5 MI RIESGO
El TOP 10 se enfoca en la identificacin de los riesgos ms serios para una
amplia gama de organizaciones. Para cada uno de estos riesgos,
proporcionamos informacin sobre la probabilidad y el impacto tcnico a travs
del siguiente esquema de calificaciones, que est basado en METODOLOGIA
DE EVALUACION DE RIESGOS OWASP

I.6 OWASP TOP 10 DE RIESGOS DE SEGURIDAD EN APLICACIONES


I.6.1 INYECCION
Las fallas de inyeccin, tales como SQL, OS y LDAP, ocurren cuando
datos no confiables son enviados a un interprete como parte de un
comando o consulta. Los hostiles del atacante pueden engaar al
interprete en ejecutar comandos no intencionados o accedes datos no
autorizados.
I.6.1.1 Soy vulnerable
- Verificar que en todo uso de intrpretes se separa la informacin
no confiable del comando o consulta.
- Verificar el cdigo es una manera rpida y precisa para ver si la
aplicacin usa intrpretes de manera segura.
- El anlisis dinmico automatizado, el cual ejercita la aplicacin
puede proveer una idea de si existe alguna inyeccin explotable.

I.6.1.2 Como prevenirlo


6

- La opcin preferida es usar una API segura la cual evite el uso


de intrpretes por completo o provea una interface parametrizada.
Sea cuidadoso con las APIs, como los procedimientos
almacenados.
- La validacin de entradas positiva o de Lista blanca tambin se
recomienda, pero no es una defensa integral dado que muchas
aplicaciones requiere caracteres especiales en sus entradas.
I.6.2 PERDIDA DE AUTENTICACION Y GESTION DE SESIONES
Las funciones de la aplicacin relacionadas a autentificacin y gestin de
sesiones son frecuentemente implementadas incorrectamente,
permitiendo a los atacantes comprometer contraseas, claves, token de
sesiones, o explotar otras fallas de implementacin para asumir la
identidad de otros usuarios.
I.6.2.1 Soy vulnerable
- Las credenciales de los usuarios no estn protegidas cuando se
almacenan utilizando un hash o cifrado. Ver el punto A6.
- Se pueden adivinar o sobrescribir las credenciales a travs de
funciones dbiles de gestin de la sesin.
I.6.2.2 Como prevenirlo
- Cumplir con todos los requisitos autentificacin y gestin de
sesiones definidos en el Application Security Verificacion
Standard.
- Tener un interfaz simple para los desarrolladores. Considerar el
uso de ESAPI Authentificator y las APIs de usuario como buenos
ejemplos a seguir, utilizar o sobre los que construir.
I.6.3 SECUENCIA DE COMANDOS EN SITIOS CRUZADOS (XSS)
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. XSS permite 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 la usuario hacia un
sitio malicioso.

I.6.3.1 Soy vulnerable


7

- El vulnerable si no asegura que todaslas entradas de datos


ingresadas por los usuarios son codificadas adecuadamente; o si
no se verifica en el momento de ingreso que los datos sean
seguros antes de ser incluidos en la pagina de salida.
- Mediante el uso de herramientas automatizadas se pueden
identificar ciertas vulnerabilidades de XSS. Sin embargo, cada
aplicacin construye las paginas de salida de forma diferente y
utiliza distintos interpretes en el navegdor como JavaScript,
ActiveX, Flash o Silverlight, dificultando la deteccin automtica.
I.6.3.2 Como prevenirlo
- La opcin preferida es codificar los datos no confiables basados
en el contexto HTML (cuerpo, atributo, JavaScrip, CSS, o URL)
donde sern ubicados.
- Tambien se recomienda la validacin de entradas positiva o de
lista blanca , considerando que esta tcnica no es una defensa
completa ya que muchas aplicaciones requiere aceptar caracteres
especiales como parte de las entradas vlidas.
I.6.4 REFERENCIA DIRECTA INSEGURA A OBJETOS
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
un otra proteccin, los atacantes pueden manipular estas referencias
para acceder datos no autorizados.
I.6.4.1 Soy vulnerable
La mejor manera de poder comprobar si una aplicacin es
vulnerable a referencias inseguras a objetivos es verificar que
todas las referencias a objetos tienen las proteccines
apropiadas. Para conseguir esto, considerar:
- Para referencias directas a recursos restringidos, la aplicacin
necesitara verificar si el usuario est autorizado a acceder al
recurso en el concreto que solicita.
- Si la referencia es una referencia indirecta, la correspondencia
con la referencia directa debe ser limitada a valores autorizados
para el usuario en concreto.
I.6.4.2 Como prevenirlo
- Utilizar referencias indirectas por usuario o sesin. Esto evitara
que los atacantes accedieren directamente a recursos no
autorizados.
- Comprobar el acceso. Cada uso de una refencia directa a un
objeto de una fuente que no es de
8

I.6.5 CONFIGURACION DE SEGURIDAD INCORRECTA


Una buena seguridad requiere tener definida e implementada una
configuracin segura para la aplicacin, marcos de trabajo, servidor de
aplicacin, servidor web, base de datos, y plataforma. 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.
I.6.5.1 Soy vulnerable
- Cuenta su aplicacin con el apropiado fortalecimiento en
seguridad a travs de todas las capas que la componen
I.6.5.2 Como prevenirlo
- Un proceso rpido, fcil y repetible de fortalecimiento para
obtener un entorno apropiadamente asegurado. Los entornos de
Desarrollo, QA y Produccin deben ser configurados
indenticamente (con diferentes contraseas usadas en cada
entorno).

I.6.6 EXPOSICION DE DATOS SENSIBLES


Muchas aplicaciones web no protegen adecuadamente datos sensibles
tales con nmeros de tarjetas de crdito o credenciales de
autentificacin. Los atacantes pueden robar o modificar tales datos para
llevar a cabo fraudes, robos de identidad u otros delitos. Los sensibles
requieren de mtodos de proteccin adicionales tales como el cifrado de
datos, asi como tambin de precauciones especiales en un intercambio
de datos con el navegador.
I.6.6.1 Soy vulnerable
Lo primero que debe determinar es el conjunto de datos sensibles
que requeran proteccin extra.
I.6.6.2 Como prevenirlo
Los riesgos completos de utilizar cifrado de forma no segura, usa
de SSL, y proteccin de datos escapan al alcance de Top 10.
Dicho esto, para los datos sensibles, se deben realizar como
mnimo lo siguiente:
-

Considere las amenazas de las cuales proteger los datos,


asegrense de cifrar los datos sensibles almacenados o en
trfico de manera de defenderse de estas amenazas.

I.6.7 AUSENCIA DE CONTROL DE ACCESO A FUNCIONES


La mayora de aplicaciones web verifican los derechos de acceso a nivel
funcin antes de hacer visible 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 podrn realizar peticiones sin la
autorizacin apropiada.
I.6.7.1 Soy vulnerable
Usando un proxy, navegue su aplicacin con un rol privilegiado.
Luego visite reiteradamente paginas restringidas usando un rol
con menos privilegios.
I.6.7.2 Como prevenirlo
La aplicacin debera tener un mdulo de autorizacin consistente
y fcil de analizar, invocado desde todas las funciones de negocio.
I.6.8 FALSIFICACION DE PETICIONES EN SITIOS CRUZADOS (
CSRF)
Un ataque CSRF obliga al navegador de una vctima autenticada a
enviar una peticin HTTP falsificado, incluyendo la sesin del usuario y
cualquier otra informacin de autentificacin incluida automticamente, a
una aplicacin web vulnerable. Esto permite al atacante forzar al
navegar de la vctima para generar pedidos que la aplicacin vulnerable
piensa son peticiones legitimas provenientes de la vctima.
I.6.8.1 Soy vulnerable
Para conocer si una aplicacin es vulnerable, verifique la ausencia
de un token impredecible en cada enlace y formulario.
I.6.8.2 Como prevenirlo
La prevencin CSRF por lo general requiere la inclusin de un
token no predecible en cada solicitud HTTP. Estos tokens deben
ser, como mnimo, nicos por cada sesin de usuario.
I.6.9 UTILIZACION DE COMPONENTES CON VULNERABILIDAD
CONOCIDAS
Algunos componentes tales como las libreras, los frameworks y otros
modulos 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 serie de datos. Las aplicaciones que utilicen
componentes con vulnerabilidades conocidas debilitan las defensas de
la aplicacin y permite ampliar el rango de posibles ataques e impactos
I.6.9.1 Soy vulnerable

10

En teora, debera ser fcil distinguir si estas usando un


componente o biblioteca vulnerable.
I.6.9.2 Como prevenirlo
Una opcin es no usar componentes que no ha codificado. Pero
eso no es realista. La mayora de los proyectos de componentes
no crean parches de vulnerabilidades de las versiones mas
antiguas.
I.6.10 REDIRECCIONES Y REENVIOS NO VALIDADOS
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 victimas hacia sitios de phishing o
malware, o utilizar reenvos para accedes paginas no autorizadas.
I.6.1.1 Soy vulnerable
La mejor forma de determinar si una aplicacin dispone de
redirecciones y re-envios no validados, es:
-

Revisar el cdigo para detectar el uso de redirecciones o


reenvos.
Si el cdigo no se encuentra disponible, se deben analizar
todos los parmetros para ver si forman parte de una
redireccin o reenvio de una URL de destino y probar lo que
hacen estos.

I.6.1.2 Como prevenirlo


El uso seguro de reenvos y redirecciones puede realizarse de
varias maneras:
-

Simplemente evitando el uso de reducciones 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,
asegurase que el valor suministrado sea vlido y autorizado
para el usuario.

I.7 Que ms hay para desarrolladores


Tanto si usted 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 una gran numero de aplicaciones, puede resultar desalentador.
-

Requisitos de seguridad en aplicaciones


Arquitectura de seguridad en aplicaciones
11

Controles de seguridad estndar


Ciclo de vida de desarrollo seguro
Educacin de la seguridad en aplicaciones

CONCLUCION
-

El objetivo principal del Top 10 es educar a los


desarrolladores, arquitectos, gerentes y organizadores; sobre
las consecuencias de las vulnerabilidades de seguridad ms
importantes en aplicaciones web.
Las amenazas para la seguridad en aplicaciones cambia
constantemente. Los factores clave en esta evolucin son los
avances hechos por los atacantes; la liberacin de nuevas
tecnologas con nuevas debilidades y defensas incorporadas,
as como el despliegue de sistemas cada vez ms complejos.

Bibliografa
OWASP. (2013). OWASP Top 10.
OWASP. (2013). OWASP Top 10. OWASP Top 10, pg. 1.

12

Anda mungkin juga menyukai