- Seguridad por oscuridad
-
En criptografía y seguridad informática, la seguridad por oscuridad o por ocultación es un controvertido principio de ingeniería de la seguridad, que intenta utilizar el secreto (de diseño, de implementación, etc.) para garantizar la seguridad. Un sistema que se apoya en la seguridad por ocultación puede tener vulnerabilidades teóricas o prácticas, pero sus propietarios o diseñadores creen que esos puntos débiles no se conocen, y que es probable que los atacantes no los descubran.
Contenido
Introducción
Por ejemplo, podría pensarse que esconder una copia de la llave de la casa bajo el felpudo de la entrada sería una buena medida contra la posibilidad de quedar uno atrapado fuera de la casa, por culpa de un olvido o pérdida de la llave de uso habitual. Entonces estaríamos fiándonos de la seguridad por ocultación. La vulnerabilidad de seguridad teórica sería que alguien pudiera entrar en la casa abriendo la puerta con la copia de la llave. Sin embargo, los dueños de la casa creen que la localización de la llave no es conocida públicamente, y que es improbable que un ladrón la encontrara. En este ejemplo, dado que los ladrones suelen conocer los escondites frecuentes, habría que advertir al dueño de la casa contra esta medida.
En criptografía, lo contrario a la seguridad por ocultación es el principio de Kerckhoff de finales de 1880, que indica que los diseñadores del sistema deberían asumir que el diseño completo de un sistema de seguridad es conocido por todos los atacantes, con la excepción de la clave criptográfica: "la seguridad de un cifrado reside enteramente en la clave". Claude Shannon lo reformuló como "el enemigo conoce el sistema".
Históricamente, la seguridad por ocultación ha sido un apoyo débil sobre el que descansar en materia de criptografía. Código oscuro, cifrados y sistemas criptográficos han cedido repetidamente bajo los ataques sin importar el grado de ocultación de sus vulnerabilidades.
El movimiento de la divulgación total va más lejos, sugiriendo que los defectos de seguridad deberían ser divulgados lo antes posible, retrasando la información no más de lo necesario para lanzar una corrección o rodeo (workaround) de la amenaza inmediata.
Argumentos contra la seguridad por oscuridad
Muchos argumentan que la seguridad por oscuridad es débil. Si la seguridad de un sistema depende única o principalmente de mantener oculta una debilidad, entonces, claramente, si esa debilidad es descubierta, la seguridad se compromete fácilmente. Se argumenta que mantener ocultos los detalles de sistemas y algoritmos ampliamente utilizados es difícil. En criptografía, por ejemplo, hay un buen número de ejemplos de algoritmos de cifrado que han pasado a ser de conocimiento público, bien por ingeniería inversa (ej. A5/1), bien por una fuga de información (ej. RC4).
Más aún, el mantener algoritmos y protocolos ocultos significa que la revisión de seguridad está limitada a unos pocos. Se argumenta que permitir a cualquier persona revisar la seguridad repercutirá en una pronta identificación y corrección de cualquier fallo o debilidad, hecho que se recoge en la llamada Ley de Linus.
En la práctica
Los operadores, desarrolladores y vendedores de sistemas que confían en la seguridad por oscuridad a menudo mantienen en secreto que sus sistemas tienen fallos, para evitar crear desconfianza en sus servicios o productos y por tanto, en su imagen de mercado. Es posible que esto pudiera conducir en algunos casos a una representación fraudulenta de la seguridad de sus productos, aunque la aplicación de la ley a este respecto ha sido poco contundente, en parte porque las condiciones de uso impuestas por los vendedores como parte del contrato de licencia redimen (con más o menos éxito) sus aparentes obligaciones bajo el estatuto legal de muchas jurisdicciones que requieren una adecuación para el uso o estándares de calidad similares.
Estas prácticas de seguridad dejan a los usuarios frente a problemas cuando el software que usan está deliberada o accidentalmente ocultado, como ha ocurrido otras veces:
- Diebold — software de voto electrónico; publicación aparentemente accidental en un sitio web oficial.
- Microsoft — Windows y otros; penetración supuestamente deliberada en una red de desarrollo corporativa.
- RSADSI — algoritmos criptográficos; código de RC4 probablemente publicado con intención en Usenet.
- Cisco — sistema operativo de enrutadores; exposición accidental en una red corporativa.
Cuando se usa software seguro por estar oculto de manera amplia, existe un riesgo potencial de problema global; por ejemplo, vulnerabilidades en las diferentes versiones del sistema operativo Windows, sus componentes obligatorios como su navegador web Internet Explorer o sus aplicaciones de correo electrónico (Microsoft Outlook/Outlook Express) han causado problemas a lo largo y ancho del planeta cuando virus, troyanos, gusanos y demás se han aprovechado de ellas. Véase seguridad en Windows o seguridad en Internet Explorer.
Del software que es deliberadamente lanzado como software de código abierto no puede decirse ni en la teoría ni en la práctica que se apoya en la seguridad por oscuridad, ya que el diseño está disponible públicamente, pero puede también experimentar vulnerabilidades de seguridad.
Véase también
- Seguridad por diseño
- Esteganografía(Ocultación del mensaje)
Enlaces externos
Wikimedia foundation. 2010.