Desarrollo seguro en aplicaciones web

Páginas: 16 (3917 palabras) Publicado: 19 de marzo de 2013
1. CUIDADOS A TOMAR EN EL DESARROLLO DE SOFTWARE




A lo largo de todo el Ciclo del Desarrollo de Software, se deben de ir haciendo consideraciones, para ofrecer al final una Aplicación lo más segura posible. A continuación se definen ciertos puntos a considerar en cada uno de las fases del Desarrollo Clásico.

1.1 Análisis y Diseño
A menudo, no se le da la importancia necesaria alAnálisis y Diseño de sistemas, se hacen pequeños bosquejos, pero nada formal. O lo que es peor, se empieza a desarrollar sobre la marcha y luego se analizan y definen muchos procesos o tareas relacionados a la seguridad.
Para el desarrollo de “Aplicaciones seguras”, el Análisis y Diseño es muy importante. Si se logra hacer un buen Análisis y Diseño, y tomando en consideración las posiblesvulnerabilidades, nos puede significar un ahorro bastante significativo en tiempo y recursos.
Dentro de las prácticas más comunes que se tienen para detectar vulnerabilidades en la Etapa de Análisis y Diseño, tenemos las siguientes:
1.1.1 Modelo de Amenazas (Threat Modeling)
Esta técnica es una de las más comunes utilizadas en el Diseño de aplicaciones, dicha técnica consiste en enumerar de manera gráficalos posibles ataques que el sistema podrá sufrir en cualquier parte del mismo.
Un modelo de riesgo o amenazas puede ayudar a evaluar la probabilidad, el daño potencial y la prioridad de los ataques, y así ayudar a minimizar o erradicar dichas las amenazas.

Fig. 1 Identifica el ciclo que debe de tomar un modelo de Amenazas

Dentro de los pasos que debemos de realizar para definir un Modelode Amenazas, podemos destacar los siguientes:
• Definir un Modelo de la organización:
o Identificar los objetivos del negocio.
o Definir cada uno de los roles de usuarios que tendrán interacción con el sistema.
o Enumerar todos los datos que el sistema administrará.
o Definir los casos de uso que el sistema resolverá.
o Describir cada uno de los posibles escenarios de uso para poderdefinir los flujos de datos, puntos de entrada, ataques de superficie, y recursos que deben de incluirse como parte del modelo.
• Generar un modelo de la arquitectura del sistema.
o Modelo de los componentes de la aplicación.
o Diagramas de flujos de datos con cada uno de sus respectivos elementos.
o Modelo de la interacción de los diferentes componentes de la aplicación.
o Modelo dedependencias externas.
o Modelo de llamadas de los roles o usuarios a los componentes y eventualmente a los datos almacenados en la aplicación.
Fig. 2 Ejemplo de un flujo de datos con sus elementos.

• Identificar todas las amenazas a la confidencialidad, disponibilidad e integridad de la información almacenada en la aplicación, para esto podemos usar el método STRIDE de Microsoft, que consiste enclasificar las vulnerabilidades en varios grupos:
 Spoofing identity (Secuestro o robo de Identidad)
 Tampering with data (Manipulación o alteración de Datos)
 Repudiation (No dejar huellas visibles del ataque)
 Information disclosure (Divulgación de información clasificada)
 Denial of service (Denegar el servicio)
 Elevation of privilege (Tomar nuevos accesos que no le corresponden)
•Clasificar y valuar los diferentes riesgos y proporcionar sus respectivas soluciones, al tener enumeradas cada una de las diferentes amenazas podemos clasificarlas dentro de los siguientes cinco grupos:
o Amenazas no Resueltas y que deben de ser resueltas.
o Amenazas no Resueltas pero dependientes de otro componente u otra dependencia.
o Amenazas Ya resueltas o mitigadas por el componente.
oAmenazas ya resueltas por otro componente u otra dependencia.
• Determinar las diferentes formas de contrarrestar los riesgos basados en una prioridad que se evaluará a partir de dos aspectos importantes, el primero la probabilidad que se de una amenaza y la segunda el impacto o daño que causará dicha amenaza.
Fig. 3 Diagrama para determinar prioridades en la resolución de amenazas.

•...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Seguridad En Aplicaciones Web
  • Recomendaciones de Seguridad en Aplicaciones Web
  • Etica aplicada en el desarrollo de aplicaciones web
  • Metodologia De Desarrollo De Aplicaciones Web
  • desarrollo de aplicaciones Web
  • Evolucion Del Desarrollo De Aplicaciones Web
  • Desarrollo de Aplicaciones Web con ASP
  • DESARROLLO DE APLICACIONES WEB

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS