5.44. CS3I1. Seguridad en Computación (Obligatorio)
- Semestre: 8vo Sem. Créditos: 3
- Horas del curso: Teoría: 1 horas; Práctica: 2 horas; Laboratorio: 2 horas;
-
Prerrequisitos:
- CS231. Redes y Comunicación (6to Sem)
5.44.1. Justificación
En un mundo cada vez más digital, la seguridad ya no es una característica opcional sino un requisito fundamental. Este curso proporciona una introducción completa a los principios y prácticas de la ciberseguridad, cubriendo desde los fundamentos teóricos hasta la codificación segura y la informática forense digital. Los estudiantes adquirirán las habilidades necesarias para diseñar, implementar y gobiernar sistemas seguros, comprendiendo las responsabilidades éticas y profesionales involucradas en la protección de la información y la infraestructura.
5.44.2. Objetivos Generales
- 1.
- Comprender los principios fundamentales y las bases matemáticas de la seguridad.
- 2.
- Aplicar técnicas de codificación segura y métodos criptográficos al software.
- 3.
- Analizar vulnerabilidades del sistema y realizar investigaciones forenses.
- 4.
- Evaluar la gobernanza de seguridad y la ética profesional en ciberseguridad.
5.44.3. Contribución a los resultados (Outcomes)
-
AG-C11) Uso de Herramientas: Aplica herramientas modernas de computación en la resolución de problemas. (Usage)
-
AG-C09) Diseño y Desarrollo de Soluciones: Diseña, implementa y evalúa soluciones para problemas complejos de computación. (Usage)
5.44.4. Contenido
5.44.4.1. Principios y Mentalidad de Seguridad (6 horas) [Habilidades AG-C09,AG-C11]
Referencias Bibliográficas: [Pfleeger et al., 2015, Stallings, 2017]
Temas
- 1.
- Desarrollar una mentalidad de seguridad que incorpore conceptos transversales: confidencialidad,
integridad, disponibilidad, evaluación de riesgos, pensamiento sistémico, pensamiento
adversarial, pensamiento centrado en el humano.
- 2.
- Vulnerabilidades, amenazas, superficies de ataque y vectores de ataque Sistemas Operativos (OS) -Protection.
- 3.
- Denegación de Servicio (DoS) y Denegación de Servicio Distribuida (DDoS) Sistemas Operativos (OS) -Protection.
- 4.
- Principios y prácticas de protección, por ejemplo, privilegio mínimo, diseño abierto, valores predeterminados seguros ante fallos, defensa en profundidad y confianza cero; y cómo pueden implementarse Sistemas Operativos (OS) -Principles,OS-Protection,SE-Construction,SEP-Security.
- 5.
- Consideraciones de optimización entre seguridad, privacidad, rendimiento y otros objetivos de diseño Fundamentos de Desarrollo de Software (SDF) -Practices,SE-Validation,HCI-SystemDesign.
- 6.
- Conceptos de confianza (trust) y confiabilidad (trustworthiness).
Aprendizaje esperado (Learning Outcomes)
- 1.
- Evaluar un sistema para posibles ataques que pueda lanzar un adversario [Evaluar]
- 2.
- Diseñar y desarrollar enfoques para proteger un sistema de un conjunto de amenazas identificadas [Diseñar]
- 3.
- Describir cómo se puede evitar el daño a la privacidad del usuario [Describir]
- 4.
- Desarrollar un sistema que incorpore varios principios de seguridad y privacidad [Crear]
5.44.4.2. Fundamentos de Criptografía (8 horas) [Habilidades AG-C09,AG-C11]
Referencias Bibliográficas: [Stallings, 2017]
Temas
- 1.
- Diferencias entre las vistas algorítmica, aplicada y matemática de la criptografía.
- 2.
- Preliminares matemáticos: aritmética modular, algoritmo euclidiano, independencia probabilística, conceptos básicos de álgebra lineal, teoría de números, campos finitos, complejidad, análisis asintótico Fundamentos Matemáticos y Estadísticos (MSF) -Discrete,MSF-Linear.
- 3.
- Criptografía básica: criptografía de clave simétrica y de clave pública Fundamentos Algorítmicos (AL) -FoundationalDataStructuresAlgorithms,MSF-Discrete.
- 4.
- Criptosistemas clásicos, como cifrados de desplazamiento, sustitución, transposición, libros de códigos y máquinas Fundamentos Matemáticos y Estadísticos (MSF) -Discrete.
- 5.
- Principio de Kerckhoff y uso de bibliotecas evaluadas (vetted) Ingeniería de Software (SE) -Construction.
Aprendizaje esperado (Learning Outcomes)
- 1.
- Explicar el papel de la criptografía en el soporte de la seguridad y la privacidad [Explicar]
- 2.
- Discutir los riesgos de inventar los propios métodos criptográficos [Debatir]
-
3.
- Discutir la importancia de los números primos en criptografía y explicar su uso en algoritmos criptográficos [Debatir]
- 4.
- Implementar y criptoanalizar cifrados clásicos [Implementar]
5.44.4.3. Inyección y Validación de Entrada (8 horas) [Habilidades AG-C09,AG-C11]
Referencias Bibliográficas: [Pfleeger et al., 2015]
Temas
- 1.
- Vulnerabilidades y debilidades comunes.
- 2.
- Inyección SQL y otros ataques de inyección.
- 3.
- Técnicas de cross-site scripting y mitigaciones.
- 4.
- Validación de entrada y sanitización de datos Sistemas Operativos (OS) -Protection,SDF-Fundamentals,SE-Validation.
Aprendizaje esperado (Learning Outcomes)
- 1.
- Identificar problemas subyacentes en ejemplos dados de una enumeración de debilidades comunes y explicar cómo pueden evitarse [Analizar]
- 2.
- Aplicar técnicas de validación de entrada y sanitización de datos para mejorar la seguridad de un programa [Aplicar]
- 3.
- Evaluar y prevenir ataques de inyección SQL en una aplicación de base de datos [Evaluar]
- 4.
- Evaluar y prevenir ataques de cross-site scripting contra un sitio web [Evaluar]
- 5.
- Construir un programa que pruebe todos los errores de manejo de entrada [Crear]
5.44.4.4. Análisis de Malware y Seguridad Avanzada (6 horas) [Habilidades AG-C09]
Referencias Bibliográficas: [Sikorski and Honig, 2012, Eilam, 2005, National Institute of Standards and
Technology, 2020]
Temas
- 1.
- Técnicas de seguridad ofensiva como defensa.
- 2.
- Técnicas de detección de malware asistidas por IA.
- 3.
- Ransomware: creación, prevención y mitigación.
- 4.
- Uso seguro de componentes de terceros Ingeniería de Software (SE) -Construction,SE-Validation.
- 5.
- Malware: variedades, creación, ingeniería inversa y defensa contra ellos Fundamentos de los Lenguajes de Programación (FPL) -SystemsExecutionMemoryModel,FPL-LanguageTranslationExecution.
- 6.
- Garantía
(assurance): pruebas (incluyendo fuzzing y pruebas de penetración), verificación y validación
Sistemas Operativos (OS) -Protection,SDF-Fundamentals,SE-Construction,SE-Validation.
- 7.
- Análisis estático y dinámico Fundamentos de los Lenguajes de Programación (FPL) -ProgramAnalysisAnalyzers,OS-Protection,PDC-Evaluation,SE-Validation.
- 8.
- Compiladores seguros y generación de código seguro Fundamentos de los Lenguajes de Programación (FPL) -RunTimeBehaviorSystems,FPL-LanguageTranslationExecution.
Aprendizaje esperado (Learning Outcomes)
- 1.
- Describir diferentes tipos de software malicioso [Describir]
- 2.
- Explicar los riesgos del mal uso de interfaces con código de terceros y cómo usar correctamente el código de terceros [Explicar]
- 3.
- Discutir la necesidad de actualizar el software para corregir vulnerabilidades de seguridad y la gestión del ciclo de vida de la corrección [Debatir]
- 4.
- Aplicar herramientas estáticas y dinámicas para identificar fallos de programación [Aplicar]
- 5.
- Evaluar un sistema para detectar la existencia de malware y eliminarlo [Evaluar]
- 6.
- Implementar técnicas preventivas para reducir la ocurrencia de ransomware [Implementar]
5.44.4.5. Análisis de Amenazas e Ingeniería de Seguridad (8 horas) [Habilidades AG-C09,AG-C11]
Referencias Bibliográficas: [Anderson, 2020]
Temas
- 1.
- Objetivos de la ingeniería de seguridad: construir sistemas que permanezcan confiables a pesar de errores, accidentes o adversarios maliciosos Ingeniería de Software (SE) -Construction,SE-Validation,SEP-Security.
- 2.
- Análisis de problemas y análisis situacional para abordar la seguridad del sistema Ingeniería de Software (SE) -Validation.
- 3.
- Análisis de seguridad, que cubre análisis de requisitos de seguridad; análisis de controles de seguridad; análisis de amenazas; y análisis de vulnerabilidades Fundamentos de los Lenguajes de Programación (FPL) -ProgramAnalysisAnalyzers,PDC-Evaluation.
- 4.
- Dominios de ataque de seguridad y superficies de ataque, por ejemplo, comunicaciones y redes, hardware, físico, ingeniería social, software y cadena de suministro Redes y Comunicaciones (NC) -Security.
- 5.
- Modos, técnicas y tácticas de ataque de seguridad, por ejemplo, abuso de autenticación; fuerza bruta; manipulación de búfer; inyección de código; inserción de contenido; denegación de servicio; escucha; omisión de función; suplantación; ataque de integridad; intercepción; phishing; análisis de protocolo; abuso de privilegio; suplantación (spoofing); e inyección de tráfico Redes y Comunicaciones (NC) -Security,OS-Protection,SE-Validation.
Aprendizaje esperado (Learning Outcomes)
- 1.
- Crear un modelo de amenazas para un sistema o diseño de sistema [Crear]
- 2.
- Aplicar análisis situacional para desarrollar soluciones seguras bajo un escenario especificado
[Aplicar]
- 3.
- Identificar y mitigar vulnerabilidades y debilidades de seguridad en un sistema [Analizar]
5.44.4.6. Técnicas de Informática Forense (6 horas) [Habilidades AG-C09,AG-C11]
Referencias Bibliográficas: [Pfleeger et al., 2015]
Temas
- 1.
- Principios y metodologías básicas para la informática forense.
- 2.
- Diseño de sistemas para informática forense.
- 3.
- Informática forense en diferentes situaciones: sistemas operativos, sistemas de archivos, informática forense de aplicaciones, informática forense web, informática forense de red, informática forense de dispositivos móviles, uso de auditoría de bases de datos Redes y Comunicaciones (NC) -Security.
- 4.
- Ataques a la informática forense y prevención de tales ataques.
Aprendizaje esperado (Learning Outcomes)
- 1.
- Explicar qué es una investigación digital y cómo se puede implementar Sociedad, ética y la Profesión (SEP) -Security [Explicar]
- 2.
- Diseñar e implementar software para apoyar la informática forense [Diseñar]
- 3.
- Extraer datos de un disco duro para cumplir con la ley Sociedad, ética y la Profesión (SEP) -Security [Extraer]
- 4.
- Recuperar datos basados en un término de búsqueda dado desde un sistema del que se ha hecho una imagen (imaged) [Analizar]
- 5.
- Reconstruir datos y eventos a partir de un historial de aplicación, o un artefacto web, o una base de datos en la nube, o un dispositivo móvil. Desarrollo de Plataformas Especializadas (SPD) -MobilePlatforms,SPD-WebPlatforms [Aplicar]
- 6.
- Capturar y analizar tráfico de red. Redes y Comunicaciones (NC) -Security [Analizar]
- 7.
- Desarrollar enfoques para abordar los desafíos asociados con la informática forense de dispositivos móviles [Crear]
- 8.
- Aplicar herramientas de informática forense para investigar violaciones de seguridad [Aplicar]
- 9.
- Identificar y mitigar métodos anti-forenses [Analizar]
5.44.4.7. Gobierno, Gestión y Política de Seguridad (6 horas) [Habilidades AG-C09,AG-C11]
Referencias Bibliográficas: [Anderson, 2020]
Temas
- 1.
- Proteger activos críticos de amenazas.
- 2.
- Gobierno de seguridad (security governance): objetivos organizacionales y evaluación general de
riesgos.
- 3.
- Gestión de seguridad (security management): lograr y mantener niveles apropiados de confidencialidad, integridad, disponibilidad, responsabilidad (accountability), autenticidad y confiabilidad Ingeniería de Software (SE) -Validation.
- 4.
- Política de seguridad (security policy): políticas organizacionales, políticas específicas de temas, políticas específicas de sistemas.
Aprendizaje esperado (Learning Outcomes)
- 1.
- Describir activos críticos y cómo pueden protegerse [Describir]
- 2.
- Diferenciar entre gobierno de seguridad, gestión y controles, dando ejemplos de cada uno [Diferenciar]
- 3.
- Describir un control técnico e implementarlo para mitigar amenazas específicas [Describir]
5.44.4.8. Ética, Ley y Sociedad en Seguridad (6 horas) [Habilidades AG-C09,AG-C11]
Referencias Bibliográficas: [Anderson, 2020, Pfleeger et al., 2015]
Temas
- 1.
- Impactos sociales de las fallas en seguridad y privacidad Sociedad, ética y la Profesión (SEP) -Context,SEP-Privacy,SEP-Security.
- 2.
- Aplicabilidad de leyes y regulaciones sobre seguridad y privacidad Sociedad, ética y la Profesión (SEP) -Security.
- 3.
- Consideraciones éticas profesionales al diseñar sistemas seguros y mantener la privacidad; hacking ético Sociedad, ética y la Profesión (SEP) -ProfessionalEthics,SEP-Privacy,SEP-Security.
- 4.
- Implicaciones de seguridad y privacidad de actores maliciosos de IA/aprendizaje automático, por ejemplo, identificación de deep fakes Inteligencia Artificial (AI) -IntroductionFundamentalIssues,AI-MachineLearning,SEP-Privacy,SEP-Security.
- 5.
- Impactos sociales de los dispositivos del Internet de las Cosas (IoT) y otras tecnologías emergentes en la seguridad y la privacidad Sociedad, ética y la Profesión (SEP) -Privacy,SEP-Security.
Aprendizaje esperado (Learning Outcomes)
- 1.
- Calcular el impacto de una falla de seguridad en un sistema dado [Calcular]
- 2.
- Construir un sistema que se ajuste a las leyes de seguridad [Crear]
- 3.
- Aplicar un conjunto de regulaciones de privacidad para diseñar un sistema que proteja la privacidad [Aplicar]
- 4.
- Evaluar las ramificaciones legales de un sistema que no se ajusta a las leyes y regulaciones aplicables [Evaluar]