Blog de WatchGuard

Consejos para practicar la codificación segura y ser un programador responsable.

La seguridad no sólo atañe a los sistemas; los programadores tienen un papel muy importante 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 los errores en el código de un programa para controlarlo y usarlo en beneficio propio.

No se puede impedir que hackeen un código, pero se puede hacer más dificultoso si se protege contra las vulnerabilidades más comunes; la mayoría de ellas 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.). 

La importancia de la codificación segura

En el proceso de desarrollo del software es fundamental tener en cuenta los posibles incidentes de ciberseguridad, para poder 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 que ayudan a prevenir ciberataques.

 

Los expertos de WatchGuard aconsejan aplicar 8 buenas prácticas de codificación segura con el afán de reducir la vulnerabilidad del software y lograr así un entorno más seguro:

  1. Validación de entrada de datos: establecer prácticas de seguridad que establezcan qué fuentes son fiables y cuáles no.
  2. Autenticación y gestión de 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; Usar la autenticación multifactor.
  3. Control de acceso: los usuarios que no puedan demostrar autorización se les denegará el acceso.
  4. 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.
  5. Prácticas criptográficas: necesarios para proteger la información del usuario de la aplicación.
  6. Gestión de errores y registros: La identificación exacta de errores depende del registro de eventos que ocurren en el código.
  7. Protección de datos: Los elementos del código deben ejecutarse con el mínimo conjunto de privilegios necesarios para completar la tarea; Borrado de copias temporales y caché almacenadas en el servidor; No almacenar contraseñas o cadenas en texto no cifrado en el lado del cliente.
  8. Modelado de amenazas o threat modeling: identificación de potenciales amenazas para poder definir medidas de prevención o para mitigarlas en el caso de que ocurran.



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