Me gustaría entender cómo las distribuciones de Linux empaquetadas (es decir, Debian) aseguran que sus paquetes no contengan ningún código malicioso. Sé que los paquetes están firmados y que puedo descargar la fuente del paquete y compilar el paquete yo mismo. Pero incluso cuando compilo el paquete yo mismo, la suma md5 de ese paquete será diferente del paquete de distribución (incluso si el código fuente es idéntico). Lo mismo se aplica si compilo el mismo código dos veces (es decir, en dos máquinas diferentes), el binario resultante será diferente.
¿Entiendo correctamente, que toda la confianza está en el mantenedor que compila (y firma) el paquete? ¿Y si alguien malvado sobornó a este mantenedor para que pasara de contrabando en alguna puerta trasera? ¿Cómo lo detectaríamos?
ACTUALIZACIÓN:
He intentado compilar mc
desde la fuente de Debian con dpkg-buildpackage
, pero no puedo producir mc
binario idéntico:
# apt-get source mc
# cd mc-4.8.3/
# dpkg-buildpackage
# cd ..
# md5sum mc_4.8.3-10_amd64.deb
f373e2a80074098e1ce1672428660dd4 mc_4.8.3-10_amd64.deb
#
# apt-get download mc
# md5sum mc_4.8.3-10_amd64.deb
9e412f6352b2b013a8e15ea88a48b21e mc_4.8.3-10_amd64.deb