Cómo proteger la aplicación desarrollando software seguro desde el principio

Integrar prácticas de seguridad en el ciclo de desarrollo del software

Los responsables de proyectos e ingenieros de software deberían tratar todos los errores y debilidades del software como posibles agujeros de seguridad. La reducción de estas debilidades empieza determinando las exigencias de seguridad del software y detectando aquellas especificaciones que pudiesen haber pasado desapercibidas. El software que responde a las exigencias de seguridad (como límites en los procesos de comportamiento o manejo de inputs, y resistencia o tolerancia a fallos intencionales), está más preparado para resistir a los ataques.

Además, la observación de casos de abuso, que pueden anticiparse por un comportamiento anormal e inesperado, ayuda a comprender mejor cómo crear un software más seguro y fiable.

Desarrollar software desde el principio, con el concepto de la seguridad en mente, es más efectivo que intentar validar –a través de testeos y verificaciones posteriores- que el software es seguro. Por ejemplo, tratar de demostrar que un sistema implementado nunca aceptará una entrada insegura (es decir, probar que es negativa) es imposible. Sin embargo, puedes probar –a través de métodos formales y funciones abstractas- que el software que estás diseñando nunca aceptará un input inseguro.

Además, es más fácil diseñar e implementar el sistema para que las rutinas de validación de entradas revisen todos los inputs que el software recibe, que establecer límites predefinidos. Si se prueba la función de validación de input para demostrar que funciona correctamente, los inputs que entren en el sistema serán después incluidos en la función de testeo del sistema.

Utilizar el análisis y el modelado para proteger mejor la aplicación

La adopción de un proceso de desarrollo de software basado en la seguridad, incluidas las prácticas de desarrollo seguro, reducirá el número de agujeros y debilidades del software. Corregir las vulnerabilidades durante el ciclo de desarrollo del producto es mucho más barato que tratar de diagnosticar y corregirlas una vez que el sistema está en la calle. Resulta de lo más lógico. Ahora bien, a la hora de poner en marcha esas prácticas de seguridad hay que tener en cuenta tres objetivos:

1. Los agujeros y las vulnerabilidades son eliminadas en lo posible por los ingenieros de desarrollo.
2. Se reduce enormemente (o por completo) la posibilidad de que los crackers implanten de forma intencionada bugs y vulnerabilidades, lógicas maliciosas o puertas traseras en el software.
3. El software es resistente, tolerante y fácilmente recuperable a los ataques, mientras sigue respondiendo en lo práctico a las necesidades de la organización.

La selección de prácticas de seguridad y funciones adaptadas depende de cada organización y proyecto, según sean los objetivos, las limitaciones y la importancia del software que esté desarrollándose.

Page: 1 2

DRosolen

Recent Posts

Los ataques en la nube se disparan y solamente un 4 % de las empresas maneja los riesgos con facilidad

Según datos de Check Point Software Technologies, los incidentes de seguridad cloud han pasado del…

2 días ago

Now Assist de ServiceNow se integra con Microsoft Copilot

A partir del otoño estos asistentes de inteligencia artificial serán capaces de trabajar conjuntamente para…

2 días ago

El pago medio de los rescates por ‘ransomware’ sube un 500 % en un año

Las empresas que accedieron a las pretensiones de los delincuentes abonaron unos 2 millones de…

2 días ago

La sostenibilidad, uno de los impactos positivos de los gemelos virtuales de Dassault Systèmes

Dassault Systèmes ve en la sostenibilidad que permiten sus soluciones una de las palancas con…

2 días ago

El compromiso del correo electrónico empresarial, principal ciberamenaza

Cisco Talos apunta a las credenciales comprometidas de cuentas válidas como acceso inicial más común.

2 días ago

Salesforce lleva una selección de productos a AWS Marketplace

Data Cloud, Service Cloud, Sales Cloud, Industry Clouds, Tableau, MuleSoft, Platform, Signature Success, Slack y…

2 días ago