Los procesos en un sistema
operativo deben protegerse de las actividades realizadas por otros procesos.
Para proporcionar dicha protección, podemos utilizar diversos mecanismos para
garantizar que sólo los procesos que hayan obtenido la adecuada autorización
del sistema operativo puedan operar sobre los archivos, los segmentos de
memoria, sobre la CPU y sobre otros recursos del sistema.
El concepto de protección
hace referencia a un mecanismo para controlar el acceso de los programas, de
los procesos o de los usuarios a los recursos definidos por el sistema
informático. Este mecanismo debe proporcionar un medio de especificar los
controles que hay que imponer, junto con un modo de imponerlos. Podemos
distinguir entre los conceptos de protección y seguridad; este último es una
medida de la confianza en que se puedan preservar la integridad de un sistema
de sus datos.
Objetivos de la protección.
A medida que los sistemas
informáticos se han hecho más sofisticados y a medida que su rango de
aplicaciones se ha ido incrementando, también ha crecido la necesidad de
proteger la integridad de esos sistemas. La protección se concebía
originalmente como algo asociado a los sistemas operativos multiprogramados, de
modo que a los usuarios que no fueran de confianza pudieran compartir de manera
segura un espacio lógico de nombres común, como por ejemplo un directorio de
archivos, o compartir un espacio físico de nombres común, como por ejemplo la
memoria. Los conceptos modernos de protección han evolucionado para incrementar
la fiabilidad de cualquier sistema complejo que haga uso de recursos
compartidos.
Necesitamos proporcionar
protección por diversas razones. La más obvia es la necesidad de impedir una
violación maliciosa e intencionada de una restricción de acceso por parte de un
usuario. Sin embargo, tiene una mayor importancia general la necesidad de
garantizar que cada componente de programa activo en un sistema utilice los
recursos del sistema sólo en ciertas formas que sean coherentes con las
políticas establecidas. Este requerimiento tiene un carácter primordial si se
quiere disponer de un sistema fiable.
Los mecanismos de protección
pueden mejorar la fiabilidad detectando los errores latentes en las interfaces
definidas entre los distintos subsistemas de componentes. La detección temprana
de errores de interfaz puede a menudo impedir que un subsistema correcto se vea
contaminado por otro que no esté funcionando adecuadamente. Un recurso no
protegido no puede defenderse frente al uso (o mal uso) por parte de un usuario
no autorizado o incompetente. Un sistema orientado a la protección
proporcionará medios para distinguir entre el uso autorizado y el no
autorizado.
El papel de protección en un
sistema informático es proporcionar un mecanismo para la imposición de las políticas
que gobiernen el uso de recursos. Estas políticas pueden establecerse de
diversas formas. Algunas están fijas en el diseño de un sistema, mientras que
otras se formulan al administrar ese sistema. Existen también otras que son
definidas por los usuarios individuales para proteger sus propios archivos y
programas. Un sistema de protección deberá tener la flexibilidad sificiente
para poder imponer una diversidad de políticas.
Las políticas de uso de
recursos pueden variar según la aplicación y también pueden variar a lo largo
del tiempo. Por estas razones, la protección no es sólo cuestión del diseñador
de un sistema operativo. El programador de aplicaciones necesita utilizar
también los mecanismos de protección, para defender de un uso incorrecto los recursos
creados y soportados por un subsistema de aplicación. En este capítulo,
describiremos los mecanismos de protección que el sistema operativo debe
proporcionar para que los diseñadores de aplicaciones puedan usarlos a la hora
de diseñar su propio software de protección.
Observe que los mecanismos
son distintos de las políticas. Los mecanismos determinan cómo se llevará algo
a cabo; las políticas deciden qué es lo que hay que hacer. La separación entre
políticas y mecanismos resulta importante si queremos tener una cierta
flexibilidad. Es probable que las políticas cambien de un lugar a otro a lo
largo del tiempo. En el caso peor, cada cambio de políticas requeriría un
cambio en el mecanismo subyacente; la utilización de mecanismos generales nos
permite evitar este tipo de situaciones.
La protección es un
mecanismo control de acceso de los programas, procesos o usuarios al sistema o
recursos. Hay importantes razones para proveer protección. La más obvia es la
necesidad de prevenirse de violaciones intencionales de acceso por un usuario.
Otras de importancia son, la necesidad de asegurar que cada componente de un
programa, use solo los recursos del sistema de acuerdo con las políticas
fijadas para el uso de esos recursos.
Un recurso desprotegido no
puede defenderse contra el uso no autorizado o de un usuario incompetente. Los
sistemas orientados a la protección proveen maneras de distinguir entre uso
autorizado y desautorizado.
Inicialmente protección del
SO frente a usuarios poco confiables.
Protección: control para que
cada componente activo de un proceso sólo pueda acceder a los recursos
especificados, y sólo en forma congruente con la política establecida.
La mejora de la protección
implica también una mejora de la seguridad.
Las políticas de uso se
establecen:
Por el hardware.
Por el administrador / SO.
Por el usuario propietario
del recurso.
Principio de separación
entre mecanismo y política:
Mecanismo con qué elementos
(hardware y/o software) se realiza la protección.
Política es el conjunto de
decisiones que se toman para especificar cómo se usan esos elementos de
protección.
La política puede variar
dependiendo de la aplicación, a lo largo del tiempo.
La protección no sólo es
cuestión del administrador, sino también del usuario.
No hay comentarios:
Publicar un comentario