Sistema operativo de código abierto: el código que ves y el que obtienes

1

En esta pregunta, usaré el ejemplo del sistema operativo Linux, pero también estoy interesado en la situación general.

Las distribuciones de Linux OS son famosas por ser de código abierto y, por lo tanto, bastante seguras. Pero, ¿cómo puede estar seguro de que el Linux que configuró en su PC, con el instalador que ha descargado, está codificado exactamente con el mismo código que está disponible en la fuente para que todos puedan leer? ¿Y lo mismo para otros proyectos de SO?

    
pregunta James C 05.05.2014 - 00:03
fuente

2 respuestas

4

Cuando descargues solo el binario, entonces no puedes. Debe confiar en el distribuidor del binario que, de hecho, está compilado a partir del código fuente publicado.

Si considera que el desarrollador es confiable pero no está seguro de poder confiar en un espejo de descarga, entonces tenga en cuenta que muchos desarrolladores publican hashsums de sus binarios, por lo que cuando descarga el binario de un espejo no confiable, puede validarlo comprobando el hash Sin embargo, esto supone 1. que el binario es el compilado por el desarrollador y no una compilación independiente por el distribuidor, y 2. que el desarrollador no es el que quiere arruinar a las personas al lanzar un binario compilado de un diferente Código fuente de lo que él está publicando.

Cuando quieras asegurarte de que el binario que obtienes está realmente compilado desde la fuente, debes obtener el código fuente y compilarlo tú mismo. Esto podría llevar bastante tiempo con proyectos más complejos.

Pero es cuestionable si realmente vale la pena desde el punto de vista de la seguridad, porque el hecho de que el código fuente sea público no significa que esté libre de puertas traseras. Hay el concurso de código C poco inteligente con muchos ejemplos creativos de cómo ocultar el código fuente malicioso a simple vista. Cuando desee un ejemplo más real: el error del corazón fue una vulnerabilidad que existió durante años en una pieza muy utilizada De software de código abierto y nadie se dio cuenta. No hay razón para creer que fue una puerta trasera intencional, pero cuando hubiera sido intencional, el hecho de que esté en un código público y no se haya introducido de contrabando en un binario daría a quien lo había planteado la negación plausible.

    
respondido por el Philipp 05.05.2014 - 00:22
fuente
1

Existe un concepto de compilaciones deterministas donde varias partes pueden compilar los binarios idénticos exactos, byte por byte. Una herramienta que conozco que hace esto es Gitian . Gitian permite que varias partes compilen exactamente el mismo binario y firmen . Esto le da más confianza de que el binario que descargará es legítimo ya que ya no existe un punto único de falla.

Bitcoin y Tor son dos proyectos notables que utilizan un proceso de construcción determinista.

    
respondido por el Ayrx 05.05.2014 - 04:53
fuente

Lea otras preguntas en las etiquetas