Históricamente, el movimiento de código abierto no se trata de seguridad sino de libertad . Básicamente, Richard Stallman estaba muy consternado por no poder jugar con su impresora porque la fuente del controlador no estaba disponible.
La postura de OpenBSD en cuanto a ser "seguro" no se debe a que sea de código abierto, sino a un objetivo declarado y el compromiso de hacer las cosas correctamente con respecto a la seguridad (aún históricamente, OpenBSD se creó porque algunos desarrolladores en NetBSD eran mucho mejores en la programación que en la gestión de las relaciones pacíficas entre humanos).
La asociación entre seguridad y código abierto es más reciente. De hecho, desde el principio, se explicó que era un concepto incompleto (consulte el famoso Reflexiones sobre confiar en la confianza ). Un elemento de la discusión es Ley de Linus que dice:
dados suficientes globos oculares, todos los errores son superficiales
La idea central es que, con suficientes revisores, se encontrarán errores, y esto se extiende a los errores relacionados con la seguridad. Sin embargo, esto se mantiene solo en la premisa de que hay hay revisores. El software de fuente abierta facilita las revisiones externas, pero eso no significa que las revisiones externas realmente se realicen. ¿Cuándo fue la última vez que revisó el código fuente existente?
Caso en cuestión: OpenSSL. Después de que se encontró otra vulnerabilidad en el código base, se creó una bifurcación, llamada LibreSSL , y comenzaron un esfuerzo explícito de revisión. , que encontró varios problemas serios en el código base. Estos problemas habían estado allí durante años, justo en el centro de una biblioteca, que se puede decir que es una de las bibliotecas más importantes relacionadas con la seguridad en el ecosistema de Linux. Así que esto fue de código abierto, y aún así no fue suficiente (en absoluto) para lograr la detección adecuada de la vulnerabilidad.
Así que, por supuesto, la apertura de fuentes ayuda con la seguridad, pero no tanto como se puede esperar.
Lo que realmente ofrece el código abierto es un riesgo mucho mayor para las personas que desean plantar puertas traseras voluntariamente. Es difícil hacer un código que parezca inocuo para los revisores y que todavía haga cosas malas (hay un concurso para dicho código).