Desarrollo de aplicaciones seguras, consejos y recomendaciones

Las empresas de desarrollo 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.

El coste de una incidencia o una vulnerabilidad suele ser proporcional al tiempo que esta permanece en el sistema.

Implementar un ciclo de desarrollo seguro, donde las vulnerabilidades sean parte de los procesos de test y despliegue, genera un vinculo entre el área de seguridad y el área de desarrollo, con la consecuencia de aplicaciones mucho más robustas, seguras y rentables.

La seguridad del software debe ir acompañada de seguridad de los sistemas. No tiene sentido tener un software seguro si, por ejemplo, siendo una aplicación web no se implementa un protocolo SSL. Además, la seguridad del software debe ir 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.

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

Cada día aparecen nuevos caminos para explotar cualquier debilidad que exista en una aplicación o en cualquiera de sus componentes.

Aquí enumeramos algunos consejos a tener en cuenta a la hora de desarrollar aplicaciones software:

  1. Debemos de 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.
  2. Separar la capa de datos de la capa de control o de servicio y evitar que los atacantes puedan incorporar datos maliciosos.
  3. Acreditar la identidad del usuario y reforzar los métodos de autenticación.
  4. 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.
  5. Validar la incorporación de datos, empleando listas blancas y listas negras.
  6. Analizar de forma exhaustiva la incorporación de nuevos componentes y más cuando se trate de componentes de terceros.
  7. Encriptación y firmado de los componentes más sensibles para fortalecerlos frente a ataques
  8. 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.
  9. Implementar mecanismos de autobloqueo, que puedan bloquear por número de intentos u otros patrones, tanto usuarios como IPs de origen.
  10. Mantener entornos aislados para las distintas aplicaciones de forma que el hackeo de una de ellas no lleve al instantáneo hackeo del resto.

David Miralpeix    flexygo P.O.

 

Aplicaciones seguras

Share on facebook
Share on twitter
Share on linkedin

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

fexygo academy, el entorno offline

flexygo academy nos presenta el nuevo curso para el desarrollo de aplicaciones desconectadas Dadas las circunstancias actuales derivadas del coronavirus COVID-19, la flexygo academy nos

Leer Más >>
flexygo ios

flexygo offline para IOS

flexygo – Offline ahora también para IOS Nuestro equipo de desarrollo está acabando de perfilar y homologar la publicación del App offline de flexygo low

Leer Más >>

Esta web usa cookies propias y de terceros para ofrecer un mejor servicio y hacer estadísticas de datos de uso. Acéptalas antes de seguir navegando para poder disfrutar de todos sus contenidos con plena funcionalidad. Si quieres más información o modificar su configuración, visita nuestra Política de Cookies y nuestra Política de privacidad.