Llegamos a ustedes gracias a:



Noticias

Consorcio publica pautas para hacer más seguras las aplicaciones

[24/07/2012] Un consorcio industrial dedicado a garantizar la seguridad del software, ha emitido pautas para reducir el riesgo de que las vulnerabilidades que puedan ser explotadas por los atacantes puedan acabar en el código final.
En particular, el Software Assurance Forum for Excellence in Code (SAFECode) se está dedicando a encontrar formas para evitar que las vulnerabilidades puedan colarse durante el proceso de desarrollo de software Agile.
Agile es un framework para el desarrollo incremental de software por parte de equipos que trabajen juntos en etapas llamadas sprints para desarrollar la primera iteración del código, para luego visitarlo con regularidad para refinar el producto en base a los nuevos requerimientos y los pedidos de los usuarios.
El nuevo paper de SAFECode, Practical Security Stories and Security Tasks for Agile Development Environments (Historias Prácticas de Seguridad y Tareas de Seguridad para Ambientes de Desarrollo Agile), presenta a los equipos una lista de metas específicas que podrían intentar lograr desde el inicio y las tareas necesarias para lograr cada una de ellas.
Estas tareas se refinan al final de cada sprint como forma de preparación del siguiente, y colocan a los equipos Agile en una vía que los conducirá a un producto final más seguro, señala Edward Bonvar, principal senior software engineer de Symantec quien participa en SAFECode. La organización está conformada por algunos grandes proveedores: Adobe, EMC, Juniper, Microsoft, Nokia, SAP, Siemens y Symantec.
El paper establece 36 metas que los equipos Agile podrían seguir mientras trabajan en productos de software y que son el complemento a un paper anterior de mejores prácticas escrito por el grupo. Estas metas se deducen a partir de las experiencias de los equipos de código de los miembros de SAFECode como formas efectivas de enfocar la escritura de código Agile.
Conocidas como historias, estas metas específicas se encuentran escritas en lenguaje común y desde una perspectiva particular. Por ejemplo, una historia dice: Como arquitecto/desarrollador, quiero asegurar Y como [asegurador de la calidad], quiero verificar que se eviten los ataques de scripting entre sitios.
La historia se encuentra acompañada por una serie de tareas para lograr esta meta, cada una de ellas se encuentra marcada con la categoría de los miembros del equipo que deberían trabajar en cada una de las tareas. Una tarea asociada con la historia en el ejemplo superior se encuentra dirigida a los desarrolladores y testeadores y dice: [D/T] Cuando generen páginas web dinámicas, filtren el input para todos los contenidos ejecutables en el navegador que no sean el objetivo (por ejemplo, de los campos originados por el usuario en una base de datos). Consideren todas las formas de input que podrían presentarse ante un navegador y ser consumidas por él, como los eventos generados fuera del sistema, los mensajes, argumentos en una URL, valores de los campos de un formulario, etcétera. Realicen este filtrado del lado del servidor, cierren para usar.
Dependiendo de cuánto se logre luego del primer sprint, quedan cosas como tareas para el siguiente o se refinan para ocuparse de nuevos temas que surjan. La lista de tareas tiene el objetivo de guiar a los equipos Agile hacia el logro de metas que reduzcan el riesgo de las vulnerabilidades, pero no establecer un conjunto rígido de pasos que podrían no ser aplicables a todos los proyectos.
Incorporar la seguridad en Agile fue un desafío, para las empresas miembro de SAFECode, señala Bonvar. Ellas decidieron compartir sus experiencias, aquello que hicieron con éxito.
Tim Greene, Network World (EE.UU.)