Buscar este blog

martes, 5 de diciembre de 2017

6.6 VALIDACIÓN Y AMENAZA

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.
Tipos de amenazas:
· Amenazas pasivas:
Revelación del contenido del mensaje.
Análisis del tráfico:
En caso de que los mensajes vayan encriptados.
· 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.
H.Deitel. (1993) Señala en un diagrama la clasificación de programas malingnos.
Programas malignos que necesitan anfitrión:
· 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.
· 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.
· Virus:
Código incrustado en un programa.
Se reproducen e insertan en otros programas.

6.5 PROTECCIÓN BASADA EN EL LENGUAJE

La protección se logra con la ayuda del núcleo del SO que valida los intentos de acceso a recursos. El gasto de inspeccionar y validar todos los intentos de acceso a todos los recursos es muy grande, por lo tanto debe ser apoyada por hardware. Al aumentar la complejidad del SO, se deben refinar los mecanismos de protección. Los sistemas de protección, no solo se preocupan de si puedo acceder a un recurso, sino también de cómo lo accedo, por lo tanto los diseñadores de aplicaciones deben protegerlos, y no solo el SO. Los diseñadores de aplicaciones mediante herramientas de los lenguajes de programación pueden declarar la protección junto con la tipificación de los datos. Ventajas:

Las necesidades de protección se declaran sencillamente y no llamando procedimientos del SO.

Las necesidades de protección pueden expresarse independientemente de los recursos que ofrece el SO.

El diseñador no debe proporcionar mecanismos para hacer cumplir la protección.

Los privilegios de acceso están íntimamente relacionados con el tipo de datos que se declara. Diferencias entre las distintas formas de protección:

Seguridad:

La obligación de cumplimiento por núcleo ofrece un grado de seguridad que el código de seguridad ofrecido por el compilador.

Flexibilidad:

 La flexibilidad de la implementación por núcleo es limitada. Si un lenguaje no ofrece suficiente flexibilidad, se puede extender o sustituir, perturbando menos cambios en el sistema que si tuviera que modificarse el núcleo.

 Eficiencia:

Se logra mayor eficiencia cuando el hardware apoya la protección. La especificación de protección en un lenguaje de programación permite describir en alto nivel las políticas de asignación y uso de recursos. El programador de aplicaciones necesita un mecanismo de control de acceso seguro y dinámico para distribuir capacidades a los recursos del sistema entre los procesos de usuario. Las construcciones que permiten al programador declarar las restricciones tienen tres operaciones básicas:


6.4 IMPLANTACIÓN DE MATRICES DE ACCESO

•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.


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:


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.

6.3 FUNCIÓN DEL SISTEMA DE PROTECCIÓN

FUNCIONES DE UN SISTEMA DE PROTECCIÓN.
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 de un sistema de protección.


Dado que los sistemas de cómputo 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.

Protección = Control de empleo de la información + Recursos
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:

• Registros límites o frontera.
• 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.

6.2 CLASIFICACIÓN APLICADA A 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 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.


6.1 CONCEPTO Y OBJETIVO DE PROTECCIÓN Y SEGURIDAD

Los procesos en un sistema operativo deben protegerse de las actividades realizadas por otros procesos. Para proporcionar dicha protección, podemos utilizar diversos mecanismos para garantizar que sólo los procesos que hayan obtenido la adecuada autorización del sistema operativo puedan operar sobre los archivos, los segmentos de memoria, sobre la CPU y sobre otros recursos del sistema.

El concepto de protección hace referencia a un mecanismo para controlar el acceso de los programas, de los procesos o de los usuarios a los recursos definidos por el sistema informático. Este mecanismo debe proporcionar un medio de especificar los controles que hay que imponer, junto con un modo de imponerlos. Podemos distinguir entre los conceptos de protección y seguridad; este último es una medida de la confianza en que se puedan preservar la integridad de un sistema de sus datos.

Objetivos de la protección.

A medida que los sistemas informáticos se han hecho más sofisticados y a medida que su rango de aplicaciones se ha ido incrementando, también ha crecido la necesidad de proteger la integridad de esos sistemas. La protección se concebía originalmente como algo asociado a los sistemas operativos multiprogramados, de modo que a los usuarios que no fueran de confianza pudieran compartir de manera segura un espacio lógico de nombres común, como por ejemplo un directorio de archivos, o compartir un espacio físico de nombres común, como por ejemplo la memoria. Los conceptos modernos de protección han evolucionado para incrementar la fiabilidad de cualquier sistema complejo que haga uso de recursos compartidos.

Necesitamos proporcionar protección por diversas razones. La más obvia es la necesidad de impedir una violación maliciosa e intencionada de una restricción de acceso por parte de un usuario. Sin embargo, tiene una mayor importancia general la necesidad de garantizar que cada componente de programa activo en un sistema utilice los recursos del sistema sólo en ciertas formas que sean coherentes con las políticas establecidas. Este requerimiento tiene un carácter primordial si se quiere disponer de un sistema fiable.

Objetivos

  • •  Inicialmente protección del SO frente a usuarios poco confiables.
  • •  Protección: control para que cada componente activo de un proceso solo pueda acceder a los recursos especificados, y solo en forma congruente con la politica 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:

5.8 MECANISMO DE RECUPERACIÓN EN CASO DE FALLA

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)
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:
  1. Hacer con regularidad una o más copias de los archivos y colocarlas en lugar seguro.
  2. 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.
Mecanismos de Protección
Dominios de Protección
Muchos objetos del sistema necesitan protección, tales como la cpu, segmentos de memoria, unidades de disco, terminales, impresoras, procesos, archivos, bases de datos, etc.
Cada objeto se referencia por un nombre y tiene habilitadas un conjunto de operaciones sobre él.
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 él.
  • 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.


5.7 MODELO JERÁRQUICO

El directorio contiene un conjunto de datos por cada archivo referenciado.
Es un contenedor virtual en el que se almacenas una agrupación de archivos de datos y otros sus directorios, atendiendo a su contenido a su propósito o cualquier criterio que decida el usuario.

Una posibilidad es que el directorio contenga por cada archivo referenciado:
  El nombre.
  Sus atributos.
  Las direcciones en disco donde se almacenan los datos.
Otra posibilidad es que cada entrada del directorio contenga:
El nombre del archivo.
Un apuntador a otra estructura de datos donde se encuentran los atributos y las direcciones en disco.
Al abrir un archivo el S. O.:

Busca en su directorio el nombre del archivo.

Extrae los atributos y direcciones en disco.
Graba esta información en una tabla de memoria real.
Todas las referencias subsecuentes al archivo utilizarán la información de la memoria principal.
El número y organización de directorios varía de sistema en sistema:
Directorio único: el sistema tiene un solo directorio con todos los archivos de todos los usuarios.
Un directorio por usuario: el sistema habilita un solo directorio por cada usuario.
Un árbol de directorios por usuario: el sistema permite que cada usuario tenga tantos directorios como necesite, respetando una jerarquía general.

5.6 MANERJO DE ESPACIO EN LA MEMORIA SECUNDARIA

l sistema de archivos se ocupa primordialmente de administrar el espacio de almacenamiento secundario, sobre todo el espacio en disco. El manejo del espacio libre en disco se lleva a cabo de la siguiente manera:

  • Vector de bits.
  • Lista ligada (lista libre).
  • Por conteo (agrupación).
Vector de bits.
El espacio libre en disco es frecuentemente implementado como un mapa de bits, donde cada sector es representado por un bit y si el sector es libre el bit es cero de lo contrario está asignado.
Lista ligada
Existe una cabecera en la que se tiene la dirección del primer sector vacio, ese sector a su vez, tiene un apuntador al siguiente sector, y así sucesivamente hasta que se encuentre una marca indicando que ya no hay espacio libre.
Por conteo 
Aquí, por cada conjunto de sectores contiguos que estén vacios, se tiene por cada apuntador, un número de inicio y el tamaño del grupo de sectores vacios.
Métodos de asignación de espacio en disco.
Un método de asignación de espacio en disco determina la manera en que un Sistema Operativo controla los lugares del disco ocupados por cada archivo de datos.
  • Contigua
  • Ligada
  • Indexada
Asignación contigua
Este método consiste en asignar el espacio en disco de tal manera que las direcciones de todos los bloques correspondientes a un archivo definen un orden lineal.
Asignación ligada
En este método, cada archivo es una lista ligada de bloques de disco. En el directorio hay un apuntador al bloque de inicio y un apuntador al bloque final para cada archivo. En cada uno de los bloques donde se encuentra un archivo hay un apuntador al siguiente bloque de la lista.
Asignación indexada
Cada archivo tiene su bloque índice, El cual es un arreglo de direcciones de bloques de disco. La i-ésima entrada en el bloque índice apunta al i-ésimo bloque que conforma el archivo.


El sistema de archivos se ocupa primordialmente de administrar el espacio de almacenamiento secundario, sobre todo el espacio en disco. El manejo del espacio libre en disco se lleva a cabo de la siguiente manera:
· Vector de bits
· Lista ligada (lista libre)
· Por conteo (agrupación)
Vector de bits. El espacio libre en disco es frecuentemente implementado como un mapa de bits, donde cada block es representado por un bit y si el bloc es libre el bit es cero de lo contrario está asignado.11000111
Lista ligada. Una lista ligada de todos los blocks libres. Otra implantación se consigue guardando la dirección del primer block libre y el número de los blocks libres contiguos que le siguen. Cada entrada de la lista de espacio libre consiste de una dirección de disco y un contador (por conteo).

5.5 MECANISMOS DE ACCESO A LOS ARCHIVOS

Existen varios mecanismos para acceder los archivos: Directorios, descriptores de archivos, mecanismos de control de acceso y procedimientos para abrir y cerrar archivos.

Descriptores de archivos.

El descriptor de archivos o bloque de control de archivos es un bloque de control que contiene información que el sistema necesita para administrar un archivo.

Es una estructura muy dependiente del sistema.

Puede incluir la siguiente información:

Nombre simbólico del archivo.
Localización del archivo en el almacenamiento secundario.
Organización del archivo (método de organización y acceso).
Tipo de dispositivo.
Datos de control de acceso.
Tipo (archivo de datos, programa objeto, programa fuente, etc.).
Disposición (permanente contra temporal).
Fecha y tiempo de creación.
Fecha de destrucción.
Fecha de la última modificación.
Suma de las actividades de acceso (número de lecturas, por ejemplo).
Los descriptores de archivos suelen mantenerse en el almacenamiento secundario; se pasan al almacenamiento primario al abrir el archivo.

El descriptor de archivos es controlado por el sistema de archivos ; el usuario puede no hacer referencia directa a él.

A cada uno de los archivos se le asigna un descriptor el cual contendrá toda la información que necesitará el sistema de archivos para ejecutar con él los comandos que se le soliciten. El descriptor se mantendrá en memoria principal desde que el archivo es abierto hasta que sea cerrado, y debe tener al menos la siguiente información, identificación del archivo, lugar de almacenamiento, información del modo de acceso.


5.4 ORGANIZACIÓN LÓGICA Y FÍSICA

El sistema de archivos está relacionado especialmente con la administración del espacio de almacenamiento secundario, fundamentalmente con el almacenamiento de disco.
Una forma de organización de un sistema de archivos puede ser la siguiente:
  • Se utiliza una “raíz ” para indicar en qué parte del disco comienza el “directorio raíz ” .
  • El “directorio raíz ” apunta a los “directorios de usuarios”.
  • Un “directorio de usuario” contiene una entrada para cada uno de los archivos del usuario.
  • Cada entrada de archivo apunta al lugar del disco donde está almacenado el archivo referenciado.
Esta forma de organización se muestra en la Fig. 5.4.1.
Los nombres de archivos solo necesitan ser únicos dentro de un directorio de usuario dado.
El nombre del sistema para un archivo dado debe ser único para el sistema de archivos.

En sistemas de archivo “jerárquicos” el nombre del sistema para un archivo suele estar formado como el “nombre de la trayectoria” del directorio raíz al archivo.
La mayoría de las computadoras organizan los archivos en jerarquías llamadas carpetas, directorios catálogos . (El concepto es el mismo independientemente de la terminología usada.) Cada carpeta puede contener un número arbitrario de archivos, y también puede contener otras carpetas. Las otras carpetas pueden contener todavía más archivos y carpetas, y así sucesivamente, construyéndose un estructura en árbol en la que una «carpeta raíz» (el nombre varía de una computadora a otra) puede contener cualquier número de niveles de otras carpetas y archivos. A las carpetas se les puede dar nombre exactamente igual que a los archivos (excepto para la carpeta raíz, que a menudo no tiene nombre). El uso de carpetas hace más fácil organizar los archivos de una manera lógica.
La mayor parte de las estructuras de organizaciones alternativas de archivos se encuentran dentro de estas cinco categorías:

Pilas

Es la forma más fácil de organizar un archivo. Los datos se recogen en el orden en que llegan.
Su objetivo es simplemente acumular una masa de datos y guardarla.
Los registros pueden tener campos diferentes o similares en un orden distinto. Cada campo debe ser autodescriptivo, incluyendo tanto un campo de nombre como el valor. La longitud de cada campo debe indicarse implícitamente con delimitadores, explícitamente incluidos como un subcampo más.
El acceso a los registros se hace por búsquedas exhaustiva y son fáciles de actualizar. Si se quiere encontrar un registro que contiene un campo particular y un valor determinado, es necesario examinar cada registro de la pila hasta encontrar el registro deseado. Si se quieren encontrar todos los registros que contienen un campo particular o que tienen un valor determinado para ese campo, debe buscarse el archivo entero.
Se aplica cuando los datos se recogen o almacenan antes de procesarlos o cuando no son fáciles de organizar. Esta clase de archivo aprovecha bien el espacio cuando los datos almacenados varían en tamaño y estructura. Fuera de estos usos limitados, este tipo de archivos no se adapta a la mayoría de las aplicaciones.

6.6 VALIDACIÓN Y AMENAZA

Amenazas a la seguridad en el acceso al sistema: ·   Intrusos. ·   programas malignos. Intrusos: ·   Piratas o hackers:  individuos...