Jürgen Fälchle - stock.adobe.c
Cómo practicar la codificación segura y ser un programador responsable
Dentro del marco del Día del Programador, celebrado el 13 de septiembre, WatchGuard ofrece una serie de consejos para asegurar la codificación.
Los programadores tienen un papel muy importante en la ciberseguridad, ya que la mayor parte de los problemas de seguridad que surgen en las aplicaciones están relacionados con el código antes que con las comunicaciones. Los ciberatacantes aprovechan esos errores en el código de un programa para controlarlo y usarlo en beneficio propio.
Si bien no se puede impedir que hackeen un código, sí se puede hacer más difícil si se le protege contra las vulnerabilidades más comunes, la mayoría de las cuales provienen del código fuente de un programa o aplicación. Afortunadamente, las vulnerabilidades más comunes de seguridad en el software pueden ser mitigadas aplicando estándares de codificación segura como OWASP y SEI Cert.
En el proceso de desarrollo del software es fundamental tener en cuenta los posibles incidentes de ciberseguridad para evitar la consiguiente filtración de datos sensibles e información personal. La codificación segura facilita a los programadores poder eliminar las vulnerabilidades más comunes en el software aplicando buenas prácticas denominadas estándares de codificación segura.
Los expertos de WatchGuard aconsejan aplicar ocho buenas prácticas de codificación segura para reducir la vulnerabilidad del software y lograr así un entorno más seguro:
- Validar la entrada de datos:Esto es establecer prácticas de seguridad que establezcan qué fuentes son fiables y cuáles no.
- Autenticar y gestionar contraseñas: Las prácticas para la autenticación y la gestión de contraseñas incluyen usar un sistema fiable de hash de contraseñas; imponer requerimientos de longitud y complejidad de las contraseñas; almacenar las credenciales de autenticación en un servidor confiable; y usar autenticación multifactor.
- Control de acceso:Se denegará el acceso a los usuarios que no puedan demostrar autorización.
- Mantenerlo simple:Un código simple es una excelente manera de asegurar su seguridad, ya que los diseños complejos aumentan la probabilidad de vulnerabilidades al código.
- Prácticas criptográficas:Son necesarias para proteger la información del usuario de la aplicación.
- Gestión de errores y registros:La identificación exacta de errores depende del registro de eventos que ocurren en el código.
- Protección de datos:Los elementos del código deben ejecutarse con el mínimo conjunto de privilegios necesarios para completar la tarea. Igualmente, deben ser borradas las copias temporales y de caché almacenadas en el servidor, y no se debe almacenar contraseñas o cadenas en texto no cifrado en el lado del cliente.
- Modelado de amenazas (threat modeling):Identificar potenciales amenazas para definir medidas de prevención o para mitigarlas en el caso de que ocurran.
De acuerdo con WatchGuard, para lograr una codificación segura es fundamental concientizar a los desarrolladores y programadores de las diferentes vulnerabilidades e incidentes de ciberseguridad posibles. “La formación y la capacitación constante es de vital importancia para comenzar a aplicar buenas prácticas de codificación segura”, afirman.