You are on page 1of 7

1.

- DATOS DE LA ASIGNATURA
Nombre de la asignatura:

Carrera:

Clave de la asignatura:

TCA
1
:
Vulnerabilidades en las TIC’s

Ing. En Tecnología de la Información y
Comunicación
ASD-1305



2.- Presentación

CARACTERIZACIÓN DE LA ASIGNATURA.
La presente asignatura aporta al perfil del Ingeniero en Tecnología de la Información la
capacidad de desarrollar e implementar un análisis y diagnósticos de vulnerabilidades de
infraestructura tecnológica y/o software basadas en estándares de seguridad y normas
internacionales, administrar proyectos que involucren el uso de las tecnologías de la
información para la auditoría que garanticen la integridad de la información y detecten
vulnerabilidades, así como utilizar tecnologías y herramientas actuales y emergentes
acordes a las necesidades del entorno.

INTENCIÓN DIDÁCTICA.
Se organiza el temario, en seis unidades, las cuales incluyen contenidos conceptuales y
aplicación de los mismos a través de ejercicios prácticos y reales.

Se aborda la introducción a la seguridad informática, en la primera unidad, con la finalidad
de que el estudiante se relacione con los conceptos básico / clave de la seguridad.

En la segunda unidad se abordan temas como, la administración y los riesgos de la
seguridad del software, que permite comprender los fallos que se tiene al hacer una mala
administración del software.

En la tercera unidad se abordan los temas de la fragilidad del código en ejecución, que
aporta al estudiante los conocimientos de las diversas técnicas que existen hasta el
momento –conocidas-.

En la cuarta unidad se tratan temas relacionados, con la seguridad en el código fuente,
para que el estudiante tenga la precaución de no cometerlos.

En la quinta unidad, se abordan temas que permitirá al estudiante generar una auditoría
de software.

En la sexta unidad, se tratan temas que dan vulnerabilidad al software, tales como las
inyecciones sql en sitios web, hack-exs para el volcado de memoria de programas.



3.- Competencias a desarrollar

Competencias específicas:
 Identificar la importancia de la
aplicación de estándares de calidad y
productividad en el desarrollo de un
software.
 Aplicar métodos y herramientas de la
ingeniería del software en el desarrollo
de software.
 Identificar las características de los
métodos
Competencias genéricas:

Competencias instrumentales
• Capacidad de análisis y síntesis.
• Capacidad de organizar y planificar.
• Conocimientos básicos de la carrera.
• Comunicación oral y escrita.
• Habilidades avanzadas de manejo de la
computadora.
• Habilidad para buscar y analizar
información proveniente de fuentes
diversas.
• Solución de problemas.
• Toma de decisiones.

Competencias interpersonales
• Capacidad crítica y autocrítica.
• Trabajo en equipo.
• Habilidades interpersonales.

Competencias sistémicas
• Capacidad de aplicar los conocimientos
en la práctica.
• Habilidades de investigación.
• Capacidad de aprender.
• Capacidad de generar nuevas ideas
(creatividad).
• Habilidad para trabajar en forman
autónoma.
• Búsqueda del logro.

4. HISTORIA DEL PROGRAMA.

Lugar y fecha de
elaboración o revición
Participantes Observaciones
(cambios y
justificaciones)
Instituto Tecnológico
Superior de Centla
Academia de Sistemas,
informática y TIC's


5. OBJETIVO(S) GENERAL(ES) DEL CURSO
El alumno comprenderá, analizará y aplicará los principios, tendencias y técnicas para la
detección de vulnerabilidad en el desarrollo de software y de las TIC's


6. COMPETENCIAS PREVIAS
 Comprender el funcionamiento general de las computadoras.
 Elaborar algoritmos computacionales para la solución de problemas de cómputo.
 Comprender las características de la arquitectura básica de una computadora.

7. TEMARIO

Unidad Temas Subtemas
1
Introducción a la seguridad
del software

1.1 Concepto de Software
1.2 Casos reales de fallas en el software
1.3 Futuro del software
1.4 Fuentes para información de
vulnerabilidades
1.4.1 Buqtraq
1.4.2 CERT Advisores
1.4.3 RISK Digest
1.5 Tendencias técnicas que afectan a la
Seguridad del Software
1.6 Breanking and patch (romper y actualizar)
1.7 Metas de la Seguridad enfocadas al
Software
1.7.1 Prevención
1.7.2 Auditable y trazable
1.7.3 Monitoreo
1.7.4 Privacidad y Confidencialidad
1.7.5 Seguridad Multiniveles
1.7.6 Anonimato
1.7.7 Autenticación
1.7.8 Integridad
1.8 Conocer al enemigo
1.9 Metas de proyecto de Software
2
Administración y los riesgos
en la seguridad
2.1 Descripción de la administración de los
riesgos en la Seguridad del Software
2.2 Administración de los riesgos en la
seguridad del Software en la práctica
2.2.1 Pruebas de Caja Negra
2.2.2 Equipo Rojo
2.3 Criterios Comunes
3
Fragilidad del código en
ejecución

3.1 Seguridad por Oscuridad
3.2 Ingeniería en Reversa
3.3 Código Fuente Abierto
3.4 Falacias del código abierto
3.5 Ofuscación del código fuente
3.6 Bombas lógicas
4
Seguridad en la fuente.

4.1 Reducir las líneas débiles
4.2 Defensa por pasos o capas
4.3 Errores básicos
4.4 Privilegios
4.5 Segmentando código
4.6 La simplicidad es mejor
4.7 Privacidad
4.8 Transparentar el código
5
Auditoría de software

5.1 Definición de Arquitectura de Seguridad
5.2 Principios de la Arquitectura de Seguridad
5.3 Análisis de la Arquitectura de Seguridad
5.4 Implementación del Análisis de Seguridad
5.5 Uso de herramientas de escaneo.
6
Probando la seguridad

6.1 Definición de Código Seguro
6.2 Lenguaje Ensamblador
6.3 Lenguajes de Programación
6.4 Técnicas de Código Seguro
6.4.1 Buffer Overflows
6.4.2 Heap Overflows
6.4.3 Formato de cadena
6.4.4 Exploits
6.4.5 Race conditions
6.4.6 SQL injection
6.4.7 Cross Site & Cross-Domain
Scripting
6.4.8 Fault Injection
6.4.9 volcado de memoria en
aplicaciones de escritorio.
6.4.10 uso de Bactrack
6.4.11 comparativas de software de
auditoría

8. SUGERENCIAS DIDÁCTICAS
 Exposición oral
 Lecturas obligatorias
 Exposición audiovisual
 Trabajos de investigación
 Ejercicios dentro de clase
 Ejercicios fuera del aula
 Trabajar en grupos pequeños, para sintetizar y construir el conocimiento necesario
para resolver problemas relacionados con situaciones reales.
 Propiciar que el estudiante experimente con diferentes programas encontrados en
revistas, Internet y libros de la especialidad, que lo lleven a descubrir nuevos
conocimientos.


9.- SUGERENCIAS DE EVALUACIÓN
La evaluación de la asignatura se hará con base en siguiente desempeño:
 Ponderación de tareas.
 Participación y desempeño en el aula y el laboratorio, a través de dinámicas
 grupales, trabajo individual o en equipo.
 Dar seguimiento al desempeño en el desarrollo del programa (dominio de los
 conceptos, capacidad de la aplicación de los conocimientos en problemas
 reales, transferencia del conocimiento).
 Desarrollo de un proyecto que integre todas las unidades de aprendizaje.
 Cumplimiento de los objetivos y desempeño en las prácticas.
10. UNIDADES DE APRENDIZAJE

Unidad 1: Introducción a la seguridad del software

Objetivo
Educacional
Actividades de Aprendizaje
El alumno conocerá y
comprenderá los
fundamentos teóricos,
tendencias y metas de
la seguridad en el
software.
 Buscar y seleccionar información sobre el concepto de
software seguro
 Discutir en grupo el concepto de software seguro y su
importancia
 Buscar información sobre las metas de la seguridad
enfocadas al software.
 Discutir en que consiste cada una de las metas de la
seguridad enfocadas al software


Unidad 2: Administración y los riesgos en la seguridad

Objetivo
Educacional
Actividades de Aprendizaje
El alumno conocerá e
identificará los riesgos
que se tienen al poner
en práctica la
seguridad del
software, así como los
mecanismos para la
evaluación del
desarrollo de sistemas
seguros.


 Buscar y Seleccionar información sobre los riesgos en la
seguridad de software
 Analizar en que consiste las pruebas de Caja Negra.
 Buscar y Seleccionar información de Equipo Rojo


Unidad 3: Fragilidad del código en ejecución

Objetivo Educacional Actividades de Aprendizaje
El alumno conocerá los
mecanismos que
emplea la industria del
software para proteger
sus códigos, tanto de
los competidores como
de los crackers; así
como las ventajas y
desventajas del código
abierto.


 Buscar y Seleccionar información sobre código abierto
y código cerrado.
 Analizar las ventajas y desventajas del código abierto
 Analizar las ventajas y desventajas del código cerrado



Unidad 4: Seguridad en la fuente.

Objetivo
Educacional
Actividades de Aprendizaje
El alumno conocerá e
identificará los
principios más
importantes que
deben estar presentes
usando se diseña o
construye un sistema
seguro, evitando los
problemas más
comunes de
seguridad.



 Buscar y Seleccionar información sobre los principios
del código seguro
 Analizar cada uno de los principios del código seguro.


Unidad 5: Auditoría de software

Objetivo
Educacional
Actividades de Aprendizaje
El alumno conocerá e
identificará las etapas
que se requieren para
poder llevar a cabo la
auditoria de software
una vez que éste ha
sido terminado; así
como las herramientas
que permiten realizar
auditoria al código
fuente.



 Buscar y Seleccionar información sobre Arquitectura de
Seguridad
 Buscar y Seleccionar información sobre los principios de
la Arquitectura de Seguridad
 Discutir sobre el análisis de la Arquitectura de Seguridad


Unidad 6: Probando la seguridad

Objetivo
Educacional
Actividades de Aprendizaje
El alumno conocerá,
identificará y aplicará
diferentes lenguajes
de programación que
le permitan analizar,
diseñar y desarrollar
las diferentes técnicas
de código de seguro.


 Buscar y Seleccionar información sobre código seguro
 Analizar cada una de las Técnicas de Código Seguro


11. FUENTES DE INFORMACIÓN

1. GRAFF G., Mark, VIEGA, John Building Secure Software U.S.A. Addison-Wesley,
2001

2. GRAFF G., Mark, VAN WYK, Kenneth R. Secure Coding U.S.A. O’Reilly, 2003.

3. HOWARD, Michael, LEBLANC, David Writing Secure Code 2nd. Edition U.S.A.
Microsoft Press, 2003

4. CORTÉS AGUILAR, Claudia, GARCÍA MORALES, Mayra Tesis : Propuesta de
Reforma de Ley y Procedimientos para la Protección Jurídica de los Programas de
Cómputo en México a través de la Ley Federal del Derecho de Autor México UNAM-
FI, 2005

5. GARFINKEL, Simson, SCHWARTZ, Gene, SPAFOORD, Gene Practical Unix &
Internet Security 3rd edition USA O’Reilly, 2003

6. MESSIER, Matt; VIEGA, John Secure Programming Cookbook for C and C++ USA
O’Reilly, 2003

12. PRÁCTICAS
 Generar un testing de vulnerabilidades a conexiones inalámbricas.
 Prácticas de vulnerabilidad en el software.
 Pruebas de auditoria con bactrack
 Diseño de pruebas de auditorías con software libre
 Comparativas de herramientas de auditoria informática