Skip to main content

Seminario: Prácticas de seguridad en desarrollo de software y herramientas de evaluación automática

Fecha de inicio

La Unidad de Posgrado de la Facultad de Ingeniería invita a participar del seminario "Prácticas de seguridad en desarrollo de software y herramientas de evaluación automática". La actividad se realizará el próximo martes 21 de marzo a las 17 h con entrada gratuita.


Datos básicos

  • Fecha:  21 de marzo de 2017
  • Duración: Tres horas. De 17:00 a 20:00
  • Expositores: Bart Miller (University of Wisconsin) y Elisa Heymann (Universitat Autònoma de Barcelona)
  • Idioma: Elisa Heymann dictará la conferencia en español y Bart Miller en inglés.
  • Público: está dirigido a estudiantes avanzados de programas de grado y posgrado en tecnología y a desarrolladores y administradores de software y sistemas en general


Descripción de la actividad

  • La Primera parte del tutorial consiste en la presentación de las vulnerabilidades más comunes que se encuentran en middleware y servicios. Las descripciones de cada tipo de vulnerabilidad se presentarán con ejemplos. Los ejemplos mostrarán cómo cada tipo de vulnerabilidad ocurre dentro del código, señalando cómo los patrones de uso comunes para las rutinas de la biblioteca del sistema, las llamadas del kernel y las técnicas de programación comunes pueden resultar en la vulnerabilidad. Los ejemplos de codificación se presentan en C, C ++, Java, Python y Perl. Junto con la descripción de las vulnerabilidades, mostraremos cómo la vulnerabilidad puede ser mitigada o eliminada mediante el uso de técnicas específicas de programación y diseño. Una parte importante de nuestra discusión de cada técnica vulnerable es una descripción de los procesos de pensamiento utilizados por el atacante en el desarrollo de un exploit. 
  • La Segunda parte es una presentación sobre herramientas de evaluación automatizadas. Iniciaremos a los presentes en los diferentes tipos de herramientas de análisis, cómo funcionan estas herramientas, su producción y sus limitaciones. Luego hablaremos de análisis de flujo de control y análisis de flujo de datos, ya que son el núcleo de las herramientas para responder si cierto código es seguro o no. La siguiente sección del tutorial explica cómo usar diferentes herramientas comerciales y de código abierto para C / C ++ y Java, y cómo procesar la salida de las herramientas. Para eso usamos aplicaciones de prueba simples extraídas de la suite de pruebas NIST / NSA Juliet, donde cada una de estas aplicaciones contiene debilidades específicas, y la versión del mismo código con la debilidad corregida. Las debilidades que tratamos se extraen de una colección de las más comunes en código real, tales como "Relative Path Traversal", Inyección de comandos del SO, Cross-Site Scripting (XSS), "Improper Neutralization of Script in an Error Message Web Page", Desbordamiento de Enteros , Información confidencial no eliminada antes de la liberación, excepción no captada y uso de almacenamiento de contraseñas directamente en el código fuente. Una breve sección de este tutorial muestra cómo los usuarios pueden beneficiarse del Software Assurance Marketplace-SWAMP, una instalación abierta que permite a los usuarios escanear su software con diferentes herramientas sin la carga de gestionar la adquisición, instalación y configuración de herramientas. En todo el SWAMP, los usuarios pueden acceder a herramientas de evaluación de software comercial y de código abierto.


Más información e inscripciones

https://www.fing.edu.uy/eventos/securecoding