SEGURIDAD EN EL DESARROLLO DE SISTEMAS
-
Upload
angelica-islas -
Category
Documents
-
view
213 -
download
0
description
Transcript of SEGURIDAD EN EL DESARROLLO DE SISTEMAS
INTRODUCCIÓNHoy en día, es imprescindible un adecuado sistema de protección en los Sistemas Informáticos que garanticen la privacidad de los datos, hasta la seguridad en las transacciones de información, el control de acceso, los protocolos
de comunicación, las transferencias de datos, etc.
Durante el desarrollo de programas, siempre se
deben realizar diferentes tipos de pruebas, y son
precisamente estas ejecuciones las que ponen el
riesgo el sistema que se está utilizando en general.
SEGURIDAD EN EL DESARROLLO DE
SOFTWARE
¿CUÁL ES EL PAPEL DE LA SEGURIDAD EN EL
DESARROLLO DE SW?Un sistema de seguridad en el desarrollo de software, evita
que se produzcan errores generales en los sistemas
operativos que se utilizan tanto para el desarrollo del mismo, como para las pruebas piloto
del funcionamiento del software.
Cuando se trabaja online, el programa de Seguridad en el
Desarrollo de SW que estemos utilizando, debe también ser a prueba de Virus Informáticos, especialmente de aquellos que roban información o dañan el
Sistema Operativo, imposibilitando así continuar con dicha actividad.
¿CUÁL ES EL PAPEL DE LA SEGURIDAD EN EL
DESARROLLO DE SW?
Estudios realizados apuntan que más del 70% de las
vulnerabilidades de seguridad existentes provienen de la capa de aplicaciones, es un motivo
más que suficiente para preocuparse y enfocarse en
ello.
SEGURIDAD EN EL CICLO DE DESARROLLO
SOFTWARE
SEGURIDAD EN EL CICLO DE DESARROLLO
SOFTWARE
Tomando en cuenta el ciclo de desarrollo, desde el análisis hasta la puesta en servicio, pasando por los test y cerrando el ciclo con la
fase de soporte y mejora del sistema. La característica más
importante, es un enfoque sistémico que permita analizar el
sistema en su conjunto.
Podemos concluir que introduciendo criterios de
seguridad desde las fases más tempranas del desarrollo, nos
ayudará a obtener aplicaciones más seguras a un
coste más bajo.
SEGURIDAD EN EL CICLO DE DESARROLLO
SOFTWARE
INTRODUCCIÓN
Seguridad desde el puntode vista del programador,
es decir, aquello que se debe tomar en cuenta en las etapas de diseño y codificación de los programas.
PRINCIPIOS DE SEGURIDAD
Los objetivos fundamentales de la Seguridad Informática son:
CONFIDENCIALIDAD: El acceso a los activos del sistema está limitado a usuarios autorizados.
PRINCIPIOS DE SEGURIDAD
INTEGRIDAD: Los activos del sistema sólo pueden ser borrados o modificados por usuarios autorizados.
DISPONIBILIDAD: El acceso a los activos en un tiempo razonable está garantizado para usuarios autorizados.
¿POR QUÉ SE ESCRIBEN PROGRAMAS INSEGUROS?
Poca bibliografía y la formación específica de los programadores
es escasa.
Es difícil programar de manera segura; no se suelen usar
métodos de verificación formal.
¿POR QUÉ SE ESCRIBEN PROGRAMAS INSEGUROS?
La seguridad no es un requisito a la hora de elegir
un programa; incrementa los costes económicos, requiere más tiempo y esfuerzo en el desarrollo e implantación de
aplicaciones.
IDENTIFICACIÓN DE REQUISITOS DE
SEGURIDADCommon Criteria o CC (ISO/IEC 15408:1999):
Estándar internacional para identificar y definir requisitos
de seguridad.
Se suele emplear para redactar dos tipos de documentos:
IDENTIFICACIÓN DE REQUISITOS DE
SEGURIDAD
PERFIL DE PROTECCIÓN O PP: Es un documento que define las propiedades de seguridad
que se desea que tenga un producto, básicamente se
trata de un listado de requisitos de seguridad.
IDENTIFICACIÓN DE REQUISITOS DE
SEGURIDAD
OBJETIVO DE SEGURIDAD (SECURITY TARGET O ST): Es
un documento que describe lo que hace un producto que es relevante desde el punto de
vista de la seguridad.
ENTORNO Y OBJETIVOS DE SEGURIDAD
El primer paso para redactar un PP o un ST es identificar el entorno de seguridad:
¿En qué entorno vamos a trabajar?
¿Qué activos debemos proteger? ¿Para que se va a usar el producto?
ENTORNO Y OBJETIVOS DE SEGURIDAD
Obtenemos una serie de supuestos sobre el entorno (tipos de usuarios, tipo de
red, etc.), una lista de posibles amenazas y una
descripción de las políticas de seguridad de la organización.
ENTORNO Y OBJETIVOS DE SEGURIDAD
Por último se define un conjunto de objetivos de seguridad, demostrando
que con ellos se combaten las amenazas y se cumplen
las políticas.
REQUISITOS FUNCIONALES (1)
AUDITORÍA DE SEGURIDAD: Permitir el registro de eventos (hay que identificar cuales pueden ser interesantes desde el punto de vista de la seguridad).
NO RECHAZO: Uso de técnicas para verificar la identidad del emisor y/o el receptor de un mensaje.
PROTECCIÓN DE DATOS DE USUARIO: Especificar una política para la gestión de datos de usuario (control de
acceso y reglas de flujo de información).
IDENTIFICACIÓN Y AUTENTICACIÓN: Uso de técnicas de validación de identidad.
REQUISITOS FUNCIONALES (2)
REQUISITOS FUNCIONALES (2)
GESTIÓN DE SEGURIDAD: Definición de perfiles de usuario y niveles de acceso asociados.
PRIVACIDAD: Soporte del anonimato de los usuarios.
AUTODEFENSA: La aplicación debe incluir sistemas de validación de funcionamiento y fallar de manera segura si esa validación no se cumple.
REQUISITOS FUNCIONALES (3)
UTILIZACIÓN DE RECURSOS: Soporte a la asignación de recursos, tolerancia a fallos, etc.
CONTROL DE ACCESO: Soporte de sistemas que limiten el número y tipo de sesiones que proporcionen información al usuario para ayudar a la detección de intrusos.
DESARROLLO DE APLICACIONES SEGURAS
Para desarrollar una aplicación segura debemos tener en cuenta los siguientes aspectos:
1.Control de la Entrada: validar todas las entradas
2.Gestión de Memoria: desbordamiento de buffers
DESARROLLO DE APLICACIONES SEGURAS
3. Estructura interna y diseño del programa.
4. Llamadas a Recursos Externos: Scripts, bibliotecas, …
5. Control de la Salida: formato, restricciones, ...