Logo Studenta

Unidad 4

Esta es una vista previa del archivo. Inicie sesión para ver el archivo original

Unidad 4: Seguridad y Protección
Seguridad en los Sistemas Operativos
Uno de los mayores problemas que se presenta al almacenar información en un computador es la seguridad de la misma, teniéndose que idear mecanismos que protejan esta información tanto de daños físicos como de accesos inadecuados o mal intencionados. A menudo, los conceptos de seguridad y protección se utilizan de forma indistinta y abarcan diferentes problemas. El término seguridad se suele referir al problema general y el término mecanismo de protección a los procedimientos específicos utilizados por el sistema operativo para asegurar la información del computador.
La seguridad de un sistema tiene múltiples facetas, incluyendo desde aspectos tales como la protección ante posibles daños físicos (incendio, terremotos, etc.) de los datos hasta el acceso indebido a los mismos (intrusos, fallos de confidencialidad, etc.). Los ataques contra la confidencialidad, la integridad o la disponibilidad de recursos en un sistema deben prevenirse y solventarse mediante la política y los mecanismos de seguridad adecuados. La seguridad debe tener en cuenta eventos externos provenientes del entorno en el que opera el sistema. La seguridad estudia cómo proteger la información almacenada en el sistema (datos o código) contra accesos indebidos o no autorizados (intrusos, fallos de la privacidad, etc.). Es la garantía de que los archivos no sean leídos o modificados por personal no autorizado; esto incluye aspectos técnicos, de administración, legales y políticos. La finalidad de la seguridad es brindar protección a los diferentes dispositivos electrónicos y a los usuarios, para disminuir los ataques maliciosos que pudieran poner en peligro los datos sensibles.
La protección, sin embargo, consiste en controlar, y en su caso, evitar o impedir que se haga un uso indebido (acceso no deseado o no permitido) de los recursos que están dentro del ámbito del S.O. Para ello deben existir políticas y mecanismos que aseguren que los usuarios sólo acceden a sus “propios” recursos (archivos, zonas de memoria, etc.). Además, es necesario comprobar que los recursos sólo son utilizados por aquellos usuarios que tienen derechos de acceso a los mismos. Las políticas de protección y seguridad de hardware, software y datos deben incluirse dentro del S.O. En cualquier caso, el sistema operativo debe proporcionar medios para implementar la política de protección deseada por el usuario y garantizar su correcto funcionamiento.
La seguridad se puede clasificar en:
· Externa: se ocupa de proteger al sistema de intrusos y desastres (incendios, inundaciones).
· Interna: se ocupa de garantizar el funcionamiento confiable y sin corrupción del sistema, como así también la integridad de los programas y datos.
Dos de las más importantes facetas de la seguridad son: 
· La pérdida de datos 
· Los intrusos
Algunas de las causas más comunes de la pérdida de datos son: 
· Actos y hechos diversos, como incendios, inundaciones, terremotos, guerras, revoluciones, roedores, etc. 
· Errores de hardware o de software, como fallas en la cpu, discos o cintas ilegibles, errores de telecomunicación, errores en los programas, etc.
· Errores humanos, por ej., entrada incorrecta de datos, mal montaje de cintas o discos, ejecución incorrecta de programas, pérdida de cintas o discos, etc.
La mayoría de estas causas se pueden enfrentar con el mantenimiento de los respaldos (back-ups) adecuados; debería haber copias en un lugar alejado de los datos originales.
Tipos de intrusos:
· Curiosidad casual de usuarios no técnicos.
· Conocidos (técnicamente capacitados) husmeando.
· Intentos deliberados por hacer dinero.
· Espionaje comercial o militar.
Otro aspecto del problema de la seguridad es la ​privacía​: protección de las personas respecto del mal uso de la información en contra de uno mismo. Implica aspectos legales y morales.
También debe señalarse la posibilidad del ataque del ​Caballo de Troya​: Modificar un programa normal para que haga cosas adversas además de su función usual. Arreglar las cosas para que la víctima utilice la versión modificada.
Una forma de probar la seguridad de un Sistema es contratar un grupo de expertos en seguridad, conocido como el equipo tigre o equipo de penetración, cuyo objetivo es intentar penetrar el sistema de seguridad para descubrir sus falencias y proponer soluciones.
Para diseñar medidas efectivas de seguridad se debe primero: 
· Enumerar y comprender las amenazas potenciales.
· Definir qué grado de seguridad se desea (y cuánto se está dispuesto a gastar en seguridad).
· Analizar las contramedidas disponibles. 
Finalidad de la Seguridad: 
La finalidad de la seguridad del sistema consiste en proteger la información que se almacena en el mismo garantizando al usuario:
· Confidencialidad: capacidad de garantizar que la información, almacenada en el sistema informático o transmitida por la red, solamente va a estar disponible para aquellas personas autorizadas a acceder a dicha información.
· Integridad: capacidad de garantizar que los datos no han sido modificados desde su creación sin autorización. La información se dispone es válida y consistente.
· Disponibilidad: capacidad de garantizar que tanto el sistema como los datos van a estar disponibles al usuario en todo momento.
· Privacidad: proteger a los individuos contra el mal uso de la información sobre ellos
Mecanismos de prevención:
Autentificación del usuario 
La identificación de los usuarios se conoce como la autentificación de los usuarios. Muchos métodos de autentificación se basan en:
· La identificación de algo conocido por el usuario.
· Algo que posee el usuario.
· Algo que es el usuario.
Contraseña
Son la forma de autentificación más utilizada, de fácil comprensión e implementación. Una protección adicional consiste en hacer ilegible el archivo de contraseñas encriptadas. Otra protección consiste en que el Sistema sugiera a los usuarios contraseñas generadas según ciertos criterios; con esto se evita que el usuario elija contraseñas muy sencillas. También es conveniente que el Sistema obligue al usuario a cambiar sus contraseñas con regularidad. 
Criptografía 
Es el empleo de transformaciones de los datos a fin de hacerlos incomprensibles para todos con excepción de sus usuarios autorizados.
Principios de Diseño de Seguridad:
Para dotar a un sistema operativo con mecanismos de seguridad es necesario diseñarlo para que admitan estos mecanismos desde el principio. Incluir mecanismos de seguridad dentro de un sistema operativo existente es muy difícil porque las repercusiones de los mecanismos de seguridad afectan prácticamente a todos los elementos del sistema operativo.
Los criterios de diseño para dotar a un sistema operativo con mecanismos de seguridad son:
1- Mínimo privilegio: todos los programas y usuarios del sistema deben operar utilizando el menor conjunto de privilegios necesarios para completar la labor. Los derechos de acceso deben adquirirse solo por permiso explicito; por defecto, deberían ser "sin acceso".
2- Ahorro de mecanismos: los mecanismos de seguridad deben ser tan pequeños y simples como sea posible, ayudando en su verificación. Esta exigencia suele suponer que deben ser una parte integral del diseño, más que mecanismos añadidos a diseños existentes.
3- Aceptación: los mecanismos de seguridad no deben interferir excesivamente en el trabajo de los usuarios, mientras cumplen al mismo tiempo las necesidades de aquellos que autoricen el acceso. Si los mecanismos no son fáciles de usar, probablemente no van a ser usados o lo serán de forma incorrecta.
4- Mediación total: cada acceso debe ser cotejado con la información de control de acceso incluyendo aquellos accesos que suceden fuera de la operación normal, como la recuperación y el mantenimiento.
5- Diseño abierto: la seguridad del sistema no debe depender de guardar en secreto el diseño de sus mecanismos. De esta forma, los mecanismos podrán ser revisados por muchos expertos y los usuarios podrán, por tanto, depositar una alta
confianza en ellos.
Supervisión de Amenazas
El Sistema Operativo controla operaciones cruciales en lugar de ceder el control directamente a los usuarios, es decir, es una técnica según la cual los usuarios no pueden tener acceso directo a un recurso. En general, se produce un flujo de información desde un origen, como un archivo o una región de memoria, hacia un destino, como otro archivo o usuario. En base a esta situación, se clasifican cuatro categorías de amenazas:
1- Interrupción: se destruye un elemento del sistema o se hace inaccesible o inútil. Esta es una amenaza a la disponibilidad.
2- Intercepción: una parte no autorizada consigue acceder a un elemento. Esta es una amenaza a la confidencialidad. La parte no autorizada puede ser una persona, un programa o un computador.
3- Alteración: una parte no autorizada no sólo consigue acceder, sino que falsifica un elemento. Esta es una amenaza a la integridad.
4- Invención: una parte no autorizada inserta objetos falsos en el sistema. Esta es también una amenaza a la integridad.
Cuando un usuario solicita el acceso al sistema, este lo niega o lo permite dependiendo de los programas de vigilancia, los cuales se encargan de ejecutar las operaciones delicadas dentro del SO. Está técnica se utiliza para proteger los recursos vitales o altamente clasificados del sistema, contra el acceso no autorizado de los usuarios. Además, permite detectar los intentos de penetración en el momento que se producen.
Penetración en los Sistemas
Las defensas de un Sistema Operativo deben ser capaces de resistir un intento de penetración por parte de un usuario no privilegiado; hacer que un Sistema Operativo sea impenetrable es una tarea imposible, lo que podemos esperar es que sea altamente resistente a la penetración.
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 Sistema Operativo.
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 y descubrir deficiencias de diseño para corregirlas.
Uno de los objetivos de las pruebas de penetración consiste en estimar el factor de trabajo de penetración, es decir indicar de cuánto esfuerzo y recursos son necesarios para conseguir un acceso no autorizado a los recursos del sistema. Debería ser tan grande que resulte disuasivo.
La penetración en un sistema informático se puede hacer de diferentes formas y por diversos medios. Entre los más conocidos podemos encontrar:
1- Bacteria: programa que consume recursos del sistema reproduciéndose a sí mismo.
2- Bomba Lógica: lógica incrustada en un programa de computador que se comprueba cuando se presenta un cierto conjunto y condiciones en el sistema. Cuando se cumplan dichas condiciones, ejecutara alguna función que provee a acciones no autorizadas.
3- Trampilla: punto de entrada secreto y no documentado a un programa, empleado para otorgar el acceso fuera de los métodos usuales de autentificación.
4- La utilización por parte del intruso de la cuenta de un usuario legítimo. Para conseguirlo puede usar un terminal con una sesión abierta o también, obteniendo la contraseña de un usuario, para ello puede utilizar distintas técnicas, que van desde la adivinación y los ensayos de prueba y error, al robo o intimidación, pasando por el engaño.
5- La ejecución de programas denominados "caballos de Troya" o “Troyanos”, los cuales ocultan parte de su funcionalidad, frecuentemente destinada a obtener datos o derechos de acceso del usuario. 
6- La propagación de gusanos y virus informáticos. La diferencia entre un gusano y un virus está en que el virus es parte del código de un programa, mientras que el gusano es un programa en sí mismo. El gusano causará graves problemas al sistema debido a que carga en exceso al computador, usando para su propagación recursos desproporcionados de procesamiento y comunicación, con lo que el sistema puede denegar servicios a usuarios legítimos. Por el contrario, el virus es un trozo de código de un programa, que infectará a otros programas copiándose (cuando se arranca el programa, este examina todos los programas del disco, si encuentra uno sin infectar, lo infecta añadiendo el código del virus al final del archivo del programa y sustituyendo la primera instrucción por un salto a la primera instrucción del código del virus.). Por lo general también realiza actividades dañinas, como eliminar archivos o corromper los bloques de arranque del disco.
Modalidad de Penetración / Penetration Testing 
Modalidad de penetración o Pentesting/ Penetration Testing es la práctica de atacar diversos entornos con la intención de descubrir fallos, vulnerabilidades u otros fallos de seguridad, para así poder prevenir ataques externos hacia esos equipos o sistemas.
Existen ​tres tipos de auditorías a realizar para un pentesting:
· Black-box: ​El pentester no tiene conocimiento del sistema. En general se utiliza cuando se contrata una empresa para que realice el trabajo desde el punto de vista de un posible atacante externo. 
· White-box:​ El pentester tiene conocimiento del funcionamiento del sistema, arquitectura de la red, sistemas operativos utilizados, etc. Si bien no representa la visión de un atacante externo, si representa el peor escenario ya que es el caso en el que un atacante ya cuenta con información antes de acceder al sistema. 
· Gray-box:​ Es la auditoría que mezcla características de las dos anteriores, posiblemente sea la mejor porque simulemos un ataque y a la vez consigamos un mejor código de nuestras aplicaciones, se puede dar a conocer parte de la información al auditor y pedirle que a partir de ella intente “escalar” al resto del sistema además se puede intentar este test comenzando desde varios puntos, red interna, red externa, a través del wifi, a través del puesto de un empleado, a través de la extranet, etc.
Seguridad de la Red
Ya que en las primeras décadas las redes de computadoras eran utilizadas principalmente para el envío de correos electrónicos y para compartir impresoras entre empleados, la seguridad no era importante, pero actualmente con millones de usuarios realizando transacciones bancarias, compras y tratando con datos sensibles, ​la seguridad es ​primordial, por lo tanto, hay que tomar las medidas que sean necesarias para proteger los datos durante su transmisión y para garantizar que los datos transmitidos son auténticos.
La seguridad de redes consiste en las políticas y prácticas adoptadas para prevenir y supervisar el acceso no autorizado, el uso indebido, la modificación o la denegación de una red informática y sus recursos accesibles. Se encarga de: proteger la red, como así también de proteger y supervisar las operaciones que se realizan.
La mayoría de los problemas de seguridad son causados intencionalmente por gente que intenta ganar algo o hacerle daño a alguien.
Tipos de ataques 
· Pasivos​: La meta del oponente es la de obtener la información que está siendo transmitida. el atacante sólo tiene que observar las transmisiones interviniendo la línea de comunicaciones.
· Activos: ​ El atacante tiene que disponer de control físico sobre una parte del enlace y ser capaz de insertar y capturar las transmisiones. Suponen alguna modificación del flujo de datos o la creación de flujos falsos. Los podemos clasificar en 4 categorías: enmascaramiento, retransmisión, la modificación de mensajes y por último la denegación de servicio.
Ubicación de dispositivos de cifrado
El método más potente y habitual para contrarrestar las amenazas es el cifrado. Hace falta decidir qué cifrar y dónde debe ubicarse el mecanismo de cifrado. Hay dos alternativas fundamentales:
· Cifrado de enlaces
Cada enlace de comunicaciones vulnerable se equipa en ambos extremos con dispositivos de cifrado, lo que asegura el tráfico de todos los enlaces.
Desventaja: los mensajes deben ser descifrados
cada vez que entran en un conmutador de paquetes para que éste pueda encaminarlo (debe leer su información para ello), lo que hace vulnerable al mensaje en cada conmutación. 
· Cifrado de extremo a extremo
El proceso de descifrado se efectúa en los dos sistemas finales. El host de origen cifra los datos, los cuales son transmitidos sin modificación por la red hacia el host de destino, quien comparte una clave con el origen y así es capaz de descifrar los datos. Desventaja: con este cifrado, los datos de usuario están seguros, pero la composición del tráfico no, porque las cabeceras de los paquetes se transmiten en claro (sin cifrado, para que puedan ser encaminados).
Para lograr una seguridad mayor, se necesitan ambos métodos de cifrado. Cuando se emplean ambas formas, el paquete está seguro, excepto durante el tiempo que está en la memoria de un conmutador de paquetes, en el que la cabecera del paquete está en claro.
Distribución de la clave
Para que el cifrado funcione, ambas partes de un intercambio deben disponer de la misma clave, que debe estar protegida del acceso de otras partes.
Existen distintas formas, para dos partes A y B:
1.- A puede elegir una clave y entregarla físicamente a B.
2.- Una tercera parte puede elegir una clave y entregarla físicamente a A y B.
3.- Si A y B han empleado una clave recientemente, una parte puede transmitirle a la otra la nueva clave, cifrada con la antigua.
4.- Si A y B tienen una conexión cifrada con una tercera parte C, C puede entregar una clave a A y B por los enlaces cifrados.
Tráfico de relleno
Es una función que produce una salida cifrada continuamente, incluso en la ausencia de texto en claro. Se genera un flujo continuo de datos aleatorios que, en ausencia de texto en claro, se cifran y transmiten. Esto hace imposible distinguir entre flujos de datos verdaderos y ruido, lo que imposibilita deducir la cantidad de tráfico.
Protección
Los mecanismos de protección surgieron con la multiprogramación, con la intención de que los programas de cada uno de los usuarios estuvieran en la partición de memoria asignada e impedir así que los programas traspasaran sus límites a otras particiones y las dañaran. Pero la necesidad de compartir objetos tanto en memoria principal como en la memoria secundaria motivó que los mecanismos de control de acceso se hicieran más complejos.
Es importante distinguir entre política de protección y mecanismo de protección. La diferencia está en que los mecanismos dicen cómo se hará algo, mientras que la política dice qué se hará.
La protección de las redes se puede lograr tanto con hardware o con software. 
Tipos de protección
1. Antivirus y antispyware.
2. Firewall: para bloquear el acceso no autorizado a su red.
3. Sistemas de prevención de intrusiones (IPS), para identificar las amenazas de rápida propagación.
4. Redes privadas virtuales (VPN), para proporcionar acceso remoto seguro
Dominios de Protección 
Un sistema de cálculo es un sistema complejo que se puede idealizar como un conjunto de procesos y objetos. Por objetos se entienden tanto las distintas unidades del computador (CPU, segmentos de memoria, discos, etc.) como las diferentes informaciones que almacenan (archivos, programas, etc.). Cada objeto es un tipo abstracto de dato con un único nombre que lo distingue de los demás objetos, y sólo es posible acceder a él por medio de operaciones útiles y bien definidas. Las operaciones pueden depender del objeto en cuestión, así read y write son operaciones adecuadas para un archivo, mientras que up y down lo son para un semáforo.
Lógicamente, un proceso sólo debe poder acceder a aquellos recursos para los cuales está autorizado y que necesita en ese momento para completar su tarea. Este requisito se denomina principio de la necesidad de saber, y es útil para limitar los posibles daños que puede causar en el sistema un proceso con errores. 
Para analizar los mecanismos de protección es conveniente incorporar el concepto de dominio de protección. Así cada proceso trabaja dentro de un dominio, el cual especifica los recursos a los cuales puede tener acceso. Cada dominio define un conjunto de objetos y las operaciones que se les pueden aplicar. La capacidad para ejecutar una operación sobre un objeto es un derecho de acceso. Un dominio es un conjunto de derechos de acceso, cada uno de los cuales está formado por un par de la forma: <nombre del objeto, conjunto de sus derechos>. Cada par especifica un objeto y cierto subconjunto de las operaciones que se pueden realizar en él. Un dominio puede corresponder a un solo usuario o a más, indicando a los mismo, lo que puede hacer y lo que no.
Matrices de Protección 
Las relaciones entre dominios y objetos se pueden representar de forma abstracta mediante una matriz denominada matriz de acceso. Las filas de la matriz de acceso representan dominios y las columnas objetos. Cada entrada en la matriz indica los derechos de acceso que un sujeto tiene sobre dicho objeto. Con esta matriz y el número del dominio, el sistema puede determinar qué tipo de acceso se permite a un objeto específico. El problema es cómo realizar de una forma eficaz esta matriz. En la práctica raras veces se almacena la matriz, ya que es extensa y escasa. La mayoría de los dominios no tienen acceso a la mayoría de los objetos, por lo que se desperdicia mucho espacio en disco al almacenar una matriz muy grande y en su mayor parte vacía.
Por ello una forma sencilla de realizarla es mediante una tabla global, consistente en tripletas ordenadas (dominio, objeto, derechos). Cuando un proceso ejecuta una operación se busca en la tabla global la tripleta. Si se encuentra esta tripleta se permite la operación y el proceso puede continuar, sino se produce una condición de error. 
Este diseño presenta varios inconvenientes. La tabla suele ser grande y no se puede conservar en memoria principal, por lo que requiere operaciones adicionales de entrada/salida.
Listas de control de acceso 
Una técnica disponible para subsanar el desperdicio producido por las matrices grandes consiste en asociar con cada objeto una lista (ordenada) que contenga todos los dominios que pueden acceder al objeto, y la forma de hacerlo. A esta lista se le conoce como Lista de control de acceso (Access Control List, o ACL)
Ejemplo:
programa 1: (D1, leer-escribir), (D3, ejecutar)
archivo 1: (D¡, leer)
archivo2: (D2, escribir)
archivo3: (D3, leer-escribir)
impresora: (D2, escribir), (D3, escribir)
El principal inconveniente de las listas de accesos es el retardo que se provoca con la búsqueda para verificar la autoridad de un sujeto para acceder al objeto solicitado.
Para evitar búsquedas de listas potencialmente muy largas de usuarios autorizados y ahorrar espacio de almacenamiento, algunos sistemas dividen a los usuarios en grupos y sólo almacenan los derechos de acceso de los grupos. Este esquema ahorra almacenamiento y agiliza el procesamiento reduciendo la flexibilidad y limitando el número de dominios.
Estructura de Protección Dinámica
Las matrices de acceso vistas hasta el momento, en las que no cambian los derechos en cada dominio durante su ejecución, son un ejemplo de Estructuras de Protección Estáticas. 
Con el fin de ofrecer flexibilidad y de implementar eficientemente la protección, un Sistema Operativo debe soportar cambios en los derechos de acceso. Para esto se requiere implementar alguna estructura de protección dinámica. 
En este caso consideraremos las matrices de acceso en su versión dinámica. Básicamente se requieren cuatro nuevos derechos de acceso: Copia, Cambio, Propietario y Control. 
Derecho de acceso de copia. 
Este derecho de acceso da la facultad a un proceso de copiar derechos existentes en un dominio hacia otro dominio para el objeto en cuestión. O sea, este derecho genera copias en columnas. 
 
Derecho de acceso de cambio. 
Este derecho de acceso indica la posibilidad de un proceso para cambiarse de un dominio a otro. La operación cambio actúa sobre dominios, o sea, en este caso los dominios son los objetos. Entonces,
para considerar este derecho de acceso se deberán incluir los dominios como objetos adicionales en la matriz de acceso.
Derecho de propietario
Indica la necesidad de que los usuarios se autentiquen al momento de iniciar sesión. Después de todo, si el sistema operativo no puede estar seguro de quién es el usuario, tampoco puede saber a qué archivos y otros recursos puede acceder.
Ataques más comunes 
Los ataques que sufren los Sistemas Operativos son: 
· Robo de información mediante la interceptación de mensajes
· Modificación del contenido y secuencia de los mensajes transmitidos
· Análisis del tráfico: observar los datos y el tipo de tráfico transmitido a través de redes informáticas
· Ataques de suplantación de la identidad
· Captura de cuentas de usuario y contraseñas
· Modificaciones del tráfico y de las tablas de enrutamiento 
· Conexión no autorizada a equipos y servidores
· Introducción en el sistema de “malware” (código malicioso)
· Fraudes, engaños y extorsiones 
· Denegación del Servicio (Ataques DoS – Denial of Service): Estos ataques consisten en distintas actuaciones que persiguen colapsar determinados equipos o redes informáticos, para impedir que puedan ofrecer sus servicios a sus clientes y usuarios. 
10

Continuar navegando

Materiales relacionados

28 pag.
unidad_06

Escuela Universidad Nacional

User badge image

Diana Milena Bastidas

Unidad 5

ESTÁCIO

User badge image

Manuel Musso