INSTITUTO TECNOLÓGICO
Y DE ESTUDIOS SUPERIORES DE MONTERREY
Cs95030. Seguridad
Computacional
Departamento académico:Ciencias
Computacionales
Unidades:3-0-8
Requisito:
Semestre y carrera:
Equivalencia:no tiene
Objetivo general de la materia:Proporcionar al alumno una introducción
al campo de la seguridad computacional dando una visión general de los
fundamentos necesarios para entender los riesgos, amenazas, vulnerabilidades a
los que se ven sometidos los sistemas computacionales en la actualidad, así
como los controles y métodos de protección contra posibles ataques,
que son necesarios para el funcionamiento adecuado de estos sistemas en la empresa
moderna. Además se cubrirá una introducción al estado actual
de las leyes que competen a la seguridad de sistemas informáticos en el
ámbito nacional e internacional.
Temas y subtemas del curso:1.- Introducción y conceptos básicos
1.1.- Confidencialidad, integridad, disponibilidad
1.2.- Riesgos, ataques, amenazas y vulnerabilidades
1.3.- Defensas, controles
2.- Criptografía
2.1.- Términos básicos
2.2.- Diferentes tipos de cifrado: Simétricos/Asimétricos, de sustitución,
de transposición, secuenciales/de bloque
2.3.- Algoritmos: DES, AES, RSA, MD5
2.4.- Protocolos: Firmas digitales, Intercambio de llaves, certificados, funciones
hash
3.- Seguridad en programas
3.1.- Errores de programación: "buffer overflow", validación,
tiempos de verificación y tiempos de utilización
3.2.- Código maligno: Virus, caballos de troya, gusanos, puertas traseras
3.3.- Controles en el desarrollo y técnicas de verificación
4.- Seguridad en Sistemas Operativos. Controles de acceso
4.1.- Métodos de protección
4.2.- Protección de memoria, archivos y ambiente de ejecución
4.3.- Controles de acceso: Listas, matrices, directorios
4.4.- Protección de archivos. Permisos. Protección basada en permisos
por objeto y por usuario
4.5.- Identificación y autenticación
4.5.1.- Contraseñas, ataques y defensas
4.5.2.- Buenas contraseñas
4.5.3.- Proceso de autenticación
4.5.4.- Autenticación con hardware
4.5.5.- Autenticación biométrica
4.6.- Políticas de seguridad
4.7.- Modelos de seguridad
5.- Seguridad en redes
5.1.- Conceptos básicos: Comunicación, medios, protocolos, direccionamiento,
ruteo, topologías
5.2.- Amenazas: vulnerabilidades, fallas en protocolos, falsificación de
identidad y conexiones
5.3.- Ataques: Negación de servicio, robo de sesiones, modificación
de datos, modificación de mensajes
5.4.- Controles: Arquitectura, criptografía, acceso, alarmas, alertas
5.5.- Tecnologías de protección
5.5.1.- Firewalls
5.5.2.- Sistemas de detección de intrusos
5.5.3.- Sistemas monitores
5.5.4.- Redes carnada (honeypots)
5.5.5.- Seguridad en correo electrónico
6.- Procesos corporativos de seguridad
6.1.- Análisis de riesgos
6.2.- Planeación
6.3.- Políticas organizacionales
6.4.- Recuperación de desastres
7.- Aspectos legales y éticos
7.1.- Protección de programas y datos
7.2.- Privacidad
7.3.- Crimen computacional
7.4.- Leyes
Objetivos específicos de aprendizaje:1.1.- Entender los tres objetivos
principales de la seguridad computacional: Confidencialidad, integridad y disponibilidad,
sus significados y sus diferencias
1.2.- Conocer los riesgos involucrados en el uso de tecnología computacional,
definir claramente los términos: ataque, amenaza y vulnerabilidad y entender
la relación entre ellos
1.3.- Enumerar los diferentes tipos de defensas disponibles para controlar las
diferentes amenazas a las que se sometido un sistema computacional
2.1.- Definir claramente los siguientes términos: cifrar, codificar, decodificar,
cifrador, descifrador, texto plano texto cifrado, criptología, criptógrafo
y criptoanalista
2.2.- Entender la división de los diferentes tipos de cifrado con respecto
a la técnica usada. Así como describir dichas técnicas
2.3.- Describir el funcionamiento de los algoritmos de cifrado DES, AES, RSA y
MD5. Y explicar las ventajas y desventajas de cada uno
2.4.- Describir los diferentes protocolos para el intercambio de información
en forma segura (cifrada), explicando su funcionamiento y sus áreas de
aplicación
3.1.- Explicar los diferentes errores de programación típicos: "buffer
overflow", validación, tiempos de verificación y tiempos de
utilización, así como los tipos de ataques de los cuales puede ser
objeto un programa con estos errores
3.2.- Definir el concepto de "código maligno" y entender el funcionamiento
de los diferentes tipos: virus, caballos de troya, gusanos y puertas traseras,
así como el alcance de los daños que puede realizar cad uno
3.3.- Describir los controles típicos que se pueden utilizar para evitar
caer en errores de programación utilizando los principios de ingeniería
de software. Así como los controles existentes para la protección
contra fallas en programas
4.1.- Listar las tipicas técnicas de protección de los sistemas
operativos de propósito general.
4.2.- Explicar los diferentes métodos de protección a los objetos
de software que se encuentran en un sistema computacional
4.3.- Entender los diferentes métodos para controlar el acceso a los objetos
de software, explicando el funcionamiento de: listas, matrices y directorios
4.4.- Explicar como funciona la protección a archivos por medio de permisos,
asignados a diferentes usuarios o el acceso permitido a diferentes objetos
4.5.1.- Definir el concepto de contraseña, así como su utilización
en un sistema computacional. Identificando posibles ataques y sus defensas correspondientes
4.5.2.- Definir las reglas existentes para crear contraseñas difíciles
de obtener para terceros
4.5.3.- Explicar el proceso de autenticación de un usuario a un sistema
computacional
4.5.4.- Mencionar algunos dispositivos de hardware que se utilizan actualmente
para ayudar a la protección de sistemas computacionales
4.5.5.- Explicar en que consiste la identificación biométrica y
mencionar algunas áreas de aplicación pra la protección de
sistemas
4.6.- Mencionar algunas políticas de seguridad utilizada en sistemas computacionales
actuales, explicando el nivel de seguridad que aplican
4.7.- Explicar los modelos de seguridad multinivel, de niveles y compartimientos,
Bell-Lapadula de confidencialidad y Biba de integridad
5.1.- Definir los términos: comunicación, medios, protocolos, direccionamiento,
ruteo y topología en un ambiente de redes computacionales
5.2.- Explicar las diferentes amenazas a las que se ve sometido un sistema computacional
que está conectado a una red
5.3.- Explicar el funcionamiento de los diferentes tipos de ataque a los que es
expuesto un sistema computacional conectado a Internet: negación de servicio,
robo de sesiones, falsificación de identidad y conexiones. Así como
las medidas que se pueden tomar para disminuir la posibilidad de esos ataques
o su impacto en el sistema
5.4.- Explicar el uso de los diferentes controles que se pueden utilizar para
minimizar el impacto de un ataque a un sistema computacional
5.5.1.- Entender el funcionamieto de "firewalls", su diseño,
sus capacidades y limitaciones. Y mencionar algunos tipos existentes en el mercado
5.5.2.- Describir las funciones y objetivos de un sistema de detección
de intrusos y explicar las fortalezas y limitaciones que poseen
5.5.3.- Describir los objetivos de un sistema de vigilancia en una red computacional,
así como los recursos a vigilar y los métodos usados para reconocer
actividades sospechosas
5.5.4.- Explicar como se implanta una red carnada ("homeypot") y las
razones por las cuales es necesario mantener una de estas redes en una organización
5.5.5.- Explicar los riesgos que implica tener un servicio de correo electrónico,
y entender como diseñar un sistema de correo electrónico seguro
6.1.- Mencionar los pasos para realizar una análisis de riesgos. Además
explicar las ventajas y desventajas de implantar uno
6.2.- Explicar la necesidad de tener una planeación en seguridad, mencionando
los contenidos que debe tener y la preparación para las diferentes contigencias
que pudieran surgir por un ataque
6.3.- Explicar el propósito de tner políticas organizacionales para
lidiar con los aaspectos de seguridad computacional, mencionando las características
de una buena política de seguridad
6.4.- Entender la necesidad de tener un plan para recuperación a desastres,
mencionando algunas medidas a implantar para la continuidad de la operación
normal de una empresa
7.1.- Explicar los conceptos de derechos de autor y patentes en la protección
de recursos computacionales
7.2.- Definir privacidad y mencionar las diferentes amenazas que enfrenta, así
como los controles que se pueden implantar para protegerla
7.3.- Explicar la necesidad de establecer los ataques computacionales como un
crimen y las dificultades que enfrenta esta definición
7.4.- Conocer las diferentes leyes que existen para proteger la información
computacional y sus impactos a las personas, así como discutir los puntos
polémicos que implica la implantación de dichas leyes
Metodología de enseñanza:ñanza
Tiempo estimado de cada tema:Tema 1 2 horas
Tema 2 5 horas
Tema 3 4 horas
Tema 4 10 horas
Tema 5 11 horas
Tema 6 6 horas
Tema 7 5 horas
Examen 5 horas
Total 48 horas
Políticas de evaluacion sugeridas:2 exámenes parciales 60%
tareas y proyecto final 20%
Examen Final 20%
Libro de texto1:Security in Computing; 3rd Edition; Pfleeger & Pfleeger; Prentice
Hall
Libro de texto2:Libro de Texto 2
Libro de texto3:Libro de Texto 3
Libro de consulta:Security Engineering; Ross Anderson; Wiley
\0Material de apoyo:NO OBLIGATORIO
Perfil del Profesor:Profesor con maestría y/o doctorado en área
de sistemas, con conocimientos actuales en el área de seguridad informática.
Fecha de la última
actualización: 18 de noviembre de 2003(M)