1.-DATOS DE LA ASIGNATURA Nombre de la asignatura: Seguridad en Base de datos Carrera: Licenciatura en Informática Clave de la asignatura: IFM - Horas teoría-horas prácticacréditos: 2-2-6 2.-HISTORIA DEL PROGRAMA Lugar y fecha de elaboración o revisión Instituto Tecnológico de Zacatecas del 7 al 18 de noviembre del 2005. Participantes Academia de sistemas y computación del Instituto Tecnológico de Zacatecas. Observaciones (cambios y justificación)
3.-UBICACIÓN DE LA ASIGNATURA a) Relación con otras asignaturas del plan de estudios Anteriores Posteriores Asignatura Temas Asignatura Temas Fundamentos de base de datos Diseño de base de datos relacionales. Lenguajes de base Taller de base de datos Bases de datos distribuidas Auditoria informática Ínter conectividad de redes Administración de bases de datos de datos. Administración de bases de datos. Tecnologías de conectividad a base de datos. Diseño de bases de datos distribuidas. Evaluación de la seguridad. Auditoria de la seguridad en la teleinformática. Seguridad. Diseño e implementación de redes. b) Aportación de la asignatura al perfil del egresado Proporciona conocimientos sobre las diferentes tecnologías de seguridad en bases de datos y la utilización de éstas en los diferentes sistemas manejadores de base de datos, sus ventajas y desventajas. 4.-OBJETIVO(S) GENERAL(ES) DEL CURSO El estudiante será capaz de administrar y configurar la seguridad de los sistemas de bases de datos implementando mecanismos para conservar la integridad de datos, el control de acceso, mecanismos de respaldo y protección contra ataques.
5.-TEMARIO Unidad Temas Subtemas 1 Problemas de seguridad en bases de datos. 1.1 1.2 Amenazas a la seguridad en bases de datos. Requerimientos de protección 2 Integridad de datos. 2.1 2.1.1 2.1.2 2.1.2.1 2.1.2.2 2.1.2.3 2.1.2.4 2.2 2.2.1 2.2.2 3 Control de acceso y arquitecturas de seguridad. 4 Ataques a los sistemas de base de datos. 5 Características de seguridad en base de datos comerciales. 3.1 3.1.1 3.1.2 3.2 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 4.1 4.1.1 4.1.2 4.2 4.3 4.4 4.5 4.6 5.1 5.2 5.3 5.4 5.5 de bases de datos. Integridad semántica. Restricciones de dominio. Restricciones de entidad. Restricciones de verificación. Integridad de entidad. Integridad referencial. Otras restricciones. Atomicidad de transacciones. Transacciones. Niveles de aislamiento. Control de Acceso Discrecional. Privilegios. Roles. Control de Acceso Obligatorio. Poliinstanciación. Arquitectura de subconjunto TCB. Arquitectura de sujeto confiable. Arquitectura de bloqueo de integridad. Etiquetas. Reutilización de objetos. Deducción de información confidencial de una base de datos. Inferencia. Agregación. Escaneo de puertos IP. Ataques de fuerza bruta. Análisis de paquetes. Puertas traseras hacia el sistema operativo. Inyección de código SQL. Informix. Oracle RDBMS. Sybase SQL Server. Microsoft SQL Server. MySQl y FireBird.
6.-APRENDIZAJES REQUERIDOS Dominio de diseño de bases de datos relacionales. Dominio del lenguaje SQL. Conocimiento de la arquitectura cliente-servidor. Seguridad en redes Administración de servidores de red Administración de sistemas manejadores de bases de datos. 7.-SUGERENCIAS DIDÁCTICAS Presentación inicial del objetivo de la asignatura y su relación con otras del plan de estudios, temario y actividades de aprendizaje. Propiciar el trabajo en equipo para el desarrollo de prácticas e investigaciones. Promover dinámicas grupales para analizar y sintetizar temas específicos. Preparar material de apoyo que auxilie a los estudiantes en la adquisición de conocimientos y de habilidades de pensamiento. Seleccionar en acuerdo de academia, las herramientas a utilizar conforme a las necesidades del entorno, al contenido del programa y a los recursos disponibles. Que los estudiantes identifiquen ejemplos donde se haga evidente la aplicación de los contenidos del programa. Propiciar la investigación en diversas fuentes de información. Promover visitas al sector productivo donde se utilicen tecnologías de Base de datos para analizar la implantación de seguridad. Generar un proyecto por equipo para implementar seguridad utilizando diferentes sistemas manejadores de bases de datos y exponer los problemas de seguridad y su solución (si existe) según el DBMS. 8.-SUGERENCIAS DE EVALUACIÓN Participar en clase y laboratorio. Exponer temas específicos en aula. Elaborar reportes de trabajos de investigación. Elaborar reportes de prácticas. Aplicar exámenes escritos y prácticos correspondientes a cada unidad. Dar seguimiento a la documentación y avances del proyecto propuesto. Elaborar reporte final del proyecto. Elaborar reportes de visitas.
9. UNIDADES DE APRENDIZAJE UNIDAD 1.- Problemas de seguridad en bases de datos.. El estudiante conocerá las amenazas y requerimientos de seguridad de bases de datos. 1.1 1.2 Elaborar un cuadro sinóptico de los diferentes problemas de seguridad a los que se enfrentan las bases de datos. Investigar las amenazas de seguridad y requerimientos de protección de las bases de datos. 1, 3, 5, 6, 7, 12 UNIDAD 2.- Integridad de datos. El alumno podrá diseñar e implementar reglas para asegurar la integridad de los datos y las transacciones. 2.1 2.2 Ejemplificar, por medio de una base de datos de ejemplo, la definición e implementación del esquema de integridad. Investigar en distintas fuentes los estados y características de las transacciones y discutirlo en el grupo. 3, 5, 10, 12, 13 Implementar mediante una aplicación de ejemplo la realización de transacciones seguras y la configuración y uso del sistema de recuperación a partir de la bitácora de transacciones (log). UNIDAD 3.- Control de acceso y arquitecturas de seguridad. El estudiante conocerá las diferentes arquitecturas de seguridad e implementará políticas para el control de acceso a diferentes niveles 3.1 3.2 Ejemplificar la creación de usuarios y definición de privilegios y roles de diferentes manejadores de bases de datos. Investigar las características de las diferentes arquitecturas de seguridad en bases de datos y realizar una tabla comparativa de los sistemas manejadores de bases de datos más 1,2,3,4,5,8,9, 10,11,12
de la base de datos. comunes. Mediante mesas redondas analizar y detectar ventajas y desventajas en las arquitecturas y en su implementación según los diferentes DBMS. UNIDAD 4.- Ataques a los sistemas de base de datos. El estudiante identificará los más conocidos ataques de seguridad y conocerá como aplicar las tecnologías de seguridad para proteger el servidor de bases de datos contra dichos ataques. 4.1 4.2, 4.3, 4.4 4.5 4.6 Ejemplificar las maneras de deducción de información confidencial de una base de datos. Formar equipos de trabajo para analizar el funcionamiento de los programas para escaneo de puertos IP, ataques de fuerza bruta y análisis de paquetes, y discutir propuestas seguridad contra estos ataques. Discutir y comparar los huecos o puertas traseras de los sistemas operativos Windows y Linux. Realizar una aplicación de ejemplo para acceder a una base de datos y ejemplificar la inyección de código sql y enseñar como se puede evitar. 2, 6, 7,8,10,11 UNIDAD 5.- Características de seguridad en base de datos comerciales. El estudiante conocerá la forma de implementar seguridad en diferentes sistemas manejadores de bases de datos. 5.1, 5.2, 5.3, 5.4, 5.5 Conformar equipos de trabajo al que se les asignará un determinado manejador de bases de datos para elaborar un reporte y exponer las técnicas de seguridad que utiliza. 2,4,7,8,9
10. FUENTES DE INFORMACIÓN 1. Fugini, Maria Grazia, et. al., (1994). Database Security 1a. ed. Ed. Addison-Wesley Professional, USA. 2. Litchfield, David, et. al., (2005). The Database Hacker's Handbook: Defending Database Servers. Ed. Wiley, USA. 3. Natan, Rob Ben, (2005). Implementing Database Security and Auditing. Ed. Digital Press, USA. 4. Knox, David, (2004) Effective Oracle Database 10g Security by Design 1a. ed. Ed. McGraw-Hill Osborne Media, USA. 5. Afyouni, Hassan A., (2005) Database Security and Auditing: Protecting Data Integrity and Accessibility. Ed. Course Technology, USA. 6. Olivier, Martin S., et. al., (2002). Database and Application Security XV 1a. ed. Ed. Springer, USA. 7. Thuraisingham, Bhavani, (2004). Database and Applications Security: Integrating Information Security and Data Management. Ed. AUERBACH, USA. 8. Smith, Ben, et. al., (2003) Microsoft Windows Security Resource Kit. Ed. Microsoft Press, USA. 9. Finnigan, Pete (2004). Oracle Security Step-by-Step. Ed. SANS Press, USA. 10. Black Belt Web Programming Methods: Servers, Security, Databases, and Sites (1998). Ed. Publishers Group West, USA. 11. Galbreath, Nick, et. al., (2002) Cryptography for Internet & Database Applications 1a. ed. Ed. Wiley, USA. 12. Clark, Rodney, et. al., (1991) The Security, Audit and Control of Databases. Ed. Avebury Technical, USA. 13. Rob, Peter, (2001). Database Systems: Design, Implementation, and Management, Fifth Edition. Ed. Course Technology, USA.
11. PRACTICAS Unidad Práctica 1 1 Instalar y configurar un servidor de base de datos. 2 2 Creación de la estructura de base de datos (Base de datos, dominios, tipos de datos definidos por el DBA, tablas, relaciones, vistas, restricciones de integridad de entidad, integridad referencial). 3 Diseño y creación de la bitácora como medio de recuperación. 3 4 Definir e implementar un esquema para el control de acceso a la base de datos, considerando todos los niveles de seguridad posibles. 5 Implementar políticas de respaldo y recuperación de datos. 4 6 Realizar y analizar en equipo un ataque que vunere la seguridad de la base de datos e implementar una solución. 5 7 Comprobar que el servidor de base de datos implementado este protegido contra todos los posibles ataques analizados en la unidad 4. Realizar un programa que implemente algunas ataques de forma automática para comprobar si la seguridad del servidor de base de datos y sugiera soluciones.