Fuente de financiamiento: UNQ
Estado: Finalizado
Tipo: Proyecto I+D
Departamento/s:
Ciencia y Tecnología
Director/es:
Bonelli, Eduardo
Codirector/es:
Martínez López, Pablo E.
La creciente dependencia en la tecnología ha puesto en evidencia la criticidad del software que le da soporte: gobiernan aplicaciones bancarias, de salud, de transporte, etc. En consecuencia, el concepto de software seguro, otrora estudiado en dependencias militares y empresas aeroespaciales, ha pasado a ser analizado en dominios más generales. ¿Qué significa que un programa o sistema sea seguro? La complejidad inherente de los programas y la envergadura del software han dejado en claro que una definición precisa requiere que el concepto se delimite y especialice. Esta propuesta se interesa por la propiedad de seguridad llamada Secure Information Flow Analysis (IFA) en aplicaciones web basándose en técnicas dinámicas. IFA consiste en rastrear a través de un sistema informático el flujo de los datos. Asumiendo que el sistema se alimenta tanto de datos públicos como de datos privados, el análisis de flujo nos permite determinar si valores que son exhibidos en espacios públicos (impresos en pantalla, adosados a formularios web, enviados por la red, etc.) dependen, en alguna medida, de datos sensibles. En los últimos 10 años, el estudio de IFA se ha concentrado principalmente en generar teorías, técnicas y herramientas que permitan garantizar la ausencia de flujos inseguros en lenguajes como Java, ML, Ada, etc. Con el advenimiento de la Web también han comenzado a aparecer resultados que se enfocan sobre lenguajes de programación de aplicaciones web dado que dichas aplicaciones manipulan números de tarjeta de crédito, registros de salud y otros datos sensibles. Gran parte de la literatura que desarrolla estos temas insiste en obtener técnicas de análisis estáticas. Es decir, que no impongan costos en tiempo de ejecución. Sin embargo, hoy en día muchas de las razones que respaldaban un tratamiento estático han perdido fuerza. Monitoreo de trazas. IFA no es una propiedad de una única traza de ejecución. Sin embargo, trabajos recientes han mostrado que para algunas variantes de IFA con información estática parcial se pueden monitorear las mismas propiedades. Escacés de recursos. En lo que respecta a memoria, es barata y abundante. Respecto a tiempo de CPU, las computadoras son cada vez más veloces. En el caso de las aplicaciones web los tiempos de espera de las aplicaciones web dependen mayormente de su conexión de red y en mucho menor medida el tiempo de CPU (aunque hay una tendencia a incrementar la computación client side). Mayor permisividad. Técnicas dinámicas permiten ganar en expresividad dado que más información se encuentra disponible en tiempo de ejecución. Por ejemplo, el tratamiento de estructuras dinámicas como los objetos pasa a ser viable. También el conjunto de programas que son analizados se amplía en relación a aquellos aceptados por técnicas estáticas. Proponemos considerar técnicas de IFA: * utilizando un enfoque puramente dinámico, * en el marco específico de aplicaciones web, y * que sea escalable.