Lo que muchos saben pero pocos aplican sobre desarrollo seguro

Publicado el 03 marzo 2014 por Luiscastellanos @lrcastellanos


La mayoría de las empresas realizan de forma interna algún tipo de desarrollo para agilizar y optimizar los procesos de negocio. El problema es que muchas veces no se tiene en cuenta la seguridad en este tipo de aplicaciones. Veamos algunas características del desarrollo seguro de aplicaciones y la importancia de tenerlos en cuenta dentro del análisis de riesgos de la organización.

La premura con que se implementa una nueva solución en las empresas, para solucionar un problema o implementar un nuevo proceso de negocio puede tener consecuencias negativas para la seguridad de la información.

La teoría dice que un proceso formal de desarrollo consta de al menos cinco pasosla recopilación de requisitos, el diseño, la codificación, las pruebas y la implementación; y para que el proceso de desarrollo no se convierta en algo tedioso, hay metodologías ágiles que lo aceleran.

Lo que no hay que perder de vista es que independientemente de la metodología utilizada la seguridad no debe relegarse a un segundo o tercer plano, o dejarse como una tarea pendiente de realizar una vez que la solución esté implementada y todo esté funcionando.

Enfocarse en los posibles puntos de falla

La mejor forma de incorporar la seguridad dentro de nuestros procesos de desarrollo es conocer de antemano donde es más factible que estos fallen, teniendo en cuenta aspectos como el factor humano, el tipo de infraestructura con que contamos en nuestra empresa e incluso el grado de exposición de la misma. Todo esto se logra haciendo un juicioso análisis de riesgos.

Además de los factores, con el análisis de riesgo podremos llegar a identificar aquellas situaciones que con mayor posibilidad puedan convertirse en un evento de riesgo. Errores de codificación, descuidar los requisitos de seguridad, falta de pruebas de seguridad, infraesctructura vulnerable y hasta el uso de librerías o aplicaciones desactualizadas son algunos de los riesgos que deben revisarse antes de dar inicio al desarrollo.

Algunas actividades hacia el desarrollo seguro

Como cualquier actividad relacionada con la seguridad de la información, la capacitación a aquellos que están involucrados en los procesos es fundamental. Así que desde los empleados con los cuales se hacen los levantamientos de requisitos hasta los desarrolladores deben ser conscientes de las políticas de seguridad de la empresa y alinear los esfuerzos de acuerdo a ellas.

Una vez que todos están alineados con lo que necesita la organización, la adopción de buenas prácticas se hace necesaria para lograr que todo funcione correctamente. Realizar una adecuada documentación tanto de los requisitos como del desarrollo, hacer pruebas funcionales antes de salir a producción y cuidar el versionamiento son actividades que ayudan a obtener aplicaciones con menos vulnerabilidades y por tanto más seguras para la información de la empresa.

¿Y dónde se ven los beneficios?

Es claro que el contexto de las amenazas informáticas con las cuales deben enfrentarse las organizaciones hoy en día es muy dinámico. Son muchos los atacantes que andan por la red buscando vulnerabilidades en sistemas para dañarlos o lograr algún tipo de rédito económico, incluso esos atacantes podrían estar dentro de la misma organización. Empleados que busquen robar información o que por error borren o modifiquen información importante son un riesgo latente en las empresas. Así que un primer beneficio del desarrollo seguro es tener un nivel adicional de seguridad contra este tipo de incidentes.

Ahorro en tiempo y dinero son otros beneficios consecuentes del desarrollo seguro. Las aplicaciones como resultado de procesos de desarrollo seguro ayudan a reducir esfuerzos en identificación de problemas y corrección de errores: es mucho más barato que la solución de errores en etapas de desarrollo que ya estando en producción, además de garantizar mayor disponibilidad de los sistemas una vez están siendo utilizados.

Gastarse una semana más en la etapa de desarrollo, puede elevar los niveles de seguridad, ahora la pregunta es ¿qué tanta importancia le damos realmente a contar con procesos de desarrollo seguros?.