Professional Documents
Culture Documents
SISTEMAS OPERATIVOS
ITSSMT PABLO YAIR ARZUBIDE GARCA
Introduccin. Los mecanismos de proteccin controlan el acceso a un sistema limitado los tipos de acceso a archivos permitidos a los usuarios. Adems, los mecanismos de proteccin deben garantizar que slo los procesos que hayan obtenido la adecuada autorizacin del sistema operativo puedan operar sobre los segmentos de memoria, CPU y otros recursos. La proteccin se proporciona mediante un mecanismo que controla el acceso de los programas, de los procesos o de los usuarios a los recursos definidos por un sistema informtico. Este mecanismo debe proporcionar un medio para especificar los controles que hay que imponer, junto con algn modo de imponerlos. La seguridad garantiza la autenticacin de los usuarios del sistema, con el fin de proteger la integridad de la informacin almacenada en el mismo (tanto datos como cdigo), as como la de los recursos fsicos del sistema informtico. El sistema de seguridad impide los accesos no autorizados, la destruccin o manipulacin maliciosas de los datos y la introduccin accidental de incoherencias
operativos multiprogramados, de modo que a los usuarios que no fueran de confianza pudieran compartir de manera segura un espacio lgico de nombres comn, como por ejemplo un directorio de archivos, o compartir un espacio fsico de nombres comn, como por ejemplo la memoria. Los conceptos modernos de proteccin han evolucionado para incrementar la fiabilidad de cualquier sistema complejo que haga uso de recursos compartidos. Necesitamos proporcionar proteccin por diversas razones. La ms obvia es la necesidad de impedir una violacin maliciosa e intencionada de una restriccin 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 slo en ciertas formas que sean coherentes con las polticas establecidas. Este requerimiento tiene un carcter primordial si se quiere disponer de un sistema fiable. Los mecanismos de proteccin pueden mejorar la fiabilidad detectando los errores latentes en las interfaces definidas entre los distintos subsistemas de componentes. La deteccin 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 proteccin proporcionar medios para distinguir entre el uso autorizado y el no autorizado. El papel de proteccin en un sistema informtico es proporcionar un mecanismo para la imposicin de las polticas que gobiernen el uso de recursos. Estas polticas pueden establecerse de diversas formas. Algunas estn fijas en el diseo de un sistema, mientras que otras se formulan al administrar ese sistema. Existen tambin otras que son definidas por los usuarios individuales para proteger sus propios archivos y programas. Un sistema de proteccin deber tener la flexibilidad suficiente para poder imponer una diversidad de polticas. Las polticas de uso de recursos pueden variar segn la aplicacin y tambin pueden variar a lo largo del tiempo. Por estas razones, la proteccin no es slo cuestin del diseador de un sistema operativo. El programador de aplicaciones necesita utilizar tambin los mecanismos de proteccin, para defender de un uso incorrecto los recursos creados y soportados por un subsistema de aplicacin. En este captulo, describiremos los mecanismos de proteccin que el sistema operativo debe proporcionar para que los diseadores de aplicaciones puedan usarlos a la hora de disear su propio software de proteccin. Observe que los mecanismos son distintos de las polticas. Los mecanismos determinan cmo se llevar algo a cabo; las polticas deciden qu es lo que hay que hacer. La separacin entre polticas y mecanismos resulta importante si queremos tener una cierta flexibilidad. Es probable que las polticas cambien de un lugar a otro a lo largo del tiempo. En el caso peor, cada cambio de polticas requerira un cambio en el mecanismo subyacente; la utilizacin de mecanismos generales nos permite evitar este tipo de situaciones. La proteccin es un mecanismo control de acceso de los programas, procesos o usuarios al sistema o recursos. Hay importantes razones para proveer proteccin. La ms 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 polticas 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 proteccin proveen maneras de distinguir entre uso autorizado y desautorizado.
Inicialmente proteccin del SO frente a usuarios poco confiables. Proteccin: control para que cada componente activo de un proceso slo pueda acceder a los recursos especificados, y slo en forma congruente con la poltica establecida. La mejora de la proteccin implica tambin una mejora de la seguridad. Las polticas de uso se establecen: o Por el hardware. o Por el administrador / SO. o Por el usuario propietario del recurso.
Principio de separacin entre mecanismo y poltica: o Mecanismo con qu elementos (hardware y/o software) se realiza la proteccin. o Poltica es el conjunto de decisiones que se toman para especificar cmo se usan esos elementos de proteccin.
La poltica puede variar dependiendo de la aplicacin, a lo largo del tiempo. La proteccin no slo es cuestin del administrador, sino tambin del usuario.
Funciones de un Sistema de Proteccin. Dado que los sistemas de cmputo se han venido haciendo cada vez ms sofisticados en sus aplicaciones, la necesidad de proteger su integridad, tambin ha crecido. Los aspectos principales de proteccin en un Sistema Operativo son: 1. Proteccin de los procesos del sistema contra los procesos de usuario.
3. Proteccin de Memoria.
Qu es el Dominio de Proteccin? Un sistema computacional est compuesto por procesos y objetos, los Objetos involucran Hardware y Software, cada objeto tiene un nombre nico que lo diferencia y cada objeto puede ser accesado solamente mediante operaciones bien definidas. Ejemplo:
El CPU se utiliza solamente para ejecucin. Los segmentos de memoria se pueden leer y escribir. Un archivo puede ser ledo, escrito, ejecutado y borrado.
el sistema, como los mtodos de acceso a archivos estndar, para incluir funciones que tambin podran ser definidas por el usuario. Las polticas para el uso de recursos tambin podran variar, dependiendo de la aplicacin, y podran cambiar con el tiempo. Por estas razones, la proteccin ya no puede considerarse como un asunto que slo concierne al diseador de un sistema operativo; tambin debe estar disponible como herramienta que el diseador de aplicaciones pueda usar para proteger los recursos de un subsistema de aplicacin contra intervenciones o errores. Aqu es donde los lenguajes de programacin entran en escena. Especificar el control de acceso deseado a un recurso compartido en un sistema es hacer una declaracin acerca del recurso. Este tipo de declaracin se puede integrar en un lenguaje mediante una extensin de su mecanismo de tipificacin. Si se declara la proteccin junto con la tipificacin de los datos, el diseado de cada subsistema puede especificar sus necesidades de proteccin as debera darse directamente durante la redaccin del programa, y en el lenguaje en el que el programa mismo se expresa. Este enfoque tiene varias ventajas importantes: 1. Las necesidades de proteccin se declaran de forma sencilla en vez de programarse como una secuencia de llamadas a procedimientos de un sistema operativo.
2. Las necesidades de proteccin pueden expresarse independientemente de los recursos que ofrezca un sistema operativo en particular.
3. El diseador de un subsistema no tiene que proporcionar los mecanismos para hacer cumplir la proteccin.
4. Una notacin declarativa es natural porque los privilegios de acceso estn ntimamente relacionados con el concepto lingstico de tipo de datos. Hay diversas tcnicas que una implementacin de lenguaje de programacin puede utilizar para hacer cumplir la proteccin, pero cualquiera de ellas deber depender hasta cierto punto del grado de soporte de una mquina subyacente y su sistema operativo.
Qu ventajas relativas tiene entonces el cumplimiento basado exclusivamente en un ncleo, en comparacin con el cumplimiento forzado en gran medida por un compilador?
Seguridad: La obligacin del cumplimiento por un ncleo ofrece un mayor grado de seguridad del sistema de proteccin mismo, que el que ofrece la generacin de cdigo de verificacin de proteccin por un compilador. En un esquema apoyado por compilador, la seguridad depende de lo correcto que sea el traductor, de algn mecanismo subyacente de gestin de almacenamiento que proteja los segmentos desde los cuales se ejecuta el cdigo compilador y, en ltima instancia, de la seguridad de los archivos desde los que se carga el programa. Flexibilidad: Hay lmites a la flexibilidad de un ncleo de proteccin para implementar una poltica definida por el usuario, aunque podra proporcionar recursos suficientes para que el
sistema haga cumplir sus propias polticas. Con un lenguaje de programacin, se puede declarar la poltica de proteccin y hacerse cumplir segn sea necesario en una implementacin.
Eficiencia: Se logra la eficiencia mxima cuando hardware apoya directamente el cumplimiento de la proteccin. En la medida en que se requiera soporte de software, el cumplimiento basado en el lenguaje tiene la ventaja de que es posible verificar el cumplimiento del acceso esttico fuera de lnea en el momento de la compilacin.
En sntesis, la especificacin de la proteccin en un lenguaje de programacin permite describir un alto nivel de polticas de asignacin y uso de recursos.
Clasificacin de seguridad. Es decir que la clasificacin de los sistemas de computacin segn sus requerimientos de la seguridad ha sido ampliamente discutida de la seguridad del sistema. En esta clasificacin especfica, hay cuatro niveles de seguridad: a, b, c y d a continuacin, se describen estos niveles de seguridad y las caractersticas de cada uno. Nivel D es el Sistemas con proteccin mnima o nula no pasan las pruebas de seguridad mnima. MS-DOS y Windows 3. 1 son sistemas de nivel d. Puesto que estn pensados para un sistema mono proceso y mono usuario, no proporcionan ningn tipo de control de acceso ni de separacin de recursos. Nivel C a la Capacidad discrecional para proteger recursos, La aplicacin de los mecanismos de proteccin depende del usuario, o usuarios, que tienen privilegios sobre los mismos. Entonces esto significa que un objeto puede estar disponible para lectura, escritura o cualquier otra operacin. Y entonces casi todos los sistemas operativos comerciales de propsito general, como Unix, Linux o Windows NT se clasifican en este nivel.es decir dos son: 1. Control de acceso por dominios. 2. Control de acceso individualizado. Nivel B es el Control de acceso obligatorio en este nivel, los controles de acceso no son discrecionales de los usuarios o los dueos de los recursos, que deben existir obligatoriamente. Esto significa que todo objeto controlado debe tener proteccin sea del tipo que sea. Es decir que son tres y son: 1. Etiqueta de seguridad obligatoria. 2. Proteccin estructurada. 3. Y el dominio de seguridad. Nivel A es el Sistemas de seguridad certificados para acceder a este nivel, la poltica de seguridad y los mecanismos de proteccin del sistema deben ser verificados y certificados por un organismo autorizado para ello.es decir dos tipos: 1. Diseo verificado. 2. Desarrollo controlado.
Intrusos:
Piratas o hackers: individuos que acceden al sistema sin autorizacin. Los sistemas presentan agujeros por donde los hackers consiguen colarse.
Tcnicas de intrusin:
Averiguar contraseas (ms del 80% de las contraseas son simples). Probar exhaustivamente. Descifrar archivo de contraseas. Intervenir lneas. Usar caballos de Troya.
Contraseas generadas por ordenador (difcil memorizacin). Inspeccin activa (proceso peridico de averiguacin). Inspeccin proactiva (decidir si es buena en su creacin
Deteccin de anomalas estadsticas. Uso de registros de auditora que recogen informacin del comportamiento de cada usuario. Deteccin basada en reglas. Conjunto de reglas empleadas para decidir si una actividad es inusual.
Revelacin del contenido del mensaje. Anlisis del trfico: o En caso de que los mensajes vayan encriptados. o Determinar las mquinas que se comunican y la frecuencia y longitud de los mensajes.
Amenazas activas:
Alteracin del flujo de mensajes. Privacin del servicio: Impide el uso normal de los servicios de comunicaciones. Suplantacin: o Cuando una entidad finge ser otra diferente.
Clasificacin de programas malignos: Programas malignos que necesitan anfitrin: Forman parte de un programa. Trampillas:
Punto de entrada secreto a un programa. Se usan para depuracin y prueba. Pueden usarse para acceso no autorizado.
Bomba lgica:
Se ejecutan cuando se cumplen ciertas condiciones. Ej.: se borra el disco duro si programador no estn nmina.
Caballo de Troya:
Programas independientes. Se reproducen a travs de la red. Adems de propagarse pueden causar daos.
Bacterias:
No daan explcitamente. Su nico objetivo es reproducirse. Se reproducen exponencialmente agotando la capacidad del procesador.
Virus:
Cdigo incrustado en un programa. Se reproducen e insertan en otros programas. Pueden causar daos.
Encontrar 1 instruccin de un ejecutable del disco. Sustituirla por salto a posicin siguiente a la ltima instruccin. Insertar copia del cdigo de virus (este algoritmo) en dicha posicin. Hacer que el virus simule la instruccin sustituida por el salto. Saltar a la segunda posicin.
6.8.- Cifrado.
Concepto de Cifrado. El cifrado es un mtodo que permite aumentar la seguridad de un mensaje o de un archivo mediante la codificacin del contenido, de manera que slo pueda leerlo la persona que cuente con la clave de cifrado adecuada para descodificarlo. Por ejemplo, si realiza una compra a travs de Internet, la informacin de la transaccin (como su direccin, nmero de telfono y nmero de tarjeta de crdito) suele cifrarse a fin de mantenerla a salvo. Use el cifrado cuando desee un alto nivel de proteccin de la informacin. Mtodos y Tcnicas de Cifrado. Cifrado de sustitucin El cifrado de sustitucin consiste en reemplazar una o ms entidades (generalmente letras) de un mensaje por una o ms entidades diferentes. Existen varios tipos de criptosistemas de sustitucin:
La sustitucin monoalfabtica consiste en reemplazar cada una de las letras del mensaje por otra letra del alfabeto. La sustitucin polialfabtica consiste en utilizar una serie de cifrados monoalfabticos que son re-utilizados peridicamente. La sustitucin homfona hace posible que cada una de las letras del mensaje del texto plano se corresponda con un posible grupo de caracteres distintos. La sustitucin poligrfica consiste en reemplazar un grupo de caracteres en un mensaje por otro grupo de caracteres.
Cifrado Csar Este cdigo de cifrado es uno de los ms antiguos ya que su uso se remonta a Julio Csar. El principio de cifrado se basa en la adicin de un valor constante a todos los caracteres de un mensaje o, ms precisamente, a su cdigo ASCII. Cifrado ROT 13
El caso especfico del cifrado Csar donde la clave de cifrado es N (la 13 letra del alfabeto) se denomina ROT 13 (se eligi el nmero 13, la mitad de 26, para que sea posible cifrar y descifrar fcilmente mensajes textuales). Cifrado de Transposicin El mtodo de cifrado por transposicin consiste en reordenar datos para cifrarlos a fin de hacerlos ininteligibles. Esto puede significar, por ejemplo, reordenar los datos geomtricamente para hacerlos visualmente inutilizables. El Cifrado Simtrico. El cifrado simtrico (tambin conocido como cifrado de clave privada o cifrado de clave secreta) consiste en utilizar la misma clave para el cifrado y el descifrado. El cifrado consiste en aplicar una operacin (un algoritmo) a los datos que se desea cifrar utilizando la clave privada para hacerlos ininteligibles. El algoritmo ms simple (como un OR exclusivo) puede lograr que un sistema prcticamente a prueba de falsificaciones (asumiendo que la seguridad absoluta no existe). El Cifrado Asimtrico. El cifrado asimtrico (tambin conocido como cifrado con clave pblica). En un criptosistema asimtrico (o criptosistema de clave pblica), las claves se dan en pares:
Una clave pblica para el cifrado; Una clave secreta para el descifrado.
En un sistema de cifrado con clave pblica, los usuarios eligen una clave aleatoria que slo ellos conocen (sta es la clave privada). A partir de esta clave, automticamente se deduce un algoritmo (la clave pblica). Los usuarios intercambian esta clave pblica mediante un canal no seguro.