Descargar Vulnerabilidades en las TIC`s

Transcripción

Descargar Vulnerabilidades en las TIC`s
1.- DATOS DE LA ASIGNATURA
Nombre de la asignatura: Vulnerabilidades en las TIC’s
Carrera: Ing. En Tecnología de la Información y
Comunicación
Clave de la asignatura: ASD-1305
TCA 1:
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
Instituto Tecnológico
Superior de Centla
Academia de Sistemas,
informática y TIC's
Observaciones
(cambios y
justificaciones)
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
1
2
3
4
Temas
Subtemas
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
Introducción a la seguridad 1.6 Breanking and patch (romper y actualizar)
del software
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.1 Descripción de la administración de los
riesgos en la Seguridad del Software
2.2 Administración de los riesgos en la
Administración y los riesgos
seguridad del Software en la práctica
en la seguridad
2.2.1 Pruebas de Caja Negra
2.2.2 Equipo Rojo
2.3 Criterios Comunes
3.1 Seguridad por Oscuridad
3.2 Ingeniería en Reversa
Fragilidad del código en
3.3 Código Fuente Abierto
ejecución
3.4 Falacias del código abierto
3.5 Ofuscación del código fuente
3.6 Bombas lógicas
4.1 Reducir las líneas débiles
4.2 Defensa por pasos o capas
Seguridad en la fuente.
4.3 Errores básicos
4.4 Privilegios
4.5 Segmentando código
4.6 La simplicidad es mejor
5
6
Auditoría de software
Probando la seguridad
4.7 Privacidad
4.8 Transparentar el código
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.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
El alumno conocerá y 
comprenderá
los
fundamentos teóricos, 
tendencias y metas de
la seguridad en el 
software.

Actividades de Aprendizaje
Buscar y seleccionar información sobre el
software seguro
Discutir en grupo el concepto de software
importancia
Buscar información sobre las metas de
enfocadas al software.
Discutir en que consiste cada una de las
seguridad enfocadas al software
concepto de
seguro y su
la seguridad
metas de la
Unidad 2: Administración y los riesgos en la seguridad
Objetivo
Educacional
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.
Actividades de Aprendizaje



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
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.
Actividades de Aprendizaje



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
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.
Actividades de Aprendizaje


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
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.
Actividades de Aprendizaje



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
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.
Actividades de Aprendizaje


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 UNAMFI, 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

Documentos relacionados