¿Cuáles son las ventajas y desventajas de seguridad de usar compilaciones reproducibles?

0

De reproducible-builds.org :

  

Las compilaciones reproducibles son un conjunto de prácticas de desarrollo de software que crean una ruta verificable desde el código fuente legible por el hombre al código binario utilizado por las computadoras.

En general, significa que dado el mismo código fuente, terminas con el binario idéntico. Veo que el concepto tiene muchas ventajas, pero me pregunto si hay desventajas cuando ya no se le permite usar ninguna forma de aleatorización durante la compilación.

¿Cuáles son las implicaciones de cambiar a versiones reproducibles?

  • ¿Contra qué tipo de ataques mejorará la seguridad?
  • ¿Contra qué tipo de ataques reducirá la seguridad al evitar las técnicas de compilación basadas en la aleatorización?
pregunta Philipp Claßen 25.08.2017 - 10:49
fuente

2 respuestas

1
  
  • Contra qué tipo de ataques reducirá la seguridad al prevenir   Técnicas de compilación basadas en la aleatorización?
  •   

Puede estar pensando en una técnica como la asignación aleatoria de diseño de espacio de direcciones (ASLR). Sin embargo, ASLR no es una técnica de compilación; no se crea en el compilador o el enlazador. ASLR es una función del sistema operativo del entorno de tiempo de ejecución. Es en la parte del sistema operativo que carga el código en la memoria en una posición aleatoria cada vez que se carga.

El código distribuido nunca es aleatorio. En algunos casos raros, puede ser único según los esquemas de marca de agua o de licencia, pero el único propósito de estas técnicas es que el autor haga cumplir la protección de copia, la licencia o la facturación. Estos son exactamente opuestos al propósito de las compilaciones reproducibles.

    
respondido por el John Deters 29.08.2017 - 18:03
fuente
0

Parece que ya has cubierto las posibles respuestas. :)

Ayuda a descubrir cualquier modificación no autorizada del código ejecutable (no impide la modificación). Por lo tanto, cualquier persona que lo manipule correrá el riesgo de ser descubierto (de la manipulación, no necesariamente de la identidad de los manipuladores).

Por lo tanto, no se "protege" contra ningún ataque, si eso es lo que quieres decir con

  

¿Contra qué tipo de ataques mejorará la seguridad?

Sin embargo, la posibilidad de descubrirse de una manera mejoró la seguridad, algo que podría disuadir a un adversario.

Si bien las entradas aleatorias / cambiantes para cada compilación pueden ser necesarias por alguna razón u otra, es difícil decirlo por razones de seguridad. No he encontrado (todavía) ningún requisito de seguridad que necesite una entrada aleatoria / cambiante para el proceso de compilación . Según mi experiencia limitada, diría que aumenta el esfuerzo (para crear una versión reproducible) pero no daña la seguridad de ninguna manera.

    
respondido por el Sas3 25.08.2017 - 15:28
fuente

Lea otras preguntas en las etiquetas