El Departamento de Defensa de Estados Unidos podría haber encontrado una nueva forma para escanear millones de líneas de código de software buscando vulnerabilidades, al convertir la práctica en un conjunto de videojuegos y acertijos, y hacer que los voluntarios hagan el trabajo.
Hacer que los gamers identifiquen partes de código potencialmente problemáticas puede ayudar a reducir la carga de trabajo de los analistas de vulnerabilidad en “un orden de magnitud o dos”, indicó John Murray, director de programa del laboratorio de ciencias de la computación de SRI International quien ayudó a crear uno de los juegos, llamado Xylem.
DARPA (Defense Advanced Research Projects Agency) ha establecido un sitio, llamado Verigames, que ofrece cinco juegos que pueden ser jugados en línea o, en el caso de Xylem, en una iPad.
Verigames está formada de una manera similar a otros proyectos en línea de crowdsourcing, como SETI@homel, que hace que las computadoras de los usuarios busquen señales extraterrestres, y Fold.it, que invita a los participantes a jugar acertijos en línea para trabajar con proteínas.
Los juegos se encuentran diseñados de tal forma que cuando los usuarios resuelven los acertijos para avanzar al siguiente nivel, en realidad están generando anotaciones de programa y pruebas matemáticas que pueden identificar o probar la ausencia de fallas en el software escrito en C o Java. DARPA financió los juegos y el portal a través de su programa Crowd Sourced Formal Verification (CSFV).
La verificación formal de software generalmente se realiza con ingenieros que revisan el código buscando posibles errores y omisiones que podrían ser utilizadas por un atacante para comprometer un sistema.
Este enfoque es lento y costoso, sin embargo. DARPA espera que el trabajo pueda ser reconfigurado como un juego que sea lo suficientemente divertido para que grandes cantidades de personas puedan hacer al menos algo de este trabajo de forma voluntaria. La idea es mapear lo que en esencia son difíciles problemas matemáticos, en acertijos que sean divertidos de utilizar, de acuerdo a los materiales de DARPA.
La mayor parte del análisis del programa de software es realizado por programas de evaluación automatizados, los cuales revisan secciones que parecen cuestionables, explicó Murray.
“Estamos en capacidad de tomar estas pequeñas partes de código que necesitan mayor análisis y convertirlas en parámetros para generar acertijos”, indicó. Ciertos tipos de vulnerabilidades, como los buffer overflows o las fallas de aumento de privilegios, encajan particularmente bien en el formato de acertijo, indicó Murray.
DARPA ha otorgado dinero a varias compañías para construir los juegos en torno a los acertijos resultantes.
Por ejemplo, en Xylem el usuario explora una isla tropical nunca antes vista y cataloga plantas inusuales -que son en realidad representaciones de secciones de código- escribiendo descripciones cortas de ellas.
En otro juego, llamado CircuitBot, el usuario se une a un equipo de robots para llevar a cabo una misión. Flow Jam requiere que el usuario analice y ajuste una red de cable para maximizar su rendimiento.
A pesar de la naturaleza relativamente benigna de todos los juegos, solo las personas de 18 años o más pueden jugarlos, debido a las regulaciones gubernamentales concernientes a la participación de los voluntarios. Sin embargo, con el tiempo, DARPA espera construir un juego comunitario que reduzca el número de errores de software en el software comercial y de código abierto.
Los juegos ahora están revisando programas de código abierto que están siendo usados por el Departamento de Defensa y otras organizaciones gubernamentales y comerciales. Si se encuentra un error a través del juego, la agencia notificará a los administradores del software.
Joab Jackson, IDG News Service