1.5. Principios fundamentales de la Seguridad Informática
En el ámbito de la seguridad informática existen una serie de principios básicos que es necesario tener en cuenta al diseñar cualquier política de seguridad. Veamos algunos de los fundamentales:
* Principio de menor privilegio
Este es quizás el principio más fundamental de la seguridad, y no solamente de la informática. Básicamente, el principio de menor privilegio afirma que cualquier objeto (usuario, administrador, programa, sistema, etc.) debe tener tan solo los privilegios de uso necesarios para desarrollar su tarea y ninguno más. Esto quiere decir que cualquier usuario tan solo debe poder acceder a los recursos que necesite, para realizar las tareas que tenga encomendadas y sólo durante el tiempo necesario.
Al diseñar cualquier política de seguridad es necesario estudiar las funciones de cada usuario, programa, etc., definir los recursos a los que necesita acceder para llevarlas a cabo, identificar las acciones que necesita realizar con estos recursos, y establecer las medidas necesarias para que tan solo pueda llevar a cabo estas acciones.
Por ejemplo, en un sistema UNIX el usuario necesita acceder al fichero /etc/passwd, donde normalmente se guarda su password, para poder entrar al sistema. Sin embargo, durante el resto de su trabajo en el sistema no necesita acceder a los passwords. Siguiendo el principio de menor privilegio debería evitarse este acceso o bien situar los passwords cifrados en otro fichero. De hecho la mayoría de los sistema UNIX no aplican esta medida de seguridad y permiten que cualquier usuario pueda consultar todos los passwords cifrados en cualquier momento.
* La seguridad no se obtiene a través de la oscuridad
Un sistema no es más seguro porque escondamos sus posibles defectos o vulnerabilidades, sino porque los conozcamos y corrijamos estableciendo las medidas de seguridad adecuadas. El hecho de mantener posibles errores o vulnerabilidades en secreto no evita que existan, y de hecho evita que se corrija.
No es una buena medida basar la seguridad en el hecho de que un posible atacante no conozca las vulnerabilidades de nuestro sistema. Los atacantes siempre disponen de los medios necesarios para descubrir las debilidades más insospechadas de nuestro sistema.
No se consigue proteger un sistema evitando el acceso de los usuarios a la información relacionada con la seguridad. Por ejemplo, evitando el acceso a determinados manuales donde se especifican las ordenes que pueden utilizarse para entrar en el sistema. Educar a los usuarios o diseñadores sobre el funcionamiento del sistema y las medidas de seguridad incluidas, suele ser mejor método para protegerlo.
No obstante tampoco se trata de hacer público en las noticias un nuevo fallo de nuestro sistema o un método para romperlo. En primer lugar hay que intentar resolverlo, obtener un medio para eliminar la vulnerabilidad y luego publicar el método de protección.
* Principio del eslabón más débil
En todo sistema de seguridad, el máximo grado de seguridad es aquel que tiene su eslabón más débil. Al igual que en la vida real la cadena siempre se rompe por el eslabón más débil, en un sistema de seguridad el atacante siempre acaba encontrando y aprovechando los puntos débiles o vulnerabilidades.
Cuando diseñemos una política de seguridad o establezcamos los mecanismos necesarios para ponerla en práctica, debemos contemplar todas las vulnerabilidades y amenazas. No basta con establecer unos mecanismos muy fuertes y complejos en algún punto en concreto, sino que hay que proteger todos los posibles puntos de ataque.
Por ejemplo, supongamos que establecemos una política de asignación de passwords muy segura, en la que estos se asignan automáticamente, son aleatorios y se cambian cada semana. Si en nuestro sistema utilizamos la red ethernet para conectar nuestras máquinas, y no protegemos la conexión, no nos servirá de nada la política de passwords establecidas. Por defecto, por ethernet los passwords circulan descifrados. Si cualquiera puede acceder a nuestra red y "escuchar" todos los paquetes que circulan por la misma, es trivial que pueda conocer nuestros passwords. En este sistema el punto débil es la red. Por mucho que hayamos reforzado la seguridad en otros puntos, el sistema sigue siendo altamente vulnerable.
* Defensa en profundidad
La seguridad de nuestro sistema no debe depender de un solo mecanismo por muy fuerte que este sea, sino que es necesario establecer varias mecanismos sucesivos. De este modo cualquier atacante tendrá que superar varias barreras para acceder a nuestro sistema.
Por ejemplo en nuestro sistema podemos establecer un mecanismo de passwords altamente seguro como primera barrera de seguridad. Adicionalmente podemos utilizar algún método criptográfico fuerte para cifrar la información almacenada. De este modo cualquier atacante que consiga averiguar nuestro password y atravesar la primera barrera, se encontrará con la información cifrada y podremos seguir manteniendo su confidencialidad.
* Punto de control centralizado
Se trata de establecer un único punto de acceso a nuestro sistema, de modo que cualquier atacante que intente acceder al mismo tenga que pasar por él. No se trata de utilizar un sólo mecanismo de seguridad, sino de "alinearlos" todos de modo que el usuario tenga que pasar por ellos para acceder al sistema.
Este único canal de entrada simplifica nuestro sistema de defensa, puesto que nos permite concentrarnos en un único punto. Además nos permite monitorizar todos los accesos o acciones sospechosas.
* Seguridad en caso de fallo
Este principio afirma que en caso de que cualquier mecanismo de seguridad falle, nuestro sistema debe quedar en un estado seguro. Por ejemplo, si nuestros mecanismos de control de acceso al sistema fallan, es mejor que como resultado no dejen pasar a ningún usuario que que dejen pasar a cualquiera aunque no esté autorizado.
Quizás algunos ejemplos de la vida real nos ayuden más a aclarar este concepto. Normalmente cuando hay un corte de fluido eléctrico los ascensores están preparados para bloquearse mediante algún sistema de agarre, mientras que las puertas automáticas están diseñadas para poder abrirse y no quedar bloqueadas.
* Participación universal
Para que cualquier sistema de seguridad funcione es necesaria la participación universal, o al menos no la oposición activa, de los usuarios del sistema. Prácticamente cualquier mecanismo de seguridad que establezcamos puede ser vulnerable si existe la participación voluntaria de algún usuario autorizado para romperlo.
La participación voluntaria de todos los usuarios en la seguridad de un sistema es el mecanismo más fuerte conocido para hacerlo seguro. Si todos los usuarios prestan su apoyo y colaboran en establecer las medidas de seguridad y en ponerlas en práctica el sistema siempre tenderá a mejorar.
* Simplicidad
La simplicidad es un principio de seguridad por dos razones. En primer lugar, mantener las cosas lo más simples posibles, las hace más fáciles de comprender. Si no se entiende algo, difícilmente puede saberse si es seguro. En segundo lugar, la complejidad permite esconder múltiples fallos. Los programas más largos y complejos son propensos a contener múltiples fallos y puntos débiles.
Documento creado en Agosto de 2001
Autor : Heinekn Team (www.heinekenteam.com.ar)
Bajado de : www.softdownload.com.ar ]