Seguridad en aplicaciones
y base de datos
Universidad Nacional de Asunción – Facultad Politécnica
Maestría en TIC
Énfasis en Auditoría y Seguridad Informática
Cristian Cappo ([email protected]) e-mail alternativo: [email protected]
Nucleo de Investigación y Desarrollo Tecnológico Laboratorio de Computación Científica y Aplicadada
2
Contenido del curso
1.Conceptos introductorios sobre seguridad 2.Seguridad en aplicaciones Web
3.Ciclo de vida de desarrollo de software seguro 4.Vulnerabilidades en el software
5.Análisis/Verificación/Testing de software por seguridad 6.Seguridad en base de datos
3
Normativas
● Clases teórico/prácticas
● Asistencia (5%)
● Clases prácticas (15%) (fundamentalmente uso de herramientas)
● Grupo de 2 personas. Favor traer una máquina (notebook) por grupo.
● Trabajo práctico (30%).
● Grupo de 2 personas.
● Exploración bibliográfica sobre un tema particular.
● Presentación de un reporte de 8 a 12 páginas en formato IEEE ● Presentación oral de 20' a 25' (puede incluir demo)
● Examen final (50%)
4
Planificación
Fecha Tópico / actividad
Miércoles 19/Agosto Encuesta/revisión inicial de conocimientos 1) Introducción a seguridad y seguridad web Viernes 21/Agosto 2) Seguridad web
Práctica (seguridad web)
Miércoles 26/Agosto 3) Ciclo de vida de desarrollo de software seguro
Presentar propuesta de tema para TP
Viernes 28/Agosto 3) Ciclo de vida de desarrollo de software seguro Miércoles 2/Setiembre 4) Vulnerabilidades en el software.
Práctica (vulnerabilidades)
Viernes 4/Setiembre 5) Análisis/Verificación/Testing de software Miércoles 9/Setiembre 5) Análisis/Verificación/Testing de software
Práctica (analisis/verificación/testing)
6) Seguridad en base de datos Viernes 11/Setiembre 6) Seguridad en base de datos Miércoles 16/Setiembre Presentación de trabajo práctico Viernes 18/Setiembre Examen final
5
Seguridad informática
¿Qué es un sistema seguro? ¿Qué es un software seguro?
Seguridad en computación
Es un atributo de un sistema de computación.
Concierne no a la correctitud, sino a que el sistema previene comportamientos indeseables bajo un amplio rango de circunstancias.
Mientras la correctitud esta relacionado a que el sistema debe hacer, la seguridad es acerca de lo que el sistema NO debe hacer.
6
Componentes de la Seguridad de la
información
In te grid ad Con fiden cial idad Disponibilidad Confidencialidad: previene el uso o descubierta no autorizadade información (la oculta) La privacidad es un concepto Asociado. El control de acceso
soporta este componente
Integridad: salvaguarda la precisión y completitud de la Información y del método de
procesamiento.
Se refiere a la confianza en los datos y recursos. Incluye: integridad de datos
e integridad del origen (autenticación)
Disponibilidad: asegura que los usuarios autorizados accedan en tiempo y forma a los datos y recursos. El ataque de denegación de servicio compromete este
componente Lo opuesto a CID:
Descubierta
Alteracion
7
Conceptos básicos
● Threat (amenaza): es una potencial violación de seguridad.
La misma no tiene por que ocurrir.
– Puede considerarse un agente o acto con capacidad potencial de producir daño o
violar la seguridad.
● Si ocurre, la acción que lo causó es denominado ataque.
Quien lo hizo se denomina atacante.
● Las amenazas pueden ser clasificadas en1:
● Revelación (Disclosure): acceso no autorizado a información.
● Engaño(Deception): aceptar falsos datos. Ej: modificación, spoofing,repudio
del origen, denegación de recepción
● Interrupción(Disruption): prevención de correcta operación.
● Usurpación(Usurpation): control sin autorización. Ej: spoofing, retardo, DoS
1 R. Shirey, Security Architecture for Internet Protocols: A Guide for Protocol Designs and Standards, Internet Draft: draft-irtf-psrg-secarch-sect1-00.txt (Nov. 1994).
8
Políticas y mecanismos
● Una política de seguridad es una sentencia de que es y que no
es permitido. Define la seguridad para el sitio, sistema, etc.
● Un mecanismo es un método, herramienta o procedimiento
que hace cumplir la política. Este puede ser algo no técnico (por ejemplo requerir prueba de identidad para cambiar el password)
● Suponga que se tiene una política en este curso de que un alumno NO copie de
otro su archivo de trabajo que se encuentra en una PC de la sala de máquinas.
● El sistema de la PC tiene forma de proteger el archivo.
● El alumno Pedro no utiliza este mecanismo para proteger su trabajo y Juan lo
copia.
● Una violación de seguridad ha ocurrido, a causa de que Juan quebrantó una
política de seguridad.
9
Metas de la seguridad
● Una especificación de política de seguridad de acciones
seguras e inseguras, esta puede comprender
mecanismos que pueden prevenir ataques, detectar ataques o recuperar de un ataque.
● Prevención: el ataque fallará (ejemplos?)
● Detección: el ataque se dió pero puedo rastrearlo y
monitorearlo.
● Recuperación: detener el ataque, evaluar y reparar el
daño al sistema. Puede que el sistema continue
funcionalmente mientras el ataque ocurra aplicando técnicas de tolerancia a fallas (más dificil)
10
Presunciones y confianza
● ¿Cómo determinar si la política describe el nivel y tipo
de securidad para un sitio?
● La seguridad descansa en presunciones específicas al
tipo de seguridad requerida y al ambiente en donde será empleada.
● Una política consiste en un conjunto de axiomas que los
hacedores de políticas creen que pueden cumplirse . Un diseñador de política siempre hace dos presunciones:
● a) La política particiona el conjunto de estados del sistema en
seguros y no seguros.
● b) El mecanismo de seguridad previene que el sistema entre en
11
● La segunda presunción implica que la política de
seguridad puede ser forzada por los mecanismos de seguridad.
● Estos mecanismos son seguros, precisos y amplios.
Seguro Preciso Amplio
12
Aseguramiento
La confianza no puede ser cuantificada precisamente. Los siguientes
aspectos proveen la base para determinar que tan confiable es un sistema.
● Especificación
Es una sentencia formal o informal del funcionamiento deseado de un sistema
– Análisis de requirimientos y Sentencias de funcionalidad deseada
● Diseño
Traslada la especificación en componentes que deben ser implementados.
– Satisface las especificaciones si bajo todas las circunstancias relevantes el
diseño no permite que el sistema viole las especificaciones.
● Implementación
Crea el sistema que satisfece el diseño y por transición la especificación.
– Un programa es correcto si su implementación realiza su especificación.
¿Cuando es correcto un programa? Es un problema complejo.
– Pruebas de correctitud formales son complementadas por técnicas de
13
Cuestiones de operación
● Análisis Costo/Beneficio
● ¿Es más barato prevenir o recuperar?
● Análisis de riesgo
● Nosotros, ¿Debemos proteger esto y a qué nivel?
● Análisis de potenciales amenazas sobre los activos y determinar
la probabilidad que ellas se materialicen.
● Los riesgos cambian en el tiempo. Muchos riesgos son remotos
pero no imposibles.
● Leyes y clientes
● ¿Son las medidas de seguridad ilegales? ● ¿Pueden hacerlas las personas?
14
Cuestiones de personas
● Problemas organizacionales ● Poder y responsabilidad ● Beneficios financieros ● Problemas de personas ● Outsiders e Insiders ● Ingenieria social15
Vinculando todo
Amenazas Políticas Especificaciones Diseño Implementación Operación y mantenimiento16
Resumen
● Políticas define seguridad, y los mecanismos las
aseguran o fuerzan
● Confidencialidad ● Integridad
● Disponibilidad
● Confianza y asunciones
● La importancia del aseguramiento ● El factor humano
17
Ejercicio 1
Clasificar cada uno de los siguientes como violaciones de confidencialidad, integridad (datos u origen) o
disponibilidad o combinaciones
a) Juan copia a Maria su trabajo práctico b) Pablo quiebra el sistema de Juana
c) Carolina cambia el monto del cheque de Angel de 100000 a 1000000
d) Gilda falsifica la firma de Roberto en un escrito
e) Ramona registra el dominio "AddisonWesley.com" y rechaza dejar a la editora comprar o usar el nombre de dominio
f) Harold suplanta la dirección IP de Maria para acceder a su PC Confidencialidad Disponibilidad Integridad (datos) Integridad (origen) Disponibilidad Integridad (origen)
18
Ejercicio 2
Identifique posibles mecanismos para implementar lo siguiente. Mencione que política o políticas pueden lograr forzarlas:
● Un programa de cambio de password deberá rechazar
contraseñas que son menos de 5 caracteres de longitud o las que se encuentran en un diccionario.
● Solo estudiantes de la Maestria TIC - Énfasis Seguridad pueden
tener cuentas en el departamento de seguridad computacional.
● El programa de login deberá deshabilitar el acceso a
estudiantes quienes han ingresado tres veces incorrectamente su contraseña.
19
Ejercicio 3
● Muestre que los tres componentes de la seguridad
(confidencialidad, integridad y disponibilidad) son
suficientes para lidiar con las amenazas de revelación, engaño, interrupción y usurpación
● Ejemplifique un caso en el que la prevención es más
importante que la detección y la recuperación.
● Ejemplifique un caso en el que la detección es más
importante que la prevención y la recuperación.
Planta Nuclear
20
Bibliografía
● M. Bishop. Introduction to Computer Security. Addison
Wesley. 2005. Chapter 1 – An overview of Computer Security.