Santiago, 07 de junio de 2024 – En la actualidad, prácticamente no se concibe una marca u organización sin su página web, sin su presencia en el mundo digital. Este escenario trae nuevas oportunidades y también desafíos, considerando que cada vez son más comunes los ciberataques y frecuente el descubrimiento de vulnerabilidades.
La seguridad en el desarrollo de aplicaciones web se convierte en un pilar fundamental que no puede ser subestimado. Desafortunadamente, el camino hacia aplicaciones seguras está plagado de errores comunes que pueden exponer a organizaciones y usuarios a riesgos significativos. Sin embargo, un buen referente para abordar este tipo de amenazas es la Open Web Application Security Project (OWASP), un proyecto de código abierto que proporciona una serie de recursos gratuitos para mejorar la seguridad de las aplicaciones web y que publica una lista conocida como OWASP Top 10, el cual señala los diez riesgos más críticos en el desarrollo web.
En base a dicho ranking de OWASP, el CSIRT de Gobierno, dentro de su plan de capacitación para los encargados de ciberseguridad del Estado, realizó una charla llamada “Errores comunes de seguridad en el desarrollo de aplicaciones web y cómo evitarlos”. En esta ocasión, Eduardo Riveros, analista del CSIRT de Gobierno, detalló cuatro problemas de seguridad frecuentes en el desarrollo web: “La validación de datos, relacionado con la recepción de datos externos, cómo se procesan, cómo se interpretan y cómo se utilizan; el control de acceso que tiene relación con los mecanismos en las aplicaciones que permiten o no realizar cambios y acceder a la información; la confidencialidad e integridad, asociado a las herramientas que permiten que la información almacenada en las aplicaciones sea accesible y modificable solo por quienes debiesen poder hacerlo y las dependencias vulnerables que son todas las vulnerabilidades que se gatillan a partir del uso de recursos externos, como lo son las librerías”.
Para comprender estas vulnerabilidades, el analista del CSIRT explicó los errores más frecuentes y cómo prevenirlos.
Validación de datos
Las inyecciones SQL, HTML/JS, el robo de credenciales y la ejecución de código desde una máquina remota, son algunos de los problemas a los que se ven enfrentados los desarrolladores web.
“Las inyecciones que para algunos aparentan ser inofensivas, podrían alcanzar un alto impacto y costo, dañando la reputación de la organización o incluso permitiendo la extracción de información por parte del ciberatacante” destaca el analista del CSIRT de Gobierno.
Las inyecciones de SQL ocurren cuando el mecanismo que crea la consulta final para insertar datos no diferencia adecuadamente entre los datos proporcionados por el usuario y la consulta misma.
Controles de acceso
Resguardar las contraseñas para evitar posibles filtraciones, es uno de los desafíos esenciales para una web segura. ¿Cuál es el problema de que se filtren las contraseñas si no soy una entidad financiera? “Aparte del problema obvio de que personas ajenas al usuario van a poder acceder y ver datos de otros usuarios dentro de nuestro sistema, suele ocurrir que el usuario utiliza la misma contraseña en distintos sistemas”, destaca Riveros.
Confidencialidad e integridad
Es vital contar con un registro de acciones (logs), ya que permiten registrar cuando alguien se conectó a un sistema, IP del dispositivo, la fecha y hora de cuando se ejecutó la acción, y la ruta que se visitó. “Los logs permiten que nos enteremos de comportamientos inesperados en la aplicación, ya sea por bugs, vulnerabilidades u otro motivo, pero no nos van a proteger de que la acción no se ejecute”, destaca el analista del CSIRT de Gobierno.
Para esto, es crucial que cada vez que alguien se conecte a una ruta específica en sus sistemas o realice cambios importantes, se registre la IP del dispositivo, junto con la fecha y hora exacta de la acción. Sin embargo, Eduardo aclara que: “El acceso a los logs debe ser limitado. Las aplicaciones deben tener permiso únicamente para añadir información, sin la capacidad de modificar o eliminar registros. Esto evita que un atacante o ransomware borre sus huellas. Las personas que revisan los logs también deben tener permisos solo de lectura. De esta forma, se garantiza que cualquier acción no deseada sea detectada”.
Dependencias vulnerables
En el desarrollo web es muy necesario ser cautos con el uso de las librerías externas, ya que algunas podrían tener alguna vulnerabilidad. Considerar este punto podría marcar la diferencia en la seguridad de un desarrollo. “La manera de mitigar los riesgos producto de dependencias vulnerables es la utilización de librerías actualizadas y dependencias confiables. Para esto es importante revisar periódicamente publicaciones y actualizaciones disponibles”, concluye Eduardo Riveros.


