Se intentó comprometer el código fuente del lenguaje de programación PHP

Atacantes desconocidos intentaron añadir una puerta trasera al código fuente del lenguaje de scrip PHP.

Atacantes desconocidos intentaron recientemente realizar un ataque a la cadena de suministro a gran escala al introducir código malicioso en el repositorio oficial GIT de PHP. Si los desarrolladores no hubieran notado la puerta trasera a tiempo, este código podría haber terminado en muchos servidores web y dado lugar al ataque a la cadena de suministro más grande de la historia.

Qué pasó con PHP

Los programadores que desarrollaron el lenguaje de programación PHP hicieron cambios al código utilizando un repositorio común integrado en el sistema de control de la versión de GIT. Después de que implementaron sus adiciones, el código pasa por otra revisión. Durante una revisión de rutina, un desarrollador notó una adición sospechosa que estaba marcada en los comentarios como una corrección tipográfica y añadida a nombre de Nikita Popov, un desarrollador activo de PHP. Un análisis más detallado reveló que era una puerta trasera. Popov no era el autor de dicho cambio.

Verificaciones adicionales mostraron que se habían cargado en el repositorio otra adición similar, en esta ocasión atribuida a Rasmus Lerdorf. En cuestión de horas, los programadores atentos la detectaron, de manera que la próxima actualización de PHP 8.1 (cuya liberación anticipada está planeada para finales del año) no incluirá la puerta trasera.

Por qué el código malicioso fue peligroso

Una puerta trasera en el repositorio podría permitir a los atacantes ejecutar código malicioso en un servidor web utilizando la versión comprometida de PHP. A pesar de que ha perdido popularidad, PHP sigue siendo el lenguaje de scrip más usado para contenido web; y es usado en alrededor de 80% de los servidores web. Si bien, no todos los administradores actualizan sus herramientas oportunamente, una buena cantidad mantienen sus servidores al día para cumplir con las regulaciones de seguridad externa. Si la puerta trasera hubiera llegado a la nueva versión de PHP, lo más probable es que se hubiera esparcido a los servidores web de muchas empresas.

Cómo los atacantes introdujeron la puerta trasera

Los expertos tienen la certeza de que el ataque fue resultado de una vulnerabilidad en el servidor interno GIT, y no se trató de cuentas de desarrollador comprometidas. De hecho, el riesgo de que alguien le atribuya un cambio a otro usuario ya es muy conocido desde hace tiempo; y, después de este incidente, el equipo de soporte de PHP dejó de utilizar el servidor git.php.net y movió el repositorio de servicio GitHub (que antes solo era un espejo).

Cómo mantenerte seguro

Los ambientes de desarrollo son objetivos atractivos para los cibercriminales. Una vez que han comprometido el código de un producto de software en el que los clientes confían, puede llegar a muchos objetivos a la vez mediante un ataque a la cadena de suministro. Millones de usuarios en todo el mundo utilizan los proyectos más populares, de manera protegerlos de maquinaciones externas es particularmente importante.

  • Comprueba a detalle y con regularidad cada código de cambio, incluso los supuestamente hayan sido implementados por programadores ilustres y confiables.
  • Supervisa la seguridad de los servidores y servicios utilizados para desarrollo.
  • Utiliza plataformas online especializadas para que capacites a tus empleados en la detección de ciberamenazas modernas.
Consejos