Consejos para desarrollar un software robusto y seguro

  • Al día

Las empresas de desarrollo de software ya han asumido que el coste de localizar un error o una vulnerabilidad durante el desarrollo sale infinitamente más económico que detectarlo durante el proceso de implantación o una vez desplegado. Flexygo repasa unas sencillas pautas para implementar un ciclo de desarrollo seguro.

Cada día aparecen nuevos caminos para explotar cualquier debilidad que exista en una aplicación o en cualquiera de sus componentes. Ante esta realidad, implementar un ciclo de desarrollo seguro, donde las vulnerabilidades sean parte de los procesos de test y despliegue, genera un vínculo entre el área de seguridad y el área de desarrollo, con la consecuencia de aplicaciones mucho más robustas, seguras y rentables.  Para conseguir esto, Flexygo ofrece unos consejos a tener en cuenta a la hora de desarrollar aplicaciones software:

--Hay que asumir que ningún componente de la aplicación es seguro e incluir test de seguridad igual que incluimos test unitarios, test de integración, de carga o de interfaz.

--Es preciso separar la capa de datos de la capa de control o de servicio y evitar que los atacantes puedan incorporar datos maliciosos.

--Acreditar la identidad del usuario y reforzar los métodos de autenticación.

--Autorizar, además de autenticar y solo dar acceso a lo que queremos que vea ese usuario, identificando datos sensibles y como se quieren gestionar.

--Validar la incorporación de datos, empleando listas blancas y listas negras.

--Analizar de forma exhaustiva la incorporación de nuevos componentes y más cuando se trate de componentes de terceros.

--Aplicar la encriptación y firmado de los componentes más sensibles para fortalecerlos frente a ataques

--Diseñar procedimientos de actualización masiva que permitan corregir y actualizar el software de forma rápida y sencilla en cuanto se detecta un bug o vulnerabilidad.

--Implementar mecanismos de autobloqueo, que puedan bloquear por número de intentos u otros patrones, tanto usuarios como IPs de origen.

--Mantener entornos aislados para las distintas aplicaciones de forma que el hackeo de una de ellas no lleve al instantáneo hackeo del resto.

Por otra parte, flexygo recuerda que la seguridad del software debe ir acompañada de seguridad de los sistemas, ya que no tiene sentido tener un software seguro si, por ejemplo, siendo una aplicación web no se implementa un protocolo SSL. Debe ir asimismo acompañada de una configuración adecuada de la arquitectura de los sistemas, como la utilización de firewalls, centinelas o el cumplimiento de una certificación en concreto.

Además, la seguridad de un producto no es estática, debe evolucionar con el tiempo, ya que cada día hay más personas intentando hackear sistemas y acceder a una información reservada o privada.