Linux pertenece a la clase de software que podemos denominar software libre. Esto tiene un significado determinante en cuanto a su desarrollo:
Estos dos hechos son esenciales a la hora de plantearnos la seguridad en un producto de software libre. Las consideraciones son muy dependientes del estilo de seguridad que nos interese implantar en nuestros sistemas, sin embargo hay unos puntos clave que debemos tener en cuenta:
Del mismo modo, tampoco existe la posibilidad de que alguien pueda meter un "troyano" o una "puerta trasera" en el código, ya que con una inspección del mismo, podríamos darnos cuenta de esta vulnerabilidad.
Por otra parte, los "crackers" que puedan realizar una auditoría de código sirviendose de la propiedad comentada anteriormente, también son especialistas en pruebas del tipo "caja negra", es decir, tratando el sistema como una caja negra, observar las salidas en función de las entradas, de modo que esta propiedad presenta más ventajas que inconvenientes.
Que el código fuente sea accesible, propicia que la seguridad no sea llevada a cabo mediante una política de security through obscurity ( "seguridad a traves de la oscuridad" ), y la mejora de esta depende de que todo el mundo tenga los fallos a la vista y que la seguridad no pase por "esconder" los fallos a la vista de ojos malintencionados.
Que el software libre actue de esta manera ante los fallos de seguridad, es posible debido conjuntamente a las propiedades de difusión del código y libre modificación del mismo.
Con estos apartados vemos que la seguridad en productos de software libre ( por tanto también en Linux ), tiene unas características muy marcadas por las propiedades del software.