Atributos
Sigla: 
CI-0143
Créditos: 
4
Horas: 
5
Clasificación: 
Curso propio
Énfasis y ciclo: 
Tecnología de la Información 4.I
Ingeniería de Software 4.II
Ciencias de la Computación electiva
Descripción: 

Este es un curso básico de seguridad de la información con un enfoque que mezcla lo teórico y lo práctico. Se enseñarán los fundamentos de la seguridad de la información, los cuales se aplicarán en un ciclo de identificación de necesidades, aplicación de aseguramiento, documentación del esquema de seguridad realizado y procesos de ingeniería reversa de sistemas.  El curso pretende generar consciencia en el estudiante sobre la necesidad de sistemas computacionales seguros, para que aplique el aseguramiento a los sistemas computacionales durante el resto de su vida profesional.

Objetivo general: 

El objetivo general del curso es que los estudiantes apliquen fundamentos de seguridad de la información y de infraestructura tecnológica, para atender los requerimientos de seguridad implícitos y explícitos en el desarrollo de software y de infraestructura a los que se ven sometidos los sistemas computacionales en la actualidad, utilizando modelos de aseguramiento, estrategias, tecnologías de seguridad la información, controles y métodos de protección, en concordancia con la legislación nacional vigente, a través de ejemplos prácticos, proyectos o asignaciones.

Objetivos específicos: 

Durante este curso el estudiante desarrollará habilidades para:

  1. Conocerá los conceptos básicos de seguridad de sistemas computacionales, para cimentar el análisis de requerimientos y la construcción de políticas y mecanismos de seguridad, mediante el estudio bibliográfico.
  2. Aplicará los diferentes modelos de seguridad de la información desde la perspectiva del defensor y del atacante, para poder analizar requerimientos e implementar políticas y mecanismos de seguridad, aplicando ingeniería inversa de software, ataques a sistemas de prueba, análisis de tráfico de red, así como las medidas de defensa tradicionales tales como el aseguramiento del sistema computacional y de los servicios, controles de seguridad, y buenas prácticas de la industria.
  3. Aplicará los fundamentos de seguridad de la información, para proveer servicios como confidencialidad, integridad, privacidad, no repudio, autenticación y autorización en la información gestionada por sistemas computacionales, mediante la aplicación de algoritmos criptográficos en datos y protocolos, y la aplicación de mecanismos de identificación en sistemas computacionales.
  4. Documentará riesgos, políticas, mecanismos, controles y servicios de seguridad, para facilitar el mantenimiento y el diagnóstico de la seguridad, mediante el estudio de modelos de documentación de la seguridad de la información.
  5. Conocerá el estado actual de las leyes que competen a la seguridad de sistemas de información en el ámbito nacional, para ejercer la profesión de forma responsable, mediante el estudio de su aplicación en proyectos de desarrollo de software e infraestructura tecnológica.

Transversales:

  1. Conocerá los conceptos básicos de seguridad de sistemas computacionales, para cimentar el análisis de requerimientos y la construcción de políticas y mecanismos de seguridad, mediante el estudio bibliográfico.
  2. Practicará habilidades de trabajo en equipo
Contenidos: 
Objetivo específico Eje temático Contenidos
1 Fundamentos de seguridad de sistemas computacionales Concepto de seguridad: seguridad, riesgo, amenazas, vulnerabilidades, valor del bien.
Análisis de riesgo: estándares, metodologías.
Servicios de seguridad: confidencialidad, integridad, disponibilidad, autenticación, no repudio, autorización, etc.
Políticas, mecanismos y verdades base.
Seguridad física y seguridad de la información: bienes defendibles.
Aspectos operativos: costo/beneficio, aspectos humanos, leyes.
Aseguramiento: especificación, diseño implementación.
Fases de un compromiso: reconocimiento, explotación, refuerzo, consolidación, pillaje.
1,4 Modelos de seguridad y análisis de requerimientos Políticas de seguridad: para confidencialidad, integridad, híbridas, etc.
Modelos de seguridad de la información: Bell-LaPadula, Biba, McCumber, RMIAS, InfoSec-Tree, entre otros.
Principios de diseño y estrategias de aseguramiento: seguro por diseño, seguro por omisión, seguro en distribución, aprender de los errores, minimizar la superficie de ataque, utilizar valores por omisión seguros, defensa en profundidad, menor privilegio, mediación completa, separación de privilegios, múltiples capas, asumir que los sistemas externos son inseguros, plan de fallo, fallar a modo seguro, no depender de la oscuridad, no mezclar código y datos, arreglar errores de seguridad correctamente.
2 Seguridad en aplicaciones

Ingeniería reversa de aplicaciones de software.
Ataques a aplicaciones de software: buffer overflow, inyección de código, inyección de SQL, escalamiento de privilegios, denegación de servicios, etc.
Programación defensiva: validación de entradas, aserciones, técnicas de manejo de errores, excepciones, protecciones para contener daños causados por errores, ayudas de depuración, consideración de verdades base.
Técnicas específicas: buffer overrun, control de acceso, menor privilegio, criptografía, representación canónica, validación de entradas de base de datos y en la web, seguridad de sockets, protección contra denegación de servicios, patrones de seguridad.

2 Seguridad de computadores Mecanismos de aseguramiento de aplicaciones, sistema de archivos, red, usuarios, grupos, etc.
Endurecimiento de la seguridad del host y sistemas de bases de datos.
Confinamiento, aislamiento (cajas de arena, virtualización) y canales encubiertos.
Ataques al sistema operativo.
2 Seguridad de redes Seguridad perimetral: proxies, firewalls.
Análisis de tráfico de red.
Ataques a protocolos de red.
3 Representación de identidad, autenticación y autorización Identidad: archivos, objetos, usuarios, grupos, roles.
Autenticación: conceptos básicos, contraseñas, tipos de autenticación, sistemas SSO.
Control de acceso: matriz de control de accesos, control obligatorio, control discrecional, acceso multinivel, listas de control de acceso (ACL), capacidades, control de acceso basado en roles (RBAC), control de acceso basado en host (HBAC), control de acceso basado en niveles (LBAC), entre otros.
3 Cifrado y validación de datos Sistemas de cifrado clásico: sustitución, transposición, entre otros.
Cifrado de llave pública (PKI): Diffie-Hellman, RSA.
Funciones hash y sumas de chequeo (checksum): HMAC, otros.
4 Documentación y prueba de la seguridad Prueba de la seguridad, revisión de la seguridad de código fuente, instalación segura de software, documentación de la seguridad y mensajes de error. Estándares de documentación.
5 Derecho informático Ley de delitos informáticos.
Ley de protección de datos.
Ley de firma digital.
Código civil y código penal.
Otras regulaciones y normativa vigente.
Bibliografía: 

Libro de texto recomendado:
Bishop, M. Computer Security Art and Science. Addison-Wesley, 2003.

Otra bibliografía de apoyo:

1.    Fernández, E.B. Security Patterns in Practice. Wiley, 2013

2.    Clarke, J. SQL Injection Attacks and Defense. Syngress Publishing, 2009

3.    Bejtlich, R.  “El TAO de la monitorización de seguridad en redes”.  Pearson Educación, S.A., 2005.

4.    Ferguson, N.  “Practical cryptography”. Wiley, 2003.

5.    Howard, M. y LeBlanc D.  “Writing Secure Code”, 2da edición.  Microsoft Press Redmond, 2002.

6.    McConnell S.  “Code Complete”, 2da edición.  Microsoft Press Redmond, 2002.

7.    Pfleeger, C.P.  “Security in computing”, 4a edición.  Prentice Hall, 2007.

8.    Davis, C.  “IT auditing : using controls to protect information assets”.  McGraw-Hill , 2007.

9.    Schneier, B. “Applied cryptography: protocols, algorithms, and source code in C”, 2da edición.  Wiley, 1996.

10.    McCumber, J. Assessing and Managing Security Risk in IT Systems: A structured methodology. Auerbach, 2005.

11.    Erickson, J. Hacking The Art of Exploitation. No Starch Press, 2003.

12.    Shackleford, D. Virtualization Security: Protecting Virtualized Environments. Sybex, 2013.

13.    McClure, S., Scambray, J. Hacking Exposed: Network Security Secrets & Solutions. Osborne, 1999

14.    HoglundG., McGraw G. Exploiting Software: How to break code. Addison-Wesley, 2004.

15.    Aeleen, F. Essential System Administrator, O'Reilly & Associates Inc., 1995

16.    Craig, H. TCP/IP Network Administration. O'Reilly & Associates Inc., 1994.
 

LIberación de responsabilidad: 

Este no es un documento oficial. Documentos oficiales se entregan en la secretaría de la escuela.