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.
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.