El proceso de desarrollo de software requiere un conjunto de conceptos, una metodología y un lenguaje propio. A este proceso también se le llama el ciclo de vida del software que comprende cuatro grandes fases: concepción, elaboración, construcción y transición.

ETAPAS EN EL ANÁLISIS DE SEGURIDAD DEL SOFTWARE DESARROLLADO

etapas

Análisis: En esta etapa, se deben identificar aquellos requerimientos funcionales que tendrán impacto en los aspectos de seguridad de la aplicación

Diseño: hay numerosos aspectos de seguridad que deben ser tenidos en cuenta durante el diseño de la aplicación. Algunos de ellos son:

  • Diseño de autorización
  • Diseño de autenticación
  • Diseño de los mensajes de error
  • Diseño de los mecanismos de protección de datos

Codificación: Es en este punto en donde suelen incorporarse, por error u omisión, distintos   tipos   de   vulnerabilidades.   Estas   vulnerabilidades   se   dividen   en   dos grandes grupos a saber: vulnerabilidades clásicas y vulnerabilidades funcionales.

Testing: La labor de Testing/QA fue la de encontrar y reportar errores funcionales de la aplicación o software desarrollado.

Puesta en producción: En este punto se deben contemplar tareas tales como: cambio de usuarios y contraseñas iniciales o por defecto, borrado de datos de prueba y cambio de permisos de acceso

TÉCNICAS PARA PROBAR EL SOFTWARE

En general las técnicas para probar en software se dividen en dos categorías:

Técnicas de Evaluación Estáticas: Buscan faltas sobre el sistema en reposo. Así pues, estas técnicas se pueden aplicar, tanto a requisitos como a modelos de análisis, diseño y codificación.

Técnicas de Evaluación Dinámicas: Generan entradas al sistema con el objetivo de detectar fallos, cuando el sistema ejecuta dichas entradas. La aplicación de técnicas dinámicas es también conocida como pruebas de software o testing y se aplican generalmente sobre código puesto que es, hoy por hoy, el único producto ejecutable del desarrollo