Seguridad de aplicaciones y protección de datos
Se evalúa el conocimiento del desarrollo seguro, de las vulnerabilidades más frecuentes en aplicaciones y de las obligaciones que implica tratar datos personales.
OWASP Top 10 (2021)
A01 control de acceso roto; A02 fallos criptográficos; A03 inyección; A04 diseño inseguro; A05 configuración de seguridad incorrecta; A06 componentes vulnerables y desactualizados; A07 fallos de identificación y autenticación; A08 fallos de integridad de software y datos; A09 fallos de registro y monitoreo; A10 falsificación de peticiones del lado del servidor (SSRF).
Prácticas que se exigen
Validación de entrada en el servidor con listas blancas, consultas parametrizadas u ORM, codificación de salida según el contexto para evitar XSS, CSP, cookies HttpOnly/Secure/SameSite, control de acceso verificado en el servidor (no ocultando botones), hash de contraseñas con sal y factor de costo (bcrypt, scrypt, Argon2, PBKDF2), TLS, secretos fuera del código y dependencias gestionadas con SCA.
Protección de datos
Minimización, finalidad determinada, consentimiento informado, retención limitada, cifrado en tránsito y en reposo, seudonimización o tokenización, acceso por rol y respaldo cifrado. En República Dominicana rige la Ley 172-13 sobre protección de datos personales, con derechos de acceso, rectificación, cancelación y oposición; si se tratan datos de residentes de la Unión Europea aplica además el RGPD.
Ejemplo razonado
Un formulario de búsqueda devuelve un error al introducir ' OR 1=1 -- y luego lista todos los usuarios. Es una inyección SQL (A03) porque la entrada se concatena en la consulta. La corrección de raíz son consultas parametrizadas y validación; se suma una cuenta de base de datos con permisos mínimos, mensajes de error genéricos y revisión de logs para saber si hubo explotación previa. Aplicar base64 a la entrada o un hash no resuelve nada: no son controles de inyección. El WAF es defensa en profundidad, no la solución.
Errores que cuestan puntos
Confundir hash con cifrado (el hash no se revierte; el cifrado sí). Creer que base64 ofusca de forma segura. Pensar que ocultar un campo en la interfaz es control de acceso (eso es IDOR). Suponer que HTTPS protege de inyección. Guardar contraseñas con MD5 o SHA-1 sin sal. Asumir que el WAF sustituye el código seguro.