Para los programadores de software, las herramientas de seguridad son un software analítico que puede escanear o ejecutar su código para exponer vulnerabilidades mucho antes de que el software salga al mercado. Pero estas herramientas pueden tener defectos, y los programadores no siempre las usan. Nueva investigación de National ScienceEmerson Murphy-Hill, investigador informático financiado por la Fundación, y sus colegas abordan tres aspectos diferentes del problema.
"Nuestro trabajo se centra en comprender a los desarrolladores que intentan identificar vulnerabilidades de seguridad en su código y cómo usan o no usan herramientas que pueden ayudarlos a encontrar esas vulnerabilidades", dice Murphy-Hill, un asociadoprofesor de ciencias de la computación en la Universidad Estatal de Carolina del Norte. "Lo único que une todo nuestro trabajo es que queremos ayudar a dar a los programadores las mejores herramientas posibles y ayudarlos a usar esas herramientas de manera efectiva".
En el primero de los tres documentos relacionados que se presentarán la próxima semana en el Simposio sobre los fundamentos de la ingeniería de software, un equipo de investigadores en ciencias de la computación y psicología de NC State y Microsoft Research encuestó a más de 250 desarrolladores sobre sus experiencias con las herramientas de seguridad.El objetivo era determinar qué influye el uso de estas herramientas por parte de un desarrollador, y los resultados fueron algo sorprendentes.
Por un lado, los desarrolladores que dijeron que trabajaban en productos en los que la seguridad era importante no tenían muchas más probabilidades de usar herramientas de seguridad que otros programadores.
En cambio, "las dos cosas que se asociaron más fuertemente con el uso de herramientas de seguridad fueron la influencia de los compañeros y la cultura corporativa", dice Murphy-Hill. Específicamente, las personas que dijeron haber visto lo que otros hacen con las herramientas de seguridad y las personas cuyos jefes esperabanque usaran herramientas de seguridad, era más probable que aprovecharan las herramientas.
"Esta investigación brinda a las empresas de desarrollo de software y a los gerentes información que pueden usar para influir eficazmente en la adopción de herramientas de seguridad por parte de los desarrolladores", dice Murphy-Hill.
Pero estas herramientas no son completamente precisas. Por ejemplo, pueden decirle a los programadores que existe un problema en el que no existe ningún problema. Y las herramientas no siempre son fáciles de usar. En resumen, las características de las herramientas mismas pueden afectar silos programadores eligen usarlos
Para arrojar luz sobre cómo las herramientas de seguridad ayudan a los desarrolladores a diagnosticar vulnerabilidades potenciales, el equipo de Murphy-Hill y los colaboradores de la Universidad de Carolina del Norte en Charlotte diseñaron un estudio separado, preguntando efectivamente: ¿las herramientas brindan a los desarrolladores la información que necesitan para determinar si hay¿Un problema real y cómo solucionarlo?
En este estudio, los investigadores dieron a 10 desarrolladores de diferentes orígenes una herramienta de seguridad específica y una porción sustancial de código de código abierto para examinar. El código contenía vulnerabilidades de seguridad conocidas, que fueron identificadas por la herramienta de seguridad. Cada uno de los participantes del estudiose le pidió que usara la herramienta, inspeccionara el código fuente y dijera si cada notificación de seguridad de la herramienta era real y cómo abordarían las vulnerabilidades.
"En muchos casos, la herramienta presentó múltiples soluciones posibles para un problema, pero no proporcionó a los programadores mucha información sobre las ventajas y desventajas relevantes de cada solución", dice Murphy-Hill. "Descubrimos que esto dificultabaprogramadores para seleccionar el mejor curso de acción "
La herramienta también les daría a los desarrolladores múltiples notificaciones que parecían estar relacionadas entre sí, pero las notificaciones no les dieron a los desarrolladores información sobre cómo los problemas se relacionan entre sí.
"Esto puede ser confuso para los programadores y generar problemas si los desarrolladores no entienden completamente cómo se relacionan entre sí los diversos problemas o cómo las posibles soluciones pueden afectar el código general", dice Murphy-Hill.
"Se necesita más investigación para concretar estos hallazgos; necesitamos ampliar este estudio para incorporar más programadores y más herramientas de seguridad", dice Murphy-Hill. "Pero en general, esperamos que esto y el trabajo relacionado puedanayudar a los programadores a crear herramientas más efectivas para que las use la comunidad de desarrollo de software "
Un concepto que Murphy-Hill y sus colegas de NC State proponen en un tercer documento es la idea de herramientas "a medida". La idea básica es crear herramientas que los desarrolladores usen, incluidas herramientas de seguridad, que sean capaces de evolucionartiempo a medida que se utilizan, adaptándose a las áreas particulares de especialización de cada programador.
"Por ejemplo, los programadores con experiencia en el tratamiento de vulnerabilidades de seguridad no necesitarán una herramienta de seguridad que ofrezca información extensa sobre todas las posibles soluciones para una vulnerabilidad dada; pasar por eso podría ralentizarlas", dice Murphy-Hill."Por lo tanto, una herramienta a medida podría aprender a ofrecer solo información básica sobre posibles soluciones para ellos. Pero la herramienta también podría reconocer que necesita dejar esa información adicional para los programadores menos expertos en seguridad, que pueden necesitarla para tomar decisiones informadas".
Estas herramientas a medida podrían aprender sobre las fortalezas de un programador a través de las interacciones del programador con la herramienta y al analizar el código del programador, dice Murphy-Hill.
El simposio sobre los fundamentos de la ingeniería de software se llevará a cabo del 30 de agosto al 4 de septiembre en Bérgamo, Italia. El autor principal de "Cuantificación de la adopción de herramientas de seguridad por parte de los desarrolladores" es Jim Witschey, un ex estudiante de posgrado en ciencias de la computación en NC StateEl documento fue escrito por Olga Zielinska, Allaire Welk, Murphy-Hill y Chris Mayhorn de NC State y Thomas Zimmerman de Microsoft Research. El autor principal de "Preguntas que hacen los desarrolladores al diagnosticar posibles vulnerabilidades de seguridad con análisis estático" es JustinSmith, estudiante de doctorado en NC State. El documento fue escrito en colaboración con Brittany Johnson y Murphy-Hill de NC State y Bill Chu y Heather Richter Lipford de UNC-Charlotte. Johnson también es autor principal de "Bespoke Tools:Adaptado a los conceptos que los desarrolladores saben ". Los coautores son Rahul Pandita, Murphy-Hill y Sarah Heckman, de NC State.
La investigación fue apoyada por NSF bajo las subvenciones 1318323, DGE-0946818 y 1217700.
Fuente de la historia :
Materiales proporcionado por Universidad Estatal de Carolina del Norte . Nota: El contenido puede ser editado por estilo y longitud.
Cita esta página :