Owasp Presentacion
Owasp Presentacion
Owasp Presentacion
1. QUE ES OWASP?
El Proyecto Abierto de Seguridad en Aplicaciones Web (OWASP ) es
una comunidad abierta dedicada a permitir que las organizaciones
desarrollen, adquieran, mantengan aplicaciones y APIs en las que
se pueda confiar.
Proyecto OWASP Top 10: OWASP publica cada pocos años una
lista de las 10 principales vulnerabilidades. Estas
vulnerabilidades son examinadas por los miembros y las
organizaciones contribuyentes, y son problemas del mundo
real.
OWASP ZED Attack Proxy (ZAP): Es la herramienta de
seguridad gratuita más popular que existe. Se utiliza
para buscar e informar vulnerabilidades de seguridad
en software basado en web.
Análisis sobre
la
infraestructura
o topología Configuraciones
Funcionalidades de la
Administrativas infraestructura
Métodos de
Autenticación
1
VPer
uset
ibba
N
usl
udm
la IST e
pr co S ScoS
ot nf P nLg/
ec id 80 TuLe
ci en 0- Ste
ón ci 5
de alid 2, 3 m
laa D
d E
pu
y S
in s
2
te SH o
V Pr grid A1 AE
de esue ad p S
. ara pa
la tibbas r
B ul d la a
D um e
r
coec
ngep
uetor
te de
m e
pu sc
3 s uc
ha
VGe
st
ibó
En unl
qu co
udm
e
im e p ntra ecx
cr po ue r a otne
ed rta a rc d ngsu
en nt n u hiv ieo
ci e s sa os
al ntee
es ob rse sin
. re ms
la par refe pdue
in a o re
fra b nc
sa
4
es ten ia
rc
hi
V A r
tru er u
c i n ol vo
tu v
se esch ra form ida
gu tibivo o d
la aci os
En r u
id lu a s s ó n
qu co ad m nt
im e n i
p tra co gu
cr po ue r a ng os
ed rta da rc
en nt n u hiv ue , c
ci e s sa os
al teopi
es ob rse sin
. re
m as
pu d
la par refe
in a o re
fra
s e
5
bt nc
e ia
b.pruebas de gestión de la configuración
es
tru ner u
VPer ct in olv
ur fo id
sute a r a
o ma do
ib a la s
uls s ción
Lo um
co
el q
i
im i e m u ncfi
ong
ex ple a o n n
in plo m se es r guura
eci
st ta en a e teón
al c ta n s ma
ac ió c te en pup
ió n ión s d ci
n. po e l a slic
st pa la de ac
er ra be ió
io e
r a vi n
la tar
la
c. Pruebas lógicas de negociación
● manipular los
parámetros
Requiere mayor nivel de para comprobar si es ● datos de entrada
ya que gestiona varios ● moulos
creatividad por parte del posible evadir el flujo de
procesos diferentes ● con códigos
especialista en seguridades trabajo
dañinos
d. pruebas de autenticación
Se incluyen las pruebas de fortaleza
Es el proceso de intentar de los sistemas de preguntas y
verificar la identidad digital respuestas, cambio y reinicio de
del remitente de la contraseñas, políticas de creación
comunicación de contraseñas y descubrimiento
de mecanismo de autentificación
múltiples factores de
autenticación
● enumeración de usuarios
● pruebas de diccionario sobre pruebas de gestión de
cuentas de usuario caché de navegación
● comprobar sistemas de
recordatorio/ restauración de
contraseñas
E. pruebas de AUTORIZACIÓN
Autorización es el concepto de permitir el acceso a
autorización.
F. pruebas de gestión de sesiones
La gestión de sesiones cubre ampliamente todos los controles que se
proveedor
7. pruebas de validación de datos
La debilidad más común en la seguridad de aplicaciones web,
distribuidos (DDoS).
8. Fallas de seguridad de las aplicaciones web
A.INYECCIÓN
● Ocurre cuando un atacante envía datos inválidos a
la aplicación web con la intención de hacerla hacer
algo distinto para lo que fue diseñada/programada.
● El núcleo de una vulnerabilidad de inyección de
código es la falta de validación de los datos
consumidos por la aplicación web. Lo que significa
que esta vulnerabilidad puede estar presente en
casi cualquier tipo de tecnología.
● Todo lo que acepte parámetros como entradas
puede ser potencialmente vulnerable a un ataque
de inyección de código.
¿Cómo se previenen las vulnerabilidades de inyecciones de código?
· La opción preferida es usar una API segura que evite el uso del intérprete de manera
completa, o provea una interfaz parametrizada.
· Usa un “whitelist” como validación de datos del lado del servidor.
· Para cualquier consulta dinámica residual, escapa los caracteres residuales usando la
sintaxis de escape específica para ese intérprete.
· Usa LIMIT y otros controles SQL dentro de la consulta para prevenir la divulgación en
masa de registros en el caso de una inyección SQL exitosa.
· Separación de datos con la lógica de la aplicación web
· Ajustes para limitar la exposición de datos en caso de ataques de inyección exitosos
B. autenticación rota
● Permite a los atacantes usar medios manuales y/o
automáticos para tratar de ganar control sobre
una de las cuentas en el sistema, o peor, para
ganar control completo del sistema.
● La autenticación rota usualmente se debe a
problemas de lógica en el mecanismo de
autenticación de la aplicación, como el mal
manejo de sesiones o el listado de nombres de
usuarios.
● La segunda forma más común de esta
vulnerabilidad es permitir que los usuarios
hagan ataques de fuerza bruta contra esas
páginas utilizando combinaciones de nombres de
usuario y contraseñas.
¿Cómo se previenen las vulnerabilidades de autenticación rota?
● Siempre que sea posible, implementa autenticación multi-factor
● No despliegues ninguna credencial por defecto, sobre todo para los
usuarios administradores.
● Implementa verificaciones de contraseñas débiles
● Limita o incrementa cada vez más los intentos de inicio de sesión
fallidos. Registra todos los intentos fallidos y alerta a los
administradores cuando se detecten ataques de credential stuffing, fuerza
bruta u otros.
● Usa un gestor de sesiones integrado y seguro que genere un nuevo ID de
sesión aleatorio luego del inicio de sesión.
● Los IDs también deben estar almacenados de forma segura y ser invalidados
luego de cerrar la sesión, tiempos de inactividad y tiempos absolutos.
c. Exposición a datos sensibles
En julio de 2018, Chrome comenzó a marcar todas las páginas
utilizando HTTP como no seguro en un impulso para convertir la web
a HTTPS . Y por una buena razón. Los datos que se pasan a través
de HTTP no están encriptados.
Prevención: deshabilitar las entidades externas y el procesamiento DTD (definición del tipo de documento) en todos
los analizadores XML de la aplicación.
Evitar la serialización de datos confidenciales y utilizar formatos de datos menos complejos, como JSON.
Mantenga al día todos los procesadores XML y las bibliotecas.
Implementar la validación de entrada del lado del servidor (por ejemplo, listas blancas).
F. Proyectos de código de owasp
Se divide en dos:
Ejemplos
14
14
15. Secuencias de comandos entre sitios
● Mediante correos
engañosos.
● Atacantes utilizan un
buscador insertando un
mensaje de alerta en
JavaScript o mensaje
en HTML.
CÓMO IDENTIFICAR ESTA VULNERABILIDAD
Las aplicaciones ofrecen páginas de salida utilizando
intérpretes como:
● JavaScript
● ActiveX
● Flash o Silverlight.
● No conoce las versiones de todos los componentes que utiliza (tanto del lado del cliente
como del servidor). Esto incluye componentes utilizados directamente como sus
dependencias anidadas.
● No se analizan los componentes periódicamente ni se realiza seguimiento de los boletines de
seguridad de los componentes utilizados.
● El software es vulnerable, no posee soporte o se encuentra desactualizado. Esto incluye el
sistema operativo, servidor web o de aplicaciones, DBMS, APIs y todos los componentes,
ambientes de ejecución y bibliotecas
16. Usos de componentes con vulnerabilidad
desconocida
Cómo se previene
subnetin