La Espada de Doble Filo de la IA: Asegurando la Era del Software Instantáneo
La inteligencia artificial está destinada a revolucionar la ciberseguridad, tanto para atacantes como para defensores. Este artículo explora cómo el descubrimiento y la corrección de vulnerabilidades impulsados por IA podrían remodelar el panorama, especialmente en el contexto del software "instantáneo" efímero y de rápida generación.
La IA está cambiando rápidamente la forma en que se escribe, implementa y utiliza el software. Las tendencias apuntan a un futuro donde las IA puedan escribir software personalizado de forma rápida y sencilla: "software instantáneo". Llevado al extremo, podría ser más fácil para un usuario que una IA escriba una aplicación bajo demanda —una hoja de cálculo, por ejemplo— y la elimine cuando termine de usarla, que comprar una comercialmente. Los sistemas futuros podrían incluir una mezcla: tanto software tradicional a largo plazo como software instantáneo efímero que se escribe, implementa, modifica y elimina constantemente.
La IA también está cambiando la ciberseguridad. En particular, los sistemas de IA están mejorando en la detección y corrección de vulnerabilidades en el código. Esto tiene implicaciones tanto para atacantes como para defensores, dependiendo de las formas en que esta y tecnologías relacionadas mejoren.
En este ensayo, quiero adoptar una visión optimista del progreso de la IA y especular sobre cómo podría ser la ciberseguridad dominada por la IA en una era de software instantáneo. Hay una serie de incógnitas que influirán en cómo se desarrollará la carrera armamentista entre atacantes y defensores.
## Cómo Podría Funcionar el Descubrimiento de Fallos
Por el lado del atacante, la capacidad de las IA para encontrar y explotar vulnerabilidades automáticamente ha aumentado drásticamente en los últimos meses. Ya estamos viendo a hackers gubernamentales y criminales utilizando IA para atacar sistemas. La parte de explotación es crítica aquí, porque otorga a un atacante poco sofisticado capacidades mucho más allá de su comprensión. A medida que las IA mejoren, espere que más atacantes automaticen sus ataques utilizando IA. Y a medida que los individuos y las organizaciones puedan ejecutar cada vez más modelos de IA potentes localmente, las empresas de IA que monitorean y desbaratan el uso malicioso de IA se volverán cada vez más irrelevantes.
Espere que el software de código abierto, incluidas las bibliotecas de código abierto incorporadas en software propietario, sea el más atacado, porque las vulnerabilidades son más fáciles de encontrar en el código fuente. La Incógnita No. 1 es qué tan bien funcionarán las herramientas de descubrimiento de vulnerabilidades de IA contra paquetes de software comercial de código cerrado. Creo que pronto serán lo suficientemente buenas como para encontrar vulnerabilidades simplemente analizando una copia de un producto enviado, sin acceso al código fuente. Si eso es cierto, el software comercial también será vulnerable.
Particularmente vulnerable será el software en dispositivos IoT: cosas como automóviles conectados a internet, refrigeradores y cámaras de seguridad. También el software industrial IoT en nuestra red eléctrica conectada a internet, refinerías de petróleo y oleoductos, plantas químicas, etc. El software IoT tiende a ser de mucha menor calidad, y el software industrial IoT tiende a ser legado.
El software instantáneo es vulnerable de manera diferente. No es de mercado masivo. Se crea para una persona, organización o red en particular. El atacante generalmente no tendrá acceso a ningún código para analizar, lo que hace menos probable que sea explotado por atacantes externos. Si es efímero, cualquier vulnerabilidad tendrá una vida útil corta. Pero mucho software instantáneo permanecerá en las redes durante mucho tiempo. Y si se carga en bibliotecas de herramientas compartidas, los atacantes podrán descargar y analizar ese código.
Todo esto apunta a un futuro donde las IA se convertirán en poderosas herramientas de ciberataque, capaces de encontrar y explotar automáticamente vulnerabilidades en sistemas de todo el mundo.
## Automatización de la Creación de Parches
Pero esa es solo la mitad de la carrera armamentista. Los defensores también pueden usar IA. Estas mismas tecnologías de IA para encontrar vulnerabilidades son aún más valiosas para la defensa. Cuando el lado defensivo encuentra una vulnerabilidad explotable, puede parchear el código y negársela a los atacantes para siempre.
Cómo funciona esto en la práctica depende de otra capacidad relacionada: la capacidad de las IA para parchear software vulnerable, que está estrechamente relacionada con su capacidad para escribir código seguro en primer lugar.
Las IA no son muy buenas en esto hoy en día; el software instantáneo que crean las IA generalmente está lleno de vulnerabilidades, tanto porque las IA escriben código inseguro como porque las personas que programan no entienden la seguridad. **OpenClaw** es un buen ejemplo de esto.
La Incógnita No. 2 es cuánto mejorarán las IA en la escritura de código seguro. El hecho de que estén entrenadas en corpus masivos de código mal escrito e inseguro es un inconveniente, pero están mejorando. Si pueden escribir código libre de vulnerabilidades de manera confiable, sería una gran ventaja para el defensor. Y el descubrimiento de vulnerabilidades basado en IA facilita que una IA se entrene en la escritura de código seguro.
Podemos imaginar un futuro donde las herramientas de IA que encuentran y parchean vulnerabilidades sean parte del proceso típico de desarrollo de software. No podemos decir que el código estará libre de vulnerabilidades —eso es un objetivo imposible— pero podría estar libre de cualquier vulnerabilidad fácilmente detectable. Si la tecnología mejorara mucho, el código podría volverse esencialmente libre de vulnerabilidades.
## Retrasos en Parches y Software Heredado
Para el software nuevo —tanto comercial como instantáneo— este futuro favorece al defensor. Para el software comercial y de código abierto convencional, no es tan simple. En este momento, el mundo está lleno de software heredado. Gran parte de él —como el software de dispositivos IoT— no tiene un equipo de seguridad dedicado para actualizarlo. A veces es incapaz de ser parcheado. Así como es más difícil para las IA encontrar vulnerabilidades cuando no tienen acceso al código fuente, es más difícil para las IA parchear software cuando no están integradas en el proceso de desarrollo.
No estoy tan seguro de que los sistemas de IA puedan parchear vulnerabilidades tan fácilmente como encontrarlas, porque el parcheo a menudo requiere pruebas y comprensión más holísticas. Esa es la Incógnita No. 3: qué tan rápido las IA podrán crear actualizaciones de software confiables para las vulnerabilidades que encuentran, y qué tan rápido los clientes podrán actualizar sus sistemas.
Hoy en día, existe un retraso entre el momento en que un proveedor emite un parche y los clientes instalan esa actualización. Ese retraso es aún mayor para el software empresarial a gran escala; el riesgo de que una actualización rompa el sistema de software subyacente es demasiado grande para que las organizaciones implementen actualizaciones sin probarlas primero. Pero si la IA puede ayudar a acelerar ese proceso, escribiendo parches más rápido y de manera más confiable, y probándolos en algún entorno gemelo generado por IA, la ventaja va al defensor. Si no, el atacante todavía tendrá una ventana para atacar sistemas hasta que se parchee una vulnerabilidad.
## Hacia la Autocuración
En un futuro verdaderamente optimista, podemos imaginar una red de autocuración. Agentes de IA escanean continuamente el corpus en constante evolución de software comercial y personalizado generado por IA en busca de vulnerabilidades, y las parchean automáticamente al descubrirlas.
Para que eso funcione, los acuerdos de licencia de software deberán cambiar. En este momento, los proveedores de software controlan la cadencia de los parches de seguridad. Otorgar esta capacidad a los compradores de software tiene implicaciones sobre la compatibilidad, el derecho a reparar y la responsabilidad. Cualquier solución aquí pertenece al ámbito de las políticas, no de la tecnología.
Si la defensa puede encontrar, pero no parchear de manera confiable, fallos en software heredado, ahí es donde los atacantes centrarán sus esfuerzos. Si ese es el caso, podemos imaginar una detección de intrusiones impulsada por IA en continua evolución, escaneando continuamente las entradas y bloqueando ataques maliciosos antes de que lleguen a software vulnerable. No es tan transformador como parchear automáticamente vulnerabilidades en código en ejecución, pero aun así es valioso.
El poder de estos sistemas de IA defensivos aumenta si son capaces de coordinarse entre sí y compartir vulnerabilidades y actualizaciones. Un descubrimiento por parte de una IA puede propagarse rápidamente a todos los que utilizan el software afectado. De nuevo: ventaja para el defensor.
Hay otras variables a considerar. El éxito relativo de atacantes y defensores también depende de cuán abundantes sean las vulnerabilidades, qué tan fáciles sean de encontrar, si las IA podrán encontrar las vulnerabilidades más sutiles y oscuras, y cuánta coordinación haya entre diferentes atacantes. Todo esto conforma la Incógnita No. 4.
## Economía de las Vulnerabilidades
Presumiblemente, las IA limpiarán primero lo obvio, lo que significa que cualquier vulnerabilidad restante será sutil. Encontrarlas requerirá recursos de computación de IA. En el escenario optimista, los defensores agrupan recursos a través del intercambio de información, amortizando efectivamente el costo de la defensa. Si el intercambio de información no funciona por alguna razón, la defensa se vuelve mucho más costosa, ya que los defensores individuales deberán realizar su propia investigación. Pero el software instantáneo significa mucha más diversidad en el código: una ventaja para el defensor.
Esto debe equilibrarse con el costo relativo de que los atacantes encuentren vulnerabilidades. Los atacantes ya tienen una forma inherente de amortizar los costos de encontrar una nueva vulnerabilidad y crear un nuevo exploit. Pueden buscar vulnerabilidades en múltiples plataformas, vendedores y sistemas, y pueden usar lo que encuentran para atacar múltiples objetivos simultáneamente. Corregir una vulnerabilidad común a menudo requiere cooperación entre todas las plataformas, vendedores y sistemas relevantes. Nuevamente, el software instantáneo es una ventaja para el defensor.
Pero esas vulnerabilidades difíciles de encontrar se vuelven más valiosas. Los atacantes intentarán hacer lo que las principales agencias de inteligencia hacen hoy en día.