domingo, 29 de mayo de 2016

ventajas y desventajas de técnicas de cifrado.

Ventajas
Desventajas
·        Protege la información almacenada en la computadora contra accesos no autorizados
·        Protege la información mientras transita de un sistema de cómputo a otro
·        Puede detectar y evitar alteraciones accidentales o intencionales a los datos
·        Puede verificar si el autor de un documento es realmente quien cree que es
·        No puede prevenir que un agresor borre intencionalmente todos los datos
·        No es posible saber si está siendo descifrado
·        Acceder al archivo antes de que sea un cifrado o después de descifrar.

actividad 1 concepto de seguridad y sus estandares

La protección consiste en evitar que se haga uso indebido de los recursos que están dentro del ámbito del sistema operativo (Archivos, zonas de memoria, etc.), además es necesario poder comprobar que los recursos solo se usan por usuarios que tienen derecho de acceso a ellos.

La seguridad se basa en tres aspectos de diseño:

·         Evitar la pérdida de datos: La cual se puede dar por varias razones, entre las que podemos mencionar las catástrofes naturales o artificiales, errores del hardware o del software, errores humanos. Una solución a este tipo de problemas es mantener una copia o varias de los datos almacenadas en distintos lugares.
·         Confidencialidad de los datos: Este tipo de control sobrepasa el ámbito de los sistemas operativos, aunque una parte del problema puede resolverse en su ámbito interno. La solución a este problema puede realizarse estableciendo actuaciones externas al sistema operativo, que pueden ser incluso policiales.

·         Controlar acceso de los datos y recursos: Es competencia directa del sistema operativo, es necesario que los usuarios no puedan acceder a archivos a los que no tienen permisos de acceso, se deben ejecutar pruebas de seguridad exhaustivas para todos los elementos del sistema, controles de acceso (Autenticación de usuarios y protección frente a accesos indebidos).

Problemas de Seguridad:

·         Uso indebido o malicioso de programas: Los problemas de seguridad generados por programas maliciosos son difíciles de detener y corregir, dos formas muy frecuentes de generar fallas de seguridad son los caballos de troya (Crear programa para que haga cosas no autorizadas en el sistema cuando actúa en el entorno adecuado) y las puertas de atrás (Crean un agujero de seguridad a través de un programa privilegiado que lo permite).

·         Usuarios inexpertos o descuidados: Potencialmente peligrosos, pueden borrar archivos no deseados, dejar abierto el sistema durante largo tiempo, escribir en papel palabras clave junto a la computadora, etc.

·         Usuarios no autorizados: Debe existir un proceso de autenticación de usuarios para evitar usuarios no autorizados, el correo electrónico puede usarse como portador de programas destructores, la existencia de sistemas abiertos da lugar a cuatro tipos de ataques de seguridad: virus, gusanos, rompedores de claves y bombardeos.

·         Virus: Programas que se auto replican con fines destructivos o de violación de seguridad, necesitan un programa que los transporte y un agente que los transmita para poder infectar a otros programas. Existen varias formas de insertar un virus, se puede añadir, en medio, al principio o al final del programa, también puede reemplazarse completamente con otro programa y tomar el mismo nombre pero con un comportamiento totalmente distinto. Actualmente son muy comunes las propagaciones de los virus a través de la red, unidos a otros programas. Dos formas de solucionar virus serían las siguientes: Comprobación manual de todos los dispositivos para limpiarlos del virus o creación de un antídoto que también se propague y limpie el virus.

·         Gusanos: Es un malware que tiene la propiedad de duplicarse a sí mismo. Los gusanos utilizan las partes automáticas de un sistema operativo que generalmente son invisibles al usuario, a diferencia de un virus un gusano no precisa alterar los archivos de programas, sino que reside en la memoria y se duplica a sí mismo. Los gusanos casi siempre causan problemas en la red (aunque sea simplemente consumiendo ancho de banda), mientras que los virus siempre infectan o corrompen los archivos de la computadora que atacan.

·         Rompedores de sistemas de protección: Su objetivo es romper la seguridad de los sistemas (Generalmente remotos) y poder ejecutar accesos ilegales.

·         Bombardeo: Ataques masivos a un servidor determinado que provocan que el servidor deniegue sus servicios a los clientes legales, pueden llegar a bloquear el servidor.

Diseño de Sistemas Operativos Seguros




Es necesario el diseñarlos para que admitan mecanismos de seguridad desde un principio, Saitzer y Schroeder extrajeron los criterios de diseño siguientes para dotar a un Sistema Operativo de mecanismos de seguridad:

·         Diseño abierto (Para disuadir a posibles curiosos)
·         Exigir permisos (Política de acceso restrictiva)
·         Privilegios mínimos (Asignar únicamente prioridades necesarias)
·         Mecanismos económicos (Sencillos, regulares y pequeños)
·         Intermediación completa (Comprobación de acceso al sistema)
·         Compartición mínima
·         Fáciles de usar y aceptables (Aceptado por usuarios y fácil de usar)
·         Separación de privilegios (Más de un mecanismo de protección, criptografía)

Técnicas de diseño de sistemas seguros:

·         Separación de recursos (Física, temporal, criptográfica y lógica)
·         Uso de entornos virtuales (Espacios múltiples de memoria virtual, máquinas virtuales) que proporcionan un entorno virtual completo para cada usuario.
·         Diseño por capas: Varios niveles, donde los niveles interiores son los de más confianza

Controles de seguridad externos al sistema operativo:

·         Equipos de penetración y limitación de acceso: Para tratar de detectar el mayor número de fallos posible es habitual usar equipos de penetración, en donde su misión es llevar a cabo todos los ataques de seguridad sobre un sistema.




Seguridad y Protección en Sistemas Operativos de Propósito General



Una de las funciones principales del Sistema Operativo es proteger los recursos de cada usuario para que pueda ejecutar en un entorno seguro, donde los mecanismos permiten controlar el acceso a los objetos del sistema permitiéndolo o denegándolo sobre la base de información.

La identificación del usuario (Autenticación)

El objetivo es determinar si un usuario es quien dice ser, existen diversas formas de controles como pedir información que solo él conoce a través de contraseñas, determinar características físicas del usuario  o pedir un objeto que use el usuario por ejemplo. El proceso de autenticación pide tres valores:

·         Identificación del usuario
·         Contraseña
·         Domino de protección al que pertenece el usuario

Palabras Clave

            Es el método más usado actualmente para identificar a un usuario, consiste en un conjunto de caracteres alfanuméricos y especiales conocido únicamente por el usuario y por el sistema operativo sobre el que se ha llegado a un acuerdo para que sea usado como clave de acceso al sistema. Para la asignación de claves, la palabra clave es fijada por el usuario cuando entra en su cuenta y puede cambiarla en el momento que desee.

·         Longitud y formato de claves: La longitud y el formato de las claves han ido cambiando a través del tiempo, principalmente debido a la detección de fallos asociados a las claves usadas en cada momento. Donde para aumentar la complejidad de la clave se puede hacer que el mandato que permite cambiar la contraseña obligue al usuario a meter caracteres no alfanuméricos y que fuerce la existencia de contraseñas de una longitud mínima añadiendo números aleatorios a la palabra antes de cifrarla.
·         Almacenamiento de claves: Suelen almacenarse en archivos cifrados, esto con el objetivo de incrementar la seguridad.
·         Duración de las claves: Se recomienda que sean válidas únicamente durante un cierto tiempo.

Dominios de Protección

            Consiste en la relación entre objetos y derechos de acceso, es un conjunto de pares (Objeto, derechos) donde cada par especifica un objeto y las operaciones que pueden ejecutarse sobre el mismo. Un objeto puede  pertenecer a varios dominios de protección simultáneamente.

Matrices de Protección

                También denominada Matriz de Acceso, los dominios de protección son las filas de la matriz y los objetos son las columnas de la misma. El elemento (i, j) expresa las operaciones que el dominio i; puede ejecutar sobre el objeto j. Si la matriz de protección está completamente definida, los mecanismos de protección pueden saber siempre qué hacer cuando un proceso de un dominio solicita determinada operación sobre un objeto. Para que se resuelva el problema de complejidad y el número fijo de filas y columnas, la mayoría de los sistemas operativos implementan la matriz mediante estructuras dinámicas de datos (listas) a las que se puede añadir o quitar elementos sin tener que redefinir ninguna estructura de datos del sistema operativo.

Lista de Control de Acceso

                Es necesario especificar qué tipos de acceso al objeto son posibles, a cada objeto se le asocia una lista de pares (Dominio, operaciones), cuando un usuario pide acceso a un objeto, se determina a qué dominio de protección pertenece y se recorre la lista para ver si se puede hacer la operación
·         Unix: Implementación sencilla por la simplificación de dominios de protección llevada a cabo por el sistema operativo.
·         Windows NT: Más sofisticado de Unix, todos los objetos tienen asignados descriptores de seguridad como parte de sus fichas de acceso.

Capacidades

                La otra forma posible de implementar la matriz de protección es asociar a cada dominio un conjunto de descriptores que indiquen las operaciones que los componentes de ese dominio pueden efectuar sobre cada objeto del sistema. Estos descriptores se denominan capacidades y son una combinación de una referencia a un objeto con los permisos de acceso al mismo desde el dominio del poseedor de la capacidad.

·         Son muy útiles para incluir información de protección para un proceso en particular.
·         El mecanismo de comprobación de derecho es muy sencillo.
·         Se adaptan muy bien a sistemas distribuidos.

Revocación de Derechos de Acceso

Un problema de las capacidades es que en un sistema dinámico, pueden existir cientos de capacidades concedidas para acceder a un objeto, lo que hace muy difícil su control. El revocar los derechos de acceso para un objeto en particular es complicado, el sistema debe buscar todas las capacidades existentes sobre el mismo para aplicar la revocación de derechos. Las capacidades se pueden implementar, para facilitar la revocación de derechos de acceso como lista de control de acceso en la cual se puede mantener una lista desde cada objeto a todas sus capacidades. Si hay modificaciones, se recorre dicha lista y se aplican, claves de versión donde cada objeto tiene una clave maestra que se copia en cada nueva capacidad sobre ese objeto.













martes, 3 de mayo de 2016

actividad 3

analizar las características del software de entrada y salida 


Un concepto clave es la independencia del dispositivo:

-Debe ser posible escribir programas que se puedan utilizar con archivos en distintos dispositivos, sin tener que modificar los programas para cada tipo de dispositivo.
-El problema debe ser resuelto por el S. O.
-El objetivo de lograr nombres uniformes está muy relacionado con el de independencia del dispositivo.
-Todos los archivos y dispositivos adquieren direcciones de la misma forma, es decir mediante el nombre de su ruta de acceso.
Otro aspecto importante del software es el manejo de errores de e / s:

Generalmente los errores deben manejarse lo más cerca posible del hardware. 

Solo si los niveles inferiores no pueden resolver el problema, se informa a los niveles superiores. Generalmente la recuperación se puede hacer en un nivel inferior y de forma transparente. Otro aspecto clave son las transferencias síncronas (por bloques) o asíncronas (controlada por interruptores):
-La mayoría de la e / s es asíncrona: la cpu inicia la transferencia y realiza otras tareas hasta una interrupción.
-La programación es más fácil si la e / s es síncrona (por bloques): el programa se suspende automáticamente hasta que los datos estén disponibles en el buffer.
-El S. O. se encarga de hacer que operaciones controladas por interruptores parezcan del tipo de bloques para el usuario.
-También el S. O. debe administrar los dispositivos compartidos (ej.: discos) y los de uso exclusivo (ej.: impresoras).

Generalmente el software de e / s se estructura en capas  [23, Tanenbaum]):

·         Manejadores de interrupciones.
·         Directivas de dispositivos.
·         Software de S. O. independiente de los dispositivos.
·         Software a nivel usuario.







actividad 2

analizar las características del hardware de entrada/ salida.

El papel que juegan los dispositivos periféricos de la computadora es esencial; sin tales dispositivos ésta no sería totalmente útil. A través de los dispositivos periféricos podemos introducir a la computadora datos que nos sea útiles para la resolución de algún problema y por consiguiente obtener el resultado de dichas operaciones, es decir; poder comunicarnos con la computadora.
Todo sitemas de cómputo tiene componentes de hardware dedicados a estas funciones:

dispositivos de entrada:

  Son aquellos que sirven para introducir datos a la computadora para su proceso. Los datos se leen de los dispositivos de entrada y se almacenan en la memoria central o interna. Los dispositivos de entrada convierten la información en señales eléctricas que se almacenan en la memoria central.
    Entre estos dispositivos tenemos: el teclado, el mouse o ratón, microfono, scanner, lapices opticos, palancas de mando (Joystick), discos compactos, entrada de video, entre otros.



    dispositivos de salida:

Son los que permiten representar los resultados (salida) del proceso de datos.
Estos dispositivos permiten al usuario ver los resultados de los cálculos o de las manipulaciones de datos de la computadora.  Entre los dispositivos de salida tenemos: pantalla o monitor, impresoras, trazadores gráficos (plotters), bocinas, altavoces, entre otros.





actividad 1 ccc

identificar los problemas mas comunes para el manejo de los dispositivos de entrada/ salida.

Problemas de Uso Compartido

Otro problema que se presenta con frecuencia, es cuando distintas aplicaciones intentan acceder a un dispositivo (ya sea para escribir o leer datos) pero éste se encuentra en uso por otro programa, y el Sistema tiene que bloquearlo, como con el caso de la memoria protegida, para que sea utilizable hasta que un programa detenga su uso.

Problemas con Buffers

Uno de los principales problemas que se presenta es el del manejo de buffers, y consiste en determinar tan pronto como sea posible que un dispositivo de entrada y salida ha finalizado una operación. Este problema se resuelve mediante las interrupciones. Tan pronto como un dispositivo entrada y salida acaba con una operación interrumpe a la CPU, en ese momento la CPU detiene lo que está haciendo e inmediatamente transfiere el control a una posición determinada.

Problemas al momento de manejar archivos

Uno de los problemas mas frecuentes en el manejo de archivos son los DEADLOCK, un deadlock es una situación no deseada de espera indefinida y se da cuando en un grupo de procesos, dos o más procesos de ese grupo esperan por llevar a cabo una tarea que será ejecutada por otro proceso del mismo grupo, entonces se produce el bloqueo. Los bloqueos se dan tanto en los sistemas operativos tradicionales como en los distribuidos, solo que en estos últimos es más difícil de prevenirlos, evitarlos e incluso detectarlos, y si se los logra detectar es muy complicado solucionarlos ya que la información se encuentra dispersa por todo el sistema.
Una vez que un deadlock se detecta, es obvio que el sistema está en problemas y lo único que resta por hacer es una de dos cosas: tener algún mecanismo de suspensión o reanudación que permita copiar todo el contexto de un proceso incluyendo valores de memoria y aspecto de los periféricos que esté usando para reanudarlo otro día, o simplemente eliminar un proceso o arrebatarle el recurso, causando para ese proceso la pérdida de datos y tiempo.
Existen tambien varias causas para que los dispositivos de E/S presenten errores, como lo son drivers desactualizados y/o una mala instalación de éstos; que el sistema intente utilizar de una manera incorrecta/incompatible el dispositivo en cuestión, o daño físico del periférico.