Programación Segura

Curso

Programación Segura

Inicio / Programas / Programación Segura

Requisitos: Mínimo ser estudiante de pregrado. Adicionalmente, Se requiere programación en cualquier lenguaje, preferiblemente conocimientos en Python, Flask y C++ pero no son indispensables.

Idioma: Español

Horario*: 

Sábados 3, 10, 17 de junio - 8:00 am. a 12:00 m.

20, 21 y 23 de junio - 6:00 a 9:00 pm.

Sábado, 24 de junio- 9:00 am. a 12:00 m.

26, 28 y 30 de junio - 6:00 a 9:00 pm.

Sábado, 1 de julio - 9:00 am. a 12:00 m.

4, 5 y 7 de julio - 6:00 a 9:00 pm.

*Los horarios y modalidad (virtual o semipresencial) de los cursos están sujetos a modificaciones. Las fechas y horarios de las sesiones podrán ser consultados en mibanner.uniandes.edu.co

Si te inscribes bajo la modalidad de extensión, recibirás una insignia digital. 

Conócela aquí

Este curso hace parte del portafolio de materias de pregrado y posgrado de la Universidad  abiertas a todo público.

Al participar en este curso podrás vivir la experiencia Uniandina, acceder a contenidos de calidad, tomar  clases con estudiantes regulares, acceder al sistema de bibliotecas de Uniandes y participar en las actividades culturales que esta Universidad te ofrece.

Contenido

Múltiples incidentes de impacto global relacionados con seguridad en aplicaciones han ocurrido en los últimos años. Por ejemplo, en 2021, se descubrió una vulnerabilidad en la librería de Java Apache Log4j que permitía atacantes ejecutar código remotamente en dispositivos, recordemos que Java es ejecutada sobre más de 3 mil millones de dispositivos, incluyendo servidores y IoT. Incidentes como este han demostrado la necesidad de diseñar software confiable y seguro. Por lo tanto, es importante entender los fundamentos, las soluciones existentes y los retos de esta disciplina. En este curso introduciremos propiedades fundamentales de seguridad y varias definiciones rigurosas de la literatura científica. Introduciremos también vulnerabilidades comunes en el diseño y la implementación de aplicaciones en múltiples escenarios, tales como aplicaciones nativas, web y descentralizadas (dApps). Discutiremos los impactos de estas vulnerabilidades en relación con las propiedades formales anteriormente introducidas. Adicionalmente, presentaremos diferentes estrategias de verificación y pruebas para detectar vulnerabilidades, y discutiremos sus ventajas y limitaciones. Desarrollaremos ejercicios prácticos de laboratorio y un proyecto para entender a fondo los conceptos introducidos. El curso cubrirá: 1) Motivación y propiedades fundamentales en la seguridad del software, 2) Flujo de información, control de acceso, seguridad en sistemas distribuidos, 3) Conceptos fundamentales de criptografía: funciones de hash, criptografía simétrica y asimétrica, 4) Principios para desarrollo seguro de software, 5) Vulnerabilidades comunes en aplicaciones Web, 6) Vulnerabilidades comunes en aplicaciones nativas, 7) Pruebas de caja negra y de caja blanca para detectar vulnerabilidades, 8) Ingeniería inversa y ofuscación, 9) Privacidad, 10) Seguridad en infraestructuras criticas, 11) Conceptos y seguridad para desarrollo de aplicaciones Web3. 

Profesores

Martín Ochoa

Investigador sénior en ETH Zurich. Anteriormente trabajó como investigador principal de seguridad en Cyxtera Technologies. Tiene un doctorado en Ciencias de la Computación de la TU Dortmund (Alemania) y títulos M.Sc. y B.Sc. en matemáticas e ingeniería de sistemas. Ha publicado más de 40 artículos científicos en Ciberseguridad. Anteriormente fue profesor de cátedra en la Universidad de los Andes, profesor asistente en la Universidad del Rosario, la Universidad de Tecnología y Diseño de Singapur, investigador postdoctoral en la TU München e investigador en Siemens.

Juan David Guarnizo Hernandez

Ingeniero de sistemas egresado de la Universidad de los Llanos y magister en Seguridad de la Información de la Universidad de los Andes. En 2022, culminó sus estudios de doctorado en la Universidad de Tecnología y Diseño de Singapur (SUTD), donde realizó investigaciones principalmente en aplicaciones de tecnologías Blockchain para sistemas de seguridad en software. Actualmente, se encuentra vinculado como investigador senior en el grupo de Seguridad de la Información de la Universidad ETH de Zúrich.

Condiciones

Eventualmente la Universidad puede verse obligada, por causas de fuerza mayor a cambiar sus profesores o cancelar el programa. En este caso el participante podrá optar por la devolución de su dinero o reinvertirlo en otro curso de Educación Continua que se ofrezca en ese momento, asumiendo la diferencia si la hubiere.

La apertura y desarrollo del programa estará sujeto al número de inscritos. El Departamento/Facultad (Unidad académica que ofrece el curso) de la Universidad de los Andes se reserva el derecho de admisión dependiendo del perfil académico de los aspirantes.