Seguridad de Datos (Introducción a la Seguridad Computacional) CC51D (2009/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 10:15am-11:45am, B214
Auxiliar: Viernes 10:15am-11:45am, Por Anunciar
Horario Consulta: Lunes 12pm-1pm, Of. 309 DCC
Sitio web oficial (especialmente el Foro de Discusión): ucursos
Carga académica: 10 UD,
Requisitos: (CC42A, CC41B) o Autorización
Carácter del curso: electivo Cs. de la Computación
Novedades
- Todos los alumnos deben firmar el documento
de ética del estudiante.
- Importante: Escoger un proyecto y comunicárselo al
profesor antes del Jueves 13 de Agosto. Ver listado de
proyectos posibles.
- Fechas Importantes:
- Presentación del proyecto: Lunes 24 de Agosto 2009
- Presentación de Avance proyecto: Viernes 11 de Septiembre 2009
- Presentación Final proyecto: Lunes 18 de Noviembre 2009
Tareas
- Calendario de Tareas
- Tarea 1: .
Fecha inicio: Lunes 17 de Agosto 2009
Fecha término: Lunes 31 de Agosto 2009
- Tarea 2:
Fecha inicio: Lunes 31 de Agosto 2009
Fecha término: Lunes 21 de Septiembre 2009
- Tarea 3:
Fecha inicio: Lunes 21 de Septiembre 2009
Fecha término: Lunes 5 de Octubre 2009
- Tarea 4:
Fecha inicio: Lunes 5 de Octubre 2009
Fecha término: Lunes 19 de Octubre 2009
- Tarea 5:
Fecha inicio: Lunes 19 de Octubre 2009
Fecha término: Lunes 9 de Noviembre 2009
Temario
- Introducciónn a la Seguridad Computacional:
- Introducción, propiedades de seguridad, confianza.
- Ataques, vulnerabilidades.
- Por que seguridad es más difícil de lo que parece.
- Criptografía:
- Simétrica vs. Asimétrica
- Encriptación (simétrica), funciones de hash
- Encriptación (asimétrica), firmas digitales
- Autentificación de mensajes
- Confianza: PKI y autoridades certificadoras
- Aplicaciones, otros temas
- Seguridad de Sistemas:
- Control de Acceso: teoría y práctica
- Mecanismos vs. políticas
- Autentificación: contraseñas, biometría,
de una vez, multifactor, mecanismos avanzados
- Estudio de casos y aplicaciones
- Amenazas Actuales:
- Vulnerabilidades y ataques
- Ataques de buffer overflow, Inyección de código
- Malware: virus, gusanos, spyware, bots, phishing, Spam.
Ataques y defensas
- Ingeniera social
- Seguridad de Redes I:
- Protocolos de autentificaciónn, negociaciónn
de claves
- Casos (Kerberos, Single-sign-on, autentificación web) y
aplicaciones
- Infraestructura: TCP, DNS, SMTP, ruteo
- Introducción al Diseño de Software Seguro:
- Atacar y parchar vs. estrategias de largo plazo: principios
- Anánlisis de riesgos
- Programación Segura, metodologías y herramientas
- Confinamiento
- Seguridad de Redes II:
- Ataques de denegación de servicios (DoS)
- Cortafuegos (o firewalls)
- Sistemas de detección/prevenció de intrusos (IDS/IPS)
- Sistemas del mundo real: IPSec, IKE, SSL.
- Seguridad Web
- Temas Misceláneos (opcionales):
- Votación Electrónica
- Sistemas de Anonimato
- Sistemas anti-copia (o Digital Right Management, DRM)
- Aspectos éticos, Sociales
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 5 tareas (no se eliminan
tareas).
El proyecto es desarrollado durante el semestre.
Posibles alternativas para el proyecto incluyen
- Desarrollo de un software de seguridad y/o criptográfico,
- 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 5 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.
Posibles Proyectos
- Implementar un sistema de monitoreo (escucha) de chat, o audio, o video
sobre IP (por ej. Skype, MSN Messenger, o Google talk).
- Implementar un controlador de botnet usando P2P con mothership
redundante.
- Implementar algoritmo de broadcast asÃncrono seguro.
Referencia 1
o bien Referencia 2 .
(2 personas).
- Implementación de
algoritmos avanzados para watermarking usando imágenes embebidas
en otras imágenes.
- Implementar un esquema de compartición de secretos
verificable.
- Implementar una herramienta que permita monitorear tráfico SSL/TLS
(esto es, haga un ataque "Man-in-the-middle" en el protocol HTTPS por ej.)
inyectando certificados falsos.
- Implementar una herramienta para monitorear emails (POP, IMAP sin SSL y web-based)
en red wireless.
- Implementar un "emulador" de cliente NAC (network access control) por ej. para
Microsoft Windows. Este emulador debe ser capaz de convencer a la red que el
cliente está "sano" cuando realmente no lo está.
- Implementar un servicio de "TimeStamping" (notaria) en Facebook usando
este algoritmo basado en funciones de hash.
- Implementar una herramienta que detecte e identifique si es ejecutada
en un ambiente de virtualizacion (VMWare, VirtualBox, VirtualPC, Xen, y otros).
- Implementar un servicio web (cliente, servidor) usando fast-flux (con double flux).
- Escribir un estado del arte (reporte) sobre los kits para contruir phishing, virus
y troyanos.
- Implementar un servicio de detecci&ooacute;n y captura del contenido de un sitio web
hackeado (cuya página principal fue modificada).
- Diseñar e implementar una propuesta para realizar "phishing" con fines
educativos.
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:
-
"Cryptography and Network Security, William Stallings, Editorial Prentice Hall; 4ta edicin (2005)
-
"Building Secure Software: How to Avoid Security Problems the Right Way, John Viega, Gary McGraw, Editorial Addison-Wesley; 1ra edicin (2001)
-
"A Classical Introduction to Cryptography: Applications for Communications Security, Serge Vaudenay, Editorial Springer; 1ra edicin (2005)
-
"Firewalls and Internet Security: Repelling the Wily Hacker, William R. Cheswick, Steven M. Bellovin, Ariel D. Rubin, Editorial Addison-Wesley Professional; 2da edicin (2003)
-
"Inside Network Perimeter Security, Stephen Northcutt, Lenny Zeltser, Scott Winters, Karen Kent, Ronald W. Ritchey, Editorial Sams; 2da edicin (2005)
- Josef Pieprzyk, Thomas Hardjono, Jennifer Seberry, “Foundamentals of Computer Security”, Springer, 2003
- Douglas Stinson, “Cryptography, Theory and Practice”, Second edition, Editorial Cgapman and Hall/CRC, 2002
- Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone, “Handbook of Applied Cryptography”, CRC press, 1997
Última modificación: 29 de Julio 2009.
|