Estos días hemos hablado de lo que muchos saben pero pocos aplican sobre desarrollo seguro, y además presentamos 10 principios básicos para llevarlo a cabo. Siguiendo la misma línea, queremos presentarles mitos presentes en el proceso de desarrollo que, si bien ofrecen llevarnos a buen puerto, no es así. Veamos de qué se tratan.
Los procesos de desarrollo de software han cambiado mucho con el tiempo. Las metodologías de desarrollo de software también: comenzaron como modelos rígidos donde se pasaba por cada una de sus etapas (como por ejemplo análisis de la problemática, diseño, implementación, etc.) de forma preestablecida, y fueron evolucionando con el tiempo. Actualmente se presentan metodologías orientadas a presentar resultados de forma más rápida, maximizando la interacción con el cliente a lo largo de todo el ciclo.
Las metodologías de software se vieron obligadas a cambiar al contemplar una realidad cada vez más vigente: los sistemas cambian. Se actualizan, se modifican, se extienden, pero rara vez permanecen estáticos. De aquí podemos tomar nuestro primer mito:
1° Mito: Un sistema diseñado correctamente no cambiará a lo largo del tiempo
Esto claramente no es cierto. El descubrimiento de una nueva vulnerabilidad podría hacer que debamos analizar la seguridad del sistema completo nuevamente.
Los especialistas en seguridad informática no siempre presentan conocimientos en desarrollo de software. Por otro lado, muchas veces los desarrolladores de software no poseen conocimientos en seguridad. Entonces, ¿y si primero se lleva a cabo el desarrollo, y luego “se le agrega” el aspecto de seguridad?
2° Mito: Se puede pasar por alto la seguridad en todo el proceso de desarrollo, y agregarla al final
Desde tomar decisiones de arquitectura hasta codificar el módulo de autenticación de nuestro sistema, todo debe llevarse a cabo conociendo las implicancias de nuestras decisiones en la seguridad de nuestro sistema. Para llevar a cabo esta tarea, la capacitación juega un rol muy importante.
Las herramientas (frameworks, módulos, SDKs, lenguajes de programación, etc.) que utilizaremos en nuestro proceso de desarrollo serán elegidas en base a la tarea que debamos llevar a cabo. El siguiente mito toma lugar al momento de elegir dichas herramientas:
3° Mito: Elijamos las herramientas, y luego vemos cómo hacer que sean seguras
Si queremos desarrollar un sistema seguro, elegir la herramienta más actual nunca será tan redituable como elegir la herramienta más segura. En el momento de decidir, es importante considerar aspectos como: cuánto tardan los desarrolladores en llevar a cabo actualizaciones de seguridad, si el soporte es a largo plazo, o incluso qué tan abierta a cambios es la comunidad.
Manteniéndose alejado de estos mitos podrá hacer su proceso de desarrollo de software más efectivo, y además prevenir futuros desastres.