Gestión de riesgos en el software

Si llevamos los fundamentos de la gestión de riesgos de seguridad de la información dentro del ámbito de desarrollo de software, podemos darnos cuenta que es claramente adaptable en todas las fases del ciclo de desarrollo de software, sobretodo y posiblemente convirtiéndolo a un ciclo de desarrollo seguro de software, es decir, considerando aspectos de seguridad de la información en el ciclo de desarrollo tradicional. Incluso, dentro de los controles dictados por ISO 27002, existe el dominio Adquisición, desarrollo y mantenimiento de los sistemas de información, donde se manifiestan controles fuertemente relacionados al ciclo de desarrollo de software. Entonces analicemos.

Partiendo de los fundamentos

El riesgo se define como la incertidumbre para el cumplimiento de objetivos, analizando los niveles de impacto y probabilidad, que si se materializan, darán paso a pérdidas en una organización. Conlleva a inventariar activos de información, identificar sus vulnerabilidades, amenazas y consecuencias de riesgos; tras ello, evaluar los riesgos para obtener un valor de riesgos, con el fin de seleccionar los riesgos a tratar, y finalmente monitorear su efectividad. La norma que dicta los principios de la gestión de riesgos de seguridad de la información es la norma ISO 27005, desarrollado para apoyar el sistema de gestión de seguridad de la información, sin embargo, existe ISO 27034 donde el enfoque en un software es colocar a la seguridad como un requisito más.

Vulnerabilidades en el software

Esto podría apoyar tanto al área de tecnologías de la información como al proceso de desarrollo de software. Existe el análisis estático, o caja blanca, donde necesitamos entender el contenido del software a través de una exploración de la arquitectura y su código fuente relacionado, con el fin de detectar errores de programa, recomendaciones par a la ejecución de código y sobretodo, identificar el porcentaje de propiedad intelectual del código y sus funcionalidades. Un análisis de este tipo impulsa a realizar evaluaciones independientes de un compilador y cubrir completamente el código del software, que en muchas ocasiones escapa de las pruebas de calidad. Entonces, ¿Qué realiza QA?, muchas empresas o áreas de desarrollo de TI, aplican análisis dinámico, o caja negra, es decir, las pruebas en escenarios similares a los de producción con apoyo de un checklist establecido en el área.

Aplicando gestión de riesgos

Entonces lo anterior, se manifiesta como la identificación de riesgos a través de la técnica caja blanca y caja negra, de ello, procedería una evaluación de riesgos, ya sea cualitativo o cuantitativo para los tratamientos correspondientes, por ende, y dependiendo del nivel de inversión de la organización, esto puede dar nacimiento a un área enfocada en Ciberseguridad, Desarrollo y Aseguramiento de Calidad, donde exista un gerente o responsable de seguridad que determine las prioridades de protección, y con el apoyo de los desarrolladores y de las vulnerabilidades detectadas, permiten que QA sólo se enfoque en revisar si las correcciones están aplicadas correctamente ya que la misma sub área de desarrollo junto con la sub área de seguridad, deben identificar y sanar, y la sub área de seguridad realizar las gestiones adecuadas.

Consejo audit

No permita que los desarrolladores no sean evaluados, se necesitan auditorías profundas de caja blanca y caja negra en la organización para determinar vulnerabilidades que de repente han existido hace tiempo, pero cómo no inmiscuimos, no los vemos, y por ende para nosotros, o existe. Muchas veces eso termina como “el sistema falla en esa parte”, “Al dar clic en ese botón el sistema se cuelga”, eso, son riesgos, tratémoslo. En nuestra organización tenemos la plataforma aValue, el cual permite a nuestros clientes organizar completamente sus riesgos de seguridad de la información, en aplicaciones.

Fuentes:
  • Nyrkov Anatoliy P., Katorin Yuri F., Gaskarov Vagiz D., Kosyak Yana V., Sauchev Aleksandr V., (2018) Aggregation Process for Implementation of Application Security Management Based on Risk Assessment