¿Hay algún tipo de lenguaje seguro con compiladores deterministas?

8

Este artículo sobre BIND9 concluye con la declaración:

  

El punto que estoy tratando de señalar aquí es que BIND9 no debería estar expuesto al público. Tiene problemas de código que deberían ser inaceptables en la época actual de la ciberseguridad. Incluso si estuviera escrito a la perfección, tiene demasiadas características para ser confiable. Su riqueza de características lo convierte en un gran maestro oculto, es solo que todas esas características se interponen en el hecho de ser un servidor esclavo autoritario simple, o un simple resolutor. No deberían reescribirlo desde cero, pero si lo hicieran, deberían elegir un lenguaje seguro y no usar C / C ++.

Al investigar C #, veo esto de Eric Lippert , diciendo que C # nunca compilará exactamente el mismo binario a cambios en el Columna MVID.

Pregunta

¿Existe alguna combinación de un lenguaje de programación de tipo seguro y un compilador que dé como resultado compilaciones determinísticas?

    
pregunta random65537 01.08.2015 - 12:38
fuente

1 respuesta

2

Hay herramientas para hacer construcciones deterministas. Sin embargo, no es tan sencillo como elegir el idioma y el compilador correctos. También tienes que eliminar todas las fuentes de no-determinismo de la construcción. Esto consiste principalmente en sellos de tiempo y cheques. Consulte enlace para obtener una lista más completa de no determinismo.

Reproducible-Builds también enumera varios proyectos que usan construcciones determinísticas ( enlace ). Noté que algunos usaron una combinación de c o c ++ y Gitian ( enlace ) usando scripts de compilación que eliminan el no-determinismo. Para ver un ejemplo, lea las instrucciones para el núcleo de bitcoin enlace .

    
respondido por el AstroDan 05.02.2016 - 15:53
fuente

Lea otras preguntas en las etiquetas