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

Partager sur facebook
Partager sur twitter
Partager sur linkedin

Déjanos un comentario

avatar
sebastian UI/UX

La importancia del UI/UX

El equipo de UI/UX ha hecho un restyling completo de Sebastian portal de empleado. No solo se le ha dotado de un diseño mucho más

Leer Más >>
Ahora CRM

Gastos desde el CRM

Nuestros compañeros de Ahora nos presentan la release de la nueva versión de su CRM desarrollada con flexygo. Las novedades se centran sobre todo en

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 Politique de Cookies y nuestra Política de privacidad.