miércoles, 29 de octubre de 2014

3.1 Politica y fisolofia

 FILOSOFÍA
La memoria principal puede ser considerada como un arreglo lineal de localidades de almacenamiento de un byte de tamaño. Cada localidad de almacenamiento tiene asignada una dirección que la identifica.
Una de las funciones básicas que debe implementar un SO es la Administración de la Memoria para tener un control sobre los lugares donde están almacenados los procesos y datos que actualmente se están utilizando.
Sea cual sea es esquema de organización del almacenamiento que se adopte para un sistema específico, es necesario decidir que estrategias se deben utilizar para obtener un rendimiento óptimo .las estrategias de administración del almacenamiento determinan el comportamiento de la administración de memoria cuando se siguen ciertas políticas.

POLÍTICAS.

FIFO: Los procesos se despachan de acuerdo a su tiempo de llega a la cola de procesos listos, si un proceso llega al procesador sale hasta que termine. La política FIFO actualmente no se usa como el esquema principal de un sistema, pero si por ejemplo cuando se usa una política de prioridades y hay procesos con la misma prioridad, a estos se les podría aplicar FIFO.
Round Robin: Los procesos se despachan en la forma que lo hace el FIFO, pero se les asigna una cantidad limitada de tiempo (CUANTUM) en el procesador, si no termina en ese lapso se manda al final de la lista de procesos listos.
SJF (Shortest job first - Prioridad del trabajo mas corto): Se ejecuta primero el proceso en espera que tiene el menor tiempo estimado. SJF favorece a los procesos cortos, ya que los largos podrían llegar a rezagarse mucho tiempo e incluso nunca ejecutarse.

jueves, 4 de septiembre de 2014

6.8 Cifradas

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 solo pueda leerlo la persona que disponga de la clave de cifrado adecuada para descodificarlo. Por ejemplo, si realiza una compra en un sitio web, 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 con el fin de mantenerla a salvo. Se usa el cifrado cuando desee un alto nivel de protección de la información.

En una computadora aislada, el sistema operativo puede determinar de manera fiable quienes son el emisor y el receptor de todas las comunicaciones interprocesos, ya que el sistema operativo controla todos los canales de comunicaciones de la computadora. En una red de computadoras, la situación es bastante distinta. Una computadora conectada a la red recibe bits desde el exterior, y no tiene ninguna forma inmediata y fiable de determinar que maquina o aplicación ha enviado esos bits. De forma similar, la propia computadora envía bits hacia la red sin tener ninguna forma de determinar quien puede llegar a recibirlos.

Criptoanálisis

Criptoanálisis es el proceso de intentar regenerar el mensaje desde el texto cifrado pero sin conocimiento de las claves de encriptación. Esta es la tarea normal de los intrusos. Si el intruso o criptoanalista no puede determinar un mensaje desde el texto cifrado (sin la clave), entonces el sistema de criptografiado es seguro.

Métodos y técnicas de encriptación
Cesar
Esta técnica consistía simplemente en sustituir una letra por la situada tres lugares mas allá en el alfabeto esto es la A se transformaba en D, la B en E y así sucesivamente hasta que la Z se convertía en C.
Gronsfeld
Este método utiliza mas de un alfabeto cifrado para poner en clave el mensaje y que se cambia de uno a otro según se pasa de una letra del texto en claro a otra.

Es decir que deben tenerse un conjunto de alfabetos cifrados y una forma de hacer corresponder cada letra del texto original con uno de ellos.

Eemplo:

BitLocker 
Es una aplicación de cifrado de disco. La podemos encontrar en versiones de Windows Vista, Windows 7 y Windows Server 2008 en sus versiones más completas, esta aplicación esta diseñada para proteger los datos e impedir el acceso no autorizado a cualquier archivo almacenado en la unidad cifrada mediante una clave de 128 bits.

6.7 Validación y amenazas al sistema

Deitel (1987) establece que la validación de datos es una de las áreas más importantes a tener en cuenta, especialmente en el desarrollo de sistemas conectados a redes como internet. Validar datos hace referencia a verificar, controlar o filtrar cada una de las entradas de datos que provienen desde el exterior del sistema.

La validación tiene que ver con:
• La verificación y la auditoría del sistema.
• La autentificación de los usuarios.
Los sistemas sofisticados de autentificación de usuarios resultan muy difíciles de evitar por parte de los intrusos.
Un problema existente es la posibilidad de que el sistema rechace a usuarios legítimos:
• Un sistema de reconocimiento de voz podría rechazar a un usuario legítimo resfriado.
• Un sistema de huellas digitales podría rechazar a un usuario legítimo que tenga una cortadura o una quemadura.

Deitel (1987) concluye que en definitiva, se debe identificar cada uno de los flujos de entrada, verificar que el tipo de dato sea el esperado y no otro, verificar que no haya códigos ocultos, etc.

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.

6.6 Clasificaciones de la seguridad

Interna
Externa
Seguridad Interna:
Todos los mecanismos dirigidos a asegurar el sistema informático, siendo el propio sistema el que controla dichos mecanismos, se engloban en lo que podemos denominar seguridad interna.
Seguridad del procesador:
Los mecanismos de protección del procesador son varios:
- Estados protegidos (Kernel) o no protegido (Usuario).


- Reloj hardware para evitar el bloqueo del procesador.

Seguridad Externa
La seguridad externa consiste en:
Seguridad física.
Seguridad operacional.

La seguridad física incluye:

 Protección contra desastres (como inundaciones, incendios).
 Protección contra intrusos.
 Mecanismos de detección:
                  (Ejemplos)
     -Detectores de humo.
     -Sensores de calor.
     -Detecciones de movimiento.
La protección contra desastres puede ser muy costosa y frecuentemente no se analiza en detalle; depende en gran medida en las consecuencias de las pérdidas
Objetivos de la seguridad Física
La seguridad física trata especialmente de impedir la entrada de intrusos:
Se utiliza sistemas de identificación física
 Tarjetas de identificación.
 Sistemas de huellas digitales.
 Identificación por medio de la voz.


 

6.5 Concepto de seguridad

Los términos seguridad y protección se utilizan en forma indistinta. Sin embargo, es útil hacer una distinción entre los problemas generales relacionados a la garantía de que los archivos no sean leídos o modificados por personal no autorizado por un lado, y los sistemas específicos del sistema operativo utilizados para proporcionar la seguridad, por el otro.
La seguridad tiene muchas facetas. Dos de las mas importantes son la perdida de datos y los intrusos. Algunas de las causas mas comunes de la perdida de datos son:
Actos naturales: 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.
Un problema mas interesante es que hacer con los intrusos. Estos tienen dos variedades. Los intrusos pasivos solo desean leer archivos que no están autorizados a leer. Los intrusos activos son mas crueles: Desean hacer cambios no autorizados a los datos.

Algunas de las categorías comunes son:
Personas husmeando. Algunos estudiantes, programadores de sistemas, operadores y demás personal técnico consideran como un reto personal romper la seguridad del sistema de computo local. A menudo son muy calificados y están dispuestos a invertir una cantidad sustancial de su tiempo en este esfuerzo.  
Un intento deliberado de hacer dinero. Algunos programadores en banco han intentado penetrar un sistema bancario con el fin de robarle al banco. Los esquemas han variado desde cambiar el software para truncar y no redondear el interés, para quedarse con una pequeña fracción de dinero, hasta sacar dinero de las cuentas que no se han utilizado en anos o el "correo negro“.
Espionaje comercias o militar. El espionaje indica un intento serio y fundamentado por parte de un competidor u otro país para robar programas, secretos comerciales, patentes, tecnología, diseño de circuitos, planes de comercialización, etc. 

6.4 Protección basada en el lenguaje

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.
Protección en java 2
-La protección la maneja la máquina virtual (JVM)
La JVM asigna un dominio de protección a una clase cuando la carga.
El dominio de protección indica qué operaciones puede (y no puede) realizar la clase.
Si se invoca un método de biblioteca y éste realiza una operación privilegiada, se examina el stack para asegurar que la biblioteca pueda realizar la operación
 
Este enfoque tiene varias ventajas importantes:


*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.
 *Las necesidades de protección pueden expresarse independientemente de los recursos que ofrezca un sistema operativo en particular.
 *El diseñador de un subsistema no tiene que proporcionar los mecanismos para hacer cumplir la protección.
 *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.

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 

En síntesis, la especificación de la protección en un lenguaje de programación permite describir un alto nivel de políticas de asignación y uso de recursos.

6.3 Implantación de matrices de acceso

Los derechos de acceso definen que acceso tienen varios sujetos sobre varios objetos.
Los sujetos acceden a los objetos.
Los objetos son entidades que contienen información.
Los objetos pueden ser:
Concretos:
Ej.: discos, cintas, procesadores, almacenamiento, etc.
Abstractos:

Ej.: estructuras de datos, de procesos, etc.

Los objetos están protegidos contra los sujetos.
Las autorizaciones a un sistema se conceden a los sujetos.
Los sujetos pueden ser varios tipos de entidades:
Ej.: usuarios, procesos, programas, otras entidades, etc.
Los derechos de acceso más comunes son:
Acceso de lectura.
Acceso de escritura.
Acceso de ejecución.
Una forma de implementación es mediante una matriz de control de acceso con:
Filas para los sujetos.
Columnas para los objetos.
Celdas de la matriz para los derechos de acceso que un usuario tiene a un objeto.
Una matriz de control de acceso debe ser muy celosamente protegida por el S. O.
Dominios de protección
Un sistema de cómputos contiene muchos objetos que necesitan protección. Estos objetos pueden ser el hardware, la CPU, los segmentos de memoria, terminales, unidades de disco o impresoras; o bien ser del software, como los proceso, archivos, bases de datos o semáforos.
Cada objeto tiene un único nombre mediante el cual se la hace referencia y un conjunto de operaciones que se pueden realizar en él READ y WRITE son operaciones adecuadas para un archivo; UP y DOWN tiene sentido en un semáforo.

Una matriz de control de acceso debe ser muy celosamente protegida por el S. O.
Dominios de protección
Un sistema de cómputos contiene muchos objetos que necesitan protección. Estos objetos pueden ser el hardware, la CPU, los segmentos de memoria, terminales, unidades de disco o impresoras; o bien ser del software, como los proceso, archivos, bases de datos o semáforos.
Cada objeto tiene un único nombre mediante el cual se la hace referencia y un conjunto de operaciones que se pueden realizar en él READ y WRITE son operaciones adecuadas para un archivo; UP y DOWN tiene sentido en un semáforo.
Un dominio es un conjunto de parejas (objeto, derechos):
Cada pareja determina:
Un objeto.
Un subconjunto de las operaciones que se pueden llevar a cabo en el.
Un derecho es el permiso para realizar alguna de las operaciones.
Es posible que un objeto se encuentre en varios dominios con “distintos” derechos en cada dominio.
Un proceso se ejecuta en alguno de los dominios de protección:
Existe una colección de objetos a los que puede tener acceso.
Cada objeto tiene cierto conjunto de derechos.
Los procesos pueden alternar entre los dominios durante la ejecución.
Una llamada al S. O. provoca una alternancia de dominio.
En algunos S. O. los dominios se llaman anillos.
Una forma en la que el S. O. lleva un registro de los objetos que pertenecen a cada dominio es mediante una matriz :
Los renglones son los dominios.
Las columnas son los objetos.
Cada elemento de la matriz contiene los derechos correspondientes al objeto en ese dominio, por ej.: leer, escribir, ejecutar.
El modelo de protección del sistema se puede ver en forma abstracta como una matriz, la matriz de acceso.
Una matriz de acceso es una representación abstracta del concepto de dominio de protección.
Los elementos básicos del modelo son los siguientes:
  Sujeto: Una entidad capaz de acceder a los objetos. En general, el concepto de sujeto es equiparable con el de proceso. Cualquier usuario o aplicación consigue acceder en realidad a un objeto por medio de un proceso que representa al usuario o a la aplicación.
•  Objeto: Cualquier cosa cuyo acceso debe controlarse. Como ejemplo se incluyen los archivos, partes de archivos, programas y segmentos de memoria.
•  Derecho de acceso: la manera en que un sujeto accede a un objeto. Como ejemplo están Leer, Escribir y Ejecutar.



6.2 Funcion del sistema de proteccion

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.

FUNCIONES:

 Las funciones de un sistema de protección son asegurar la independencia entre objetos que lógicamente son independientes y la de asegurar el control de acceso a la información y puede ser control asociado al tipo de información o puede ser el control asociado al usuario que solicita el acceso.
 Todos los mecanismos dirigidos a asegurar el sistema informático, siendo el propio sistema el que controla dichos mecanismos,  se engloban en lo que podemos denominar seguridad interna.
• Seguridad del procesador
 Los mecanismos de protección de procesador son:
• Estados protegidos (kernel) o no protegidos (usuarios).
• Reloj hardware para evitar el bloqueo del procesador.

• Seguridad de la memoria
 Se trata de mecanismos para evitar que un usuario acceda la información. Entre ellos citaremos dos:
• Estado protegido y no protegido del procesador.
 Además se emplean para la memoria métodos como el de utilizar un bit de paridad o el checksum.
Bit de paridad. Consiste en añadir un bit a cada octeto o palabra que se transmita para con él conseguir que la suma de unos sea par (paridad par) o impar (paridad impar). Con este método se detectan errores al variar un bit o un número impar de ellos sin que se detecten variaciones de un número par de bits.

• Si se prevé que los daños esperados en una transmisión no sean de un bit en un octeto o palabra, sino en una secuencia de ellos, se puede utilizar un algoritmo que permita realizar una suma denominada suma de chequeo (checksum) y aplicar el método denominado de redundancia cíclica durante la transmisión, de tal forma que al terminar éste se repite con el destino el mismo algoritmo de suma, comprobándose si el valor final de la suma es el mismo.

Seguridad de los archivos
 La finalidad principal de las computadoras es el del tratamiento de la información que se almacena permanentemente en los archivos. La pérdida o alteración no deseada de la información causa trastornos irreparables en algunos casos. Por eso es necesario tomar medidas de seguridad que se deben enfocar desde dos aspectos diferentes: La disponibilidad y la privacidad de los archivos.
1) Disponibilidad de los archivos
Un archivo debe tener la información prevista y estar disponible en el momento que un usuario la necesite. Se debe de tener presente la necesidad de asegurar las circunstancias y se deben realizar las siguientes acciones:
.Copias de seguridad (Backup). Consiste en que cada cierto tiempo (hora, día, semana ...) se realice una copia del contenido de los archivos, de forma que si se destruyen éstos, es posible la recuperación de los datos a partir de la última de las copias. La operación de realizar las copias y la recuperación a partir de las mismas, se realizan por medio de programas de utilidad del sistema operativo.

Archivos log. Se usan en sistemas de tiempo compartido, con muchos usuarios trabajando simultáneamente, en estos sistemas se recurre a archivos auxiliares donde se registran todas las operaciones que realiza un usuario sobre sus archivos, almacenándose la nueva información o aquella que difiere de la ya existente.
Estos archivos reciben el nombre de archivos log y son tratados por utilidades del sistema operativo conjuntamente con las copias de seguridad para los procesos de recuperación. Esta segunda técnica permite asegurar la consistencia del contenido de los archivos ante caídas inesperadas del sistema, evitando que una información se quede a medias de escribir.

 Para solucionar problemas de consistencia, algunos sistemas no dan la operación de escritura por realizada hasta que no se refleja en el log, y esto se hace una vez confirmada la escritura en el disco. Al volver a arrancar, el sistema inspecciona el log buscando operaciones iniciadas y no acabadas, finalizándolas antes de permitir de nuevo el trabajo de los usuarios.


2) Privacidad de los archivos

 Los archivos se deben proteger de posibles accesos no deseados, el sistema de protección debe permitir acceso de forma controlada, según reglas definidas y con las siguiente autorización:
*  Cada usuario, al comenzar la sesión en un sistema tras su identificación, tiene asignado por el sistema de protección un dominio compuesto de una serie de recursos y de operaciones permitidas, por ejemplo, una serie de archivos a los que acceden, no teniendo permitido el acceso al resto de archivos.
 En general, los sistemas operativos almacenan la información relativa a los dominios en los que se denomina matriz de dominios, cuyas filas indican los dominios existentes y las columnas los recursos. Cada elemento de la matriz indica el derecho a utilizar el recurso correspondiente en el dominio.