Analizar y aplicar los principios fundamentales de la seguridad en el desarrollo de software (confidencialidad, integridad, disponibilidad), identificando vulnerabilidades comunes como inyección de código o contraseñas débiles, para implementar buenas prácticas de validación, cifrado y control de acceso, desarrollando una actitud crítica, ética y resiliente frente a los desafíos del mundo digital, capaces de construir sistemas confiables que protejan los datos y la privacidad de las personas.
El estudiante diseña pequeños sistemas o fragmentos de software considerando la seguridad desde la fase inicial, aplicando la triada CIA, mitigando vulnerabilidades mediante validación de entradas, autenticación segura y control de privilegios, demostrando responsabilidad técnica y compromiso ético en la protección de la información.
Imagina que eres desarrollador del sistema "Notas360" en una unidad educativa de Quito. Una mañana, los estudiantes descubren que sus calificaciones fueron alteradas: un alumno común accedió al panel de administrador porque la contraseña del director era "admin123". Además, alguien inyectó código en el buscador de estudiantes y robó datos personales. ¿Qué falló? La seguridad no fue una prioridad. Hoy aprenderás a blindar tus proyectos desde la primera línea de código. ¡La confianza de cientos de usuarios está en tus manos!
La seguridad informática no es un conjunto de candados añadidos al final. Es como construir una casa: si los cimientos son débiles, cualquier tormenta la derrumba. Los tres pilares: Confidencialidad (solo tú y quien tú quieras ven tus datos), Integridad (nadie modifica tu información sin permiso) y Disponibilidad (el sistema responde cuando lo necesitas).
En tu día a día como estudiante, usas apps con login, redes sociales, plataformas educativas. Detrás de cada botón, un programador decidió si validaba datos, si cifraba contraseñas, si aplicaba roles. Las vulnerabilidades como inyección SQL o contraseñas débiles no son magia negra: son descuidos. Y hoy vas a aprender a evitarlos con buenas prácticas.
Si un formulario pide tu nombre y el sistema concatena directamente la entrada, un atacante podría escribir ' OR '1'='1 y obtener acceso total. Solución: Validar siempre, usar consultas parametrizadas.
Usar "123456" es como dejar la puerta de tu casa abierta. Implementa mínimo 8 caracteres, mayúsculas, números y símbolos. Además, nunca guardes texto plano; cifra con hash.
El principio de mínimo privilegio: un alumno no debe poder editar notas. Definir roles (estudiante, docente, admin) y validar cada solicitud.
Usa HTTPS, cifra datos sensibles, anonimiza cuando no necesites identidad directa.
A continuación, un mini simulador que refleja autenticación insegura vs reflexión de buenas prácticas. Observa el código mental y cómo se valida (simulación conceptual).
🔐 Simulacro de validación (Front-end didáctico): Para entender la importancia de cifrado y control de acceso, presiona "Validar concepto".
Contexto: Desarrolla (en pseudocódigo o JavaScript sencillo) una función de registro de usuarios para una plataforma educativa. Debe incluir: validación de que la contraseña tenga al menos 8 caracteres, un número y una mayúscula; almacenar la contraseña "cifrada" (simula con un hash básico usando btoa como ejemplo didáctico); implementar control de roles: si el usuario se registra como "admin" y no tiene código especial, denegar privilegios. Además, evitar inyección: al mostrar un mensaje de bienvenida, asegurar que no se ejecute código HTML malicioso.
Reflexión: ¿Qué pasa si no validamos los datos? ¿Cómo proteges la confidencialidad de las contraseñas? Entrega un pequeño script comentado.