Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad 3 Seguridad y Proteccion
Unidad 3 Seguridad y Proteccion
Unidad 3 Seguridad y Proteccion
Programa de la asignatura:
Programación de sistemas operativos
Clave:
Licenciatura: TSU:
15142317 16142317
1
Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software 1
Programación de sistemas operativos
Unidad 3. Seguridad y protección
Índice
Unidad 3. Seguridad y protección ...................................................................................... 3
Presentación de la unidad ................................................................................................. 3
Propósito ........................................................................................................................... 3
Competencia específica..................................................................................................... 4
3.1. Entorno de seguridad .................................................................................................. 4
3.1.1. Clasificaciones de la seguridad .............................................................................. 10
3.1.2. Verificación de autenticidad de usuarios ................................................................ 11
3.1.3. Validación y amenazas al sistema ......................................................................... 13
3.2. Concepto y objetivos de protección .......................................................................... 14
3.2.1. Mecanismos de protección..................................................................................... 15
3.2.2. Funciones del sistema de protección ..................................................................... 17
3.2.3. Implementación de matrices de acceso ................................................................. 18
Cierre de la unidad .......................................................................................................... 20
Para saber más ............................................................................................................... 20
Fuentes de consulta ........................................................................................................ 21
2
Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software 2
Programación de sistemas operativos
Unidad 3. Seguridad y protección
Presentación de la unidad
La seguridad ofrece la validación de los usuarios del sistema con el objetivo de proteger la
integridad de la información almacenada en el mismo y los recursos físicos del sistema;
además, protege el acceso no válido y la destrucción o modificación malintencionada de los
datos.
Los temas que se manejarán a lo largo de esta unidad son de vital importancia para un
buen desarrollo de un sistema operativo.
Propósito
3
Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software 3
Programación de sistemas operativos
Unidad 3. Seguridad y protección
Competencia específica
Utilizar las funciones y técnicas para validar las amenazas de un sistema como
políticas y mecanismos mediante la diferenciación de seguridad y protección.
Al utilizar una gran cantidad de datos, es de vital importancia para el usuario la seguridad,
no sólo de un sistema de protección, sino que además se debe considerar el entorno
externo del sistema en el que opera. Por lo general, la protección interna de nada sirve, por
ejemplo, si la consola del operador está al alcance de personal no autorizado o bien si se
pueden extraer los archivos de forma simple. Estos problemas de seguridad no son
atribuidos a problemas del sistema operativo, si no que derivan básicamente de problemas
administrativos.
4
Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software 4
Programación de sistemas operativos
Unidad 3. Seguridad y protección
1. Causas naturales: éstas no tienen nada que ver con el desarrollo del sistema, su
implementación ni ambiente de trabajo, pues el sistema operativo se ve afectado por
motivos como incendios, inundaciones, terremotos, etc.
2. Fallas en hardware / software: se refieren al daño físico en las partes que componen la
computadora, como las fallas de CPU, disco duro, memoria, etc., y, fallas en la estructura
interna del sistema.
3. Error humano: éste puede cometerse de varias formas, el más común es el descuido
en la captura de datos; por ejemplo, puede haber errores en la forma de montar algún
dispositivo de disco duro o al ejecutar un programa que no debería ejecutarse; la mayoría
de estas causas, derivan de la pérdida de información y pueden evitarse manteniendo un
constante y adecuado respaldo de la información.
Existen también varios tipos de amenazas a la seguridad que pueden afectar a la integridad
del sistema, así como a la información. Para evitar esto se deben cumplir los siguientes
requisitos:
Disponibilidad: hoy en día, el desarrollo de sistemas exige que los elementos estén
siempre disponibles y en línea para que los usuarios autorizados tengan acceso a
la información.
5
Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software 5
Programación de sistemas operativos
Unidad 3. Seguridad y protección
A medida que van creciendo los sistemas y las necesidades de los usuarios, es necesario
establecer medidas de seguridad que respondan a los requerimientos del sistema. Existen
diferentes tipos de amenazas que pueden llegar afectar la integridad de los sistemas
operativos y que pondrían al sistema operativo en un riesgo latente, o bien, dejarlo
inservible, las cuales se explican ampliamente a continuación.
Las siguientes imágenes “señalan la naturaleza de las amenazas con que se enfrenta cada
clase de elemento” (Stallings, 2005, p. 573).
6
Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software 6
Programación de sistemas operativos
Unidad 3. Seguridad y protección
Interrupción
La siguiente imagen muestra un ejemplo de cómo se puede generar una interrupción del
flujo de información, la cual es causada por amenaza, bloqueo o falla en el flujo de la
información hacia su destino; este ejemplo indica que el sistema operativo quedaría inútil
tras esta interrupción.
Intercepción
La intercepción es otro tipo de amenaza. Un ejemplo típico de este tipo ocurre a partir de
un acceso de forma inesperada y sin autorización, la cual llega a afectar la integridad de
la información. La siguiente imagen representa un ejemplo de flujo de información, donde
el envío de la información a su destino es interceptado de forma no autorizada para poner
en peligro la integridad de la información.
7
Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software 7
Programación de sistemas operativos
Unidad 3. Seguridad y protección
Existe un tipo de amenaza más latente que afecta de forma directa la integridad de la
información. En la siguiente imagen se representa un claro ejemplo de una alteración del
flujo de información, donde una amenaza accede de forma no autorizada y modifica el
flujo de información a su destino, alterando de forma directa la información del sistema
operativo.
Invención
8
Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software 8
Programación de sistemas operativos
Unidad 3. Seguridad y protección
El problema más común al que se enfrenta un sistema operativo, y que es bastante difícil
de afrontar es la modificación o alteración de la información, lo cual provoca un mal
funcionamiento y afecta la integridad de las funciones. En la siguiente tabla se muestran las
diferentes amenazas a las que se enfrenta cada clase de elementos.
9
Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software 9
Programación de sistemas operativos
Unidad 3. Seguridad y protección
Las amenazas a la integridad de la información son una preocupación constante para los
desarrolladores de sistemas operativos, ya que la confidencialidad, disponibilidad e
integridad del sistema estarían en peligro, debido a los diferentes tipos de amenazas que
están a la orden del día. De acuerdo con su complejidad éstas se clasifican en: pasivas y
activas.
Las amenazas pasivas son aquellas que sólo interceptan el flujo de la información
afectando la confidencialidad de la misma, este tipo de amenazas tienen el objetivo de
espiar y divulgar el contenido de la información. Estas amenazas son difíciles de ser
detectadas, pues no generan alteración al administrador de archivos y tampoco alteran la
funcionalidad del sistema operativo. Una posible medida podría ser la prevención para
evitar el filtrado.
Las amenazas activas son delicadas para la integridad del sistema. En éstas se encuentra
latente la alteración del flujo de datos, o bien, la creación de un flujo falso que pone en
riesgo el funcionamiento normal del sistema operativo. En la mayoría de los casos una
amenaza activa es difícil de prevenir en forma absoluta, pues requeriría de una protección
de todos los servicios y rutas de comunicación.
10
Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software 10
Programación de sistemas operativos
Unidad 3. Seguridad y protección
Nivel D. Este nivel de protección es considerado como el nivel mínimo que requiere
la protección de la integridad del sistema operativo. Los sistemas operativos
diseñados con procesos individuales o mono usuarios, por su naturaleza de
administración simple de archivos no es muy común o frecuente el uso de un nivel
superior de la información.
Nivel B. Este nivel seguridad cuenta con los parámetros de los niveles anteriores,
adicionando para el incremento de la seguridad, la amplitud de controles y etiquetas
de seguridad, dominio y mecanismos estructurados de protección que son de
utilidad para el refuerzo de restricción de acceso no autorizado.
Nivel A. Técnicamente este nivel cumple con todas las características que tiene un
nivel B, pero utiliza niveles específicos de diseño y técnicas de validación para el
filtrado de la información.
11
Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software 11
Programación de sistemas operativos
Unidad 3. Seguridad y protección
Existen varias formas sencillas para la protección de contraseñas: una es el cambio regular
de ésta, para evitar que algún intruso pueda descifrarla. Hay otras variaciones utilizadas
para la validación y autentificación de usuarios: las identificaciones físicas: éstas se basan
en algún dispositivo físico para la autorización de ingreso al sistema, el cual utiliza un
algoritmo de validación completamente distinto a una contraseña, estos dispositivos son la
llave de acceso al sistema y son útiles para saber si se trata del usuario propietario.
Algo que ocurre de forma común es que las tarjetas magnéticas que son validadas por un
lector magnético el cual determina si es válida o no la tarjeta no tienen un alto grado de
12
Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software 12
Programación de sistemas operativos
Unidad 3. Seguridad y protección
Estas medidas son algunas de las más usadas y son, bajo el criterio del desarrollador, el
tipo de seguridad a implementar de acuerdo con el nivel y uso de la información que sea
considerada como importante.
Hasta el día de hoy todavía existen amenazas contra los sistemas operativos cada vez más
sofisticadas, que aprovechan los puntos débiles; por eso, es importante que se validen y se
consideren al diseñar un sistema operativo.
Como se ha dicho existen muchos tipos de amenazas, por lo cual, lo mejor es prevenir
todas éstas desde el diseño, teniendo en cuenta buenas prácticas de prevención. Estas
amenazas se conocen como virus que atacan y actúan de muchas maneras; a continuación
se mencionan algunas de ellas:
Troyano
Ingresa cuando el sistema no tiene seguridad, permite accesos a otros tipos de archivos
que hacen daño, en ciertos momentos se activan y ejecutan actividades que dañan la
consistencia y funcionalidad del sistema operativo.
13
Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software 13
Programación de sistemas operativos
Unidad 3. Seguridad y protección
Para consultar algunas buenas prácticas sobre la seguridad en los sistemas informáticos y
recomendaciones para asegurar los sistemas operativos, consulta la obra de Jiménez Rojas
(2008), en los Materiales de desarrollo de la unidad 3.
14
Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software 14
Programación de sistemas operativos
Unidad 3. Seguridad y protección
información que puede llegar a sufrir modificaciones derivadas del acceso de usuarios
malintencionados. Silberschatz (2006) establece que:
Frecuentemente, podemos utilizar un principio director a lo largo de un proyecto, como puede ser el
diseño de un sistema operativo. Ajustarnos a este principio simplifica las decisiones de diseño y hace
que el sistema continúe siendo coherente y fácil de comprender. Uno de los principios directores clave
y que ha resistido al paso del tiempo a la hora de proporcionar protección es el principio del mínimo
privilegio. Este principio dicta que a los programas, a los usuarios, incluso a los sistemas se les
concedan únicamente los suficientes privilegios para llevar a cabo a sus tareas.
Se considera que cuando un sistema operativo cumple con el principio de mínimo privilegio,
durante el desarrollo cuando se integran características y/o mecanismos de protección que
cubran las necesidades de poder minimizar los daños causados por usuarios
malintencionados. Este principio tiene la bondad de poder ofrecer un entorno más seguro
al sistema, por ello es de suma importancia que sea considerado durante la planificación y
desarrollo, de lo contrario no lograría su objetivo de protección.
De acuerdo con Tanenbaum, (2003, p. 447) “en algunos sistemas, la protección se impone
mediante un programa llamado monitor de referencias. Cada vez que se intenta un acceso
a un recurso que pudiera estar protegido, el sistema pide primero al monitor de referencias
verificar” si un acceso está permitido.
15
Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software 15
Programación de sistemas operativos
Unidad 3. Seguridad y protección
16
Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software 16
Programación de sistemas operativos
Unidad 3. Seguridad y protección
La principal característica que distingue un sistema de protección es que cumpla con los
requerimientos de protección de los procesos del sistema contra los procesos de los
usuarios; proteja los procesos de los usuarios contra los de otros usuarios; proteja la
administración de la memoria, y proteja los dispositivos.
Para cumplir con dicha característica, durante el desarrollo del sistema operativo es
conveniente dar flexibilidad a la estructura de los datos para imponer una variedad de
políticas y mecanismos de protección, exigiendo que cumpla con el mínimo de
requerimientos para el control de pérdida de datos.
Más adelante se mostrarán algunos de los mecanismos que se pueden utilizar para
asegurar los archivos, segmentos de memoria y otros dispositivos administrados por el
sistema operativo. A partir de ellos, se evidenciará que el principal objetivo de todo sistema
operativo es mantener la confiabilidad, integridad y disponibilidad del sistema. El uso de
estos mecanismos contribuye evitando el mayor número de amenazas que pueden afectar
el rendimiento del sistema.
17
Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software 17
Programación de sistemas operativos
Unidad 3. Seguridad y protección
Una matriz de acceso tiene como finalidad la protección del sistema, el cual se puede
interpretar como una tabla, en donde se definen filas que representan los sujetos que tienen
acceso a los objetos y las columnas que representan los objetos (que pueden ser: discos,
cintas, procesadores, otros dispositivos de almacenamiento). Todas las entradas a la matriz
van en relación con una serie de derechos de acceso a la información. La siguiente tabla
muestra un ejemplo mínimo de una matriz de acceso:
SUJETOS / OBJETOS FUNCION 1 IMPRESORA
D1 LECTURA IMPRIMIR
D2 LECTURA / ESCRITURA
Tabla global. Este primer método, tiene la función más simple de acceso para una
tabla compuesta por tripletas (dominio, objeto, conjunto-derechos), suponiendo que
se tiene un dominio Da, un objeto Oa y sus derechos de lectura Ra. Si Da intenta el
acceso en Oa mediante alguna operación Ma (matriz de acceso), se analizará toda
18
Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software 18
Programación de sistemas operativos
Unidad 3. Seguridad y protección
Lista de acceso para los objetos. En este método se van almacenando los datos
por columna en la matriz para ir asociando cada objeto dentro de una lista pares
ordenados. Siguiendo el ejemplo de la tripleta anterior, se tiene que si Da intenta
ingresar a Oa mediante la operación M se permite si se encuentra <Da, Ra> y M
tenga pertenencia en Ra. Su ventaja radica en la facilidad de poder agrupar los
dominios.
19
Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software 19
Programación de sistemas operativos
Unidad 3. Seguridad y protección
podrá hacerlo si sólo cuenta con una clave que corresponda con uno de los bloqueos
del objeto.
Cierre de la unidad
Has concluido la tercera unidad del curso. A lo largo de ésta se revisaron conceptos básicos
sobre la seguridad y respecto a cómo se clasifica la seguridad, cómo se verifica la
autenticidad de los usuarios y las principales amenazas que se deben considerar al diseñar
un sistema operativo; en cuanto a la protección, qué mecanismos se utilizan para el sistema
de protección y cómo se implementan la matrices de acceso.
Es aconsejable que revises nuevamente la unidad en caso de que los temas que se acaban
de mencionar no te sean familiares o no los recuerdes; de no ser el caso, ya estás
preparado(a) para seguir con la Unidad 4. Diseño de sistemas operativos, donde
continuarás aprendiendo bases para el diseño. Todo esto con el fin de obtener un prototipo
final al concluir la última unidad de la asignatura Programación de sistemas operativos.
20
Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software 20
Programación de sistemas operativos
Unidad 3. Seguridad y protección
Fuentes de consulta
21
Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software 21