Internet funciona gracias a una serie de engranajes, de cuyo correcto funcionamiento dependen miles de millones de internautas, servicios y organizaciones. PHP es una de esas piezas del puzle.
PHP es un lenguaje de programación que permite ejecutar páginas web en un servidor; su gran ventaja está en la gran cantidad de posibilidades que ofrece a los desarrolladores. Gracias a eso, se calcula que PHP es usado en el 79% de las páginas web de todo el mundo.
A diferencia de Javascript, que se ejecuta en el navegador del usuario cuando entra en la página web, PHP se ejecuta en el servidor. De esta manera, el programador puede desarrollar código que genera páginas web en base a ciertas variables, y presentarlas al usuario.
Hackers atacan PHP
El día de ayer, este pilar de Internet fue atacado como nunca antes, cuando el repositorio oficial de PHP fue hackeado, y su código fuente, modificado para incluir un agujero de seguridad.
PHP es software libre, y por lo tanto, su código fuente es público y cualquiera puede descargarlo y consultarlo en su repositorio Git oficial. Sin embargo, sólo unos pocos desarrolladores del proyecto oficial pueden modificar ese código para incluir nuevas funciones y solucionar bugs.
Pese a eso, el día de ayer dos nuevas actualizaciones ("commits") fueron incluidas en el repositorio "php-src", del código fuente, en el servidor oficial del proyecto; el problema es que ningún desarrollador oficial estaba detrás de esos cambios, sino que fue el resultado de un ataque hacker.
Aunque los detalles del ataque aún no se conocen, se sabe que los atacantes se hicieron pasar por dos desarrolladores de PHP, usando sus derechos para modificar el código. De hecho, uno de los afectados es el propio creador de PHP, Rasmus Lerdorf. Sin embargo, en estos momentos se descarta que sus cuentas hayan sido hackeadas, y que el fallo estuvo en el servidor que alojaba el código.
Catástrofe evitada
Todo indica que no se trató de un ataque fortuito, sino que fue planeado, ya que los atacantes consiguieron modificar el código para incluir una "puerta trasera". En concreto, un servidor que use el código modificado permitirá la ejecución de código remoto.
Si una página web empezase a usar esta versión de PHP, los mismos atacantes podrían tomar el control, robar los datos y realmente, hacer lo que quisieran al poder ejecutar cualquier código en el servidor.
La única buena noticia es que este código malicioso no duró mucho tiempo en el servidor oficial; la primera modificación fue detectada un par de horas después, gracias a una revisión rutinaria que se realiza con todas las actualizaciones. Los cambios fueron “obvios” según los responsables de PHP, e inmediatamente fueron deshechos.
Aunque la investigación de los hechos aún continúa, el proyecto de PHP ha decidido tomar ya varias medidas. Para empezar, ha dejado de usar el servidor que alojaba el código, optando por usar el repositorio de GitHub, que ya estaba configurado pero sólo era un ‘mirror’, espejos que copiaban lo que había en el servidor oficial.
Además, se han impuesto más restricciones para quienes quieran participar en el proyecto, incluyendo medidas como la autenticación en dos pasos.
Este es un ataque que podría haber tenido consecuencias catastróficas para Internet; si el código malicioso no hubiese sido descubierto, poco a poco se habría extendido por la mayoría de páginas web, conforme los servidores se actualizasen a las últimas versiones de PHP. Afortunadamente, eso no ha ocurrido, pero sigue siendo algo que nadie querrá repetir.
También te puede interesar...
- Detienen a uno de los hackers con más datos robados de todo el mundo
- Un "fallo tonto" de unos hackers termina con miles de contraseñas hechas públicas en Google
- Empresas en peligro por una 'puerta trasera' en cortafuegos: así afecta a España