¿Podría haber un backdoor en un sistema operativo de código abierto?


Que la NSA propuso a Linus Torvalds introducir una puerta trasera en Linux era un rumor que el propio creador del kernel ya reconoció en septiembre durante la conferencia LinuxCon. Ahora sin embargo ya es un hecho confirmado porque así se reveló durante la audiencia sobre la vigilancia de masas en el Parlamento Europeo de esta semana.

Nils Torvalds, padre de Linus y miembro del Parlamento Europeo de Finlandia, comentaba (minuto 3:09:06 del vídeo): "Cuando a mi hijo mayor le hicieron la misma pregunta: '¿te ha hecho la NSA alguna propuesta sobre backdoors', dijo 'No' , pero al mismo tiempo él asintió. Era una clase de libertad legal. Le había dado la respuesta correcta, [pero] todos entendieron que la NSA se había acercado a él".

La historia no nos dice todavía qué respondió Linus Torvalds a la NSA, pero supongo que les dijo que no sería capaz de inyectar puertas traseras, aunque quisiera, ya que el código fuente es abierto y todos los cambios son revisados por muchas personas independientes. Después de todo, esa es una de las ventajas del código fuente abierto y la razón por la que, en teoría, se podría confiar cuando se trata de seguridad.

Y digo en teoría porque en este mundo ya nadie se ríe y piensa que eres un paranoico si afirmas que, aun así, también podrían haber introducido un backdoor en Linux, aunque sea un sistema operativo de código abierto...

Descargar e instalar un paquete firmado de un sitio oficial sólo te garantiza de dónde viene y que no ha sido modificado en tránsito. Pero, ¿se puede confiar en que realmente haya sido compilado sin haberse modificado ningún fichero del repositorio público o se hayan introducido cambios reconocidos pero con funcionalidades adicionales ocultas?

Realmente la respuesta da un poco igual para la mayoría. Si lo piensas ¿quién descarga y compila el código de una distribución? Sólo algunos profesionales y entusiastas. Es más, aunque recompilen el código ¿cuantos lo han revisado? Seguramente no haya nadie o muy pocos que tengan la capacidad de analizar todos los componentes del sistema operativo.

Supongamos que alguien decide analizar exhaustivamente el código para verificarlo. Si recordáis hace poco en el blog hablábamos de una iniciativa de financiación colectiva sólo para auditar el código de Truecrypt. Imaginaros el coste de auditar una distribución Linux cuyo código es más de 10 veces mayor.

Pero vayamos un poco más allá. Pensemos por un momento que alguien asume la inversión y se lleva a cabo la revisión completa del código del sistema operativo. Lo lógico sería que la revisión se dividiera por partes ¿no sería factible controlar a una empresa o a algunos grupos de desarrolladores? Es más, ¿no sería posible ocultar un backdoor delante de sus narices?. Ya en 2003 se cambiaron en el kernel dos líneas de código que parecían un error tipográfico pero que al llamar la función sys_wait4 daban acceso como root...

Pensarlo por un momento. Yo amo a Linux porque ofrece más libertad y al menos te da la opción de revisar y modificar el código pero creo que sí sería posible introducir una puerta trasera en el sistema operativo, aunque sea de código abierto... ¿por qué si no la NSA se habría dirigido a Linus Torvalds?