Fechas y Registro

Fecha:

9 de agosto del 2010 al 23 de agosto del 2010

Horario

Lunes 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