You are on page 1of 73

SEGURIDAD DEL SOFTWARE

Javier Bermejo Higuera

TEMA II: Seguridad en el Ciclo de Vida del Software


INDICE
1. Introduccin a la seguridad en el S-SDLC.
2. Seguridad en las fases del S-SDLC.
3. Modelado de ataques.
4. Casos de abuso.
5. Ingeniera de requisitos de seguridad.
6. Anlisis de riesgo. Arquitectnico.
7. Patrones de diseo.
8. Pruebas de seguridad basadas en riesgo.
9. Revisin de cdigo.
10. Test de penetracin.
11. Operaciones de seguridad.
12. Revisin externa.

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


CONTENIDO TEMA 2

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


OBJETIVO
El objetivo del presente tema es introducir al alumno en las
diferentes prcticas de seguridad a introducir en el SDLC
adoptado por una organizacin al objeto de obtener software ms
seguro, confiable, que presente un mnimo de vulnerabilidades y
sea resistente a los ataques provenientes del entorno interior
como del exterior.

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


INTRODUCCIN SEGURIDAD EN EL (S-SDLC)
Aumento de los ataques al software vulnerable, capa aplicacin.
Insuficiencia de las protecciones a nivel de infraestructura.
Minimizar al mximo los ataques en la capa de aplicacin y nmero
de vulnerabilidades explotables.

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


INTRODUCCIN A LA SEGURIDAD EN EL (S-SDLC)
El desarrollo de software seguro y confiable requiere la
adopcin de un proceso sistemtico o disciplina.
Abordar la seguridad en cada fases del ciclo de vida:
Principios de diseo seguro (mnimo privilegio, etc.)
Buenas prcticas de seguridad (especificacin requisitos
seguridad, casos de abuso, anlisis de riesgo, anlisis de
cdigo, pruebas de penetracin dinmicas, etc.).
A este nuevo ciclo de vida con prcticas de seguridad
incluidas lo llamaremos S-SDLC.
Una de las principales ventajas de la adopcin de un S-SDLC
es el descubrimiento de vulnerabilidades y debilidades en
sus etapas tempranas y su importante ahorro de costes.
Requiere hacer algunos cambios en la forma de construir
software en la mayora de las organizaciones

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


INTRODUCCIN SEGURIDAD EN EL (S-SDLC)
Razones aadir prcticas de seguridad en el SDLC:
Mayor probabilidad de capturar los requisitos adecuadamente y
tomar decisiones de diseo y de no cometer errores involuntarios
de codificacin.
Dificultad de los agentes maliciosos para explotar vulnerabilidades
y debilidades del software, pues el resultante de un ciclo de vida
S-SDLC ser ms robusto.
Lo importante no es
el modelo seguido, si
no que la
incorporacin de
buenas prcticas de
seguridad en las
diferentes fases del
mismo y unos hitos o
puntos de control

Diagrama conceptual dos de las prcticas de seguridad ms


importante, Revisin de Cdigo y Test de Penetracin
SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera
SEGURIDAD EN LAS FASES DEL S-SDLC
La Seguridad del Software es algo ms que la eliminacin de las
vulnerabilidades y realizacin de pruebas de penetracin, es una
disciplina.
Adopcin de un enfoque sistmico para incorporar buenas
prcticas de Seguridad del Software touchpoint y unos hitos
de control.
7. Re visin 8.
5. Patrone s
cd igo Configuracin
d e d ise o
11. se gura
3. Ing. 6. Prue bas 1. Mod e lad o
2. Casos 4. Anlisis d e Re visin 9. Te st
Re quisitos basad as e n d e ataque s
d e abuso rie sgos e xte rna pe ne tracin
se gurid ad rie sgo 10.
Ope racione s
se gurid ad

Requisitos Codificacin
Arqui tectura Pruebas Distribucin Operacin y
Casos de e
Di seo y despl iegue mantenimiento
ab uso integracin

REALIMENTACIN

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


SEGURIDAD EN LAS FASES DEL S-SDLC

Relacin entre la practicas de seguridad y las fases del ciclo de vida

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


MODELADO DE ATAQUES
Para conseguir que el desarrollo de una aplicacin posea las
propiedades y principios de diseo del software seguro, se necesita
que el personal de diseo y desarrollo desarrollen dos perspectivas
El equipo trabaja para construir un software
con las propiedades de seguridad necesarias
Patrones de
Defensor
para que sea ms resistente a los ataques y ataque.
minimizar las debilidades y vulnerabilidad
rboles de
El equipo se esfuerza por comprender la
Atacante
naturaleza exacta de la amenaza a la que el ataque.
software es probable que se enfrente con el
fin de concentrar los esfuerzos defensivos

El uso combinado de
patrones de ataque y
rboles de ataque, captura
la probabilidad de cmo
los ataques se pueden
combinar y secuenciar

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


MODELADO DE ATAQUES
Los patrones de ataque constituyen un mecanismo o medio para capturar
y representar la perspectiva y conocimiento del ciberatacante con el
suficiente detalle acerca de cmo los ataques se llevan a cabo, los mtodos
ms frecuentes de explotacin (exploit) y las tcnicas usadas para
comprometer el software.
Fase Utilidad
Ayuda a identificar requisitos.
Ayuda a identificar los riesgos a los que har frente el software.
Especificacin de requisitos
Ayuda a definir el comportamiento del sistema para prevenir o reaccionar ante un tipo especfico
de ataque probable.
Proporciona ejemplos de ataques que aprovechan las vulnerabilidades de la arquitectura elegida.
Diseo y arquitectura Proporcionan el contexto de las amenazas al que el software se va a enfrentar, de forma que
permite disear arquitecturas seguras.
Especfica debilidades aprovechadas por los ataques, orientando que tcnicas o prcticas de
Codificacin
seguridad de desarrollo evitan estas deficiencias.
Pueden ser utilizados para orientar las pruebas de seguridad del software en un contexto prctico
Pruebas y realista identificando debilidades concretas para generar casos de prueba para cada
componente.
Permitir la seleccin de polticas de seguridad y configuraciones acordes a las amenazas
Operacin
obtenidas de los patrones de ataque.

Aplicacin patrones de ataque a las diferentes fases del SDLC


SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera
MODELADO DE ATAQUES
Catlogode patrones de ataques: Iniciativa del MITRE Common
Attack Pattern Enumeration and Classification (CAPEC).

Forma parte de una arquitectura integrada de un conocimiento


ms amplio de la seguridad del software
SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera
MODELADO DE ATAQUES
Alcance de informacin de un patrn de ataque

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.

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


MODELADO DE ATAQUES
tem Descripcin
Este campo describe los recursos (ciclos de CPU, direcciones IP, herramientas, etc.) requeridos por
Recursos requeridos
un atacante para ejecutar con eficacia este tipo de ataque.
Describe las tcnicas normalmente utilizadas para investigar y reconocer un blanco potencial,
Mtodos de prueba
determinar la vulnerabilidad y prepararse para este tipo de ataque.
Describe las actividades, eventos, condiciones o comportamientos que podran servir como
Indicadores de un ataque
indicadores de que un ataque de este tipo es inminente, est en progreso o ha ocurrido.
Describe acciones o enfoques que pueden potencialmente prevenir o mitigar el riesgo de este tipo
de ataque. Estas soluciones y mitigaciones estn dirigidas a mejorar la resistencia, reduciendo la
Soluciones y mitigaciones
probabilidad de xito del ataque o para mejorar la capacidad de recuperacin del software objetivo,
reduciendo el impacto del ataque si tiene xito.
Comprende una seleccin de una lista enumerada de motivaciones definidas o consecuencias. Esta
Motivacin y consecuencias del
informacin es til para la alineacin de patrones de ataque a los modelos de amenaza y para la
ataque
determinacin si son relevantes para un contexto dado.
Describe el contexto en el que este patrn es relevante y aporta ms antecedentes para el ataque.
Descripcin del contexto
Esta informacin es til para una mejor comprensin de la naturaleza de este tipo de ataque.
Describe, lo ms exactamente posible, el mecanismo y el formato de un ataque. Debe tener en
Vector de inyeccin cuenta la gramtica de un ataque, la sintaxis aceptada por el sistema, la posicin de varios campos,
y los rangos de datos que son aceptables.
Describe los datos de cdigo, configuracin u otros a ejecutar o activar, como parte de un ataque
Payload
con un vector de inyeccin de este tipo.

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


MODELADO DE ATAQUES
tem Descripcin
Describe el rea dentro del software de destino que es capaz de ejecutar o activar de otro modo la
Zona de activacin
carga til del vector inyeccin de un ataque de este tipo.
Descripcin de los efectos que la activacin de la carga til que un ataque de este tipo tendra
Impacto de activacin del payload
tpicamente en la confidencialidad, integridad o disponibilidad del software solicitado.
Describe el impacto de este patrn de ataque en las caractersticas de seguridad estndar
confidencialidad, integridad y disponibilidad.Este campo se utiliza para capturar un valor global
Impacto CIA
promedio tpico para este tipo de ataque, teniendo en cuenta de que no ser completamente exacta
para todos los ataques.
Qu vulnerabilidades o debilidades puede el ataque explotar. Se referencia estndar de la industria
CWE. Esta lista debe incluir no solo a las debilidades que estn directamente afectados por el
Vulnerabilidades relacionadas
ataque, sino que tambin aquellas cuya presencia pueda directamente aumentar la probabilidad de
xito del ataque o el impacto si tiene xito.
Identifica los requisitos de seguridad especficos que son relevantes para este tipo de ataques y son
Requisitos de seguridad relevantes
lo suficientemente generales como para ofrecer oportunidades de reutilizacin.
Principios de seguridad Identifica los principios de diseo de seguridad que son relevantes para identificar o mitigar este
relacionados tipo de ataques.
Identifica las directrices de seguridad existentes que son relevantes para la identificacin o mitigar
Gua relacionadas
este tipo de ataque.
Enumera los recursos de referencia que se utilizaron para elaborar la definicin de este patrn de
Referencias
ataque y los que podran ser de utilidad para ampliar la informacin sobre este ataque.

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera 15


MODELADO DE ATAQUES: EJEMPLO
tem Descripcin

Nombre HTTP Response Splitting

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.

Probabilidad tpica del exploit Medium.


Mtodos de ataque Injection y Protocol Manipulation
In the PHP 5 session extension mechanism, a user-supplied session ID is sent back to the user within the Set-Cookie
HTTP header. Since the contents of the user-supplied session ID are not validated, it is possible to inject arbitrary HTTP
Ejemplos
headers into the response body. This immediately enables HTTP Response Splitting by simply terminating the HTTP
response header from within the session ID used in the Set-Cookie directive. CVE-2006-0207

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

atacante craft and inject requests to elicit the split responses

Recursos requeridos None


With available source code, the attacker can see whether user input is validated or not before being used as part of
Mtodos de prueba
output. This can also be achieved with static code analysis tools.
The only indicators are multiple responses to a single request in the web logs. However, this is difficult to notice in the
Indicadores de un ataque
absence of an application filter proxy or a log analyzer. There are no indicators for the client.

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

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


MODELADO DE ATAQUES: EJEMPLO

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.

Vulnerabilidades relacionadas CWE697 - Insufficient Comparison Targeted.


CWE707 - Improper Enforcement of Message or Data Structure-Targeted.
CWE713 - OWASP Top Ten 2007 Category A2 - Injection Flaws Targeted.

Requisitos de seguridad relevantes All client-supplied input must be validated through filtering and all output must be properly escaped.

Principios de seguridad relacionados Reluctance to Trust.


Gua relacionadas Never trust user-supplied input.

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.

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


MODELADO DE ATAQUES
En la representacin de la estructura de un rbol de ataque se
realiza conforme a los dos siguientes tipos:
Textual: esquema numrico, el nodo raz, o la meta, representada en el
primer nivel sin sangra y cada objetivo de nivel inferior se enumeran con
sangra de una unidad por nivel de descomposicin
Grafica o semntica: se construye generalmente con el nodo raz, o la meta,
en la parte superior, al descender por las ramas del rbol se obtienen
subobjetivos hasta que se llega al nivel inferior donde estn los mtodos de
ataque. Un nodo se descompone como:

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

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


MODELADO DE ATAQUES
rbol de Ataque
Texto Grfica

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


CASOS DE ABUSO
Un caso de abuso es la inversa de un caso de uso, es decir, una
funcin que el sistema no debe permitir o una secuencia completa de
acciones que resulta en una prdida para la organizacin.
Permiten obtener una mejor comprensin de las reas de riesgo del
sistema a travs de :
Identificacin los objetivos de seguridad que debe cumplir el software.
Identificacin de las amenazas de seguridad a ser neutralizadas por el
software. Identificacin de los

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

Caracterstica Casos de Abuso Casos Uso Seguridad

Uso Analiza y especifica las Analiza y especifica los requisitos de


amenazas a la seguridad seguridad
Criterio de xito xito del atacante xito de la aplicacin
Producido Equipo de seguridad Equipo de seguridad
Usado Equipo de seguridad Equipo de requisitos
Actor externo Atacantes y usuarios Usuarios
Conducido por Anlisis de vulnerabilidades de Casos de abuso
activos y amenazas

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


CASOS DE
ABUSO
Creacin de casos de
abuso
El mtodo para
crear casos de
abuso: proceso de
brainstorming
tormenta de ideas
Etapas proceso de
creacin

Documentacin
de entrada.
Actividades.
Documentacin
de salida.

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


CASOS DE ABUSO
Ejemplo caso de uso de seguridad y caso de abuso.

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)

Presenta varias relaciones:


Relacin caso abuso uso seguridad: incluye y extiende.
Relacin caso de uso abuso: previene y detecta.

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


CASOS DE ABUSO
Ejemplo caso de uso comercio electrnico

Previene Inundar
Bloquear el Detecta
Hojear
Extiende repetidos sistema
catlogo
registros

Registrar Incluye Robar


cliente informacin
Cliente
Incluye tarjeta
Extiende Incluye
Encriptar Previene
Ordenar mensaje Interceptar Cibercriminal
compras Incluye comunicacio
nes
Inclu
Cambiar ye
contrasea Obtener
Incluye Previene Detecta
contrasea
Extiende
Incluye Monitorizar
el sistema
Establecer
Inicio de
poltica
sesin Incluye
contrasea
s

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


CASOS DE ABUSO

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


INGENIERA DE REQUISITOS DE SEGURIDAD
Gran parte de la mayora de las vulnerabilidades y debilidades del software
tienen su origen en unos requisitos inadecuados, inexactos e incompletos,
principalmente debido a la falta o debilidad de la de la especificacin de los
mismos que no determinan las funciones, restricciones y propiedades no
funcionales del software que hacen que este sea previsible, confiable y
resistente.

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

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


INGENIERA DE REQUISITOS DE SEGURIDAD
Requisitos servicios de seguridad

Fundamentales Generales Operacionales


Confidencialidad Gestin de sesiones Entorno de produccin
Integridad Gestin de errores y Gestin de configuracin
Disponibilidad excepciones Interoperabilidad
Autenticacin Recuperacin Verificacin y validacin
Autorizacin Condiciones de carrera Normativa a cumplir
Trazabilidad

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


INGENIERA DE REQUISITOS DE SEGURIDAD
Software seguro Actividades
Actividades
ingeniera
seguridad
requisitos

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

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


INGENIERA DE REQUISITOS DE SEGURIDAD
Retos ms importantes de la ingeniera de requisitos de
seguridad es la identificacin o captura de requisitos de
seguridad negativos

Existen porque
hay ciertas
funcionalidades
del software que
no se deben
permitir, pues
pueden inducir un
estado de
inseguridad que le
hace vulnerable.

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


INGENIERA DE REQUISITOS DE SEGURIDAD
Las fuentes ms comunes de los requisitos de seguridad para
software son:

Poltica de seguridad de la organizacin.


Normativa de obligado cumplimiento.
Casos de abuso.
Anlisis de los modelos de ataque y anlisis de riesgo realizado.
Implicaciones de seguridad de la especificacin funcional.
Anlisis de la amenaza.
Avances en investigacin y nuevas tecnologas que pueden aportar
nuevas soluciones.
Reuniones de grupos de usuarios.
Vulnerabilidades conocidas en los componentes COTS y
tecnologas de software libre.
Requisitos de funciones de seguridad en trminos de fiabilidad,
confiabilidad y robustez.

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


INGENIERA DE REQUISITOS DE SEGURIDAD
Componentes generales de una aplicacin

Herramientas de trazabilidad y gestin de los requisitos


de seguridad:
Praxis High Integrity Systems REVEAL.
Telelogics DOORS.
ChiasTeks REQTIFY.
Safeware Engineerings SpecTRM.

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


ANLISIS DE RIESGO. ARQUITECTNICO
Identificando el riesgo y despus con la gestin del
mismo se pueden mitigar gran parte de los problemas
de seguridad de un sistema. Anlisis de
riesgos de la
7. Revisin 8. fase de
5. Patrones
cdigo Configuracin
de diseo
11. se gura
arquitectura y
3. Ing. 4. Anlisis 6. Prue bas 1. Mode lado
2. Casos
Requisitos de rie sgos basadas e n
Revisin
externa
de ataque s
9. Test diseo est a
de abuso penetracin
seguridad rie sgo 10.
Ope racione s
caballo entre la
se guridad fase de anlisis,
donde se
Requisitos Codificacin obtienen los
Arquitectura Pruebas Distribucin Operacin y
Casos de e
abuso
Diseo
integracin
y despliegue mantenimiento requisitos de
seguridad, se
modelan
ataques,
REALIMENTACIN
realizan casos
de abuso, y la
fase de diseo
SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera
ANLISIS DE RIESGO ARQUITECTNICO
Anlisis Arquitectnico

Anlisis Resistencia al
Ataque

Anlisis Ambigedad

Anlisis Debilidad

rbol de la
amenaza

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


ANLISIS DE
RIESGO.
ARQUITECT
NICO

Modelo de
Anlisis de
Riesgos
arquitectnico

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


PATRONES DE DISEO
Una solucin general repetible a un problema de ingeniera de software
recurrente, que est expresamente destinado a contribuir al diseo de
software menos vulnerable, ms resistente y tolerante a los ataques.

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

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


PRUEBAS DE SEGURIDAD BASADAS EN RIESGO
Identificando los riesgos del sistema y diseando las pruebas en base a
ellos, bajo la perspectiva de un atacante, un probador de seguridad de
software puede enfocar correctamente las reas de cdigo donde un ataque
probablemente pudiera tener xito.

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.

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


PRUEBAS DE SEGURIDAD BASADAS EN RIESGO
Las pruebas de seguridad necesariamente deben implicar dos tipos de
aproximaciones:

Pruebas de
Pruebas de los mecanismos de seguridad para asegurar
seguridad que su funcionalidad est correctamente implementada
funcionales

Pruebas de Realizacin de pruebas de seguridad en base al riesgo


motivadas por el entendimiento del estado del riesgo y
seguridad por tanto del nivel de seguridad del sistema. Tratan de
perspectiva atacante simular la actuacin de un posible atacante.

Los objetivos de las pruebas de seguridad basadas en el riesgo son los


siguientes :
Verificar la operacin confiable del software bajo condiciones hostiles de ataque.
Verificar la fiabilidad del software, en trminos de comportamiento seguro y
cambios de estado confiables.
Verificar la falta de defectos y debilidades explotables.
Verificar la capacidad de supervivencia del software ante la aparicin de anomalas,
errores y su manejo de las mismas mediante excepciones que minimicen el alcance
e impacto de los daos que puedan resultar de los ataques.

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


PRUEBAS DE SEGURIDAD BASADAS EN RIESGO
Perfiles aparicin de incidencias

SDLC
S-SDLC

Arquitectura y Codificacin e Distribucin y Operacin y


Requisitos Pruebas Arquitectura y Codificacin e Distribucin y Operacin y
diseo Integracin Despliegue despliegue Requisitos Pruebas
diseo Integracin Despliegue despliegue

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


Revisiones Revisin de Diseo
PRUEBAS DE
SEGURIDAD
Caja Blanca Anlisis esttico cdigo
BASADAS EN
Pruebas de penetracin
RIESGO

Anlisis dinmico

Pruebas Basadas Fuzzing Testing


Tipos de
en riesgo Caja Negra pruebas
Anlisis cdigo Binario seguridad
basadas en
Inyeccin de fallos en binarios riesgo

Escaneo de vulnerabilidades

Anlisis hibrido
Caja Gris
Inyeccin de fallos en cdigo fuente

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


PRUEBAS DE SEGURIDAD BASADAS EN RIESGO
Pruebas de caja blanca
Implica el anlisis y el entendimiento tanto de cdigo fuente como del
diseo.
Son eficaces en el hallazgo de errores de programacin, bugs cuando
automticamente se explora el cdigo y flaws cuando se realiza el anlisis
de riesgo y del diseo.
Las exploraciones de cdigo pueden automatizarse con un analizador
esttico.
Revisin de cdigo o anlisis esttico de cdigo.

jobsandnewstoday.blogspot.com1316 666Buscar por imagen

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


PRUEBAS DE SEGURIDAD BASADAS EN RIESGO
Puntos fuertes y dbiles pruebas caja blanca

Puntos fuertes Puntos dbiles

La vulnerabilidad se reporta en la lnea


Falsos positivos si no se configura bien la
de cdigo fuente
herramienta
Los fallos se pueden encontrar aunque
Acceder al cdigo fuente no es siempre
no estuvieran accesibles en ejecucin
posible
Cobertura total si se tiene acceso a todo
Algunas debilidades son solo expuestas al
el cdigo de la aplicacin
desplegar la aplicacin
Imprescindible para corregir lo ms
El software no es fcil de probar si se trata
temprano posible la gran mayora de los
de pruebas remotas
defectos de seguridad de las aplicaciones

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


PRUEBAS DE SEGURIDAD BASADAS EN RIESGO
Pruebas de caja negra
Se realiza el anlisis de un programa ejecutndolo y sondeando las entradas y
salidas
No usa anlisis de cdigo fuente de ninguna clase y necesitan tambin centrarse
en estructuras de datos, componentes, APIs, estado de programa, etctera.
La visin obtenida durante el anlisis de riesgo arquitectnico es muy til en la
planificacin de este tipo de pruebas de seguridad.

jobsandnewstoday.blogspot.com1316 666Buscar por imagen

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


PRUEBAS DE SEGURIDAD BASADAS EN RIESGO
Puntos fuertes y dbiles pruebas caja negra

Puntos fuertes Puntos dbiles

Pruebas reales del software: alta


confianza en los resultados No es posible determinar la cobertura de
No es necesario facilitar el cdigo fuente todo el cdigo
de la aplicacin Fallos que no se ejecuten en las pruebas no
El software es fcilmente probado a saldrn a la luz
travs de la red: pruebas de Requiere desplegar y ejecutar la aplicacin
infraestructura

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


PRUEBAS DE SEGURIDAD BASADAS EN RIESGO
Tipos de pruebas de caja negra

Test de penetracin.

Anlisis dinmico (DAST)

Anlisis cdigo binario.

Inyeccin de fallos en binarios.

Fuzz testing..

Escaneo de vulnerabilidades.

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


PRUEBAS DE SEGURIDAD BASADAS EN RIESGO
Funcionamiento (DSAT)
Funcionamiento pruebas Anlisis
Dinmico (DSAT)

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


PRUEBAS DE SEGURIDAD BASADAS EN RIESGO

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.

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


PRUEBAS DE SEGURIDAD BASADAS EN RIESGO

ANALISIS
HIBRIDO

Entender el contexto de las vulnerabilidades


Relevancia
Determinar la causa raz

Priorizar los recursos y tiempos


Importancia
Solventar las vulnerabilidades ms crticas

Acelerar la resolucin de vulnerabilidades


Velocidad Entregar aplicaciones seguras ms
rpidamente

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


PRUEBAS DE SEGURIDAD BASADAS EN RIESGO
Modelado de ataques
Requisistos
Casos de abuso

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

Operacin- Pruebas de penetracin


Produccin Anlisis dinmico
Escaneo de vulnerabilidades

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


REVISIN DE CDIGO
El anlisis esttico de cdigo fuente es considerada la actividad ms
importante de entre las mejores prcticas de seguridad que se han de
realizar en el curso del desarrollo de una aplicacin.

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

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


REVISIN DE CDIGO
Elanlisis esttico de cdigo fuente es adecuado para
identificar problemas de seguridad por ciertas razones:
Comprueban el cdigo a fondo y coherentemente, sin ninguna
tendencia. Un anlisis valioso debe ser lo ms imparcial
posible.
Pueden indicar la causa de origen de un problema de
seguridad, no solamente uno de sus sntomas.
Puede encontrar errores tempranamente en el desarrollo, an
antes de que el programa sea ejecutado por primera vez.
Cuando un investigador de seguridad descubre una nueva
variedad de ataque, las herramientas de anlisis esttico,
ayudan a comprobar de nuevo una gran cantidad de cdigo
para ver dnde el nuevo ataque podra tener xito.

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


REVISIN DE CDIGO
La queja ms comn y contrastada contra las herramientas de anlisis esttico de seguridad es que

producen demasiado ruido, es decir falsos positivos.

Los falsos positivos son seguramente indeseables, pero desde una perspectiva de seguridad, los

falsos negativos son mucho peores.

Con un falso negativo, un problema existe en el programa, pero la herramienta no lo detecta

Todas las herramientas de anlisis esttico de cdigo producen falsos positivos y falsos negativos,

su balance es normalmente indicativo de herramienta de anlisis esttico.

La penitencia por un falso negativo es mucho mayor, pues no solo se paga el precio asociado por

tener una vulnerabilidad en el cdigo, se vive con un sentido falso de seguridad

Objetivo descubrir bugs. El coste de omitir un bug dentro de la primera categora es,

relativamente pequeo hablando en trminos de seguridad.

Objetivo descubrir defectos relevantes de seguridad. La penitencia por bugs de seguridad

pasados por alto es elevada, por lo que las herramientas de seguridad en general producen ms

falsos positivos para reducir al mnimo falsos negativos.

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


REVISIN
DE
CDIGO
https://rawgit.com/OWASP/Benchmark
/master/scorecard/OWASP_Benchmar
k_Home.html

Summary of
Results by Tool

Tool Benchmark TPR* FPR* Score*


FBwFindSecBugs v1.4.3 1.2beta 77.67% 45.21% 32.46%
FindBugs v3.0.1 1.2beta 5.26% 5.46% -0.19%
OWASP ZAP vD-2015-08-24 1.2beta 18.03% 0.04% 17.99%
PMD v5.2.3 1.2beta 0.00% 0.00% 0.00%
SonarQube Java Plugin 1.2beta 50.36% 17.02% 33.34%

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


REVISIN DE CDIGO
Diagrama de bloques herramienta genrica de anlisis de cdigo

Diagrama de componentes y proceso de comparacin especificacin-


modelo para una herramienta genrica de anlisis de cdigo

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


REVISIN DE CDIGO
Componentes Software de las herramientas de anlisis esttico de cdigo

Se guimie nto del flujo de datos:


Seguimiento del flujo de
Anlisis lxico, -Anlisis local
datos:
sintctico, -Anlisis global
-Taint Propagation
estructural. AST -Algoritmos: inferencia lgica, model
-Poiter aliasing
che ckers, summary based

Regla para SQL INJECTION en lenguaje PQL

Definir propiedades de
seguridad.
Definir cualquier
comportamiento del
programa

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


REVISIN DE CDIGO
Las herramientas de anlisis esttico de cdigo deben ser parte
del proceso de revisin de cdigo, ya que hacen que sea mucho
ms eficiente.
Una revisin de seguridad de cdigo se puede efectuar debido
a una serie de motivos diferentes:
La necesidad de encontrar unas vulnerabilidades explotables
demostrando que la inversin de seguridad adicional es justificada.
Para grandes proyectos que no comenzaron con la seguridad en mente, el
equipo de seguridad tarde o temprano tiene que hacer una revisin inicial
del cdigo que compruebe su seguridad.
Al menos una vez en cada perodo de liberacin, cada proyecto debera
recibir una revisin de seguridad debido a nuevos componentes y el trabajo
de mantenimiento en curso.
Es una actividad encuadrada en un proceso definido de revisin de cdigo
inmerso en el proceso de desarrollo de nuevos sistemas que sera lo ideal.
SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera
REVISIN DE CDIGO
1.Establecer
objetivos
Ciclo de revisin de
cdigo 4.Hacer 2.Ejecutar
correcciones herramientas

3.Revisin de
cdigo
Ciclo de revisin de
cdigo, fases 2 y 3

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


REVISIN DE CDIGO
Quin ejecuta la herramienta? Se tienen dos opciones obvias:
Equipo de seguridad o Programadores.
Los dos

Hallazgo en
el cdigo
Explotable
.
Ambiguo.
Seguro

la trampa de
la
explotabilidad

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


REVISIN DE CDIGO
Mtricas de anlisis esttico de cdigo
Medicin de la densidad de vulnerabilidad.
Comparacin de proyectos por severidad.
Clasificacin de resultados por categora.
Monitorizacin de tendencias.
Mtricas del proceso de revisin

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


REVISIN
DE
CDIGO

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


PRUEBAS DE PENETRACION
La comprobacin de la eficacia de las salvaguardas implementadas se
realiza principalmente mediante los test de penetracin, que tiene como
principal misin verificar como el software se comporta y resiste ante
diferentes tipos de ataque.
5. Patrones
7. Revisin 8.
de diseo
cdigo Configuracin
11. se gura 9. Test
3. Ing. 4. Anlisis 6. Prue bas 1. Mode lado
2. Casos Revisin penetracin
Requisitos de rie sgos basadas e n de ataque s
de abuso externa
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

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


PRUEBAS DE PENETRACION
El plan de pruebas de penetracin deben incluir los peores
escenarios en los que se puedan reproducir vectores de ataques e
intrusiones que se consideran altamente perjudiciales, como los
escenarios de amenazas internas. El plan de pruebas debe
capturar:

La poltica de seguridad del sistema se supone que debe


respetar o hacer respetar.
Amenazas previstas al sistema.
Riesgos de seguridad (conducido por casos de abuso,
riesgos arquitectnicos y modelos de ataque)
Secuencias de ataques probables que se espera para
apuntar el sistema.

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


PRUEBAS DE PENETRACION
Ejecucin de la Pruebas de Penetracin

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

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


PRUEBAS DE PENETRACION
Pruebas funcionales pruebas de aspectos positivos como la
verificacin de que un componente funciona correctamente.
pruebas de penetracin estn en algn sentido probando
aspectos negativos.
Prueban de forma directa y profunda la seguridad de la aplicacin en
base a los riesgos de seguridad (conducido por casos de abuso,
riesgos arquitectnicos y modelos de ataque)
Los test de penetracin son pruebas de caja negra.
Es realmente fcil probar si un componente funciona adecuadamente
o no, pero es muy difcil demostrar si realmente un sistema es seguro
a un ataque malvolo.

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


PRUEBAS DE PENETRACION
Demuestran que ningn defecto ocurre en las condiciones
particulares de esas pruebas, en ningn caso demuestran que
ningn defecto existe.
Las pruebas de penetracin son comnmente las ms aplicadas
de todas las mejores prcticas de seguridad de software.
Las pruebas de penetracin como parte del proceso de aceptacin
de final.
Una limitacin principal de este acercamiento es que casi siempre
representa una tentativa demasiado corta y muy tarda para
abordar el problema de la seguridad al final del ciclo de desarrollo.
El entendimiento del ambiente de ejecucin y de los problemas
de configuracin es el mejor resultado de cualquier prueba de
penetracin.
Habilidad, el conocimiento, y la experiencia del probador

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


PRUEBAS DE PENETRACION
Recomendaciones sobre los test de penetracin
Realizar los test ms de una vez
Realimentacin del resultado de las pruebas de penetracin.
Utilizacin de pruebas de penetracin para evaluar aplicaciones
COTS.

Disassemblers and decompilers.


Debuggers (user-mode).
Fuzzer.
Metaexploit y su interfaz Armitage
Distribucin sobre Linux Backtrack, Kali, etc. Herramientas
IBM Security AppScan , WebInspect.
Acunetix
OWASPZAP, IRONWASP

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


OPERACIONES DE SEGURIDAD
El proceso final a llevar a cabo previo al paso a produccin de la aplicacin
segura, son las actividades centrales de:

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 DEL SOFTWARE- Javier Bermejo Higuera


OPERACIONES DE SEGURIDAD
Distribucin
El objetivo de distribucin segura es reducir al mnimo las posibilidades de acceso y
manipulacin del software durante la transmisin de un proveedor a su consumidor (envo
a travs de medios fsicos o descarga de red) por los agentes maliciosos. Buenas
prcticas:
Cambio los valores de configuracin predeterminados durante el desarrollo.
Utilizar
mecanismos de distribucin estndar como los utilizados en los derechos de
propiedad intelectual, que mecanismos:
Distribuir el software con una configuracin por defecto segura y lo ms restrictiva
posible.
Realizar una gua de configuracin de seguridad que incluya:
Proporcionar una herramienta de instalacin automtica.
Establecer un medio de autenticacin para la persona que va a ejecutar la instalacin y
configuracin.
Los interfaces de configuracin proporcionados por la herramienta o el script de
instalacin debe ser seguro y lo suficientemente claro para su entendimiento Revisin y
"limpiar" todo el cdigo fuente por el visible usuario (por ejemplo, cdigo del cliente de
aplicaciones web).

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


OPERACIONES DE SEGURIDAD
Despliegue
Parmetros de configuracin de su entorno de ejecucin deben ajustarse
de modo que el software no sea innecesariamente expuesto a amenazas
potenciales, a esta tarea se le denomina Bastionado.
Interfaz de
usuario
(Autorizacin,
autenticacin)

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)

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


OPERACIONES DE SEGURIDAD
Operaciones
Muchos desarrolladores de software argumentan que la distribucin,
despliegue y operaciones no son parte del proceso de desarrollo
de software.

Hay que ajustar los controles de acceso a la red y niveles del


sistema operativo, as como disear un sistema de registro de
eventos, de monitorizacin, de backup y recuperacin de los
sistemas de ficheros que ser lo ms eficaz durante operaciones de
respuesta ante incidentes.

Los ataques llegarn y estar preparado para defenderse de ellos y


para deshacer el dao ocasionado despus de que un ataque ha
tenido lugar.

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


REVISION EXTERNA
Un anlisis externo por personal ajeno al equipo de diseo es
bastante eficaz y fundamental aportando otra visin de la
seguridad del sistema y del riesgo y contribuyendo a una
mejora de la seguridad porque seguramente este anlisis va
descubrir alguna amenaza y riesgo residual existente

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

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


PREGUNTAS

SEGURIDAD DEL SOFTWARE- Javier Bermejo Higuera


www.unir.net

You might also like