Professional Documents
Culture Documents
Requisitos Codificacin
Arqui tectura Pruebas Distribucin Operacin y
Casos de e
Di seo y despl iegue mantenimiento
ab uso integracin
REALIMENTACIN
El uso combinado de
patrones de ataque y
rboles de ataque, captura
la probabilidad de cmo
los ataques se pueden
combinar y secuenciar
tem Descripcin
Nombre Identificador descriptivo del patrn de ataque.
Severidad En una escala aproximada tpica (muy bajo, bajo, medio, alto, muy alto) de la gravedad del ataque.
Descripcin detallada del ataque incluyendo la cadena de acciones tomadas por el atacante.
Descripcin
Descripciones ms pormenorizadas podra incluir rboles de ataque.
Describe las condiciones que deben existir o funcionalidades y caractersticas que el software de
Prerrequisitos del ataque
destino debe tener y comportamiento que debe exhibir para que un ataque de este tipo tenga xito.
Es una escala aproximada (Muy Bajo, Medio Bajo, Alto, Muy Alto). Este campo se utiliza para
Probabilidad tpica del exploit capturar un valor global promedio tpico para este tipo de ataque, teniendo en cuenta que no ser
completamente exacta para todos los ataques.
Describe el mecanismo de ataque utilizado por este patrn. Con el fin de ayudar en la normalizacin
Mtodos de ataque y clasificacin, este campo comprende una seleccin de una lista enumerada de definidos vectores.
Este campo puede ayudar a definir la superficie de ataque requerida por este ataque.
Contiene ejemplos explicativos o casos demostrativos de este ataque. Pretende ayudar al lector a
Ejemplos comprender la naturaleza, el contexto y la variabilidad de la agresin en trminos ms prcticos y
concretos.
Describe el nivel de habilidad o conocimiento especfico requerido por un agente malicioso para
Conocimiento y habilidades
ejecutar este tipo de ataque. Se codifica con una escala aproximada (bajo, medio, alto), as como un
requeridas del atacante
detalle de contexto.
Severidad High
Description HTTP Response Splitting causes a vulnerable web server to respond to a maliciously crafted request by
Descripcin
sending an HTTP response stream such that it gets interpreted as two separate responses instead of a single one.
Ability of attacker to inject custom strings in HTTP header Insufficient input validation in application to check for input
Prerrequisitos del ataque
sanity before using it as part of response header.
Conocimiento y habilidades requeridas del High - The attacker needs to have a solid understanding of the HTTP protocol and HTTP headers and must be able to
To avoid HTTP Response Splitting, the application must not rely on user-controllable input to form part of its output
Soluciones y mitigaciones
response stream. Specifically, response splitting occurs due to injection of CR-LF sequences and additional headers.
Run Arbitrary Code
Motivacin y consecuencias del ataque
Privilege Escalation
tem Descripcin
Run Arbitrary Code
Motivacin y consecuencias del ataque
Privilege Escalation
HTTP Response Splitting attacks take place where the server script embeds user-controllable data in HTTP response
headers. This typically happens when the script embeds such data in the redirection URL of a redirection response
Descripcin del contexto (HTTP status code 3xx), or when the script embeds such data in a cookie value or name when the response sets a
cookie. In the first case, the redirection URL is part of the Location HTTP response header, and in the cookie setting,
the cookie name/value pair is part of the Set- Cookie HTTP response header.
Vector de inyeccin User-controllable input that forms part of output HTTP response headers.
Encoded HTTP header and data separated by appropriate CR-LF sequences. The injected data must consist of
Payload
legitimate and well-formed HTTP headers as well as required script to be included as HTML body.
Zona de activacin API calls in the application that set output response headers.
The impact of payload activation is that two distinct HTTP responses are issued to the target, which interprets the first
Impacto de activacin del payload as response to a supposedly valid request and the second, which causes the actual attack, to be a response to a second
dummy request issued by the attacker.
Impacto CIA Confidentiality Impact: High Integrity Impact: High Availability Impact: Low
CWE113 - HTTP Response Splitting Targeted.
CWE74 - Injection Secondary.
Requisitos de seguridad relevantes All client-supplied input must be validated through filtering and all output must be properly escaped.
Referencias G. Hoglund and G. McGraw. Exploiting Software: How to Break Code. Addison-Wesley, February 2004.
SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera
MODELADO DE ATAQUES
rbol de ataque: Un mtodo sistemtico para caracterizar la
seguridad de un sistema, basado en la combinacin y
dependencias de las vulnerabilidades del mismo, que un
atacante puede aprovechar para comprometerlo.
Identifica todas las posibles tcnicas o mtodos que podran
ser utilizados para comprometer la seguridad del sistema.
Bsicamente:
Captura los pasos realizados en ataques con xito.
Capturar mtodos generales y especficos del sistema de ataque,
propiedades del sistema y otras condiciones previas que hacen
lo hacen posible.
Se enfoca en las causas de las vulnerabilidades, pero no
identifica las contramedidas.
Representan de forma grfica y textual de directrices de
codificacin segura, patrones de seguridad.
O1
Descomposicin AND
Un conjunto de objetivos de ataque de nivel inferior, que tienen
que ser alcanzados para que el ataque tenga xito.
O1.1 O1.2
O1
Descomposicin OR
Una serie de objetivos de ataque de nivel inferior, cualquiera de los
cuales puede lograrse para que el ataque tenga xito.
O1.1 O1.2
5. Patrone s
7. Re visin
cd igo
8. puntos en el software
Configuracin
d e d ise o
2. Casos
3. Ing.
4. Anlisis d e
6. Prue bas
11.
Re visin
se gura
1. Mod e lad o
9. Te st
susceptibles de ser
Re quisitos basad as e n d e ataque s
d e abuso
se gurid ad
rie sgos
rie sgo
e xte rna pe ne tracin
10. atacados.
Ope racione s
se gurid ad
Definicin de
restricciones, o
Requisitos Codificacin
Arquitectura Distribucin Operacin y
Casos de
abuso
Diseo
e
integracin
Pruebas
y despliegue mantenimiento requisitos negativos.
Obtener requisitos de
seguridad que
REALIMENTACIN
garanticen que el
software aplica las
restricciones necesarias.
SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera
CASOS DE ABUSO
Relacin entre el caso
de uso de seguridad y
el de abuso asociado
Documentacin
de entrada.
Actividades.
Documentacin
de salida.
CONTROL INGENIERIA
DEPOSITAR DE ACCESO SOCIAL
RETIRAR FONDOS (ABUSO
FONDOS (SEGURIDA
D) Pirata
informtico
ROMPER
PRIVACIDAD
PRIVACIDAD
(SEGURIDAD
GESTION (ABUSO)
)
CUENTAS
USUA PENETRACION
INTEGRIDAD
RIO FRAUDE Cibercriminal
(SEGURIDAD
) (ABUSO)
TRANSFERIR CONSULTAR
FONDOS SALDO
NO AGENTES
REPUDIO CASO USO CASOS
SEGURIDAD ABUSO MALICIOSOS
(SEGUIRI
DAD)
Previene Inundar
Bloquear el Detecta
Hojear
Extiende repetidos sistema
catlogo
registros
5. Patrones
7. Re visin
cdigo
8.
Configuracin
Los requisitos servicios
de diseo
2. Casos
3. Ing.
4. Anlisis de
6. Pruebas
11.
Re visin
segura
1. Modelado
9. Test
de seguridad a menudo
Requisitos basadas en de ataques
de abuso
seguridad
riesgos
riesgo
e xte rna penetracin
10. se confunden con los
Operaciones
seguridad requisitos de software
seguro:
Requisitos
Arquitectura
Codificacin
Distribucin Operacin y
Requisitos
Casos de e Pruebas
Diseo y despliegue mantenimiento
abuso integracin servicios de
seguridad
Requisitos de
REALIMENTACIN
software seguro
Identificacin de
requisitos
Es fundamental que
Anlisis de riesgos. los requisitos de
Modelado de amenazas seguridad del
software sean:
Patrones de ataques
Anlisis de
Requisitos Completos.
requisitos Casos de abuso
Precisos.
Manejo de excepciones Coherentes.
Especificacin Trazables.
de requisitos. Especificacin formal
Documentacin
Verificables
Verificacin de
requisitos
Existen porque
hay ciertas
funcionalidades
del software que
no se deben
permitir, pues
pueden inducir un
estado de
inseguridad que le
hace vulnerable.
Anlisis Resistencia al
Ataque
Anlisis Ambigedad
Anlisis Debilidad
rbol de la
amenaza
Modelo de
Anlisis de
Riesgos
arquitectnico
5. Patrones
7. Revisin 8.
de diseo
cdigo Configuracin
11. se gura
3. Ing. 4. Anlisis 6. Prue bas 1. Mode lado
2. Casos Revisin 9. Test
Requisitos de rie sgos basadas e n de ataque s
de abuso externa penetracin
seguridad rie sgo 10.
Ope racione s
se guridad
Requisitos Codificacin
Arquitectura Pruebas Distribucin Operacin y
Casos de e
Diseo y despliegue mantenimiento
abuso integracin
REALIMENTACIN
5. Patrones
7. Revisin 8.
de diseo
cdigo Configuracin
11. se gura
3. Ing. 4. Anlisis 6. Prue bas 1. Mode lado
2. Casos
de abuso
Requisitos de rie sgos basadas e n
Revisin
externa
de ataque s
9. Test
penetracin
Pruebas
seguridad rie sgo 10.
Ope racione s
Funcionales: no
se guridad
sirven para
determinar cmo se
Requisitos
Casos de
Arquitectura
Codificacin
e Pruebas Distribucin Operacin y comportar en
Diseo y despliegue mantenimiento
abuso integracin condiciones
anmalas y hostiles,
ni si est libre de
REALIMENTACIN vulnerabilidades.
Pruebas de
Pruebas de los mecanismos de seguridad para asegurar
seguridad que su funcionalidad est correctamente implementada
funcionales
SDLC
S-SDLC
Anlisis dinmico
Escaneo de vulnerabilidades
Anlisis hibrido
Caja Gris
Inyeccin de fallos en cdigo fuente
Test de penetracin.
Fuzz testing..
Escaneo de vulnerabilidades.
Fuzz testing.
Basados en Aleatoriedad
o Nmero / Carcter.
o Formato de archivo
Basados en mutaciones
Basados en Proxy
Basados en la especificacin
www.tutorialspoint.com
Programa Descripcin
Mangle Fuzzer que genera etiquetas HTML y se autolanzar dentro de un navegador.
Spike Coleccin de fuzzers.
Wfuzz Fuzzer para web que aplica fuerza bruta sobre el protocolo HTTP. Realiza pruebas
de path discovery (recursivas) o de fuerza bruta sobre variables (pasadas por GET
o por POST).Emplea diccionarios (en el caso de las inyecciones SQL el diccionario
est preparado con los patrones SQL ms empleados). Dependiendo de la prueba
que estemos haciendo emplearemos un diccionario u otro.
ANALISIS
HIBRIDO
Diseo y
Revisin de diseo
Arquitectura
Revisin de cdigo
Inyeccin de fallos en cdigo fuente
Codificacin
Anlisis cdigo Binario Distribucin
Fuzzing Testing
pruebas de
Anlisis dinmico seguridad a lo
Inyeccin de fallos en cdigo fuente largo de las
Anlisis Hbrido
Pruebas de penetracin
fases del S-
Pruebas SDLC
Anlisis cdigo Binario
Fuzzing Testing
Inyeccin de fallos en binarios
Escaneo de vulnerabilidades
5. Patrones
7. Revisin 8.
de diseo
cdigo Configuracin
11. se gura
3. Ing. 4. Anlisis 6. Prue bas 1. Mode lado
2. Casos Revisin 9. Test
Requisitos de rie sgos basadas e n de ataque s
de abuso externa penetracin
seguridad rie sgo 10.
Ope racione s
se guridad
Requisitos Codificacin
Arquitectura Pruebas Distribucin Operacin y
Casos de e
Diseo y despliegue mantenimiento
abuso integracin
REALIMENTACIN
Los falsos positivos son seguramente indeseables, pero desde una perspectiva de seguridad, los
Todas las herramientas de anlisis esttico de cdigo producen falsos positivos y falsos negativos,
La penitencia por un falso negativo es mucho mayor, pues no solo se paga el precio asociado por
Objetivo descubrir bugs. El coste de omitir un bug dentro de la primera categora es,
pasados por alto es elevada, por lo que las herramientas de seguridad en general producen ms
Summary of
Results by Tool
Definir propiedades de
seguridad.
Definir cualquier
comportamiento del
programa
3.Revisin de
cdigo
Ciclo de revisin de
cdigo, fases 2 y 3
Hallazgo en
el cdigo
Explotable
.
Ambiguo.
Seguro
la trampa de
la
explotabilidad
Requisitos Codificacin
Arquitectura Pruebas Distribucin Operacin y
Casos de e
Diseo y despliegue mantenimiento
abuso integracin
REALIMENTACIN
6. Realizar 1. Revisar
pruebas de Informacin
Fuzzing Modelo Amenazas
5. Realizacin
2. Identificar
Anlisis Dinmico
Vulnerabilidades
(DAST) Web
4. Ejecutar Exploit
(herramienta
3. Buscar Exploit
automtica o
manual
5. Patrones
7. Revisin 8.
de diseo
cdigo Configuracin
11. segura 9. Test
3. Ing. 4. Anlisis 6. Pruebas 1. Modelado
2. Casos Re visin penetracin
Requisitos de rie sgos basadas en de ataques 1
de abuso e xte rna 10.
seguridad riesgo
Operaciones
seguridad Distribucin
2
Requisitos Codificacin
Arquitectura Pruebas Distribucin Operacin y
Casos de
abuso
Diseo
e
integracin
y despliegue mantenimiento Despliegue
REALIMENTACIN
Operaciones
Seguridad de la
aplicacin
(auditora, acceso,
etc.)
Prcticas de
ope racin Re d
Gestora bases de
(administracin, datos, etc. (protocolos de
buckup, e tc.) comunicacione s)
Sistema operativo
(control de acceso
sistema de fichero)
5. Patrones
7. Revisin 8.
de diseo
cdigo Configuracin
11. segura 9. Test
3. Ing. 4. Anlisis 6. Pruebas 1. Modelado
2. Casos Re visin penetracin
Requisitos de rie sgos basadas en de ataques
de abuso e xte rna 10.
seguridad riesgo
Operaciones
seguridad
Requisitos Codificacin
Arquitectura Pruebas Distribucin Operacin y
Casos de e
Diseo y despliegue mantenimiento
abuso integracin
REALIMENTACIN