La IA no ha encontrado un fallo nuevo en PHP, sino algo peor: la forma de aprovechar uno viejo

La crisis del lenguaje de programación PHP a la que nos estamos enfrentando no se ha fraguado de repente. La lección más importante que podemos aprender de lo que está sucediendo es que la infraestructura que sostiene tanto internet como muchos de los servicios que utilizamos habitualmente es frágil. Muchas de sus vulnerabilidades han permanecido ocultas durante años, pero la llegada de los modelos de inteligencia artificial (IA) de frontera las está sacando a la luz.

Si nos ceñimos al problema que ha desencadenado PHP, OpenAI, Google y otros laboratorios de IA están utilizando sus modelos más avanzados para identificar las vulnerabilidades de este lenguaje, desarrollar pruebas de explotación y validar las correcciones que están proponiendo los ingenieros. Es evidente que la IA es una herramienta muy poderosa tanto a la hora de encontrar fallos como de corregirlos, pero lo que está sucediendo pone encima de la mesa algo que adquirió mucha relevancia cuando Anthropic lanzó Mythos Preview, a principios de abril.

Los sistemas operativos, los navegadores y el software que utilizan los servidores sobre los que se erige internet tienen muchísimas vulnerabilidades. Algunas de ellas, como las que afectan a PHP, son de carácter estructural, por lo que es urgente identificarlas y corregirlas antes de que personas malintencionadas puedan usarlas. La IA es un escudo de defensa frente a este problema, pero también puede ser usada por los malhechores para llevar a cabo ataques debido a que tiene la capacidad de reducir drásticamente el tiempo y los conocimientos necesarios para transformar una vulnerabilidad conocida en un ataque exitoso.

La crisis de PHP es una de las más graves a las que nos podemos enfrentar

Las organizaciones públicas y privadas que ayer decidieron tumbar una parte de su infraestructura para evitar males mayores tenían buenos motivos para tomar esta decisión. PHP es un lenguaje de programación que se ejecuta en los servidores y permite generar páginas dinámicas. El alcance de una vulnerabilidad en una página web concreta es limitado, pero una vulnerabilidad presente en el núcleo de un lenguaje de programación tan utilizado como PHP puede afectar a un sinfín de aplicaciones. Incluso aunque estén programadas de una forma impecable.

Las vulnerabilidades que han desencadenado esta crisis pueden ser utilizadas para ejecutar código de forma remota sin necesidad de autenticarse

Esta es la relevancia de carácter estructural de PHP de la que he hablado unas líneas más arriba. Un dato revelador: este lenguaje de programación está presente en aproximadamente el 70% de los sitios web, pero su amplísima difusión no es el único problema al que nos enfrentamos. Y es que las vulnerabilidades que han desencadenado esta crisis pueden ser utilizadas para ejecutar código de forma remota sin necesidad de autenticarse.

Este escenario puede permitir a un atacante comprometer el funcionamiento de un servidor que ejecuta una aplicación. Para intuir lo grave que puede ser esta situación solo tenemos que imaginar que podría tratarse del servidor de un banco, de gestión de citas de un hospital o de administración de las prestaciones por desempleo. Dependiendo de la infraestructura que se haya visto afectada, las consecuencias podrían ir desde la exposición de datos sensibles hasta la interrupción de servicios esenciales.

Hay un matiz importante que merece la pena que no pasemos por alto: debemos distinguir entre el número de páginas web que usan PHP, aquellas que ejecutan versiones vulnerables en configuraciones susceptibles de ser atacadas y aquellas que han sufrido una intrusión exitosa. La difusión de este lenguaje de programación en los sitios web (ese 70% que he mencionado unas líneas más arriba) nos ayuda a dimensionar con precisión la envergadura de este problema, pero no revela cuántas webs han sido comprometidas. Probablemente conoceremos este dato durante las próximas semanas.

Imagen | Mikhail Fesenko