A medida que avanza la inteligencia artificial (IA), organizaciones y gobiernos se esfuerzan por encontrar sus mejores aplicaciones. Aunque ChatGPT y otros modelos lingüísticos de gran tamaño (LLM) han cautivado la atención de los medios de comunicación, los usos potenciales de la IA van mucho más allá de la generación de textos. Una de estas áreas es la seguridad: en concreto, la tarea repetitiva y a gran escala de identificar las vulnerabilidades del software.
Sin embargo, si la IA mejora o bien empeora la seguridad depende de quién o qué realice la identificación de vulnerabilidades, y con qué propósito.
Algunos fallos del software son básicamente inocuos. Pero otros, conocidos como vulnerabilidades, pueden ofrecer a alguien que los explote una forma de posicionarse dentro del sistema y ponerlo en riesgo. Un componente importante de la práctica de la ciberseguridad es la identificación y la revisión de estas vulnerabilidades.
El número de vulnerabilidades explotadas que causan un riesgo es demasiado alto para enumerarlas. Estos son algunos ejemplos de incidentes importantes:
La fuga de datos de Equifax de 2017, que comenzó con una vulnerabilidad no corregida
La fuga de datos de LastPass de 2022, debida en parte a una vulnerabilidad de un software externo
El hackeo de los sistemas informáticos del gobierno noruego en 2023 a través de una vulnerabilidad zero-day
Las consecuencias de la explotación de vulnerabilidades pueden ser desastrosas, desde fugas de datos hasta infecciones de ransomware que bloquean los sistemas de una organización. Las organizaciones deben identificar y revisar las vulnerabilidades lo antes posible para evitar que se produzcan.
El análisis de programas de software complejos en busca de errores es una tarea repetitiva que parecería adecuada para la automatización. El conocido tecnólogo Bruce Schneier ha observado que: "Revisar el código línea por línea es justo el tipo de problema tedioso en el que destacan los ordenadores, si tan solo pudiéramos enseñarles qué aspecto tiene una vulnerabilidad".
Y, de hecho, el aprendizaje automático (un subconjunto de las funcionalidades de la IA) se utiliza desde hace tiempo para encontrar posibles vulnerabilidades en el código. GitHub, por ejemplo, incluye el aprendizaje automático en su función de análisis de código, que identifica vulnerabilidades de seguridad en el código. Naturalmente, este enfoque a veces da lugar a falsos positivos, pero cuando se combina con el análisis manual, un modelo de aprendizaje automático bien entrenado puede acelerar la identificación de vulnerabilidades.
A medida que la inteligencia artificial avanza a pasos agigantados, surge la posibilidad de entrenar esta tecnología para encontrar vulnerabilidades de forma aún más eficaz. De hecho, en 2023 la agencia estadounidense DARPA anunció un programa para la generación inteligente de herramientas para la seguridad llamado INGOTS. (DARPA, en concreto, fue la agencia que creó ARPANET, precursora de Internet).
El programa "pretende identificar y solucionar vulnerabilidades encadenables de gravedad alta antes de que los ciberdelincuentes puedan explotarlas" utilizando "nuevas técnicas basadas en el análisis de programas y la inteligencia artificial para medir las vulnerabilidades". INGOTS busca vulnerabilidades en "sistemas modernos y complejos, como navegadores web y sistemas operativos móviles".
Pero, ¿la IA es realmente buena para la búsqueda de vulnerabilidades? DARPA pretende averiguarlo, pero su programa todavía se encuentra en un fase bastante preliminar.
En 2016, DARPA organizó el evento "Cyber Grand Challenge", un desafío cibernético en el que siete equipos de ingenieros crearon programas de hackeo autónomos de IA y luego se enfrentaron entre sí en un juego digital de "Capturar la bandera". La idea era ver qué resultado podía obtener un programa automatizado para hackear un sistema seguro. Tras varias horas, el programa "Mayhem", diseñado por un equipo de Carnegie Mellon, ganó el concurso.
Cerca de allí se celebraba la conferencia DEF CON 2016, y "Mayhem" fue invitado a participar en su propio juego de "Capturar la Bandera" contra hackers humanos. Mayhem quedó en último lugar, a mucha distancia.
La IA ha avanzado mucho desde entonces, y los investigadores siguen publicando modelos de aprendizaje automático para el descubrimiento de vulnerabilidades. Pero el software investigado incluso por los últimos modelos de aprendizaje automático sigue requiriendo una revisión humana para evitar falsos positivos, o falsos negativos.
Es innegable que la IA puede encontrar vulnerabilidades. Pero parece que las pruebas de penetración humanas siguen teniendo su lugar. Esto puede cambiar en el futuro, a medida que la IA sea más eficaz.
La revisión de una vulnerabilidad implica escribir código que corrija el fallo. Sin duda, las herramientas de IA pueden generar código. Pero para ello necesitan indicaciones específicas generadas por sus usuarios humanos.
Incluso INGOTS no tiene previsto depender totalmente de procesos automatizados para la corrección de vulnerabilidades. Su objetivo es "crear un proceso que implique ordenadores y personas y que permita de forma fluida la intervención humana para reparar las vulnerabilidades de gravedad alta".
Sin embargo, la limitación es la misma: a medida que la IA vaya avanzando, es posible que en el futuro pueda generar revisiones de forma rápida y eficaz.
Es inevitable que, si una herramienta o una tecnología está ampliamente disponible, un bando la utilizará para proteger los sistemas contra los ataques, y el otro bando la utilizará para generar ataques.
Si la IA puede encontrar y revisar eficazmente vulnerabilidades del software, los ciberdelincuentes sin duda la utilizarán para encontrar esas vulnerabilidades antes de que se revisen y para escribir cómo explotarlas.
No todos los ciberatacantes tienen acceso a estos recursos. Pero los que lo hagan probablemente no tendrán reparos en vender en la dark web las vulnerabilidades que encuentre su IA, o los métodos para explotarlas que escriba, al mejor postor. Los autores de malware ya están incorporando la IA a sus herramientas, y seguramente seguirán haciéndolo a medida que la IA mejore.
Acecha la posibilidad de una escalada de la carrera armamentística impulsada por la IA entre los desarrolladores de software legítimos y los atacantes malintencionados, en la que las vulnerabilidades se identifiquen y exploten casi de inmediato, o (con suerte) se revisen con la misma rapidez.
Por supuesto, los ciberdelincuentes ya están revisando el código en busca de vulnerabilidades no descubiertas. Por ejemplo, las vulnerabilidades "zero-day" son de gran valor y quien las descubre puede utilizarlas para piratear el sistema, o venderlas en mercados clandestinos por un alto precio. El uso malicioso de la IA puede resultar revolucionario, pero el juego es básicamente el mismo.
Al igual que con las revisiones, es posible, pero el proceso sigue requiriendo la orientación humana. Por lo tanto, puede que en realidad no ahorre trabajo a los ciberdelincuentes, y, de todos modos, muchos de ellos compran kits de explotación de vulnerabilidades, en lugar de escribir su propio código.
La respuesta puede cambiar dentro de diez o incluso cinco años. Los responsables de seguridad deberían prepararse para una oleada de ataques de explotación de vulnerabilidades totalmente automatizados contra sus sistemas.
Todas las redes son vulnerables a los ataques; de hecho, con tiempo suficiente y un atacante decidido, los ataques son inevitables.
Aunque la IA abre un nuevo mundo de descubrimiento de vulnerabilidades para el bando que desea proteger sus sistemas, los ciberdelincuentes utilizarán los mismos métodos para intentar ser los primeros en encontrar las vulnerabilidades, o al menos para encontrarlas antes de que puedan ser revisadas. La IA se está convirtiendo en una herramienta más del conjunto de herramientas de los ciberdelincuentes, al igual que lo es para el bando bueno.
Las organizaciones con visión de futuro parten del supuesto de que el riesgo existe: que su seguridad puede fallar, que sus datos están en peligro y que los ciberdelincuentes puede estar ya dentro de la red.
Asumen que su seguridad externa puede no funcionar siempre a la perfección y, por tanto, microsegmentan sus redes para que personas malintencionadas no puedan ampliar su alcance más allá del segmento al que ya hayan accedido. Piensa en cómo se puede sellar un barco en compartimentos estancos separados para evitar la propagación de un fuga de agua: lo ideal sería que los equipos de seguridad pudieran utilizar este mismo enfoque para contener los ataques.
Esta estrategia se denomina Zero Trust y existen razones de peso para la creciente adopción de esta filosofía. A medida que las herramientas de IA permiten escalar las ataques de explotación de vulnerabilidades, Zero Trust puede ayudar a garantizar que estos queden restringidos a un pequeño rincón de la red, y que los ciberdelincuentes nunca logren un posicionamiento suficientemente importante como para causar daños reales.
El descubrimiento de ataques de explotación de vulnerabilidades puede acelerarse, pero Zero Trust ofrece el camino más esperanzador. Cloudflare es el único proveedor que consolida las tecnologías Zero Trust, como las puertas de enlace web seguras, el filtrado de DNS y la prevención de pérdida de datos (DLP), en una única plataforma con un panel de control unificado, una plataforma con puntos de presencia en todo el mundo. La naturaleza distribuida de la red de Cloudflare permite aplicar controles de acceso granulares y de negación por defecto en las aplicaciones locales y en la nube sin añadir latencia a la experiencia del usuario.
De hecho, Cloudflare ha adoptado un enfoque Zero Trust para proteger su propia red y a sus empleados contra los ataques. Obtén más información sobre cómo Cloudflare equipa a las organizaciones para que puedan hacer lo mismo.
Este artículo forma parte de un conjunto de publicaciones sobre las últimas tendencias y temas que afectan a los responsables de la toma de decisiones sobre tecnología en la actualidad.
Obtén más información sobre Zero Trust en el documento técnico Guía de implementación de la arquitectura Zero Trust.
Después de leer este artículo podrás entender:
Por qué la IA es adecuada para la búsqueda de vulnerabilidades, con algunas limitaciones
Cómo ambos bandos de la lucha por la seguridad pueden utilizar la automatización para explotar o revisar las vulnerabilidades
Por qué asumir el riesgo es el enfoque más seguro