el uso creciente de las redes de computadoras y la importancia del tráfico cursado hace necesario proteger a los datos
La Oficina Nacional de Estándares de EE. UU. (NBS) ha adoptado la norma de cifrado de datos (DES) para la transmisión de información federal delicada.
STALLINGS, William “Sistemas Operativos” (2001). Explica que la criptografía es el uso de la transformación de datos para hacerlos incomprensibles a todos, excepto a los usuarios a quienes están destinados.
El problema de la intimidad trata de cómo evitar la obtención no autorizada de información de un canal de comunicaciones.
El problema de la autentificación trata sobre cómo evitar que un oponente:
Modifique una transmisión.
Le introduzca datos falsos.
El problema de la disputa trata sobre cómo proporcionar al receptor de un mensaje pruebas legales de la identidad del remitente, que serían el equivalente electrónico de una firma escrita.
Un Sistema de Intimidad Criptográfica
El remitente desea transmitir cierto mensaje no cifrado (texto simple) a un receptor legítimo:
La transmisión se producirá a través de un canal inseguro:
Se supone que podrá ser verificado o conectado mediante un espía.
El remitente pasa el texto simple a una unidad de codificación que lo transforma en un texto cifrado o criptograma:
No es comprensible para el espía.
Se transmite en forma segura por un canal inseguro.
El receptor pasa el texto cifrado por una unidad de descifrado para regenerar el texto simple.
Criptoanálisis
H. M. Deitel. (1987) define al criptoanálisis como el proceso de intentar regenerar el texto simple a partir del texto cifrado, pero desconociendo la clave de ciframiento:
Es la tarea del espía o criptoanalista:
Si no lo logra, el sistema criptográfico es seguro.
Sistemas de Clave Pública
La distribución de claves de un sistema criptográfico debe hacerse por canales muy seguros.
Los sistemas de clave pública rodean el problema de distribución de claves:
Las funciones de cifrado y descifrado están separadas y utilizan distintas claves.
No es computacionalmente posible (en un tiempo “razonable”) determinar la clave de desciframiento “D” a partir de la clave de ciframiento “C”.
“C” puede hacerse pública sin comprometer la seguridad de “D”, que permanece privada:
Se simplifica el problema de la distribución de claves.
Firmas Digitales
Zúñiga C. Mario (2004) comenta que para que una firma digital sea aceptada como sustituta de una firma escrita debe ser:
Fácil de autentificar (reconocer) por cualquiera.
Producible únicamente por su autor.
En los criptosistemas de clave pública el procedimiento es:
El remitente usa la clave privada para crear un mensaje firmado.
El receptor:
Usa la clave pública del remitente para descifrar el mensaje.
Guarda el mensaje firmado para usarlo en caso de disputas.
Para mayor seguridad se podría actuar como sigue:
El remitente puede codificar el mensaje ya cifrado utilizando la clave pública del receptor.
La clave privada del receptor permite recuperar el mensaje cifrado firmado.
La clave pública del remitente permite recuperar el texto simple original.
Aplicaciones
William Sistemas Operativos (2001) afirma que la criptografía es especialmente útil en los sistemas multiusuario y en las redes de computadoras.
Se debe utilizar para proteger a las contraseñas, almacenándolas cifradas.
Se puede utilizar también para proteger todos los datos almacenados en un sistema de computación; se debe considerar el tiempo de cifrado / descifrado.
También es aplicable en los protocolos de redes de capas, que ofrecen varios niveles de cifrado.
En el cifrado de enlace la red asume la responsabilidad de cifrado / descifrado de cada nodo:
Los datos se transmiten cifrados entre los nodos.
En cada nodo se descifran, se determina a dónde transmitirlos y se los vuelve a cifrar.
En el cifrado punto a punto un mensaje se cifra en su fuente y se descifra solo una vez, en su destino:
Existen ciertas limitaciones tales como la legibilidad de la dirección de destino en cada nodo:
Debe ser legible para el encaminamiento del mensaje.
Ej.: sistemas de conmutación de paquetes de almacenamiento y reenvío con cifrado punto a punto; en este caso la dirección de destino asociada a un paquete no puede ser cifrada.
martes, 28 de mayo de 2013
6.7 Validación y amenazas al sistema.
las amenazas para un sistema y algunas técnicas de prevención y detección de intrusos:
Amenazas a la seguridad en el acceso al sistema:
· Intrusos.
· programas malignos.
Intrusos:
· Piratas o hackers: individuos que acceden al sistema sin autorización.
· Los sistemas presentan agujeros por donde los hackers consiguen colarse.
· Técnicas de intrusión:
- Averiguar contraseñas (más del 80% de las contraseñas son simples).
- Probar exhaustivamente.
- Descifrar archivo de contraseñas.
- Intervenir líneas.
- Usar caballos de Troya.
Técnicas de prevención de intrusos:
Establecer una buena estrategia de elección de contraseñas:
- Contraseñas generadas por ordenador (difícil memorización).
- Inspección activa (proceso periódico de averiguación).
- Inspección proactiva (decidir si es buena en su creación.
Técnicas de detección de intrusos:
Investigar actividades inusuales:
- Detección de anomalías estadísticas.
- Uso de registros de auditoría que recogen información del comportamiento de cada usuario.
- Detección basada en reglas.
- Conjunto de reglas empleadas para decidir si una actividad es inusual.
Tipos de amenazas:
Amenazas pasivas:
• Revelación del contenido del mensaje.
• Análisis del tráfico:
• En caso de que los mensajes vayan encriptados.
• Determinar las máquinas que se comunican y la frecuencia y longitud de los mensajes.
Amenazas activas:
• Alteración del flujo de mensajes.
• Privación del servicio:
• Impide el uso normal de los servicios de comunicaciones.
• Suplantación:
• Cuando una entidad finge ser otra diferente.
Clasificación de programas malignos:
Programas malignos que necesitan anfitrión:
Forman parte de un programa.
Trampillas:
• Punto de entrada secreto a un programa.
• Se usan para depuración y prueba.
• Pueden usarse para acceso no autorizado.
Bomba lógica:
• Se ejecutan cuando se cumplen ciertas condiciones.
• Ej: se borra el disco duro si programador no estáen nómina.
Caballo de Troya:
• Código dañino incrustado en programa que se ejecuta cuando se ejecuta el programa.
Programas malignos que no necesitan anfitrión:
Gusanos:
• Programas independientes.
• Se reproducen a través de la red.
• Además de propagarse pueden causar daños.
Bacterias:
• No dañan explícitamente.
• Su único objetivo es reproducirse.
• Se reproducen exponencialmente agotando la capacidad del procesador.
Virus:
• Código incrustado en un programa.
• Se reproducen e insertan en otros programas.
• Pueden causar daños.
Algoritmo de virus muy simple (tan sólo se reproduce):
• Encontrar 1ª instrucción de un ejecutable del disco.
• Sustituirla por salto a posición siguiente a la última instrucción.
• Insertar copia del código de virus (este algoritmo) en dicha posición.
• Hacer que el virus simule la instrucción sustituida por el salto.
• Saltar a la segunda posición.
Amenazas a la seguridad en el acceso al sistema:
· Intrusos.
· programas malignos.
Intrusos:
· Piratas o hackers: individuos que acceden al sistema sin autorización.
· Los sistemas presentan agujeros por donde los hackers consiguen colarse.
· Técnicas de intrusión:
- Averiguar contraseñas (más del 80% de las contraseñas son simples).
- Probar exhaustivamente.
- Descifrar archivo de contraseñas.
- Intervenir líneas.
- Usar caballos de Troya.
Técnicas de prevención de intrusos:
Establecer una buena estrategia de elección de contraseñas:
- Contraseñas generadas por ordenador (difícil memorización).
- Inspección activa (proceso periódico de averiguación).
- Inspección proactiva (decidir si es buena en su creación.
Técnicas de detección de intrusos:
Investigar actividades inusuales:
- Detección de anomalías estadísticas.
- Uso de registros de auditoría que recogen información del comportamiento de cada usuario.
- Detección basada en reglas.
- Conjunto de reglas empleadas para decidir si una actividad es inusual.
Tipos de amenazas:
Amenazas pasivas:
• Revelación del contenido del mensaje.
• Análisis del tráfico:
• En caso de que los mensajes vayan encriptados.
• Determinar las máquinas que se comunican y la frecuencia y longitud de los mensajes.
Amenazas activas:
• Alteración del flujo de mensajes.
• Privación del servicio:
• Impide el uso normal de los servicios de comunicaciones.
• Suplantación:
• Cuando una entidad finge ser otra diferente.
Clasificación de programas malignos:
Programas malignos que necesitan anfitrión:
Forman parte de un programa.
Trampillas:
• Punto de entrada secreto a un programa.
• Se usan para depuración y prueba.
• Pueden usarse para acceso no autorizado.
Bomba lógica:
• Se ejecutan cuando se cumplen ciertas condiciones.
• Ej: se borra el disco duro si programador no estáen nómina.
Caballo de Troya:
• Código dañino incrustado en programa que se ejecuta cuando se ejecuta el programa.
Programas malignos que no necesitan anfitrión:
Gusanos:
• Programas independientes.
• Se reproducen a través de la red.
• Además de propagarse pueden causar daños.
Bacterias:
• No dañan explícitamente.
• Su único objetivo es reproducirse.
• Se reproducen exponencialmente agotando la capacidad del procesador.
Virus:
• Código incrustado en un programa.
• Se reproducen e insertan en otros programas.
• Pueden causar daños.
Algoritmo de virus muy simple (tan sólo se reproduce):
• Encontrar 1ª instrucción de un ejecutable del disco.
• Sustituirla por salto a posición siguiente a la última instrucción.
• Insertar copia del código de virus (este algoritmo) en dicha posición.
• Hacer que el virus simule la instrucción sustituida por el salto.
• Saltar a la segunda posición.
6.6 Clasificaciones de la seguridad.
La seguridad interna esta 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 fisica.
- Seguridad operacional.
- Proteccion contra desastres(como inundaciones, incendios, etc.).
- Proteccion contra intrusos.
- Detectores de humo.
- Sensores de calor.
- Detectores de movimiento.
La seguridad fisica trata especialmente de impedir la entrada de intrusos:
- Se utilizan sistemas de identificacion fisica:
- Tarjetas de identificacion.
- Sistemas de huellas digitales.
- Identificacion por medio de la voz.
Seguridad Operacional
Consiste en las diferentes politicas y procedimientos implementados por la administracion de la instalacion computacional.
La autorizacion determina que acceso se permite y a quien.
La clasificacion divide el problema en subproblemas:
- Los datos del sistema y los usuarios se dividen en clases:
- A las clases se conceden diferentes derechos de acceso.
Un aspecto critico es la seleccion y asignacion de personal:
- La pregunta es si se puede confiar en la gente.
- El tratamiento que generalmente se da al problema es la division de responsabilidades:
- Se otorgan distintos conjuntos de responsabilidades.
- No es necesario que se conozca la totalidad del sistema para cumplir con esas responsabilidades.
- Para poder comprometer al sistema puede ser necesaria la cooperacion entre muchas personas:
- Se reduce la probabilidad de violar la seguridad.
- Debe instrumentarse un gran numero de verificaciones y balances en el sistema para ayudar a la deteccion de brechas en la seguridad.
- El personal debe estar al tanto de que el sistema dispone de controles, pero:
- Debe desconocer cuales son esos controles:
- Se reduce la probabilidad de poder evitarlos.
- Debe producirse un efecto disuasivo respecto de posibles intentos de violar la seguridad.
Para disenar medidas efectivas de seguridad se debe primero:
- Enumerar y comprender las amenazas potenciales.
- Definir que grado de seguridad se desea (y cuanto se esta dispuesto a gastar en seguridad).
- Analizar las contramedidas disponibles.
6.5 Concepto de seguridad.
Como menciona FLYNN, IDA M. y MCHOES, ANN MCIVER en su libro “S.O. Seguridad en entorno” (1998): La seguridad está definida en el diccionario como el conjunto de medidas tomadas para protegerse contra robos, ataques, crímenes y espionajes o sabotajes. La seguridad implica la cualidad o estado de estar seguro, es decir, la evitación de exposiciones a situaciones de peligro y la actuación para quedar a cubierto frente a contingencias adversas.
El uso creciente y la confianza en los computadores en todo el mundo han hecho surgir una preocupación legítima con respecto a la seguridad informática. El uso de los computadores ha extendido en ambientes comerciales, gubernamentales, militares e incluso en los hogares. Grandes cantidades de datos vitales sensibles se están confiando y almacenado cada vez más en computadores. Entre ellos se incluyen registros sobre individuos, negocios y diferentes registros públicos y secretos gubernamentales y militares. Grandes transacciones monetarias tienen lugar diariamente en forma de transferencia electrónicas de fondos. Más recientemente, informaciones tales como notificaciones de propiedad intelectual y datos comerciales estratégicos son también almacenados, procesados y diseminados mediante computadores. Entre ellos se incluyen diseños de ventas, contratos legales y muchos otros.
La seguridad, no solo requiere un sistema de protección apropiado, sino también considerar el entorno externo en el que el sistema opera. La protección interna no es útil si la consola del operador está al alcance de personal no autorizado, o si los archivos se pueden sacar simplemente del sistema de computación y llevarse a un sistema sin protección. Estos problemas de seguridad son esencialmente de administración, no problemas del sistema operativo.
La información almacenada en el sistema, así como los recursos físicos del sistema de computación, tienen que protegerse contra acceso no autorizado, destrucción o alteración mal intencionado, y la introducción accidental de inconsistencia.
El uso creciente y la confianza en los computadores en todo el mundo han hecho surgir una preocupación legítima con respecto a la seguridad informática. El uso de los computadores ha extendido en ambientes comerciales, gubernamentales, militares e incluso en los hogares. Grandes cantidades de datos vitales sensibles se están confiando y almacenado cada vez más en computadores. Entre ellos se incluyen registros sobre individuos, negocios y diferentes registros públicos y secretos gubernamentales y militares. Grandes transacciones monetarias tienen lugar diariamente en forma de transferencia electrónicas de fondos. Más recientemente, informaciones tales como notificaciones de propiedad intelectual y datos comerciales estratégicos son también almacenados, procesados y diseminados mediante computadores. Entre ellos se incluyen diseños de ventas, contratos legales y muchos otros.
La seguridad, no solo requiere un sistema de protección apropiado, sino también considerar el entorno externo en el que el sistema opera. La protección interna no es útil si la consola del operador está al alcance de personal no autorizado, o si los archivos se pueden sacar simplemente del sistema de computación y llevarse a un sistema sin protección. Estos problemas de seguridad son esencialmente de administración, no problemas del sistema operativo.
La información almacenada en el sistema, así como los recursos físicos del sistema de computación, tienen que protegerse contra acceso no autorizado, destrucción o alteración mal intencionado, y la introducción accidental de inconsistencia.
6.4 Protección basada en el lenguaje.
De acuerdo a Andrew S. Tanenbaum (1993) la protección que se ofrece en los sistemas de computación existentes casi siempre se ha logrado con la ayuda del núcleo de un sistema operativo, que actúa como agente de seguridad que inspecciona y valida cada intento por acceder a un recurso protegido. Puesto que la validación de todos los accesos puede dar pie a un gasto extra considerable, debemos apoyarla con hardware para reducir el costo de cada validación o bien debemos aceptar que el diseñador del sistema podría inclinarse por sacrificar los objetivos de la protección. Es difícil satisfacer todos estos objetivos si los mecanismos de soporte con que se cuenta restringen la flexibilidad para implementar diversas políticas de protección.
A medida que ha aumentado la complejidad de los sistemas operativos, sobre todo al trata de ofrecer interfaces de más alto nivel con el usuario, lo objetivos de la protección se han vuelto mucho más refinados. En esta refinación observamos que los diseñadores de los diseñadores de los sistemas de protección se han apoyado mucho en ideas que se originaron en los lenguajes de programación y especialmente en los conceptos de tipos de datos abstractos y objetos. Los sistemas de protección ahora se ocupan no sólo de la identidad de un recurso al cual se intenta acceder, sino también de la naturaleza funcional de ese acceso. En los sistemas de protección más nuevos, el interés en la función que se invocará se extiende más allá de un conjunto de funciones definidas por el sistema, como los métodos de acceso a archivos estándar, para incluir funciones que también podrían ser definidas por el usuario.
SILBERSCHATZ, Abraham; GALVIN, Peter, “Sistemas Operativos” (1999). Comentan que las políticas para el uso de recursos también podrían variar, dependiendo de la aplicación, y podrían cambiar con el tiempo. Por estas razones, la protección ya no puede considerarse como un asunto que sólo concierne al diseñador de un sistema operativo; también debe estar disponible como herramienta que el diseñador de aplicaciones pueda usar para proteger los recursos de un subsistema de aplicación contra intervenciones o errores.
Aquí es donde los lenguajes de programación entran en escena. 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.
¿Qué ventajas relativas tiene entonces el cumplimiento basado exclusivamente en un núcleo, en comparación con el cumplimiento forzado en gran medida por un compilador?
• Seguridad: La obligación del cumplimiento por un núcleo ofrece un mayor grado de seguridad del sistema de protección mismo, que el que ofrece la generación de código de verificación de protección por un compilador. En un esquema apoyado por compilador, la seguridad depende de lo correcto que sea el traductor, de algún mecanismo subyacente de gestión de almacenamiento que proteja los segmentos desde los cuales se ejecuta el código compilador y, en última instancia, de la seguridad de los archivos desde los que se carga el programa. • Flexibilidad: Hay límites a la flexibilidad de un núcleo de protección para implementar una política definida por el usuario, aunque podría proporcionar recursos suficientes para que el sistema haga cumplir sus propias políticas. Con un lenguaje de programación, se puede declarar la política de protección y hacerse cumplir según sea necesario en una implementación- • Eficiencia: Se logra la eficiencia máxima cuando hardware apoya directamente el cumplimiento de la protección. 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 estático fuera de línea en el momento de la compilación.
A medida que ha aumentado la complejidad de los sistemas operativos, sobre todo al trata de ofrecer interfaces de más alto nivel con el usuario, lo objetivos de la protección se han vuelto mucho más refinados. En esta refinación observamos que los diseñadores de los diseñadores de los sistemas de protección se han apoyado mucho en ideas que se originaron en los lenguajes de programación y especialmente en los conceptos de tipos de datos abstractos y objetos. Los sistemas de protección ahora se ocupan no sólo de la identidad de un recurso al cual se intenta acceder, sino también de la naturaleza funcional de ese acceso. En los sistemas de protección más nuevos, el interés en la función que se invocará se extiende más allá de un conjunto de funciones definidas por el sistema, como los métodos de acceso a archivos estándar, para incluir funciones que también podrían ser definidas por el usuario.
SILBERSCHATZ, Abraham; GALVIN, Peter, “Sistemas Operativos” (1999). Comentan que las políticas para el uso de recursos también podrían variar, dependiendo de la aplicación, y podrían cambiar con el tiempo. Por estas razones, la protección ya no puede considerarse como un asunto que sólo concierne al diseñador de un sistema operativo; también debe estar disponible como herramienta que el diseñador de aplicaciones pueda usar para proteger los recursos de un subsistema de aplicación contra intervenciones o errores.
Aquí es donde los lenguajes de programación entran en escena. 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.
¿Qué ventajas relativas tiene entonces el cumplimiento basado exclusivamente en un núcleo, en comparación con el cumplimiento forzado en gran medida por un compilador?
• Seguridad: La obligación del cumplimiento por un núcleo ofrece un mayor grado de seguridad del sistema de protección mismo, que el que ofrece la generación de código de verificación de protección por un compilador. En un esquema apoyado por compilador, la seguridad depende de lo correcto que sea el traductor, de algún mecanismo subyacente de gestión de almacenamiento que proteja los segmentos desde los cuales se ejecuta el código compilador y, en última instancia, de la seguridad de los archivos desde los que se carga el programa. • Flexibilidad: Hay límites a la flexibilidad de un núcleo de protección para implementar una política definida por el usuario, aunque podría proporcionar recursos suficientes para que el sistema haga cumplir sus propias políticas. Con un lenguaje de programación, se puede declarar la política de protección y hacerse cumplir según sea necesario en una implementación- • Eficiencia: Se logra la eficiencia máxima cuando hardware apoya directamente el cumplimiento de la protección. 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 estático fuera de línea en el momento de la compilación.
6.3 Implantación de matrices de acceso.
Andrew S. Tanenbaum. “Sistemas Operativos Modernos” (1993) define que 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".
Considérese la siguiente matriz de acceso:
Dominio \ Objeto
A1
A2
A3
COM1
LPT1
D1
Leer
Leer
D2
Leer
Imprimir
D3
Leer
Ejecutar
D4
Leer Escribir
Leer Escribir
Hay 4 dominios y 5 objetos: 3 Archivos ("A1", "A2", "A3") 1 Puerto Serial y 1 impresora. Cuando un proceso se ejecuta en O1, puede leer los archivos "A1" y "A3".
Un proceso ejecutándose en el dominio "D4" tiene los mismos privilegios que en "D1", pero además puede escribir en los archivos. Nótese que en el puerto serial y la impresora solo se pueden ser ejecutados por procesos del dominio "D2".
H. M. Deitel. “Introducción a los Sistemas Operativos” (1987). Explica una matriz de acceso:
Matriz de Acceso
• Es una representación abstracta del concepto de dominio de protección.
• Matriz con;
· Tantas columnas como objetos / recursos.
· Tantas filas como dominios.
· Las celdas contienen los accesos: son los derechos de acceso que tienen los procesos que se ejecutan en ese dominio sobre el correspondiente objeto.
El mecanismo de protección es la matriz, junto con todos los elementos que se han de añadir para que se cumplan de manera efectiva todas las restricciones de acceso a los objetos.
• La política consiste en decidir cómo rellenar las distintas celdas de la matriz.
• La MA permite implementar operaciones de cambio de domino.
o El objeto sobre el que trabajamos es el Dominio aparecen tantas columnas como dominios haya en el sistema.
o La operación es la conmutación de un dominio a otro.
Considérese la siguiente matriz de acceso:
Dominio \ Objeto
A1
A2
A3
COM1
LPT1
D1
Leer
Leer
D2
Leer
Imprimir
D3
Leer
Ejecutar
D4
Leer Escribir
Leer Escribir
Hay 4 dominios y 5 objetos: 3 Archivos ("A1", "A2", "A3") 1 Puerto Serial y 1 impresora. Cuando un proceso se ejecuta en O1, puede leer los archivos "A1" y "A3".
Un proceso ejecutándose en el dominio "D4" tiene los mismos privilegios que en "D1", pero además puede escribir en los archivos. Nótese que en el puerto serial y la impresora solo se pueden ser ejecutados por procesos del dominio "D2".
H. M. Deitel. “Introducción a los Sistemas Operativos” (1987). Explica una matriz de acceso:
Matriz de Acceso
• Es una representación abstracta del concepto de dominio de protección.
• Matriz con;
· Tantas columnas como objetos / recursos.
· Tantas filas como dominios.
· Las celdas contienen los accesos: son los derechos de acceso que tienen los procesos que se ejecutan en ese dominio sobre el correspondiente objeto.
El mecanismo de protección es la matriz, junto con todos los elementos que se han de añadir para que se cumplan de manera efectiva todas las restricciones de acceso a los objetos.
• La política consiste en decidir cómo rellenar las distintas celdas de la matriz.
• La MA permite implementar operaciones de cambio de domino.
o El objeto sobre el que trabajamos es el Dominio aparecen tantas columnas como dominios haya en el sistema.
o La operación es la conmutación de un dominio a otro.
6.2 Funciones del sistema de protección.
Deitel (1987) llega a la conclusión de que dado que los sistemas de computo se han venido haciendo cada vez más sofisticados en sus aplicaciones, la necesidad de proteger su integridad, también ha crecido. Los aspectos principales de protección en un Sistema Operativo son:
1. Protección de los procesos del sistema contra los procesos de usuario.
2. Protección de los procesos de usuario contra los de otros procesos de usuario.
3. Protección de Memoria.
4. Protección de los dispositivos.
1. Protección de los procesos del sistema contra los procesos de usuario.
2. Protección de los procesos de usuario contra los de otros procesos de usuario.
3. Protección de Memoria.
4. Protección de los dispositivos.
6.1 concepto y objetivos de protección.
Protección
J. Boria. “Construcción de Sistemas Operativos” (1987) Explica que los sistemas operativos proveen algunos mecanismos de protección para poder implementar políticas de seguridad. Las políticas definen qué hay que hacer (qué datos y recursos deben protegerse de quién; es un problema de administración), y los mecanismos determinan cómo hay que hacerlo. Esta separación es importante en términos de flexibilidad, puesto que las políticas pueden variar en el tiempo y de una organización a otra. Los mismos mecanismos, si son flexibles, pueden usarse para implementar distintas políticas.
Los mecanismos que ofrece el sistema operativo necesariamente deben complementarse con otros de carácter externo. Por ejemplo, impedir el acceso físico de personas no autorizadas a los sistemas es un mecanismo de protección cuya implementación no tiene nada que ver con el sistema operativo.
J. Boria. Menciona algunos objetivos y políticas de la protección:
Objetivos de la Protección
• Inicialmente protección del SO frente a usuarios poco confiables.
• Protección: control para que cada componente activo de un proceso sólo pueda acceder a los recursos especificados, y sólo en forma congruente con la política establecida.
• La mejora de la protección implica también una mejora de la seguridad.
• Las políticas de uso se establecen:
Por el hardware.
Por el administrador / SO.
Por el usuario propietario del recurso.
• Principio de separación entre mecanismo y política:
Mecanismo.- con qué elementos (hardware y/o software) se realiza la protección.
Política.- es el conjunto de decisiones que se toman para especificar cómo se usan esos elementos de protección.
• La política puede variar
· Dependiendo de la aplicación,
· A lo largo del tiempo.
• La protección no sólo es cuestión del administrador, sino también del usuario.
J. Boria. “Construcción de Sistemas Operativos” (1987) Explica que los sistemas operativos proveen algunos mecanismos de protección para poder implementar políticas de seguridad. Las políticas definen qué hay que hacer (qué datos y recursos deben protegerse de quién; es un problema de administración), y los mecanismos determinan cómo hay que hacerlo. Esta separación es importante en términos de flexibilidad, puesto que las políticas pueden variar en el tiempo y de una organización a otra. Los mismos mecanismos, si son flexibles, pueden usarse para implementar distintas políticas.
Los mecanismos que ofrece el sistema operativo necesariamente deben complementarse con otros de carácter externo. Por ejemplo, impedir el acceso físico de personas no autorizadas a los sistemas es un mecanismo de protección cuya implementación no tiene nada que ver con el sistema operativo.
J. Boria. Menciona algunos objetivos y políticas de la protección:
Objetivos de la Protección
• Inicialmente protección del SO frente a usuarios poco confiables.
• Protección: control para que cada componente activo de un proceso sólo pueda acceder a los recursos especificados, y sólo en forma congruente con la política establecida.
• La mejora de la protección implica también una mejora de la seguridad.
• Las políticas de uso se establecen:
Por el hardware.
Por el administrador / SO.
Por el usuario propietario del recurso.
• Principio de separación entre mecanismo y política:
Mecanismo.- con qué elementos (hardware y/o software) se realiza la protección.
Política.- es el conjunto de decisiones que se toman para especificar cómo se usan esos elementos de protección.
• La política puede variar
· Dependiendo de la aplicación,
· A lo largo del tiempo.
• La protección no sólo es cuestión del administrador, sino también del usuario.
Unidad 6 Protección y seguridad
La protección es limitar el acceso a ciertos archivos. Utilizamos protección para asegurarnos que solo a aquellos procesos a los que le demos permiso puedan utilizar el recurso o archivo dado.
5.8 mecanismos de recuperación en caso de falla
DEITEL, Harvey, “Sistemas Operativos” (1993) Afirma que debido a que los archivos se mantienen tanto en memoria principal como en el disco, debemos asegurarnos de que un fallo del sistema no de por resultado la perdida de datos o inconsistencia en los mismos.
La destrucción de la información, ya sea accidental o intencional, es una realidad y tiene distintas causas:
Fallas de hardware y de software.
Fenómenos meteorológicos atmosféricos.
Fallas en el suministro de energía.
Incendios e inundaciones.
Robos, vandalismo (incluso terrorismo).
Etc.
Esta posible destrucción de la información debe ser tenida en cuenta por:
Los sistemas operativos en general.
Los sistemas de archivos en particular.
Una técnica muy usada para asegurar la disponibilidad de los datos es realizar respaldos periódicos:
Hacer con regularidad una o más copias de los archivos y colocarlas en lugar seguro.
Todas las actualizaciones realizadas luego del último respaldo pueden perderse.
Otra técnica es pasar todas las transacciones a un archivo, copiándolas en otro disco:
Genera una redundancia que puede ser costosa.
En caso de fallas en el disco principal, puede reconstruirse todo el trabajo perdido si el disco de reserva no se dañó también.
También existe la posibilidad del respaldo incremental :
Durante una sesión de trabajo los archivos modificados quedan marcados.
Cuando un usuario se retira del sistema (deja de trabajar), un proceso del sistema efectúa el respaldo de los archivos marcados.
Se debe tener presente que es muy difícil garantizar una seguridad absoluta de los archivos.
El método correcto de manejar fallos consiste básicamente en detectarlos a tiempo y de forma correcta. La inclusión de equipos de test en el sistema es esencial para mantener esta capacidad de monitorización.
En cualquier caso, la caída total o parcial del sistema se puede subsanar en parte si hay puntos de restauración del sistema (chkpt). Esta posibilidad aumenta la disponibilidad de recuperación en caso de fallos.
La destrucción de la información, ya sea accidental o intencional, es una realidad y tiene distintas causas:
Fallas de hardware y de software.
Fenómenos meteorológicos atmosféricos.
Fallas en el suministro de energía.
Incendios e inundaciones.
Robos, vandalismo (incluso terrorismo).
Etc.
Esta posible destrucción de la información debe ser tenida en cuenta por:
Los sistemas operativos en general.
Los sistemas de archivos en particular.
Una técnica muy usada para asegurar la disponibilidad de los datos es realizar respaldos periódicos:
Hacer con regularidad una o más copias de los archivos y colocarlas en lugar seguro.
Todas las actualizaciones realizadas luego del último respaldo pueden perderse.
Otra técnica es pasar todas las transacciones a un archivo, copiándolas en otro disco:
Genera una redundancia que puede ser costosa.
En caso de fallas en el disco principal, puede reconstruirse todo el trabajo perdido si el disco de reserva no se dañó también.
También existe la posibilidad del respaldo incremental :
Durante una sesión de trabajo los archivos modificados quedan marcados.
Cuando un usuario se retira del sistema (deja de trabajar), un proceso del sistema efectúa el respaldo de los archivos marcados.
Se debe tener presente que es muy difícil garantizar una seguridad absoluta de los archivos.
El método correcto de manejar fallos consiste básicamente en detectarlos a tiempo y de forma correcta. La inclusión de equipos de test en el sistema es esencial para mantener esta capacidad de monitorización.
En cualquier caso, la caída total o parcial del sistema se puede subsanar en parte si hay puntos de restauración del sistema (chkpt). Esta posibilidad aumenta la disponibilidad de recuperación en caso de fallos.
Suscribirse a:
Comentarios (Atom)