Tengo curiosidad, en teoría, ¿cómo se puede saber si, por ejemplo, el kernel que se distribuye con Ubuntu Linux es realmente lo que está en enlace y no algún kernel modificado que contenga código de seguimiento, etc. ...
En realidad, lo que se distribuye con su distribución generalmente no es lo que se distribuye a través del árbol git de torvald. Su distribución de Linux probablemente no sea un núcleo de vainilla.
El motivo de esto es que los proveedores de distribución suelen ser correcciones de backport que pueden afectar a sus clientes de diversas fuentes. En Fedora, por ejemplo (estos ejemplos se seleccionaron simplemente porque tengo experiencia reciente en la creación personalizada de estos paquetes):
- El kernel (actualmente
3.11.4-201.fc19.x86_64
al momento de escribir 'contiene una serie de parches para v4l, correcciones iommu, drm-intel-nex, iwl (intel wireless) y demás.
- Grub2 contiene una serie de parches para resolver varios problemas (de ruptura) con su compilación, y parches para hacer que las compilaciones EFI funcionen.
En Fedora (y otros sistemas basados en yum) yumdownloader --source kernel
reducirá el RPM del kernel de origen: ábrelo y encontrarás todo lo que se usa para compilar los paquetes del kernel.
Entonces, no, su Linux (e incluso sus paquetes) podría no ser un paquete de proveedores de vainilla.
Ahora, a continuación:
La verdadera pregunta es, ¿puede estar seguro de que el software de código abierto distribuido es realmente lo que espera que sea?
Bueno, el punto anterior fue que el contenido de la base de datos de su paquete podría no ser lo que usted espera que sea, pero supongo que la pregunta es y ¿podría contener contenido malicioso? .
La respuesta es que hay pocas formas de saberlo como usuario final a menos que inspeccione la fuente y reconstruya el paquete a partir de eso.
Sin embargo , la mayoría de los procesos de envío de paquetes implican un poco de rigor. Por lo general, no puede simplemente aparecer y convertirse en un mantenedor de un paquete popular. Debería ser conocido por sus contribuciones, aprobado por un miembro del personal / miembro del comité / lo que sea que le otorgue los derechos para enviar paquetes.
Puedo ver que este es un posible vector de ataque en un software desconocido, pero creo que es muy probable que se detecte un ataque en el futuro. La mayoría de los paquetes se crean a partir de la fuente y reciben un escrutinio debido a errores, problemas del usuario, etc. El desarrollo continúa y los paquetes son reconstruidos. Los parches pueden fallar. Alguien, en algún lugar, es probable que note una rareza, básicamente.
Sobre esta base, creo que debe tomar una decisión basada en el riesgo. ¿Es lo que pretende proteger tan valioso que cree que los adversarios altamente capaces y persistentes van a tratar de crear un paquete en una distribución de Linux para llegar a usted? Si es así, siga adelante y cree su propia distribución (no hay ninguna razón por la que no pueda robar los paquetes de un distribuidor existente y simplemente auditar / compilar su propia cuenta, por cierto, esa es la belleza del código abierto).
Si no, me gustaría (personalmente) aceptar el riesgo externo.