You are on page 1of 19

Programacin de sistemas operativos

Programa desarrollado

CARRERA: Ingeniera en Desarrollo de software Cuatrimestre 04

Programa de la asignatura: Programacin de sistemas operativos Unidad 3. Seguridad y Proteccin Clave: 160920415 / 150920415

1 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 1

Programacin de sistemas operativos


Programa desarrollado
ndice

Unidad 3. Seguridad y Proteccin ...................................................................................... 3 Presentacin de la unidad .............................................................................................. 3 Propsito ........................................................................................................................ 3 Competencia especfica ................................................................................................. 3 3.1. Entorno de Seguridad.............................................................................................. 4 Actividad 1. Seguridad y proteccin dentro del diseo de un sistema operativo ............. 9 3.1.1. Clasificaciones de la seguridad ............................................................................ 9 3.1.2. Verificacin de autenticidad de usuarios............................................................. 10 3.1.3. Validacin y amenazas al sistema ...................................................................... 11 Actividad 2 Tabla de elementos que afectan la seguridad de un sistema ..................... 12 3.2. Concepto y objetivos de proteccin ....................................................................... 13 3.2.1. Mecanismos de proteccin ................................................................................. 14 3.2.2. Funciones del sistema de proteccin .................................................................. 15 3.2.3. Implementacin de matrices de acceso .............................................................. 16 Actividad 3. Cuadro sinptico de los mecanismos de proteccin .................................. 17 Autoevaluacin ............................................................................................................. 17 Evidencia de aprendizaje. Diagrama de flujo del sistema operativo ............................. 17 Cierre de la unidad ....................................................................................................... 18 Para saber ms ............................................................................................................ 19 Fuentes de consulta ..................................................................................................... 19

2 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 2

Programacin de sistemas operativos


Programa desarrollado

Unidad 3. Seguridad y Proteccin


Presentacin de la unidad Los trminos de seguridad y proteccin se utilizan de forma indistinta, sirven para hacer la distincin entre mecanismos especficos del sistema operativo que proporcionan seguridad, y el aseguramiento de que los archivos no sean visualizados ni modificados por usuarios no autorizados. La proteccin, se obtiene por medio de un mecanismo que restringe 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 establecer los controles que se deban imponer. La seguridad, ofrece la validacin de los usuarios del sistema, con el objetivo de proteger la integridad de la informacin almacenada en el mismo y los recursos fsicos del sistema; adems protege el acceso no valido y la destruccin o modificacin mal intencionada de los datos. Por todo lo mencionado, son importantes los temas que se manejarn a lo largo de esta unidad ya que son de vital importancia para un buen desarrollo de un sistema operativo.

Propsito
Controlar la seguridad y limitar el acceso a los archivos, mediante la implementacin de mecanismos de proteccin que ofrezcan la confianza de que slo los procesos autorizados del sistema puedan operar sobre los segmentos de memoria, CPU y otros dispositivos de entrada y salida.

Competencia especfica
Utilizar las funciones y tcnicas para validar las amenazas de un sistema como polticas y mecanismos mediante la diferenciacin de seguridad y proteccin.

3 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 3

Programacin de sistemas operativos


Programa desarrollado
3.1. Entorno de Seguridad
El objetivo de la seguridad est basado en la forma cmo debe protegerse un sistema contra robos, ataques, o cualquier tipo de programas o usuario mal intencionado que pueden llegar afectar el buen rendimiento del sistema operativo. Debido al uso creciente de los sistemas operativos se ha extendido en ambientes comerciales, gubernamentales, militares e incluso en hogares. Una gran masa de datos, de vital importancia para el usuario, requiere de la seguridad; no solo de un simple sistema de proteccin, sino adems considerar el entorno externo en el que el sistema opera. Por lo general de nada sirve la proteccin interna si la consola del operador est al alcance de personal no autorizado, o bien si se pueden extraer los archivos de forma simple, estos problemas de seguridad no son atribuidos a problemas del sistema operativo, sino ms bien se derivan bsicamente de problemas administrativos. Es importante dedicar un esfuerzo en la seguridad considerando el entorno externo en que el sistema opera. La informacin almacenada en el sistema, as como los recursos propios del sistema, deben protegerse contra acceso no autorizado, destruccin o alteraciones tales como la modificacin accidental de inconsistencias hacia el sistema operativo En lo que concierne a la seguridad de un sistema operativo, existen varias etapas en las que se debe poner cuidado al tratar de implementar algn medio de seguridad en el sistema, las dos ms importantes son: la prdida de datos y la penetracin de intrusos. Algunas de las causas ms comunes en la prdida de datos son: 1.- Causas Naturales: Se conoce como causas naturales a las que no tiene nada que ver con el desarrollo del sistema, su implementacin ni ambiente de trabajo, pues se ve afectado por motivos como incendios, inundaciones, terremotos, etc. 2.- Fallas en hardware / Software: Este tipo de fallas va enfocado al dao fsico en las partes que componen la computadora, como lo es fallas de CPU, disco duro, memoria, etc. y fallas en la estructura interna del sistema. 3.- Error humano: Este puede incurrir de varias formas, la ms comn es el descuido en la captura de datos; por ejemplo, puede haber errores en la forma de montar algn dispositivo de disco duro, o al ejecutar un programa que no debera ejecutarse; la mayora de estas causas, que derivan en la prdida de informacin, pueden evitarse manteniendo un constante y adecuado respaldo de la informacin que es considerada como importante.

4 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 4

Programacin de sistemas operativos


Programa desarrollado
Existen tambin varios tipos de amenazas a la seguridad, que pueden afectar a la integridad del sistema, as como a la informacin, para esto se deben de cumplir con los siguientes requisitos: Confidencialidad.- Para un sistema es muy importante mantener un nivel de confidencialidad, para que cuando se acceda a la informacin, sta sea ms fcil de comprender y que slo los usuarios autorizados, tengan los permisos de lectura. Integridad.- Es importante que la informacin que se maneja dentro un sistema sea la ms completa posible y que se pueda editar solo por los usuarios autorizados. Disponibilidad.- Hoy en da, el desarrollo de sistemas exige que los elementos estn siempre disponibles y en lnea para que los usuarios autorizados tengan acceso a la informacin.

Siempre al desarrollar un sistema lo que se busca es poder garantizar la seguridad propia del sistema operativo; para esto, es necesaria la implementacin en todos los niveles, ya que por menor que sea la debilidad contenida en el sistema, la informacin contenida en el mismo podra colapsar. Para poder mantener una seguridad en el sistema es necesario mantener como mnimo los requisitos anteriores, que permitan establecer el esquema de proteccin bsico para el desarrollo de un sistema operativo. Adems de ofrecer y garantizar durante el desarrollo la seguridad, el sistema es quien debe proveer de mecanismos de proteccin para la implementacin de las caractersticas de seguridad. Sin la capacidad de autorizar a los usuarios y procesos, de controlar su acceso y el registro de tareas, sera prcticamente imposible poder implementar estas medidas pues el sistema estara restringido para poder llevarlas a cabo. Lo idea es de que el sistema tenga la posibilidad de poder establecer un enfoque global de proteccin, soportndose tal vez por mecanismos de proteccin hardware. La mayor parte de los aspectos de seguridad resultan ser complicados, pues a medida que los usuarios malintencionados conocen las vulnerabilidades de los sistemas de seguridad estos pueden ser atacados. A medida que van creciendo los sistemas y las necesidades de los usuarios, es necesario establecer medidas de seguridad que respondan a los requerimientos del mismo sistema. Existen diferentes tipos de amenazas que pueden llegar afectar la integridad de los sistemas operativos, stas pondran al sistema operativo en un riesgo latente, o bien, dejarlo inservible, estas son: la interrupcin, la intercepcin, Para ejemplificar estas amenazas revisa el flujo normal de informacin, que surge cuando se va generando un flujo desde el origen -como un archivo o una regin de memoria principal- hacia su destino; la figura 3.1. representa un ejemplo de este flujo de 5 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 5

Programacin de sistemas operativos


Programa desarrollado
transmisin de datos desde el origen, sin ningn tipo de bloqueo o interrupcin hacia el destino de la informacin.

Figura 3.1. Flujo normal de informacin (Stallings, 2005: 573) Una de las amenazas ms comunes es la interrupcin, la cual es considerara una de las amenazas que afectan a la disponibilidad del sistema operativo -puede ser por un ataque que genere una interrupcin de los procesos o la administracin de archivos- esto tiene como consecuencia dejar al sistema intil. La figura 3.2. muestra un ejemplo de cmo se puede generar una interrupcin del flujo de informacin, la cual es causada por amenaza, bloqueo o falla en el flujo de la informacin hacia su destino; este ejemplo indica que el sistema operativo quedara intil tras esta interrupcin.

Figura 3.2. Flujo normal de informacin (Stallings, 2005: 573) La Intercepcin es otro tipo de amenaza, en un ejemplo tpico de este tipo se encuentra que ocurre un acceso de forma inesperada y sin autorizacin, la cual llega a afectar la integridad de la informacin. La figura 3.3. representa un ejemplo de flujo de informacin, donde el envi de la informacin a su destino es interceptada de forma no autorizada para poner en peligro la integridad de la informacin.

6 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 6

Programacin de sistemas operativos


Programa desarrollado
Figura 3.3. Flujo normal de informacin (Stallings, 2005: 573) Existe un tipo de amenaza ms latente y que afecta de forma directa la integridad de la informacin. En la figura 3.4. se representa un claro ejemplo de una alteracin del flujo de informacin, donde una amenaza acceda de forma no autorizada y modifica el flujo de informacin a su destino, alterando de forma directa la informacin del sistema operativo.

Figura 3.4. Flujo normal de informacin (Stallings, 2005: 573) Otro tipo de amenaza es la de invencin; esta pone en riesgo la integridad de la informacin. En la figura 3.5. se muestra como dentro de un flujo de informacin, una amenaza ingresa dejando fuera al origen de la informacin para formar parte de esta amenaza para insertar datos falsos al sistema operativo

Figura 3.5. Flujo normal de informacin Imagen 1. Flujo normal de informacin. (Stallings, 2005: 573) El problema ms comn al que se enfrente un sistema operativo y que es bastante difcil de afrontar, es la modificacin o alteracin de la informacin, lo cual provoca un mal

7 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 7

Programacin de sistemas operativos


Programa desarrollado
funcionamiento y afecta la integridad de las funciones, en la siguiente tabla se muestran las diferentes amenazas a las que se afrontan cada clase de elementos.

Tabla 3.1. Elementos que afrontan la seguridad e integridad de la informacin. (Stallings, 2005: 575) Las amenazas a la integridad de la informacin, son una preocupacin constante para los desarrolladores de sistemas operativos, ya que la confidencialidad, disponibilidad e integridad del sistema estara en peligro, por los diferentes tipos de amenazas que estn a la orden del da. Las amenazas por su complejidad y tipo de afectacin se pueden clasificar como amenazas pasivas y amenazas activas. Las amenazas pasivas, son aquellas que solo interceptan el flujo de la informacin afectando la confidencialidad de la misma, este tipo de amenazas tienen el objetivo solo de espiar y divulgar el contenido de la informacin. Estas amenazas son difcil de ser detectarla, pues no generan alteracin al administrador de archivos ni funcionalidad del sistema operativo, una posible medida debera ser de prevencin para evitar el filtrado. Las amenazas activas son delicadas para la integridad del sistema. En stas est latente la alteracin del flujo de datos o bien la creacin de un flujo falso que pone en riesgo el funcionamiento normal del sistema operativo. En la mayora de los casos una amenaza activa es difcil prevenir de forma absoluta, pues requerira de una proteccin de todos los servicios y rutas de comunicacin.

8 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 8

Programacin de sistemas operativos


Programa desarrollado

Actividad 1. Seguridad y proteccin dentro del diseo de un sistema operativo


La presente actividad tiene como propsito que reflexiones sobre la seguridad y la proteccin en un sistema operativo. 1. Retoma la lectura del tema 3.1. Entorno de Seguridad.

2. Busca los conceptos de seguridad y proteccin en cualquier mbito (laboral, personal, etc.). 3. Identifica qu seguridad y proteccin debes considerar para un buen sistema operativo y qu es lo ms importante: la seguridad o la proteccin. 4. Ingresa al foro y genera una nueva entrada.

3.1.1. Clasificaciones de la seguridad


El departamento de defensa de los EEUU, especifica cuatro clasificaciones de seguridad para los sistemas: A, B, C, D, esta especificacin se usa ampliamente en dicho pas para determinar la seguridad de una instalacin y modelar soluciones de seguridad. (Silberschatz, 2006). Tomando como base de referencia la clasificacin del autor, se ubican cuatro niveles de clasificacin de acuerdo a los requerimientos de seguridad necesaria para un sistema operativo: Nivel D. Esta divisin, es la considerada de menor nivel, o bien requiere de una proteccin mnima para la integridad del sistema operativo. Los sistemas operativos diseados con procesos individuales o mono usuarios, por su naturaleza de administracin simple de archivos no es muy comn o frecuente el uso de un nivel superior de la informacin. Nivel C. Est considerado como un nivel superior al mnimo de seguridad requerido para un sistema operativo, en este nivel se implementan mecanismos de proteccin de recursos que estaran bajo la responsabilidad de los usuarios quienes tendrn los privilegios de poder realizar modificaciones, se considera que los sistemas comerciales como Linux, Windows, por mencionar solo unos caen esta categora, este nivel a su vez se clasifica en dos subniveles. 9 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 9

Programacin de sistemas operativos


Programa desarrollado
C1. Este subnivel integra algunos controles que permitan a los usuarios proteger su informacin de lectura, escritura o eliminacin de archivos. o C2. En este subnivel, Es la parte superior del nivel C1 donde existe un usuario con privilegios superiores que permiten la auditoria de la informacin, tal como un administrador del sistema. Nivel B. En este nivel seguridad cuenta con los parmetros incluido de los niveles anteriores. Adicionando para el incremento de la seguridad, la amplitud de controles y etiquetas de seguridad, dominio y mecanismos estructurados de proteccin que son de utilidad para el refuerzo de restriccin de acceso no autorizados. Nivel A. Tcnicamente este nivel cumple con todas las caractersticas que tiene una clasificacin B, este nivel utiliza niveles especficos de diseo y tcnicas de validacin para el filtrado de la informacin. o

3.1.2. Verificacin de autenticidad de usuarios


Muchos esquemas de proteccin se basan en el supuesto de que el sistema conoce la identidad de cada usuario. El problema de identificar los usuarios cuando inician se denomina verificacin de autenticidad de usuarios. La mayor parte de los mtodos de verificacin de autenticidad se basan en identificar algo que el usuario conoce, tiene o es. Contrasea. Fuente Sistemas Operativos Diseo e implementacin, (Tanenbaum, 2003). Resulta un tanto simple para algunos usuarios o aplicaciones mal intencionadas, descifrar el contenido y complejidad de las contraseas y vencer la autenticidad de stas teniendo como resultado el acceso a la informacin de algn sistema ya sea para modificar el flujo de la informacin, como en la intercepcin, o algo ms delicado, como en la inversin. Frecuentemente se van incrementado los niveles de complejidad para la creacin de contraseas o password utilizados para la validacin de acceso a la informacin. Muchas aplicaciones codifican, por medio de algn algoritmo de encriptacin -este mtodo provee un nivel de seguridad ms avanzado que la utilizacin simple de caracterescomparndolo con la lista de contraseas disponibles para la validacin. Otro mtodo para la proteccin de contraseas es el cambio regular de stas. Es importante cambiarlas de manera peridica para evitar que algn intruso, pueda descifrarla. Otra variacin que es utilizada para la validacin y autentificacin de usuarios, es la utilizada para la identificacin fsica. Este enfoque se basa en algn dispositivo fsico para

10 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 10

Programacin de sistemas operativos


Programa desarrollado
la autorizacin de ingreso al sistema, se utiliza un algoritmo de validacin completamente distinto a una contrasea. El uso de los dispositivos es til para saber si se trata del usuario propietario, dichos dispositivos sern la llave de acceso al sistema; algo que ocurre de forma comn, es que las tarjetas magnticas que son validadas por un lector magntico -el cual determina si es vlida o no- no tienen un alto grado de efectividad en cuestiones de seguridad, ya que es comn el extravo o falsificacin de estos dispositivos. Las huellas digitales, lectura de retina o patrn de voz, forman parte de un mtodo fsico de verificacin de usuarios. Estos mtodos consisten en la verificacin y autenticidad fsica de las caractersticas nicas de cada usuario, las cuales resultan difcil de falsificar. La validacin o verificacin fsica es muy amplia y tiene muchas aplicaciones, ventajas y desventajas, comparndolos con otros medios de verificacin, el desarrollador es quien planea que tipo o clasificacin de seguridad se implementara para la validacin y acceso de usuarios. Algunas de las medidas preventivas que se deben de considerar para el incremento de las medidas de seguridad, son: Registrar los inicios de sesin y log de actividades. Bloqueo de inicios de sesin por fecha o por intentos errneos de validacin. Encriptacin, caducidad y modificacin constante de contraseas. Especificar estacin de trabajo validas para el acceso al sistema. Estas medidas son algunas de las ms usadas y son, bajo el criterio del desarrollador, el tipo de seguridad a implementar de acuerdo al nivel y uso de la informacin que sea considerada como importante.

3.1.3. Validacin y amenazas al sistema


Al da de hoy nos encontramos con amenazas a los sistemas operativos cada vez ms sofisticadas, las cuales aprovechan los puntos ms dbiles; por eso, es importante que se validen y se considere al disear un sistema operativo. Principales amenazas que se deben validar al disear un sistema operativo En la actualidad existen muchos tipos de amenazas, por lo cual, lo mejor es prevenir todas stas desde el diseo, teniendo en cuenta buenas prcticas de prevencin. Estas amenazas se conocen como virus que atacan y actan de muchas maneras, se mencionan algunas de ellas a continuacin: 11 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 11

Programacin de sistemas operativos


Programa desarrollado

Troyano Ingresa cuando el sistema no tiene seguridad, permite accesos a otros tipos de archivos que hacen dao y en ciertos momentos se activan y ejecutan actividades que daan. Exploits (secuencia de aprovechamiento) Localizan un punto dbil en el sistema y ejecutan acciones que no deberan ser ejecutadas causando caos en el sistema. Rootkits (secuencia de nulidad) Su origen est en el lenguaje UNIX y son herramientas que entran como administradores tomando el control. Backdoors (secuencia de salida emergente) Como su traduccin al espaol lo dice puerta trasera la cual es abierta para que otros sistemas dainos puedan entrar. Abren una puerta trasera en el sistema para que el creador de malware entre en el sistema y lo domine a su antojo. El objetivo es crear una red computadoras infectadas con el mismo. Keyloggers (registro de teclas o pulsaciones) Registra la pulsacin de las teclas y clic para enviarlas a un usuario no autorizado puede instalarse como hardware o aplicacin.

Actividad 2 Tabla de elementos que afectan la seguridad de un sistema


Con el fin de distinguir qu elementos afectan la seguridad en un sistema, en la siguiente actividad construirs una tabla de elementos, tomando en cuenta los temas abordados con anterioridad. 1. Investiga sobre los elementos de seguridad en un sistema operativo. 2. Con base en la investigacin, realiza una tabla que contenga los elementos de seguridad que debe tener un sistema operativo y cul es el objetivo de cada uno de ellos. 3. Tomando en cuenta la informacin contenida en la tabla, elige los tres elementos que consideres de mayor importancia y justifica los motivos por los cuales elegiste esos. 4. Guarda la actividad con el nombre PSO_U3_A2_XXYZ. Sustituye las XX por las dos primeras letras de tu primer nombre, la Y por la inicial de tu apellido paterno y la Z por la inicial de tu apellido materno.

12 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 12

Programacin de sistemas operativos


Programa desarrollado
5. Enva el archivo a travs de la seccin de Base de datos. 6. Revisa y comenta los trabajos de tus compaeros. 7. Con base en los comentarios de tus compaeros(as) reelabora tu tabla y envala a tu Facilitador(a) para recibir retroalimentacin.

3.2. Concepto y objetivos de proteccin


Por una necesidad de mantener la integridad y confiabilidad de los sistemas, la proteccin de stos se vuelve prioridad para todo desarrollo de sistemas operativos, una de las necesidades de la proteccin es impedir el acceso y violacin a la informacin del sistema de archivos. La proteccin es la fuente de control y restriccin de acceso a los sistemas, administracin de los recursos y procesos. El objetivo primordial de la proteccin, es proveer de un mecanismo que tenga la facultad de establecer polticas de restriccin, y crear bloqueos a usuarios mal intencionados. Cuando un sistema o parte del sistema no est protegido, no tiene la confiabilidad, integridad y mucho menos la disponibilidad de la informacin. Debido al mal uso de la informacin que puede llegar a ser modificada por el acceso de usuarios mal intencionados. Frecuentemente, podemos utilizar un principio director a lo largo de un proyecto, como pueda ser el diseo de un sistema operativo. Ajustarnos a este principio simplifica las decisiones de diseo y hace que el sistema contine siendo coherente y fcil de comprender. Uno de los principios directores clave y que ha resistido al paso del tiempo a la hora de proporcionar proteccin es el principio del mnimo privilegio. Este principio dicta que a los programas, a los usuarios, incluso a los sistemas se les concedan nicamente los suficientes privilegios para llevar a cabo a sus tareas. (Silberschatz, 2006) Se considera que cuando un sistema operativo cumple con el principio de mnimo privilegio, durante el desarrollo integra caractersticas y/o mecanismos de proteccin que cubran las necesidades de poder minimizar los daos causados por usuarios mal intencionados. Este principio tiene la bondad de poder ofrecer un entorno ms seguro al sistema, por ello es de suma importancia que sea considerado durante la planificacin y desarrollo, de lo contrario no lograra su objetivo de proteccin.

13 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 13

Programacin de sistemas operativos


Programa desarrollado
3.2.1. Mecanismos de proteccin
Durante el desarrollo del sistema, la parte fundamental que se debe considerar es la seguridad y proteccin del sistema operativo; se deben de tener en cuenta al menos los problemas potenciales considerados en temas anteriores, para solucionar esa parte se pueden utilizar tcnicas para poder establecer las polticas y mecanismos de proteccin. En algunos sistemas, la proteccin se impone mediante un programa llamado monitor de referencias. Cada vez que se intenta un acceso a un recurso que pudiera estar protegido, el sistema pide primero al monitor de referencias que verifique que tal acceso est permitido. (Tanenbaum, 2003) Los diferentes tipos de mecanismos de proteccin se encuentran clasificados en: Dominio de proteccin. Este punto considera al sistema de cmputo como grupo global de software y hardware, cada una de las partes que lo conforman tienen su propio nombre, caractersticas y objetivo, mediante el cual se podrn realizar operaciones con archivos y manejo de informacin. Durante la ejecucin de un proceso solo se podr tener acceso a los recursos que tiene autorizados para realizar sus tareas. En la siguiente figura (3.6.), se muestra un ejemplo de tres dominios, cada uno contiene sus propios objetos con la autorizacin para poder escribir (W), leer (R) y ejecutar (X), se puede apreciar que la impresora est en dos dominios distintos al mismo tiempo, debido a que los archivos de cada dominio hacen referencia a la misma impresora conectada al sistema de cmputo.

Figura 3.6. Dominios de proteccin con sus propios objetos y derechos de aplicacin. (Tanenbaum, 2003: 447) Listas de control de acceso. El objetivo de esta tcnica consiste en asociar los registros de una lista ordenada que contenga la mayor cantidad de dominios y que pueda ingresar al objeto. Capacidades. Este mtodo distingue las caractersticas de cada objeto, las cuales indican las operaciones permitidas que puede realizar, as la lista muestra los objetos y sus capacidades para logra procesar la informacin, con esto clasifica los objetos de acuerdo a sus capacidades facilitando el compartimiento de subdominios.

14 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 14

Programacin de sistemas operativos


Programa desarrollado
Matriz de acceso. Este modelo de proteccin, puede completar su estructura por medio de abstraccin de datos compuesto por una coleccin de derechos de acceso a la informacin, este tipo de modelo proporciona el mecanismo factible para definir e implementar un control especifico para la asociacin de procesos y dominios de forma dinmica y esttica, los procesos deben poder conmutar de un dominio a otro y permitir la modificacin controlada del contenido de las entradas de la matriz de acceso, estas por lo general requieren de operaciones adicionales, tales como: copy, owner and contro.

3.2.2. Funciones del sistema de proteccin


La principal caracterstica que distingue las funciones de un sistema de proteccin, es aquel que cumple con los requerimientos de proteccin de los procesos del sistema, contra los procesos de los usuarios, protege los procesos de los usuarios contra los de otros usuarios, protege la administracin de la memoria y protege los dispositivos. Durante el desarrollo del sistema operativo, es conveniente dar flexibilidad a la estructura de los datos para imponer una variedad de polticas y mecanismos de proteccin, exigiendo que cumpla con el mnimo de requerimientos para el control de prdida de datos. Ms adelante se mostrarn algunos de los mecanismos que se pueden utilizar para asegurar los archivos, segmentos de memoria y otros dispositivos administrados por el sistema operativo. Se dar cuenta que el principal objetivo de todo sistema operativo es mantener la confiabilidad, integridad y disponibilidad del sistema. El uso de estos mecanismos contribuye evitando el mayor nmero de amenazas que pueden afectar el rendimiento del sistema. La proteccin se refiere a la implementacin de mecanismos para restringir el acceso de programas, procesos o bien usuarios no deseados que pueden perjudicar el rendimiento del sistema. Las funciones principales para proveer un buen sistema de proteccin, son: Establecer polticas de uso de recursos. Las polticas se pueden establecer por usuario, administrador del sistema o bien sobre el diseo y/o desarrollo. Mecanismos de proteccin. Su uso comn es el controlar el acceso de programas o procesos a los recursos del sistema. Monitoreo de amenazas. Se pueden establecer rutinas de control que permitan ingresar al sistema o bien rechazar la peticin de acceso a determinadas aplicaciones o procesos. 15 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 15

Programacin de sistemas operativos


Programa desarrollado

Queda claro que es importante y necesaria la proteccin de un sistema operativo, para prevenir violaciones malintencionadas de acceso al flujo de datos de un proceso dentro del sistema. Por ello la conveniencia de asegurar cada componente que forme parte del sistema, un recurso o componente no asegurado no puede defenderse contra alguna variacin al flujo de datos.

3.2.3. Implementacin de matrices de acceso


Al iniciar con la implementacin de una matriz de acceso y de ir llenando de datos, la matriz tendr espacios vacos, estos lleva a una serie de desventajas en el rendimiento del sistema operativo. Los mtodos para la implementacin de una matriz de acceso son de utilidad para aquellas matrices dispersas y de poca utilidad, a continuacin se describe cada uno de estos mtodos para su implementacin: Tabla global. Este primer mtodo, tiene la funcin ms simple de acceso para una tabla compuesta por tripletas (dominio, objeto, conjunto-derechos), suponiendo que se tiene un Dominio Da, Un objeto Oa y sus derechos de lectura Ra. Si Da intenta el acceso en Oa mediante alguna operacin Ma, se analizar toda la tabla en bsqueda de la tripleta <Da, Oa, Ra> y que Ma pertenezca a Ra, si la encuentra realiza caso contrario sigue realizando el proceso de bsqueda o bien hasta que se genere algn error. Este tipo de implementacin resulta estar creciendo considerablemente conforme van generndose operaciones de E/S, por lo que no es posible mantenerla en memoria principal. Como desventaja se tienen que generar operaciones adicionales de E/S. Lista de acceso para los objetos. En este mtodo, se van almacenando los datos por columna en la matriz para ir asociando cada objeto dentro de una lista de ordenadas de pares. Siguiendo el ejemplo de la tripleta anterior, se tiene que si Da intenta ingresar a Oa mediante la operacin M se permite si, se encuentra <Da, Ra> y M tenga pertenencia en Ra. Su ventaja se radica en la facilidad de poder agrupar los dominios. Listas de capacidades para los dominios. La listas de capacidades se propusieron originalmente como una especie de puntero seguro, para satisfacer la necesidad de proteccin de los recursos que se prevea que iba a ser necesaria a medida que los sistemas informticos multiprogramados se generalizaran (Silberschatz, 2006).

La capacidad de este mtodo, consiste en que los derechos de acceso a un objeto se almacenan en la matriz por filas con su dominio, por lo general las listas de capacidades est asociada con un dominio, pero un proceso que se ejecute en el dominio no podr

16 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 16

Programacin de sistemas operativos


Programa desarrollado
ingresar de forma directa sobre esta. Cada elemento de la matriz es denominado como capacidad y la lista de capacidades debe de protegerse por el sistema operativo. Mecanismo de bloqueo-clave. El esquema de bloqueo-clave, es un compromiso entre las listas de acceso y las listas de capacidades. Cada objeto tiene una lista de patrones de bit distintos, denominados bloqueos. De forma similar, cada dominio tiene una lista de patrones de bit distintos, denominados claves (Silberschatz, 2006: 494).

La mayora de los sistemas requieren de alguna implementacin de matrices de acceso para localizar la informacin para un proceso determinado, y es decisin del desarrollador del sistema operativo determinar que mtodo sera el ms ptimo para la implementacin de las matrices de bsqueda.

Actividad 3. Cuadro sinptico de los mecanismos de proteccin


Esta actividad tiene como propsito que, mediante una representacin esquemtica, distingas las relaciones que se establecen entre los modelos, funciones e implementacin de los mecanismos de proteccin. 1. En un archivo de texto o Microsoft Visio realiza un cuadro sinptico con los temas de conceptos y objetivos de proteccin. 2. Guarda la actividad con el nombre PSO_U3_A3_XXYZ, donde XX es tu apellido(s) y YY nombre(S) 3. Enva el archivo a tu Facilitador(a) para recibir retroalimentacin.

Autoevaluacin
Para reforzar los conocimientos relacionados con los temas que se abordaron en esta tercera unidad del curso, es necesario que resuelvas la actividad integradora. Recuerda que es muy importante leer cuidadosamente los planteamientos indicados y elegir la opcin adecuada para cada uno.

Evidencia de aprendizaje. Diagrama de flujo del sistema operativo


17 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 17

Programacin de sistemas operativos


Programa desarrollado
Como parte de la evaluacin de esta unidad, debes llevar a cabo una actividad cuyo propsito es conceptuar el proceso del sistema operativo, mediante la aplicacin de los conceptos aprendidos en la unidad. 1. En un archivo de texto elabora un diagrama de flujo en el cual reflejes el orden, la secuencia y los pasos que realizaras para disear un sistema operativo con respecto a seguridad y proteccin, considerando todos los subtemas expuestos en la unidad. 2. Guarda la evidencia con el nombre PSO_U3_EA_XXYZ. 3. Enva el archivo a tu Facilitador(a) para recibir retroalimentacin.

Autorreflexiones
Adems de enviar tu trabajo de la Evidencia de aprendizaje, es importante que ingreses al foro Preguntas de Autorreflexin y consultes las preguntas que tu Facilitador(a) presente, a partir de ellas, debes elaborar tu Autorreflexin en un archivo de texto llamado PSO_U3_ATR_XXYZ. Posteriormente enva tu archivo mediante la herramienta Autorreflexiones.

Cierre de la unidad
Has concluido la tercera unidad del curso. A lo largo de sta se vieron conceptos bsicos sobre el la seguridad y proteccin, cmo se clasifica la seguridad, cmo se verifica la autenticidad de los usuarios y las principales amenazas que debemos considerar al disear un sistema operativo, en cuanto a la proteccin: qu mecanismos se utilizan para que es el sistema de proteccin y cmo se implementan la matrices de acceso.

Es aconsejable que revises nuevamente la unidad en caso de que los temas que se acaban de mencionar no te sean familiares o no los recuerdes, de no ser este tu caso, ya ests preparado(a) para seguir con la unidad cuatro, en donde continuars con la base del diseo del sistema operativo. Todo ello con el fin de obtener el prototipo final al terminar la ltima unidad del curso de Programacin de Sistemas Operativos.

18 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 18

Programacin de sistemas operativos


Programa desarrollado
Para saber ms
Si deseas conocer ms informacin acerca de la seguridad de los sistemas operativos, revisa la siguiente pgina web: Seguridad de los Sistemas Operativos http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/SO14.htm

Fuentes de consulta
Candela, S. y Garca, C. (2007) Fundamentos de Sistemas Operativos. Teora y ejercicios resueltos. Espaa: Paraninfo. Ortiz, H. (2005) Sistemas Operativos Modernos. Colombia: Medellin. Silberschatz, Abraham (2006) Fundamentos de Sistemas Operativos. 7ma. Edicin. Espaa: Mc. Graw Hill. Stallings, W. (2005) Sistemas Operativos Modernos: Aspectos Internos y principios de diseo. Mxico: Pearson, Prentice Hall Tanenbaum, A (2003) Sistemas Operativos Modernos. Mexico: Pearson Educacin.

19 Ciencias Exactas, Ingenieras y Tecnologa | Ingeniera en Desarrollo de Software 19