domingo, 29 de mayo de 2016

actividad 1 concepto de seguridad y sus estandares

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.

La seguridad se basa en tres aspectos de diseño:

·         Evitar la pérdida de datos: La cual se puede dar por varias razones, entre las que podemos mencionar las catástrofes naturales o artificiales, errores del hardware o del software, errores humanos. Una solución a este tipo de problemas es mantener una copia o varias de los datos almacenadas en distintos lugares.
·         Confidencialidad de los datos: Este tipo de control sobrepasa el ámbito de los sistemas operativos, aunque una parte del problema puede resolverse en su ámbito interno. La solución a este problema puede realizarse estableciendo actuaciones externas al sistema operativo, que pueden ser incluso policiales.

·         Controlar acceso de los datos y recursos: Es competencia directa del sistema operativo, es necesario que los usuarios no puedan acceder a archivos a los que no tienen permisos de acceso, se deben ejecutar pruebas de seguridad exhaustivas para todos los elementos del sistema, controles de acceso (Autenticación de usuarios y protección frente a accesos indebidos).

Problemas de Seguridad:

·         Uso indebido o malicioso de programas: Los problemas de seguridad generados por programas maliciosos son difíciles de detener y corregir, dos formas muy frecuentes de generar fallas de seguridad son los caballos de troya (Crear programa para que haga cosas no autorizadas en el sistema cuando actúa en el entorno adecuado) y las puertas de atrás (Crean un agujero de seguridad a través de un programa privilegiado que lo permite).

·         Usuarios inexpertos o descuidados: Potencialmente peligrosos, pueden borrar archivos no deseados, dejar abierto el sistema durante largo tiempo, escribir en papel palabras clave junto a la computadora, etc.

·         Usuarios no autorizados: Debe existir un proceso de autenticación de usuarios para evitar usuarios no autorizados, el correo electrónico puede usarse como portador de programas destructores, la existencia de sistemas abiertos da lugar a cuatro tipos de ataques de seguridad: virus, gusanos, rompedores de claves y bombardeos.

·         Virus: Programas que se auto replican con fines destructivos o de violación de seguridad, necesitan un programa que los transporte y un agente que los transmita para poder infectar a otros programas. Existen varias formas de insertar un virus, se puede añadir, en medio, al principio o al final del programa, también puede reemplazarse completamente con otro programa y tomar el mismo nombre pero con un comportamiento totalmente distinto. Actualmente son muy comunes las propagaciones de los virus a través de la red, unidos a otros programas. Dos formas de solucionar virus serían las siguientes: Comprobación manual de todos los dispositivos para limpiarlos del virus o creación de un antídoto que también se propague y limpie el virus.

·         Gusanos: Es un malware que tiene la propiedad de duplicarse a sí mismo. Los gusanos utilizan las partes automáticas de un sistema operativo que generalmente son invisibles al usuario, a diferencia de un virus un gusano no precisa alterar los archivos de programas, sino que reside en la memoria y se duplica a sí mismo. Los gusanos casi siempre causan problemas en la red (aunque sea simplemente consumiendo ancho de banda), mientras que los virus siempre infectan o corrompen los archivos de la computadora que atacan.

·         Rompedores de sistemas de protección: Su objetivo es romper la seguridad de los sistemas (Generalmente remotos) y poder ejecutar accesos ilegales.

·         Bombardeo: Ataques masivos a un servidor determinado que provocan que el servidor deniegue sus servicios a los clientes legales, pueden llegar a bloquear el servidor.

Diseño de Sistemas Operativos Seguros




Es necesario el diseñarlos 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.




Seguridad y Protección en Sistemas Operativos de Propósito General



Una de las funciones principales del Sistema Operativo es proteger los recursos de cada usuario para que pueda ejecutar en un entorno seguro, donde los mecanismos permiten controlar el acceso a los objetos del sistema permitiéndolo o denegándolo sobre la base de información.

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.

Matrices de Protección

                También denominada Matriz de Acceso, los dominios de protección son las filas de la matriz y los objetos son las columnas de la misma. El elemento (i, j) expresa las operaciones que el dominio i; puede ejecutar sobre el objeto j. Si la matriz de protección está completamente definida, los mecanismos de protección pueden saber siempre qué hacer cuando un proceso de un dominio solicita determinada operación sobre un objeto. Para que se resuelva el problema de complejidad y el número fijo de filas y columnas, la mayoría de los sistemas operativos implementan la matriz mediante estructuras dinámicas de datos (listas) a las que se puede añadir o quitar elementos sin tener que redefinir ninguna estructura de datos del sistema operativo.

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.













No hay comentarios:

Publicar un comentario