Proteccion y Seguridad en Sistemas Operativos

República Bolivariana de Venezuela. Ministerio del Poder Popular para la Educación Superior. Instituto Universitario Pol

Views 84 Downloads 8 File size 788KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

República Bolivariana de Venezuela. Ministerio del Poder Popular para la Educación Superior. Instituto Universitario Politécnico “Santiago Mariño”. Barcelona – Edo. Anzoátegui. Escuela: Sistemas.

Seguridad y Protección en Sistemas Operativos

Profesor:

Bachiller:

Aray Ramón.

Hurtado Danianny. C.I: 24.392.194.

Seguridad en un Sistema Operativo La seguridad: es la ausencia de un riesgo. Aplicando esta definición a al tema correspondiente, se hace referencia al riesgo de accesos no autorizados, de manipulación de información, manipulación de las configuraciones, entre otros. La seguridad es algo que manejamos en todos los aspectos de nuestras vidas, y por experiencia se sabe que no depende de un solo actor (persona, computador,…) si no que está fuertemente ligada con todo lo que lo rodea, por esto la seguridad no solo es manejada por el sistema operativo si no que es necesario un refuerzo como otro software que comúnmente denominamos “antivirus”. Un SO como administrador de los recursos cumple funciones muy importantes en la instrumentación de la seguridad pero no engloba todos los aspectos de esta, la cual se fortalece según las necesidades y los usos (es decir que según la necesidades y enfoques que dan los usuarios a los equipos estos cuentan con diferentes tipos de seguridad). En la actualidad los conceptos e ideas tenidos sobre la seguridad han ido cambiando mucho, esto porque se entró a un era donde es posible los accesos remotos a los equipos, donde se busca que todo proceso sea más fácil de realizar (y sabemos que la seguridad es inversamente proporcional a la facilidad de uso). Un sistema de seguridad debe cumplir con unos requisitos: Confidencialidad: Acceso solo a usuarios autorizados. Integridad: Modificación solo por usuarios autorizados. Disponibilidad: Recursos solamente disponibles para usuario autorizado.

El sistema operativo, como administrador de los recursos cumple medidas externas de seguridad ya que realmente con la simple seguridad física resulta insuficiente ante la posibilidad acceso mediante equipos remotos conectados y es por eso que se debe identificar las amenazas potenciales que pueden proceder de fuentes maliciosas o no. La seguridad tiene muchas facetas. Dos de las más importantes son la perdida de datos y los intrusos. Algunas de las causas más comunes de la perdida de datos son:   

Actos divinos: Incendios, inundaciones, terremotos, guerras, revoluciones o ratas que roen las cintas o discos flexibles. Errores de Hardware o Software: Mal funcionamiento de la CPU, discos o cintas ilegibles, errores de telecomunicación o errores en el programa. Errores Humanos: Entrada incorrecta de datos, mal montaje de las cintas o el disco, ejecución incorrecta del programa, perdida de cintas o discos.

Tipos de Seguridad en un Sistema Operativo La seguridad interna está relacionada a los controles incorporados al hardware y al Sistema Operativo para asegurar los recursos del sistema.

Seguridad Externa: La seguridad externa consiste en:  

Seguridad física. Seguridad operacional.

La seguridad física incluye:  

Protección contra desastres (como inundaciones, incendios, etc.). Protección contra intrusos.

En la seguridad física son importantes los mecanismos de detección, algunos ejemplos son:   

Detectores de humo. Sensores de calor. Detectores de movimiento.

La protección contra desastres puede ser costosa y frecuentemente no se analiza en detalle; depende en gran medida de las consecuencias de la perdida. La seguridad física trata especialmente de impedir la entrada de intrusos: 

Se utilizan sistemas de identificación física: 1. Tarjetas de identificación. 2. Sistemas de huellas digitales. 3. Identificación por medio de la voz.

Seguridad Operacional: Consiste en las diferentes políticas y procedimientos implementados por la administración de la instalación computacional. La autorización determina que acceso se permite y a quien. La clasificación divide el problema en sub-problemas:  

Los datos del sistema y los usuarios se dividen en clases: A las clases se conceden diferentes derechos de acceso.

Un aspecto crítico es la selección y asignación de personal:  

La pregunta es si se puede confiar en la gente. El tratamiento que generalmente se da al problema es la división de responsabilidades: o Se otorgan distintos conjuntos de responsabilidades. o No es necesario que se conozca la totalidad del sistema para cumplir con esas responsabilidades. o Para poder comprometer al sistema puede ser necesaria la cooperación entre muchas personas:  Se reduce la probabilidad de violar la seguridad. o Debe instrumentarse un gran número de verificaciones y balances en el sistema para ayudar a la detección de brechas en la seguridad. o El personal debe estar al tanto de que el sistema dispone de controles, pero:  Debe desconocer cuales son esos controles: a. Se reduce la probabilidad de poder evitarlos.

b. Debe producirse un efecto disuasivo respecto de posibles intentos de violar la seguridad. Para diseñar medidas efectivas de seguridad se debe primero:   

Enumerar y comprender las amenazas potenciales. Definir qué grado de seguridad se desea (y cuanto se está dispuesto a gastar en seguridad). Analizar las contramedidas disponibles.

Protección en un Sistema Operativo La protección: son los diferentes mecanismo utilizados por el SO para cuidar la información, los procesos, los usuarios, etc. La protección se refiere a los mecanismos para controlar el acceso de programas, procesos, o usuarios a los recursos definidos por un sistema de computación. Seguridad es la serie de problemas relativos a asegurar la integridad del sistema y sus datos. 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 Pero contra que nos debemos proteger:          

Adware Backdoor Badware alcalinos Bomba fork Bots Bug Toryano Cookies Crackers Cryptovirus

Esos entre muchos otros software que desde sus diferentes especialidades atacan nuestro sistema, pero recordamos que no solo se trata de protección de software sino que también se incluye la protección contra los usuarios. La protección es algo que inicia desde el SO y que termina con las practicas que nosotros como usuarios realizamos, por ejemplo los correos que se revisan el antivirus que se instala. Funciones del sistema de protección:

Tipos de Protección en un Sistema Operativo Protección por Contraseña: Las clases de elementos de autentificación para establecer la identidad de una persona son:  

Algo sobre la persona: o Ej.: huellas digitales, registro de la voz, fotografía, firma, etc. Algo poseído por la persona: o Ej.: insignias especiales, tarjetas de identificación, llaves, etc.



Algo conocido por la persona: o Ej.: contraseñas, combinaciones de cerraduras, etc.

El esquema más común de autentificación es la protección por contraseña: 

El usuario elige una palabra clave, la memoriza, la teclea para ser admitido en el sistema computarizado: o La clave no debe desplegarse en pantalla ni aparecer impresa.

La protección por contraseñas tiene ciertas desventajas si no se utilizan criterios adecuados para:    

Elegir las contraseñas. Comunicarlas fehacientemente en caso de que sea necesario. Destruir las contraseñas luego de que han sido comunicadas. Modificarlas luego de algún tiempo.

Los usuarios tienden a elegir contraseñas fáciles de recordar:  

Nombre de un amigo, pariente, perro, gato, etc. Número de documento, domicilio, patente del auto, etc.

Estos datos podrían ser conocidos por quien intente una violación a la seguridad mediante intentos repetidos, por lo tanto debe limitarse la cantidad de intentos fallidos de acierto para el ingreso de la contraseña. La contraseña no debe ser muy corta para no facilitar la probabilidad de acierto. Tampoco debe ser muy larga para que no se dificulte su memorización, ya que los usuarios la anotarían por miedo a no recordarla y ello incrementaría los riesgos de que trascienda.

Protección Basada en el Lenguaje: Los lenguajes de programación permiten especificar el control de acceso deseado a un recurso compartido en un sistema es hacer una declaración acerca del recurso. Este tipo

de declaración se puede integrar en un lenguaje mediante una extensión de su mecanismo de tipificación. Si se declara la protección junto con la tipificación de los datos, el diseñado de cada subsistema puede especificar sus necesidades de protección así debería darse directamente durante la redacción del programa, y en el lenguaje en el que el programa mismo se expresa. Este enfoque tiene varias ventajas importantes: 1. Las necesidades de protección se declaran de forma sencilla en vez de programarse como una secuencia de llamadas a procedimientos de un sistema operativo. 2. Las necesidades de protección pueden expresarse independientemente de los recursos que ofrezca un sistema operativo en particular. 3. El diseñador de un subsistema no tiene que proporcionar los mecanismos para hacer cumplir la protección. 4. Una notación declarativa es natural porque los privilegios de acceso están íntimamente relacionados con el concepto lingüístico de tipo de datos. Hay diversas técnicas que una implementación de lenguaje de programación puede utilizar para hacer cumplir la protección, pero cualquiera de ellas deberá depender hasta cierto punto del grado de soporte de una máquina subyacente y su sistema operativo. La especificación de protección en un lenguaje de programación permite la descripción de alto nivel de políticas para la asignación y uso de recursos. La implementación del lenguaje puede proveer software para hacer cumplir la protección cuando no se pueda validar si el hardware está soportado. Interpretar las especificaciones de protección para generar llamadas en cualquier sistema de protección provisto por el hardware y el SO.

Diferencia entre Seguridad y Protección La seguridad informática es una materia amplia, que abarca entre otras cosas: los modos de trabajo de las personas, los dispositivos físicos de seguridad y la seguridad interna de la máquina y el sistema operativo. La Protección es la parte de la seguridad interna relativa al control de acceso de programas, procesos o usuarios a los recursos de un sistema informático. La seguridad en un sistema operativo se compone de múltiples facetas: protección ante posibles daños físicos, intrusos, fallos de confidencialidad, etc. El hardware, software y datos son objetos que pueden recibir ataques internos o externos dentro de un sistema y es obligación de un sistema operativo el tener en cuenta este tipo de eventos provenientes del entorno en el que se encuentra para poder tomar acciones para poder mantener un entorno seguro y bien protegido. Mientras que la protección consiste en evitar que se haga uso indebido de los recursos que están dentro del ámbito del sistema operativo (Archivos, zonas de memoria, etc.), además es necesario poder comprobar que los recursos solo se usan por usuarios que tienen derecho de acceso a ellos.

Medidas de Seguridad y Protección en un Sistema Operativo Para proteger un sistema, debemos optar las necesarias medidas de seguridad en cuatro niveles distintos: Físico: El nodo o nodos que contengan los sistemas informáticos deben dotarse de medidas de seguridad físicas frente a posibles intrusiones armadas o subrepticias por parte de potenciales intrusos. Hay que dotar de seguridad tanto a las habitaciones donde las maquinas residan como a los terminales o estaciones de trabajo que tengan acceso a dichas maquinas. Humano: La autorización de los usuarios debe llevarse a cabo con cuidado, para garantizar que solo los usuarios apropiados tengan acceso al sistema. Sin embargo, incluso los usuarios autorizados pueden verse “motivados” para permitir que otros usen su acceso (por ejemplo, a cambio de un soborno). También pueden ser engañados para permitir el acceso de otros, mediante técnicas de ingeniería social. Uno de los tipos de ataque basado en las técnicas de ingeniería social es el denominado phishing; con este tipo de ataque, un correo electrónico o página web de aspecto autentico llevan a engaño a un usuario para que introduzca información confidencial. Otra técnica comúnmente utilizada es el análisis de desperdicios, un término autorizado a la computadora (por ejemplo, examinando el

contenido de las papeleras, localizando listines de teléfonos encontrando notas con contraseñas). Estos problemas de seguridad son cuestiones relacionadas con la gestión y con el personal, más que problemas relativos a los sistemas operativos. Sistema operativo: El sistema debe auto protegerse frente a los diversos fallos de seguridad accidentales o premeditados. Un problema que este fuera de control puede llegar a constituir un ataque accidental de denegación de servicio. Asimismo, una cierta consulta a un servicio podría conducir a la revelación de contraseñas o un desbordamiento de la pila podría permitir que se iniciara un proceso no autorizado. La lista de posibles fallos es casi infinita. Red: Son muchos los datos en los modernos sistemas informáticos que viajen a través de líneas arrendadas privadas, de líneas compartidas como Internet, de conexiones inalámbricas o de líneas de acceso telefónico. La interceptación de estos datos podría ser tan dañina como el acceso a un computador, y la interrupción en la comunicación podría constituir un ataque remoto de denegación de servicio, disminuyendo la capacidad de uso del sistema y la confianza en el mismo por parte de los usuarios. El sistema operativo es el entorno físico en el que se ejecuta la aplicación. Cualquier vulnerabilidad en el sistema operativo puede comprometer la seguridad de la aplicación. La protección del sistema operativo garantiza la estabilidad del entorno, el control del acceso a los recursos y el control del acceso externo al entorno. La seguridad física del sistema es esencial. Las amenazas pueden llegar a través de la web, pero también pueden llegar de un terminal físico. Aunque el acceso web sea muy seguro, si un atacante obtiene acceso físico a un servidor, entrar en un sistema es mucho más fácil. Revise las políticas de seguridad y las recomendaciones del sistema operativo. Considere la posibilidad de implementar los siguientes métodos recomendados de seguridad. Cuentas de usuario:     

Limite el número de cuentas de usuario en los sistemas servidores. Las cuentas de usuario innecesarias y heredadas aumentan la complejidad del sistema y pueden presentar vulnerabilidades en el sistema. Un menor número de cuentas de usuario reduce la cantidad de tiempo que los administradores dedican a la administración de las cuentas. Asegúrese de que sólo unos cuantos usuarios de confianza tengan acceso administrativo a los sistemas servidores. Un menor número de administradores facilita el mantenimiento de la responsabilidad. Los administradores deben ser competentes.

 

Asigne los permisos de acceso mínimos necesarios para la cuenta que ejecuta la aplicación. Si los atacantes obtienen acceso a la aplicación, tendrán los permisos del usuario que ejecuta la aplicación.

Políticas de las cuentas:    

 

Desarrolle y administre políticas de contraseña que promuevan la seguridad del sistema operativo. Ejemplos de dichas políticas son la regla de contraseña segura y la planificación de cambio de contraseña. Compruebe la fortaleza de las contraseñas de los usuarios descifrando las contraseñas. Los usuarios que no cumplan con la regla de contraseña segura recibirán una notificación para actualizar sus contraseñas según la política de contraseñas de la organización. Hay software disponible que le ayudará a realizar esta tarea. En un sistema operativo UNIX, active el archivo de contraseña duplicado. En UNIX, las contraseñas se almacenan en el archivo/etc/passwd. Este archivo está abierto a todo el mundo, lo que representa un riesgo de seguridad. Para mejorar la seguridad de la contraseña, active el archivo de contraseña duplicado llamado /etc/shadow. Si este archivo está disponible, las contraseñas se almacenan en él en lugar de en el archivo passwd. Dado que los permisos para el archivo /etc/shadow son más restrictivos, el riesgo de seguridad es menor.

Sistema de archivos:    

Otorgue a los usuarios permisos de sólo lectura para los directorios necesarios. Si los atacantes obtiene acceso a una aplicación, tendrán los permisos de usuario. Deniegue el acceso de forma predeterminada. El acceso a los recursos se deniega a todos los usuarios excepto a los que se concede acceso explícitamente. Puede denegar los permisos de lectura y escritura para todas las estructuras de directorios a todos los usuarios. Sólo los usuarios a los que se otorgan estos permisos explícitamente tienen acceso a los directorios y archivos. Esta política también protege los recursos que un administrador ha pasado por alto.

Servicios de red:

 

      

      

Proporcione el número mínimo de servicios necesarios en el sistema servidor. Utilice sólo los servicios que necesita para ejecutar la aplicación. Cada servicio es un punto de entrada potencial para un ataque malintencionado. Reducir el número de servicios en ejecución también permite gestionar mejor el sistema. Por ejemplo, es posible que no necesite los servicios ftp, rlogin o ssh. Reduzca el nivel de permisos de acceso para los usuarios de los servicios de red. Los servicios de red están expuestos al público. Asegúrese de que las cuentas de usuario que tienen acceso al servicio web no tengan acceso a las funciones de shell. Asegúrese de que los servicios no utilizados no existan en los archivos rc, rc0 a rc6, en el directorio /etc en UNIX ni en los sistemas operativos Linux. Asegúrese de que los servicios no utilizados no se ejecuten y de que no se inicien automáticamente en los sistemas operativos Microsoft Windows. Asegúrese de que los servicios necesarios se ejecuten en UNIX. Puede utilizar los programas de utilidad ps y netstat para ver los servicios en ejecución. El programa de utilidad ps proporciona una lista de procesos actualmente en ejecución en el sistema. El programa de utilidad netstat proporciona una lista de puertos que se utilizan actualmente Reduzca el número de puertos de confianza especificados en el archivo /etc/services. Suprima o marque como comentario los puertos que no tenga previsto utilizar para eliminar los posibles puntos de entrada al sistema. Proteja el sistema frente a las amenazas a NetBIOS asociadas con los puertos 137, 138 y 139. Estos puertos se enumeran en el archivo /etc/services. Utilice los servicios de derivador, como iptables. Asegúrese de que los servicios son actuales comprobando con frecuencia si hay actualizaciones de seguridad. Evite, si es posible, utilizar servicios que tengan una interfaz gráfica de usuario (GUI). Dichos servicios introducen muchas vulnerabilidades de seguridad conocidas.

Parches del sistema: 



Ejecute los parches más recientes recomendados por el proveedor para el sistema operativo. Los parches pueden ser parches de sistema operativo principales, o parches necesarios para las aplicaciones adicionales. Planifique el mantenimiento regular de los parches de seguridad.

Minimización del sistema operativo:   

Elimine las aplicaciones que no sean esenciales para reducir las posibles vulnerabilidades del sistema. Restrinja los servicios locales a los servicios necesarios para la operación. Implemente un sistema de protección para el desbordamiento del búfer. Para ello, es posible que necesite software de terceros.

Registro y supervisión: 

  

 



Registre los eventos relacionados con la seguridad, incluidos los inicios de sesión satisfactorios y fallidos, los cierres de sesión y los cambios en los permisos de usuario. Supervise los archivos de registro del sistema. Utilice un servidor de hora para ajustar la hora con el fin de realizar tareas de diagnóstico. Proteja los archivos de registro del sistema restringiendo los permisos de acceso a ellos. Los registros son importantes para el mantenimiento diario y como herramienta de recuperación de desastres. Por lo tanto, deben ser protegidos de los errores del sistema y la manipulación indebida por parte del usuario. Utilice el registro IPF para crear un sistema de registro más sofisticado. Proteja el archivo de configuración de registro. El archivo de configuración contiene valores que, si se cambian, pueden poner en peligro la fiabilidad del sistema de registro. Por ejemplo, establecer el nivel de registro incorrectamente puede ocasionar que algunos errores no se registren. Habilite el registro de solicitudes de acceso en el servidor web. Esto puede ser útil para identificar las actividades maliciosas.

Integridad del sistema:    

Cree sistemas de producción a partir de un proceso conocido y repetible para garantizar la integridad del sistema. Compruebe los sistemas periódicamente con instantáneas del sistema original. Utilice software de auditoría de terceros disponible para comprobar la integridad del sistema. Realice regularmente copias de seguridad de los recursos del sistema.

Cifrado: El cifrado es un método que permite aumentar la seguridad de un mensaje o de un archivo mediante la codificación del contenido, de manera que sólo pueda leerlo la persona que cuente con la clave de cifrado adecuada para descodificarlo. Por ejemplo, si realiza una

compra a través de Internet, la información de la transacción (como su dirección, número de teléfono y número de tarjeta de crédito) suele cifrarse a fin de mantenerla a salvo. Use el cifrado cuando desee un alto nivel de protección de la información. Métodos y Técnicas de Cifrado: Cifrado de sustitución: El cifrado de sustitución consiste en reemplazar una o más entidades (generalmente letras) de un mensaje por una o más entidades diferentes. Existen varios tipos de criptosistemas de sustitución:    

La sustitución monoalfabética consiste en reemplazar cada una de las letras del mensaje por otra letra del alfabeto. La sustitución poli alfabética consiste en utilizar una serie de cifrados mono alfabético que son re-utilizados periódicamente. La sustitución homófona hace posible que cada una de las letras del mensaje del texto plano se corresponda con un posible grupo de caracteres distintos. La sustitución poligráfica consiste en reemplazar un grupo de caracteres en un mensaje por otro grupo de caracteres.

Cifrado César: Este código de cifrado es uno de los más antiguos ya que su uso se remonta a Julio César. El principio de cifrado se basa en la adición de un valor constante a todos los caracteres de un mensaje o, más precisamente, a su código ASCII. Cifrado ROT 13: El caso específico del cifrado César donde la clave de cifrado es N (la 13º letra del alfabeto) se denomina ROT 13 (se eligió el número 13, la mitad de 26, para que sea posible cifrar y descifrar fácilmente mensajes textuales). Cifrado de Transposición: El método de cifrado por transposición consiste en reordenar datos para cifrarlos a fin de hacerlos ininteligibles. Esto puede significar, por ejemplo, reordenar los datos geométricamente para hacerlos visualmente inutilizables. El Cifrado Simétrico: El cifrado simétrico (también 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 operación (un algoritmo) a los datos que se desea cifrar utilizando la clave privada para hacerlos ininteligibles. El algoritmo más simple (como un OR exclusivo) puede lograr que un sistema prácticamente a prueba de falsificaciones (asumiendo que la seguridad absoluta no existe). El Cifrado Asimétrico: El cifrado asimétrico (también conocido como cifrado con clave pública). En un criptosistema asimétrico (o criptosistema de clave pública), las claves se dan en pares: 

Una clave pública para el cifrado.



Una clave secreta para el descifrado.

En un sistema de cifrado con clave pública, los usuarios eligen una clave aleatoria que sólo ellos conocen (ésta es la clave privada). A partir de esta clave, automáticamente se deduce un algoritmo (la clave pública). Los usuarios intercambian esta clave pública mediante un canal no seguro.

La identificación del usuario (Autenticación): El objetivo es determinar si un usuario es quien dice ser, existen diversas formas de controles como pedir información que solo él conoce a través de contraseñas, determinar características físicas del usuario o pedir un objeto que use el usuario por ejemplo. El proceso de autenticación pide tres valores:   

Identificación del usuario Contraseña Domino de protección al que pertenece el usuario

Palabras Clave: Es el método más usado actualmente para identificar a un usuario, consiste en un conjunto de caracteres alfanuméricos y especiales conocido únicamente por el usuario y por el sistema operativo sobre el que se ha llegado a un acuerdo para que sea usado como clave de acceso al sistema. Para la asignación de claves, la palabra clave es fijada por el usuario cuando entra en su cuenta y puede cambiarla en el momento que desee. 

Longitud y formato de claves: La longitud y el formato de las claves han ido cambiando a través del tiempo, principalmente debido a la detección de fallos asociados a las claves usadas en cada momento. Donde para aumentar la complejidad de la clave se puede hacer que el mandato que permite cambiar la contraseña obligue al usuario a meter caracteres no alfanuméricos y que fuerce la existencia de contraseñas de una longitud mínima añadiendo números aleatorios a la palabra antes de cifrarla.

 

Almacenamiento de claves: Suelen almacenarse en archivos cifrados, esto con el objetivo de incrementar la seguridad. Duración de las claves: Se recomienda que sean válidas únicamente durante un cierto tiempo.

Dominios de Protección: Consiste en la relación entre objetos y derechos de acceso, es un conjunto de pares (Objeto, derechos) donde cada par especifica un objeto y las operaciones que pueden ejecutarse sobre el mismo. Un objeto puede pertenecer a varios dominios de protección simultáneamente. Implantación de matrices de acceso: Un modelo de protección puede ser visto abstractamente como una matriz, llamada matriz de derecho. Los renglones de la matriz representan dominios y las columnas representan objetos. Cada entrada en la matriz contiene un conjunto de derechos de acceso. Dado que los objetos son definidos explícitamente por la columna, se puede omitir el nombre del objeto en el derecho de acceso. La entrada "Matriz [i, j]" define el conjunto de operaciones que un proceso ejecutándose en el dominio "Dj" puede realizar sobre el objeto "Oj". Lista de Control de Acceso: Es necesario especificar qué tipos de acceso al objeto son posibles, a cada objeto se le asocia una lista de pares (Dominio, operaciones), cuando un usuario pide acceso a un objeto, se determina a qué dominio de protección pertenece y se recorre la lista para ver si se puede hacer la operación.  

Unix: Implementación sencilla por la simplificación de dominios de protección llevada a cabo por el sistema operativo. Windows NT: Más sofisticado de Unix, todos los objetos tienen asignados descriptores de seguridad como parte de sus fichas de acceso.

Capacidades: La otra forma posible de implementar la matriz de protección es asociar a cada dominio un conjunto de descriptores que indiquen las operaciones que los componentes de ese dominio pueden efectuar sobre cada objeto del sistema. Estos descriptores se denominan capacidades y son una combinación de una referencia a un objeto con los permisos de acceso al mismo desde el dominio del poseedor de la capacidad.  

Son muy útiles para incluir información de protección para un proceso en particular. El mecanismo de comprobación de derecho es muy sencillo.



Se adaptan muy bien a sistemas distribuidos.

Revocación de Derechos de Acceso: Un problema de las capacidades es que en un sistema dinámico, pueden existir cientos de capacidades concedidas para acceder a un objeto, lo que hace muy difícil su control. El revocar los derechos de acceso para un objeto en particular es complicado, el sistema debe buscar todas las capacidades existentes sobre el mismo para aplicar la revocación de derechos. Las capacidades se pueden implementar, para facilitar la revocación de derechos de acceso como lista de control de acceso en la cual se puede mantener una lista desde cada objeto a todas sus capacidades. Si hay modificaciones, se recorre dicha lista y se aplican, claves de versión donde cada objeto tiene una clave maestra que se copia en cada nueva capacidad sobre ese objeto.

¿Cómo garantizar la Seguridad y Protección en un Sistema Operativo? Es necesario el diseño para que admitan mecanismos de seguridad desde un principio, Saitzer y Schroeder extrajeron los criterios de diseño siguientes para dotar a un Sistema Operativo de mecanismos de seguridad:        

Diseño abierto (Para disuadir a posibles curiosos). Exigir permisos (Política de acceso restrictiva). Privilegios mínimos (Asignar únicamente prioridades necesarias). Mecanismos económicos (Sencillos, regulares y pequeños). Intermediación completa (Comprobación de acceso al sistema). Compartición mínima. Fáciles de usar y aceptables (Aceptado por usuarios y fácil de usar). Separación de privilegios (Más de un mecanismo de protección, criptografía).

Técnicas de diseño de sistemas seguros:   

Separación de recursos (Física, temporal, criptográfica y lógica) Uso de entornos virtuales (Espacios múltiples de memoria virtual, máquinas virtuales) que proporcionan un entorno virtual completo para cada usuario. Diseño por capas: Varios niveles, donde los niveles interiores son los de más confianza

Controles de seguridad externos al sistema operativo: 

Equipos de penetración y limitación de acceso: Para tratar de detectar el mayor número de fallos posible es habitual usar equipos de penetración, en donde su





misión es llevar a cabo todos los ataques de seguridad sobre un sistema. El conjunto de pruebas de seguridad debe ser complejo y riguroso, sobre todo si se trata de sistemas que están conectados en red por la posibilidad de difusión de virus e intento de adquisición de palabras de acceso al sistema mediante programas que descifran dichos códigos. La complejidad de las comprobaciones y el registro de acceso aumentan en los sistemas conectados a una red; en tal caso la seguridad se enfrenta a múltiples puntos de ejecución y canales de comunicación expuestos, por tal motivo se debe utilizar algún mecanismo de protección como el firewall, que consiste en limitar el acceso a la red interna y solo poder realizarlo a través de una máquina determinada denominada cortafuegos. Controles de programación: El diseño y código del sistema deben ser revisados por un grupo de los diseñadores y programadores, se puede aplicar a los programas encapsulando datos y métodos de un objeto de forma que sólo se puedan acceder por métodos verificados e interfaz definida, pruebas independientes, cualquier cambio o instalación de software en un sistema debe ser aprobado por el administrador. Uso de estándares para seguridad: Existen estándares que describen un sistema fiable, algunos controles serían el software viable, sospechar de procesos, registrar accesos, búsquedas periódicas de agujeros de seguridad, etc.

Bibliografía Seguridad y Protección en los Sistemas operativos. (2012). Seguridad y protección de los sistemas operativos. Recuperado de http://blog.utp.edu.co/seguridadso/. Moreno, Martha M. Sistemas Operativos. Protección y Seguridad. Recuperado de http://sistemasoperativos.angelfire.com/html/6.6.html. José E (2012). Blogspot. Sistemas Operativos. Recuperado http://07sistemasoperativos.blogspot.com/2012/11/65-concepto-de-seguridad.html.

de

IBM. Técnicas para proteger el sistema operativo. Recuperado de http://www.ibm.com/support/knowledgecenter/es/SSEP7J_10.2.1/com.ibm.swg.ba.cogn os.crn_arch.10.2.1.doc/c_securing_the_operating_system.html. García, Yuliana D (2012). Blogspot. 6.4. PROTECCIÓN BASADA EN EL LENGUAJE. Recuperado de http://equipo4operatingsystems.blogspot.com/2012/11/proteccionbasada-en-el-lenguaje.html. Luna, S. (2011). Blogspot. Sistemas http://equipo1tecos.blogspot.com/2011/11/6.html.

Operativos.

Recuperado

de

David (2001). Sistemas Operativos. Seguridad de los Sistemas Operativos. Recuperado de http://exa.unne.edu.ar/informatica/SO/SO14.htm#PpC. Dávila, Helmuth (2010). Blogspot. Sistemas Operativos 2. Recuperado de http://so2helmuth.blogspot.com/2010/12/seguridad-y-proteccion.html. Abraham (2008). Blogspot. Sistemas Operativos. Recuperado http://sistemasoperativos-garcia2.blogspot.com/2008/11/unidad-6-proteccion-yseguridad.html.

de