EL código de php comprometido

Cualquiera que conociera la contraseña secreta «zerodium» podía ejecutar código en una web con PHP.

Un ataque informático a comprometido la seguridad de un servidor que servía de repositorio del lenguaje de programación PHP y a añadido una «backdoor» al código fuente lo que habría hecho vulnerable los sitios web que usan PHP para funcionar.

Dos actualizaciones emitidas hacia el servidor Git de PHP habían añadido una línea de código que, si se hubiese ejecutado en una Web con esa versión modificada del código fuente de PHP, habría permitido, a los visitantes de dicha web, ejecutar el código que quisieran.
Los commits fraudulentos han dado al código fuente de PHP la posibilidad que los visitantes que conocieran la contraseña zerodium inyectaran código en el encabezado HTTP.

Los commits se han ejecutado en el repositorio php-src con los nombres de las cuentas de dos desarrolladores, Rasmus Lerdorf y Nikita Popov. Este último a comunicado lo siguiente:

No sabemos exactamente como eso se ha podido producir pero todo indica que el servidor git.php.net se ha visto comprometido (más que la vulneración de una cuenta git individual).
Hemos decidido que mantener nuestra propia infraestructura git es un riesgo inútil y dejamos de utilizar el servidor git.php.net. GitHub pasa a ser el servidor git principal para el código fuente de php.
A partir de ahora el acceso en escritura al git de php en GitHub solo será para miembros de la organización


https://news-web.php.net/php.internals/113838

Antes de detectar el fallo de seguridad el grupo de desarrolladores de PHP gestionaba todos los accesos en escritura usando lo que Popov llamaba un «sistema casero» de nombre Karma. Dicho sistema casero otorgaba diversos niveles de privilegios en base a contribuciones anteriores. GitHub solo era un referencia espejo.

conclusiones.

1 -Tenemos que huir de los sistemas de seguridad caseros, si una organización como el PHP Group con el volumen de desarrolladores y el nivel técnico de estos no consigue poner un marcha un sistema de seguridad lo suficientemente seguro, es poco probable que lo consigamos poner en marcha en nuestra empresa.
Tenemos que confiar en repositorios git como GitHub, Bitbucket (El que usamos para los desarrollos en traky365.com) o GitLab.

2 – Sea cual sea el sistema empleado, incluso un sistema casero, creo que es conveniente que la responsabilidad última de verificación y puesta a disposición de las últimas modificaciones, recaiga en una única persona de confianza de nuestra organización.

3 – Este último punto es una opinión muy personal que probablemente venga condicionada por mi experiencia en desarrollo con sistemas propietarios.
Tenemos que huir siempre del último módulo a la moda, ya sea en php o javascript por ejemplo. Es mucho más seguro tener un módulo con menos prestaciones pero que haya sido probado por miles de personas.
Aún así seguimos corriendo cierto riesgo, ver http://blaunia.com/4-paquetes-npm-con-vulnerabilidades

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.