Los científicos informáticos intercambian ideas en una competencia respaldada por el Pentágono para diseñar un programa de inteligencia artificial que escanee el código de fuente abierta en busca de fallas que los actores maliciosos podrían explotar.
La primera línea en la batalla para proteger la infraestructura crítica de EE. UU. pasó este mes por una casa alquilada en el condado de Orange.
Más de una docena de piratas informáticos de la Universidad Estatal de Arizona, la Universidad de California-Santa Bárbara y la Universidad de Purdue espiaron computadoras portátiles distribuidas entre mesas, sofás y la encimera de la cocina, mirándose unos a otros y, a veces, pidiendo ayuda a sus compañeros o profesores.
La misión del hackathon: escribir un programa que pueda escanear millones de líneas de código abierto, identificar fallos de seguridad y solucionarlos, todo ello sin intervención humana. El éxito significaría ganar millones de dólares en un concurso de dos años patrocinado por DARPA, la Agencia de Proyectos de Investigación Avanzada de Defensa.
El concurso es una de las señales más claras hasta la fecha de que el gobierno considera las fallas en el software de código abierto como uno de los mayores riesgos de seguridad del país y considera que la inteligencia artificial es vital para abordarlo.
Los programas gratuitos de código abierto, como el sistema operativo Linux, ayudan a ejecutar todo tipo de cosas, desde sitios web hasta centrales eléctricas. El código no es en sí peor que el de los programas propietarios de empresas como Microsoft y Oracle, pero no hay suficientes ingenieros capacitados encargados de probarlo.
Como resultado, el código libre mal mantenido ha sido la raíz de algunas de las violaciones de seguridad cibernética más costosas de todos los tiempos, incluido el desastre de Equifax de 2017 que expuso la información personal de la mitad de todos los estadounidenses. El incidente, que condujo al mayor acuerdo por violación de datos de la historia , le costó a la empresa más de mil millones de dólares en mejoras y sanciones.
Si la gente no puede seguir el ritmo de todo el código que se teje en cada sector industrial, DARPA espera que las máquinas puedan hacerlo.
“El objetivo es tener un ‘sistema de razonamiento cibernético’ de extremo a extremo que aproveche grandes modelos de lenguaje para encontrar vulnerabilidades, demostrar que son vulnerabilidades y repararlas”, explicó uno de los profesores asesores, Yan Shoshitaishvili de la Universidad Estatal de Arizona.
Para lograrlo, el equipo se enfrenta a la realidad, a menudo sombría, que se esconde tras las elevadas aspiraciones de la IA. Los estudiantes están haciendo cosas como imponer «controles de cordura» para detectar alucinaciones, verificar que los parches realmente resuelvan los problemas que se supone que deben resolver y hacer que dos sistemas de IA debatan entre sí sobre las mejores soluciones, con una tercera IA decidiendo quién es el ganador.
“La IA es como un niño de tres años con un conocimiento infinito”, dijo Lukas Dresel, estudiante de posgrado de la UC-Santa Bárbara y cocapitán del equipo. “Hay que darle retroalimentación práctica”.
El equipo Shellphish es uno de los aproximadamente 40 participantes en una competencia conocida como AIxCC, un desafío cibernético de inteligencia artificial, y organizada por DARPA, el brazo de investigación del Pentágono encargado de desarrollar armas secretas y defenderse de ellas.
“Queremos redefinir la manera en que protegemos las bases de código críticas y ampliamente utilizadas, debido a la omnipresencia del código abierto en los sectores de infraestructura crítica”, dijo Andrew Carney, gerente de proyectos de DARPA para el concurso.
Aunque DARPA ayudó a que Internet naciera para sobrevivir a las fallas de comunicación, se ha vuelto dolorosamente obvio que la red también introdujo enormes debilidades.
Sin seguridad incorporada, las vastas interconexiones permiten que cualquier persona o cosa comience desde cualquier lugar y busque formas de ingresar a las máquinas que impulsan el mundo moderno. Una vez dentro, los usuarios pueden hacerse pasar por empleados o administradores de sistemas, robar secretos nacionales o comerciales y cerrar el lugar o tomarlo como rehén para pedir un rescate.
Los piratas informáticos se cobran más víctimas que nunca: el número de violaciones de datos denunciadas al Centro de Denuncias de Delitos en Internet de Estados Unidos, dirigido por el FBI, se triplicó entre 2021 y 2023.
Los agentes del gobierno se infiltran en las centrales eléctricas y de agua de los países rivales . Las bandas criminales, envalentonadas por las ganancias ilícitas, no dudan en destrozar hospitales y enviar a pacientes desesperados a otros lugares.
El software de código abierto, ya sea escrito por estudiantes o por genios con visión de futuro, es casi tan omnipresente como Internet y, según algunas estimaciones, se encuentra dentro del 90% del software comercial.
Como todo software, tiene errores, algunos de los cuales pueden aprovecharse para tomar el control de una máquina.
Algunos proyectos grandes de código abierto están a cargo de ejércitos de voluntarios del tamaño de Wikipedia y, por lo general, están en buena forma. Algunos tienen encargados de mantenimiento que reciben subvenciones de grandes empresas usuarias que convierten el proyecto en un trabajo.Y luego está todo lo demás, incluidos programas escritos como tareas por autores que apenas los recuerdan.
«El código abierto siempre ha sido ‘úselo bajo su propio riesgo'», dijo Brian Behlendorf, quien inició la Open Source Security Foundation después de décadas de mantener un software de servidor libre pionero, Apache, y otros proyectos en la Apache Software Foundation.
“No es gratis en el sentido de la palabra, ni siquiera gratis en el sentido de la cerveza”, dijo.
“Es gratis en el sentido de un cachorro, y necesita cuidados y alimentación”.Los riesgos han quedado subrayados recientemente por dos incidentes muy diferentes.
La primera fue una vulnerabilidad en un pequeño programa para realizar el seguimiento de la actividad del sistema, conocido como Log4j, utilizado por miles de desarrolladores de software e instalado en millones de máquinas.
En 2013, un usuario propuso agregar algo de código a Log4j y el pequeño equipo de Apache Foundation que lo mantiene lo aprobó. En noviembre de 2021, un ingeniero chino vio que la sección agregada contenía una falla de diseño masiva que permitiría la toma de control del sistema y señaló el problema al grupo Apache.
Mientras Apache trabajaba en un parche para solucionar el problema, un investigador no identificado descubrió los cambios pendientes y desarrolló una herramienta maliciosa para tomar el control de las computadoras que ejecutaban Log4j. Apache se apresuró a publicar el parche, lo que desencadenó una carrera entre miles de defensores y aquellos que intentaban explotar la falla antes de que se solucionara.
Muchos casos de Log4j aún no han sido corregidos. El jueves, la Agencia de Seguridad Nacional y otros advirtieron que los espías norcoreanos seguían accediendo a servidores web estadounidenses que ejecutaban versiones antiguas.
La Junta de Revisión de Seguridad Cibernética de la Casa Blanca concluyó que solo una mejor codificación y auditorías exhaustivas podrían haber detenido la distribución de la falla Log4j, y que los esfuerzos de código abierto como el de Apache “necesitarían apoyo financiero y experiencia sostenidos”.
La Agencia de Seguridad Cibernética y de Infraestructura (CISA) del Departamento de Seguridad Nacional ha respondido con pequeñas subvenciones a las empresas emergentes y ha estado presionando a las compañías para que declaren lo que contienen sus programas informáticos. Pero esas son iniciativas que avanzan lentamente.
El último recordatorio de la vulnerabilidad se produjo en marzo, cuando un ingeniero de Microsoft detectó un ligero aumento en el uso del procesador debido a herramientas de código abierto para Linux que acababan de actualizarse. Descubrió que el responsable oficial de mantenimiento de las herramientas había insertado una puerta trasera para espiar y denunció el problema a tiempo para impedir que se incluyera en las versiones más populares de Linux.
En un escenario de pesadilla para los profesionales de la seguridad, el mantenedor anónimo había ganado el control del proyecto después de contribuir durante años, ayudado por aliados secretos que presionaron al gerente anterior para que cediera el control.
A medida que la seguridad de código abierto se convertía en una prioridad para CISA y el establishment de seguridad nacional, OpenAI y Microsoft lanzaron ChatGPT y la inteligencia artificial generativa al mundo.
Al democratizar la programación, las nuevas herramientas permitieron que quienes no sabían programar crearan software. La IA también ayudó a los programadores existentes, incluidos los piratas informáticos criminales, que podían incorporar trucos con mayor rapidez para aprovechar las vulnerabilidades y ofrecer señuelos más convincentes, como correos electrónicos que parecían provenir de contactos habituales con intereses compartidos.
La IA también está impulsando iniciativas defensivas, como el análisis de grandes cantidades de registros para detectar comportamientos inusuales y resumir incidentes de seguridad. También puede señalar errores de seguridad en los programas mientras se escriben.
Pero descubrir dónde están los agujeros en los programas de código abierto antes de que los atacantes los encuentren es el santo grial para DARPA y los participantes de AIxxCC.DARPA organizó un desafío cibernético en la convención de hackers Def Con de 2016, donde los programas compitieron en un concurso de “capturar la bandera” para hackear a otros en un entorno artificial.
En el concurso de este año, los equipos utilizan sus programas mejorados con IA para digerir y mejorar millones de líneas de código real.
Shellphish es uno de los siete equipos que escribieron artículos que describen su enfoque lo suficientemente bien como para obtener un millón de dólares en financiación para los pasos que culminarán en las semifinales en agosto en Def Con, que atrajo a 40 participantes. El ganador recibirá otros dos millones de dólares en 2025.
Parte del primer millón de dólares de Shellphish se destinó a la casa de Brea, que figura en la lista de Airbnb y que albergó a piratas informáticos durante tres semanas en junio y otras dos en julio. Otra parte se destinó a un enorme entorno de pruebas que utilizaba 5.000 núcleos de unidad central de procesamiento.
Shellphish no es un grupo de hackers al azar. Aunque está fuertemente asociado con dos universidades públicas con poblaciones cambiantes, el equipo existe desde hace 20 años y sus fundadores siguen involucrados.
Giovanni Vigna, de origen italiano, enseñaba seguridad informática en la Universidad de California en Santa Bárbara, incluidas técnicas de ataque y defensa, cuando fundó un equipo de captura de la bandera en 2003 para despertar el interés de los estudiantes y ampliar sus capacidades. Ganó la competencia Def Con en 2005 y luego fue el anfitrión del concurso durante un período de cuatro años.
A medida que sus estudiantes se graduaban y se extendían a Arizona y otros lugares, algunos siguieron participando o lograron que sus propios estudiantes se sumaran.
Shellphish compitió en el Cyber Grand Challenge original de 2016, pero fue eliminado antes de la final.
“Teníamos todas estas herramientas geniales, pero nos quedamos sin tiempo para integrarlas”, recuerda Shoshitaishvili. “Así que mi consejo número uno fue: ‘No te dejes atacar por un nerd’”. (El término ‘atacar por un nerd’ se refiere a distraer a alguien técnico con un problema interesante).
El núcleo de este esfuerzo son las herramientas conocidas en el ámbito de la seguridad como “fuzzers”, que disparan todo tipo de datos a un programa para ver cómo maneja lo inesperado.Los miembros del equipo admiten que es poco probable que incluso los fuzzers más sofisticados encuentren los fallos más oscuros o las puertas traseras deliberadas.
En el mejor de los casos, el programa maestro de Shellphish y los demás podrán encontrar rápidamente una gran cantidad de objetivos fáciles de alcanzar y deshacerse de ellos antes de que los piratas informáticos maliciosos puedan aprovecharlos.
“La IA podrá resolver cosas que a los humanos les llevan meses”, afirmó Dresel.
Según los términos del concurso DARPA, todos los finalistas deben publicar sus programas como código abierto, para que los proveedores de software y los consumidores puedan ejecutarlos.Yan comparó el avance esperado con hitos de seguridad como actualizaciones de software forzadas y “sandboxes” de navegadores que impiden que los programas web escapen del navegador y se ejecuten en otra parte del dispositivo de un usuario.
La IA no podrá hacer que todo el software sea seguro, afirmó, pero les dará a los humanos más tiempo para intentarlo.Después de una última noche de depuración casi sin dormir y de realizar correcciones de última hora, Shellphish presentó su programa antes de la fecha límite de las 9 a. m.
En unas semanas, en la próxima Def Con en Las Vegas, sabrán si son finalistas. Ganen o pierdan, su código asistido por IA estará disponible para que otros lo desarrollen, mejorando la seguridad para todos.