miércoles, 26 de noviembre de 2008

Unidad 6. Proteccion y Seguridad

6.1 Conceptos y objetivos de protección

La protección es un mecanismo control de acceso de los programas, procesos o usuarios al sistema o recursos. Hay importantes razones para proveer protección. La más obvia es la necesidad de prevenirse de violaciones intencionales de acceso por un usuario. Otras de importancia son, la necesidad de asegurar que cada componente de un programa, use solo los recursos del sistema de acuerdo con las políticas fijadas para el uso de esos recursos.
También es importante mencionar que los sistemas complejos son necesariamente modulares, ya que de otra manera no se podría manejar su complejidad. Pero el aumento de la modularidad significa que la seguridad disminuye porque falla a menudo donde dos módulos se comunican.La única manera razonable de probar la seguridad de un sistema es realizar evaluaciones de seguridad en él. Sin embargo, cuanto más complejo es el sistema, más dura se vuelve la evaluación de su seguridad. Un sistema más complejo tendrá más errores relacionados con la seguridad en su análisis, diseño y programación. Y desgraciadamente, el número de errores y la dificultad de evaluación no crecen de acuerdo con la complejidad, crece mucho más rápido.




Objetivos o metas

Existen varios mecanismos que pueden usarse para asegurar los archivos, segmentos de memoria, CPU, y otros recursos administrados por el Sistema Operativo. La protección se refiere a los mecanismos para controlar el acceso de programas, procesos, o usuarios a los recursos definidos por un sistema de computación. Seguridad es la serie de problemas relativos a asegurar la integridad del sistema y sus datos.Hay importantes razones para proveer protección. La más obvia es la necesidad de prevenirse de violaciones intencionales de acceso por un usuario. Otras de importancia son, la necesidad de asegurar que cada componente de un programa, use solo los recursos del sistema de acuerdo con las políticas fijadas para el uso de esos recursos.Un recurso desprotegido no puede defenderse contra el uso no autorizado o de un usuario incompetente. Los sistemas orientados a la protección proveen maneras de distinguir entre uso autorizado y desautorizado.

(http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/MonogSO/SEGSO00.htm)
(Operating System concepts - Peterson, J/L/ & Silberschatz, A. - Capítulo 11 An Introduction to Operating Systems - Deitel, H. M. - Capítulo 17
6.2 Funciones sistemas 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.

(
http://www.di.uniovi.es/ioos/publications/security/oviedo96.pdf)



6.3 Implantación de matrices de acceso
Un modelo de protección puede ser visto abstractamente como una matriz, llamada matriz de derecho. Los renglones de la matriz representan dominios y las columnas representan objetos. Cada entrada en la matriz contiene un conjunto de derechos de acceso. Dado que los objetos son definidos explícitamente por la columna, se puede omitir el nombre del objeto en el derecho de acceso. La entrada "Matriz [i, j]" define el conjunto de operaciones que un proceso ejecutándose en el dominio "Dj" puede realizar sobre el objeto "Oj".
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 D1, 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".
(
http://sistemas.itlp.edu.mx/tutoriales/sistemasoperativos2/unidad3.htm#IMPLANTACION%20DE%20MATRICES%20CON%20DERECHOS%20DE%20ACCESO.)



6.4 Protección basada en lenguaje
En esta refinación observamos que 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.
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.
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.
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.
(http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/MonogSO/SEGSO00.htm)
(http://www.eafit.edu.co/NR/rdonlyres/5BD0D89C-4070-47BE-A795-548BC08628EF/8347/ST0075SistemasOperativos.pdf)


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.

6.6 Clasificaciones de la seguridad

Schwinmmer “Security systems”. (2006) explica que la clasificación de los sistemas de computación según sus requisitos de seguridad ha sido un tema ampliamente discutido desde los años setenta. La disparidad de criterios existentes se ha ampliado más con la conexión de las computadoras para formar redes de computación que pueden compartir recursos.
En esta clasificación especifica, hay cuatro niveles de seguridad: a, b, c y d… a continuación, se describen estos niveles de seguridad y las características de cada uno.
Nivel D es el Sistemas con protección mínima o nula no pasan las pruebas de seguridad mínima. MS-DOS y Windows 3. 1 son sistemas de nivel d. Puesto que están pensados para un sistema mono proceso y mono usuario, no proporcionan ningún tipo de control de acceso ni de separación de recursos.
Nivel C a la Capacidad discrecional para proteger recursos, La aplicación de los mecanismos de protección depende del usuario, o usuarios, que tienen privilegios sobre los mismos. Entonces esto significa que un objeto puede estar disponible para lectura, escritura o cualquier otra operación. Y entonces casi todos los sistemas operativos comerciales de propósito general, como Unix, Linux o Windows NT se clasifican en este nivel.es decir dos son:
1. Control de acceso por dominios.
2. Control de acceso individualizado.
Nivel B es el Control de acceso obligatorio en este nivel, los controles de acceso no son discrecionales de los usuarios o los dueños de los recursos, que deben existir obligatoriamente. Esto significa que todo objeto controlado debe tener protección sea del tipo que sea. Es decir que son tres y son:
1. Etiqueta de seguridad obligatoria.
2. Protección estructurada.
3. Y el dominio de seguridad.
Nivel A es el Sistemas de seguridad certificados para acceder a este nivel, la política de seguridad y los mecanismos de protección del sistema deben ser verificados y certificados por un organismo autorizado para ello.es decir dos tipos:
1. Diseño verificado.
2. Desarrollo controlado.

6.7 Validación y amenazas al sistema

DEITEL, Harvey, “Sistemas Operativos” (1993) determina las siguientes 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.


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.8 Cifrado
MILENKOVIC, Milan, “Sistemas Operativos: Conceptos y Diseño”, (1994). Considera que 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.







Conclusión

Una norma básica de seguridad radica en la asignación a cada usuario sólo de los permisos necesarios para poder cubrir las necesidades de su trabajo sin poner en riesgo el trabajo de los demás.

Debido a que el uso de Internet se encuentra en aumento, cada vez más compañías permiten a sus socios y proveedores acceder a sus sistemas de información. Por lo tanto, es fundamental saber qué recursos de la compañía necesitan protección para así controlar el acceso al sistema y los derechos de los usuarios del sistema de información. Los mismos procedimientos se aplican cuando se permite el acceso a la compañía a través de Internet.

Además, debido a la tendencia creciente hacia un estilo de vida nómada de hoy en día, el cual permite a los empleados conectarse a los sistemas de información casi desde cualquier lugar, se pide a los empleados que lleven consigo parte del sistema de información fuera de la infraestructura segura de la compañía.

Generalmente, los sistemas de información incluyen todos los datos de una compañía y también en el material y los recursos de software que permiten a una compañía almacenar y hacer circular estos datos. Los sistemas de información son fundamentales para las compañías y deben ser protegidos.
Generalmente, la seguridad informática consiste en garantizar que el material y los recursos de software de una organización se usen únicamente para los propósitos para los que fueron creados y dentro del marco previsto.

No hay comentarios: