Introducción a la Seguridad Computacional (ex-"Seguridad de Datos") CC5312 (2011/02)

Profesor: Alejandro Hevia

Propósito: El propósito del curso es dotar al estudiante de los conocimientos para evaluar la seguridad computacional de sistemas así como de las herramientas y técnicas para diseñar, implementar y evaluar soluciones de seguridad.

Aspectos administrativos:

Cátedra: Lunes, Miércoles 2:30pm-4:00pm, B210
Auxiliar: Viernes 12:10pm-1:30pm, Sala por anunciar
Horario Consulta: Lunes 4pm, Of. 309 DCC
Sitio web oficial (especialmente el Foro de Discusión): ucursos
Carga académica: 10 UD,
Requisitos: (en revisión) o Autorización
Carácter del curso: electivo Cs. de la Computación
Laboratorio: Sala 421 (solicitar llave, claves, etc. al auxiliar)

Temario

(Tentativo)
  1. Introducciónn a la Seguridad Computacional:
    1. Introducción, propiedades de seguridad, confianza.
    2. Ataques, vulnerabilidades.
    3. Por que seguridad es más difícil de lo que parece.
  2. Criptografía:
    1. Simétrica vs. Asimétrica
    2. Encriptación (simétrica), funciones de hash, autentificación de mensajes
    3. Encriptación (asimétrica), firmas digitales
    4. Confianza: PKI y autoridades certificadoras, problemas y nuevos enfoques
  3. Seguridad de Redes I:
    1. Protocolos de autentificaciónn, negociaciónn de claves: IPSec, IKE, SSL
    2. Casos (Kerberos, Single-sign-on, autentificación web) y aplicaciones
    3. Infraestructura: TCP, DNS, ruteo
  4. Seguridad de Sistemas:
    1. Control de Acceso: teoría y práctica, mecanismos vs. políticas
    2. Autentificación: contraseñas, biometría, de una vez, multifactor, mecanismos avanzados
    3. Estudio de casos y aplicaciones
    4. Seguridad Móvil: Desafíos, iOS, Android
  5. Amenazas Actuales:
    1. Vulnerabilidades y ataques
    2. XSS, SQL injection, ataques de buffer overflow, Inyección de código. Casos: DLL injection, Return Oriented Programming
    3. Malware: virus/gusanos, spyware, bots, phishing, Spam. Ataques y defensas
    4. Ataques al Sistema Operativo vs. aplicaciones
    5. Ingeniera social
    6. Herramientas de medición: Darknets, honeynets
  6. Introducción al Diseño de Software Seguro:
    1. Atacar y parchar vs. estrategias de largo plazo: principios
    2. Análisis de riesgos
    3. Introducción a Programación Segura, metodologías y herramientas
  7. Seguridad de Redes II:
    1. Ataques de denegación de servicios (DoS), countermeasures
    2. Seguridad Perimetral: Cortafuegos, sistemas de detección/prevenció de intrusos (IDS/IPS), honeypots, escaners de vulnerabilidades
    3. Centros de Respuestas a Incidentes (CSIRTs)
  8. Temas Misceláneos (opcionales):
    1. Votación Electrónica
    2. Sistemas de Anonimato
    3. Sistemas anti-copia (o Digital Right Management, DRM)
    4. Privacidad, aspectos éticos y sociales de la seguridad

Nota: La sección temas misceláneos del temario del curso es potencialmente variable dependiendo de disponibilidad de tiempo.

Evaluación:

La evaluación se basa en un control, un proyecto y un exámen (sin apuntes, no reemplaza el control) más 4 tareas (no se eliminan tareas). El proyecto es desarrollado durante el semestre. Posibles alternativas para el proyecto incluyen

  1. Desarrollo de un software de seguridad y/o criptográfico,
  2. Escritura y presentación de un artículo corto tipo estado del arte en el área de seguridad, discusión de artículo reciente, o investigación en algún tema relativo al curso.

La nota de control NC se calcula como el promedio simple entre el control 1 y el examen. El examen NO reemplaza al control. La nota de tareas NT se calcula como (PT+NP)/2 donde PT es el promedio de las 4 tareas y NP es la nota del proyecto. Para aprobar el curso se requiere tanto que NC sea mayor o igual que 4.0 como que NT mayor o igual que 4.0.

Solicitar directamente al profesor el tema, quien le clarificará el alcance del proyecto. Cualquier otro tema o posible forma del proyecto queda a criterio del profesor y debe ser consultado con él.

Tareas

Las tareas consistirán tanto de programación como de resolución de problemas conceptuales y aplicados. No se elimina ninguna tarea (habrá una tarea recuperativa de ser necesario, pero posiblemente de dificultad mayor a la de una tarea normal).

Bibliografía:

  1. "Cryptography and Network Security, William Stallings, Editorial Prentice Hall; 4ta edicin (2005)
  2. "Building Secure Software: How to Avoid Security Problems the Right Way, John Viega, Gary McGraw, Editorial Addison-Wesley; 1ra edicin (2001)
  3. "A Classical Introduction to Cryptography: Applications for Communications Security, Serge Vaudenay, Editorial Springer; 1ra edicin (2005)
  4. "Firewalls and Internet Security: Repelling the Wily Hacker, William R. Cheswick, Steven M. Bellovin, Ariel D. Rubin, Editorial Addison-Wesley Professional; 2da edicin (2003)
  5. "Inside Network Perimeter Security, Stephen Northcutt, Lenny Zeltser, Scott Winters, Karen Kent, Ronald W. Ritchey, Editorial Sams; 2da edicin (2005)
  6. Josef Pieprzyk, Thomas Hardjono, Jennifer Seberry, “Foundamentals of Computer Security”, Springer, 2003
  7. Douglas Stinson, “Cryptography, Theory and Practice”, Second edition, Editorial Cgapman and Hall/CRC, 2002
  8. Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone, “Handbook of Applied Cryptography”, CRC press, 1997

Última modificación: 4 de Octubre 2011.