
Fechas y Registro
Fecha:9 de agosto del 2010 al 23 de agosto del 2010
HorarioLunes y Miércoles Días 9, 11, 16, 18 y 23 de Agosto - 19 a 22 hs -
Duración del curso
2 Semanas
Lugar
Capital Federal, Buenos Aires, Argentina
Para más información:
elupi@axigmatechnologies.com
Curso de Programación Segura (Secure Application Development)
Descripción del curso
Este entrenamiento introduce al asistente en todos los aspectos básicos requeridos por los programadores y las organizaciones quienes desarrollan (programan) sus aplicaciones, para que dichas aplicaciones mantengan un nivel adecuado en términos de riesgos de seguridad y estabilidad.
Este entrenamiento estandariza el conocimiento básico para el desarrollo de aplicaciones incorporando las buenas prácticas y experiencias concreta de diferentes profesionales de seguridad.
El asistente conocerá cuáles son las amenazas y riesgos a los cuales están expuestas las aplicaciones desde una perspectiva de seguridad, analizando en detalle el impacto en la seguridad de las técnicas de programación y lenguajes actuales (.Net, base de datos, ASP, Java, PHP).
Este entrenamiento tiene laboratorios (hands-on) que le permitirá al asistente afianzar los conceptos desarrollados, llevándose importantes conocimientos concretos de programación y codificación segura
Objetivos
Al finalizar este curso los participantes podrán:
- Conocer la exposición a una amplia gama de lenguajes de programación y
- capacitación en prácticas de codificación seguras.
- Mejorar la empleabilidad de las organizaciones de desarrollo de aplicaciones.
- Comprender la exposición al desarrollo de aplicaciones a través de plataformas
- Enriquecer las habilidades en la escritura de mejores códigos y mejora la eficiencia
- Construir aplicaciones seguras
¿A quién está dirigido?
- Programadores responsables del diseño y construcción en Windows y aplicaciones en web. Preferentemente, que tengan conocimeinto en C#, C++, Java, PHP, ASP, .NET o SQL.
Material de curso
- Manual de Referencia del Alumno.
- Presentación utilizada en el curso.
- Información adicional en digital.
Contenido detallado
Módulo I – Introducción a la programación y codificación segura
- Escenario actual de la seguridad en el software
- Errores más comunes de seguridad
- Requerimientos y necesidades para la programación segura
- Vulnerabilidades, amenazas y riesgos: Conceptos
- Ciclo de las vulnerabilidades
- Vulnerabilidades más comunes en las aplicaciones
- Tipos de ataques
- Evaluación de Riesgos y Modelos de Amenazas
- El modelo de amenazas STRIDE
- Common Criteria
Módulo II – Diseñando Arquitecturas Seguras
- Introducción
- Arquitecturas Seguras
- Seguridad en las aplicaciones – Factores de impacto
- Software Engineering y System Development Life Cycle (SDLC)
- Seguridad en las diferentes fases del desarrollo de software y el ciclo de vida del sistema
- Aspectos de seguridad en las diferentes metodologías de desarrollo de software:
- Waterfall, RAD, Espiral, metodologías ágiles, programación extrema y UML.
- Vulnerabilidades y otros aspectos de seguridad en las aplicaciones.
Módulo III – Criptografía
- Introducción a la criptografía
- Utilización de la criptografía
- Técnicas clásicas y modernas de criptografía
- Algoritmos criptográficos simétricos: DES / 3DES / AES
- Algoritmos criptográficos asimétricos: RSA / Diffie Hellman
- Funciones de hashing: MD5 / SHA
- Utilización e implementación de funciones criptográficas
- Firma digital: conceptos. Componentes. Métodos y utilización. Estándar DSS.
- Certificados Digitales.
- PGP – Pretty Good Privacy
- Digital Right Management
- Firma digital de software
- Ataques a la criptografía
Módulo IV – Buffer Overflows
- Qué son los buffer Overflows Attacks
- Razones para la explotación de estos ataques
- Por qué los programas y aplicaciones son vulnerables a este tipo de ataques?
- Entendimiento de la memoria: Stack / Heap
- Tipos de buffer overflows
- Cómo detectar los buffer overflows
- Técnicas de defensa frente a los buffer overflows
- Ejemplos en C
Módulo V – Aspectos de programación segura en diferentes lenguajes de programación y arquitecturas
- Aspectos de programación segura en .Net
- Aspectos de programación segura en ASP
- Aspectos de programación segura en C / C++
- Aspectos de programación segura en Java
- Aspectos de programación segura en Bases de datos: ataques de inyección de código SQL. Técnicas de defensa contra la inyección de código SQL.
- Aspectos de programación segura en entornos web: web services, javascripts , XML. Ataques XSS, Hijacking, etc.
- Aspectos de programación segura en RPC, ActiveX y DCOM.
- Aspectos de programación segura en componente de comunicaciones
Activación de software, bloqueos de privacidad y actualizaciones automáticas de software