RSS

miércoles, 27 de enero de 2010

UNIDAD 7 Desempeño y Seguridad

7.1 Medición Desempeño Performance Sistemas Operativos, monitoreo y evaluación


Un sistema operativo es en primer lugar un administrador de recursos, por ello es importante poder determinar con qué efectividad administra sus recursos un sistema determinado.
Las instalaciones rara vez cuentan con personal versado en las técnicas de análisis de rendimiento.
Durante los primeros años del desarrollo de las computadoras el hardware representaba el costo dominante de los sistemas y debido a ello los estudios de rendimiento se concentraban en el hardware.
Actualmente y según la tendencia apreciable:
 El software representa una porción cada vez mayor de los presupuestos informáticos.
El software incluye el S. O. de multiprogramación / multiproceso, sistemas de comunicaciones de datos, sistemas de administración de bases de datos, sistemas de apoyo a varias aplicaciones, etc.
El software frecuentemente oculta el hardware al usuario creando una máquina virtual, que está definida por las características operativas del software.
Un software deficiente y / o mal utilizado puede ser causa de un rendimiento pobre del hardware, por lo tanto es importante controlar y evaluar el rendimiento del hardware y del software.
Tendencias Importantes que Afectan a los Aspectos del Rendimiento
Con los avances en la tecnología de hardware los costos del mismo han decrecido drásticamente y todo hace suponer que esta tendencia continuará.
Los costos de trabajo (personal) han ido aumentando:

Significan un porcentaje importante del costo de los sistemas informáticos.
Se debe reformular el aspecto del rendimiento del hardware base y medirlo de manera más adaptada a la productividad humana.
Mediciones del Rendimiento
El rendimiento expresa la manera o la eficiencia con que un sistema de computación cumple sus metas.
El rendimiento es una cantidad relativa más que absoluta pero suele hablarse de medidas absolutas de rendimiento, ej.: número de trabajos atendidos por unidad de tiempo.
Algunas mediciones son difíciles de cuantificar, ej.: facilidad de uso.
Técnicas de Evaluación del Rendimiento
Tiempos
Los tiempos proporcionan los medios para realizar comparaciones rápidas del hardware.
Una posible unidad de medida es el “mips”: millón de instrucciones por segundo.
Los tiempos se usan para comparaciones rápidas; se utilizan operaciones básicas de hardware.
Mezclas de instrucciones
Se usa un promedio ponderado de varios tiempos de las instrucciones más apropiadas para una aplicación determinada; los equipos pueden ser comparados con mayor certeza de la que proporcionan los tiempos por sí solos.
Son útiles para comparaciones rápidas del hardware.
Programas del núcleo
Un programa núcleo es un programa típico que puede ser ejecutado en una instalación.
Se utilizan los tiempos estimados que suministran los fabricantes para cada máquina para calcular su tiempo de ejecución.
Se corre el programa típico en las distintas máquinas para obtener su tiempo de ejecución.
Pueden ser útiles para la evaluación de ciertos componentes del software, por ej. compiladores; pueden ayudar a determinar qué compilador genera el código más eficiente.
Modelos analíticos
Son representaciones matemáticas de sistemas de computación o de componentes de sistemas de computación.
Generalmente se utilizan los modelos de:
 Teoría de colas.
Procesos de Markov.
Requieren un gran nivel matemático del evaluador y son confiables solo en sistemas sencillos, ya que en sistemas complejos los supuestos simplificadores pueden invalidar su utilidad y aplicabilidad.
Embotellamientos y Saturación
Los recursos administrados por los S. O. se acoplan e interactúan de maneras complejas para afectar al total de la operación del sistema.
Ciertos recursos pueden sufrir embotellamientos que limitan el rendimiento del sistema:
 El recurso se encuentra saturado.
Los procesos que compiten por el recurso comienzan a interferirse unos a otros.
Ej.: problema de la hiperpaginación:
o Ocurre cuando el almacenamiento principal está lleno.
o Los conjuntos de trabajo de los distintos procesos activos no pueden ser mantenidos simultáneamente en el almacenamiento principal.
Para detectar los embotellamientos se debe controlar cada cola de peticiones de los recursos; cuando una cola crece rápidamente significa que la tasa de llegadas de peticiones debe superar a su tasa de servicio.

7.2 Seguridad de Sistemas Operativos


El ambiente de seguridad Sistemas Operativos.
Los términos seguridad y protección se utilizan en forma indistinta. Sin embargo, es útil hacer una distinción entre los problemas generales relativos a la garantía de que los archivos no sea leídos o modificados por personal no autorizado, lo que incluye aspectos técnicos, de administración, legales y políticos, 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 más importantes son la pérdida de datos y los intrusos. Algunas de las causas más comunes de la perdida de datos son:
1. Actos divinos: Incendios, inundaciones, terremotos, guerras, revoluciones o ratas que roen las cintas o discos flexibles.
2. errores de Hardware o Software: Mal funcionamiento de la CPU, discos o cintas ilegibles, errores de telecomunicación o errores en el programa.
3. Errores Humanos: Entrada incorrecta de datos, mal montaje de las cintas o el disco, ejecución incorrecta del programa, perdida de cintas o discos.
La mayoría de estas causas se pueden enfrentar con el mantenimiento de los respaldos adecuados; de preferencia, en un lugar alejado de los datos originales.
Un problema más 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 más crueles: Desean hacer cambios no autorizados a los datos. Si se desea diseñar un sistema seguro contra los intrusos, es importante tener en cuenta el tipo de intruso con el que se desea tener protección. Algunas de las categorías comunes son:
1. Curiosidad casual de usuarios no técnicos. Muchas personas tienen en sus escritorios terminales para sistemas con tiempo compartido y, por la naturaleza humana, algunos de ellos leerán el correo electrónico de los demás u otros archivos, si no existen barreras en frente de ellos. 
2. Conocidos husmeando. Algunos estudiantes, programadores de sistemas, operadores y demás personal técnico consideran como un reto personal romper la seguridad del sistema de cómputo local.
3. 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 años o el “correo negro” .
4. 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. A menudo, este intento implica la cobertura de cables o el levantamiento de antenas hacia la computadora con el fin de recoger su radiación electromagnética.
Otro aspecto del problema de la seguridad es la privacía: la protección de las personas respecto del mal uso de la información en contra de uno mismo. Esto implica en forma casi inmediata muchos aspectos morales y legales.

7.2.1 Conceptos Fundamentales de Seguridad Sistemas Operativos


Seguridad esta definida como el conjunto de medidas tomadas para protegerse contra robos, ataques, crímenes y espionaje o sabotaje.
La seguridad implica la cualidad o el estar seguro, es decir, la evitación de exposición a situaciones de peligro y la actuación para quedar a cubierto frete a contingencias. 
Seguridad externa.- se ocupa de proteger el recurso de cómputo contra intrusos y desastres como incendios e inundaciones.  Seguridad física. Seguridad de operación.
Seguridad interna.- se ocupa de los diversos controles integrados al equipo y al sistema operativo con el fin de garantizar el funcionamiento confiable y sin corrupción del sistema de cómputo y la integridad de los programas y los datos.
Amenazas y objetivos de seguridad.
Las principales amenazas a la seguridad percibidas por los usuarios y los proveedores de sistemas basados en computadoras incluyen:
1.- Revelación no autorizada de la información.
2.- Alteración o destrucción no autorizada de la información.
3.-Uso no autorizado de servicios.
4.- Denegación de servicios a usuarios legítimos.
La revelación de información a entidades no autorizadas puede dar lugar a brechas en la privacidad y a pérdidas tangibles para el propietario de la información.
La alteración o destrucción no detectadas de información que no pueda ser recuperada es potencialmente igual de peligrosas. Incluso sin fugas externas, la perdida de datos vitales puede afectar gravemente.
El uso no autorizado de un servicio puede dar lugar a perdida de beneficios para el proveedor del servicio.
La denegación de servicio implica generalmente alguna forma de daño al sistema informático que da lugar a una pérdida parcial o completa del servicio prestado a los clientes legítimos.
La seguridad de computadoras y redes aborda los siguientes cuatro requisitos:
• Secreto: exige que la información de un sistema de computadoras sea accesible para la lectura solamente por partes no autorizadas. Este tipo de acceso incluye la impresión, visualización y otras formas de revelación.
• Integridad: exige que los elementos de un sistema de computadoras puedan ser modificables solo por partes autorizadas.
• Disponibilidad: exige que los elementos de un sistema de computadora estén disponibles para las partes autorizadas.
• Autenticidad: requiere que un sistema de computadoras sea capaz de verificar la identidad de un usuario.
Tipos de amenazas.
Los tipos de amenazas a la seguridad de un sistema de computadora o una red se caracterizan mejor contemplando la función del sistema como un suministrador de información.
• Interrupción: se destruye un elemento del sistema o se hace que inasequible o inútil.
• Interceptación: una parte no autorizada consigue acceder a un elemento. Este es un ataque al secreto.
• Modificación: una parte no autorizada no solo consigue acceder, si no que falsifica un elemento. Este es un ataque ala integridad.

7.2.2 Vigilancia Sistemas Operativos


La vigilancia 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 existentes 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.



7.2.3 Protección Sistemas Operativos


 Existen varios mecanismos que pueden usarse para asegurar los archivos, segmentos de memoria, CPU, y otros recursos administrados por el Sistema Operativo. Por ejemplo, el direccionamiento de memoria asegura que unos procesos puedan ejecutarse solo dentro de sus propios espacios de dirección. El timer asegura que los procesos no obtengan el control de la CPU en forma indefinida. 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.

7.2.4 Auditoria Sistemas Operativos


La auditoría suele realizarse a posteriori en sistemas manuales , es decir que se examinan las recientes transacciones de una organización para determinar si hubo ilícitos.
La auditoría en un sistema informático puede implicar un procesamiento inmediato, pues se verifican las transacciones que se acaban de producir.
Un registro de auditoría es un registro permanente de acontecimientos importantes acaecidos en el sistema informático:
 * Se realiza automáticamente cada vez que ocurre tal evento.
* Se almacena en un área altamente protegida del sistema.
* Es un mecanismo importante de detección.
El registro de auditoría debe ser revisado cuidadosamente y con frecuencia:
 * Las revisiones deben hacerse:
o Periódicamente:
+ Se presta atención regularmente a los problemas de seguridad.
o Al azar:
+ Se intenta atrapar a los intrusos desprevenidos.

7.2.5 Controladores de Acceso Sistemas Operativos


 Lo fundamental para la seguridad interna es controlar el acceso a los datos almacenados.
Los derechos de acceso definen qué acceso tienen varios sujetos o varios objetos.
Los sujetos acceden a los objetos.
Los objetos son entidades que contienen información.
Los objetos pueden ser:
 * Concretos:
o Ej.: discos, cintas, procesadores, almacenamiento, etc.
* Abstractos:
o 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:
 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.

7.2.6 Núcleos de Seguridad Sistemas Operativos


Núcleos de Seguridad
Es mucho más fácil hacer un sistema más seguro si la seguridad se ha incorporado desde el principio al diseño del sistema.
Las medidas de seguridad deben ser implementadas en todo el sistema informático.
Un sistema de alta seguridad requiere que el núcleo del S. O. sea seguro.
Las medidas de seguridad más decisivas se implementan en el núcleo, que se mantiene intencionalmente lo más pequeño posible.
Generalmente se da que aislando las funciones que deben ser aseguradas en un S. O. de propósito general a gran escala, se crea un núcleo grande.
La seguridad del sistema depende especialmente de asegurar las funciones que realizan:
 * El control de acceso.
* La entrada al sistema.
* La verificación.
* La administración del almacenamiento real, del almacenamiento virtual y del sistema de archivos.

7.2.7 Seguridad por Hardware y Software

 Seguridad Por Hardware
Existe una tendencia a incorporar al hardware funciones del S. O. :
 Las funciones incorporadas al hardware:
o Resultan mucho más seguras que cuando son asequibles como instrucciones de software que pueden ser modificadas.
o Pueden operar mucho más rápido que en el software:
+ Mejorando la performance.
+ Permitiendo controles más frecuentes
Al disminuir los costos del equipo, se hace cada vez mas deseable incorporar algunas funciones del sistema operativo en el hardware. Asi, la seguridad de estas funciones es mayor, pues no están accesibles como instrucciones de programa, las cuales se pueden modificar con facilidad. Las funciones incorporadas en el equipo se ejecutan mucho mas rapido que en software; diversas funciones de supervisión se pueden realizar con mas frecuencia.

7.2.8 Criptografia Sistemas Operativos

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:
o 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
Es 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:
o 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:
o Se simplifica el problema de la distribución de claves.
Aplicaciones
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.


7.2.9 Penetración Sistema Operativo

La penetración definitiva puede consistir en cambiar el bit de estado de la máquina del estado problema al estado supervisor; el intruso podrá así ejecutar instrucciones privilegiadas para obtener acceso a los recursos protegidos por el S. O.
Los estudios de penetración están diseñados para:
 Determinar si las defensas de un sistema contra ataques de usuarios no privilegiados son adecuadas.
Descubrir deficiencias de diseño para corregirlas.
El control de entrada / salida es un área favorita para intentar la penetración a un sistema, ya que los canales de entrada / salida tienen acceso al almacenamiento primario y por consiguiente pueden modificar información importante.
Una de las metas de las pruebas de penetración consiste en estimar el factor de trabajo de penetración:
 Indicación de cuánto esfuerzo y recursos son necesarios para conseguir un acceso no autorizado a los recursos del sistema:
o Debería ser tan grande que resulte disuasivo.