Diccionario/Directorio y Seguridad de datos

14
Universidad Central de Venezuela Facultad de Ciencias Escuela de Computación DICCIONARIO/DIRECTORIO Y SEGURIDAD DE DATOS María Gertrudis López Centro de investigación en Sistemas de Información CISI. 1

description

Seguridad de datos

Transcript of Diccionario/Directorio y Seguridad de datos

  • Universidad Central de Venezuela Facultad de Ciencias

    Escuela de Computacin

    DICCIONARIO/DIRECTORIO Y SEGURIDAD DE DATOS

    Mara Gertrudis Lpez

    Centro de investigacin en Sistemas de Informacin

    CISI.

    1

  • INDICE INDICE ______________________________________________________________ 2 5. Diccionario / directorio de Datos (D/D) [10] _____________________________ 3

    5.1. Sistema Diccionario / directorio (Sistema D/D) ______________________ 3 5.2. Objetivos del Sistema D/D _______________________________________ 3 5.3. Beneficios de un Sistema D/D_____________________________________ 3 5.4. Clasificacin de los Sistemas D/D _________________________________ 4 5.5. Componentes funcionales de un Sistema D/D _______________________ 5 5.6. Casos de Estudio [12]___________________________________________ 6

    5.6.1. Oracle ____________________________________________________ 6

    6. Seguridad [11] _____________________________________________________ 7 6.1. Conceptos bsicos ______________________________________________ 7 6.2. Polticas de seguridad de base de datos_____________________________ 7

    6.2.1. Polticas sobre la administracin de seguridad _____________________ 7 6.2.2. Polticas para la especificacin del control del acceso ______________ 8 6.2.3. Polticas de control de flujo de la informacin _____________________ 9 6.2.4. Polticas para asegurar el control _______________________________ 9

    6.3. Modelos de seguridad de base de datos_____________________________ 9 6.3.1. Modelo bsico para el control de acceso de base de datos ____________ 9 6.3.2. Extensiones al Modelo Bsico ________________________________ 10 6.3.3. Modelo Multinivel _________________________________________ 11 6.3.4. Un Modelo de Flujo de Informacin ___________________________ 11 6.3.5. Comparacin de Modelos ____________________________________ 12

    6.4. Casos de Estudio [12]__________________________________________ 12 6.4.1. Oracle ___________________________________________________ 12

    7. REFERENCIAS BIBLIOGRAFICAS _________________________________ 14

    2

  • 5. Diccionario / directorio de Datos (D/D) [10] Es el lugar donde se encuentra la informacin acerca de la definicin de los datos de una

    organizacin tales como caractersticas de identificacin, relaciones existentes, autorizaciones, etc.

    El diccionario de datos almacena informacin sobre los datos relativos al origen de stos, descripcin, relacin con otros datos, uso, responsabilidad y formato. Es la misma BD que almacena datos sobre los datos. El diccionario de datos es una gua y contiene el mapa de la ruta hacia la BD.

    Diccionario Directorio Significado de los datos Describe los atributos fsicos de los datos Aspecto lgico de los datos Dnde esta almacenado el dato? Qu datos estn almacenados en el sistema y que significan?

    Cmo puede ser obtenido?

    Usuarios humanos Usuario = Componentes del sistema que se encargan de proveer acceso a los datos almacenados

    El D/D contiene meta datos (datos acerca de los datos).

    5.1. Sistema Diccionario / directorio (Sistema D/D) Es un sistema automatizado compuesto de:

    Una base de datos llamada D/D. Procesos que generan consultas acerca de los meta datos. Herramientas que ayudan a garantizar la seguridad, integridad, validez y acceso compartido

    a los datos del D/D. Interfaces de software que permiten a otros sistemas extraer o actualizar informacin del

    D/D.

    5.2. Objetivos del Sistema D/D 1. Coleccionar datos: Sirve como punto de control central para la descripcin y especificacin

    de los datos. Sirve como fuente generadora de informacin actualizada y confiable de cualquier entidad de datos. El primer paso en el diseo de una BD es recabar informacin sobre la empresa, esto es, acerca del uso, relaciones y significado de los datos. Al avanzar el proceso de diseo es necesario almacenar informacin sobre los modelos conceptual, lgico, interno y externo, en un lugar central. La herramienta que da la posibilidad de controlar y manejar la informacin sobre los datos en las fases de diseo, implantacin, operacin y expansin de una BD es llamado D/D.

    2. Apoyar el anlisis de datos: Provee a los analistas y diseadores de un mecanismo para detectar inconsistencias y redundancias en las entidades de datos. El diseador y el usuario deben estar convencidos de que cuando usan un trmino se refieren a lo mismo. El objetivo bsico de un diccionario de datos es ayudar a establecer una comunicacin efectiva entre el diseador y los usuarios y entre usuarios.

    3. Documentar datos: Produce y maneja informacin de definicin y significado de los datos, lo cual sirve de documentacin. Puesto que la BD sirve a varios usuarios, es vital que cada uno de ellos entienda precisamente que son los datos y que significan.

    4. Estandarizar datos: Mediante el sistema D/D se establecen estndares de uso, representacin y responsabilidad de los datos.

    5.3. Beneficios de un Sistema D/D 1. Permite documentar datos y programas: Los costos de desarrollo son menores debido a la

    mejor documentacin de las especificaciones y al ms claro entendimiento de todo lo

    3

  • implicado. Asimismo, el mantenimiento de la BD debera ser menos costoso con la ayuda de un diccionario de datos que en un medio donde se carece de l, debido a la mejor documentacin, al anlisis ms rpido de los efectos de los cambios propuestos y a la mejor comunicacin entre el personal de mantenimiento y la gente que solicita los cambios.

    2. Permite conocer las relaciones entre los programas y los elementos de datos. El diccionario de datos hace ms completa y sistemtica la retencin de la informacin sobre los datos. Los ahorros con un sistema D/D sern mayores en un medio con un gran nmero de campos de datos y relaciones.

    3. Permite saber que informacin existe de los elementos de datos y donde se encuentra. El fcil acceso a una BD como consecuencia del uso de un diccionario de datos, como la fcil referencia de un libro haciendo uso del ndice, no puede expresarse en $.

    4. Permite saber quienes son los dueos y los usuarios de los datos. Un diccionario de datos mejora la habilidad de crear registros de la informacin accedida y de las personas que lo hicieron.

    5. Permite establecer controles de acceso, seguridad y privacidad de la informacin. Debido a que la informacin sobre la BD y su uso esta localizada centralmente, es ms fcil para los auditores revisar la BD y su uso.

    5.4. Clasificacin de los Sistemas D/D 1. De acuerdo al grado de integracin con el ambiente con el que interacta, un sistema D/D

    puede ser: Activo: Un sistema D/D es activo con respecto a un componente de procesamiento sii

    ese componente es completamente dependiente del sistema D/D para obtener sus meta datos.

    Pasivo: Un sistema D/D es pasivo con respecto a un componente de procesamiento sii el componente de procesamiento no depende del sistema D/D para obtener sus meta datos. En este caso, el sistema D/D slo registra la meta data de la organizacin.

    Potencialmente activo: Es cuando el sistema D/D tiene la capacidad de producir meta data para un componente de procesamiento, pero ese componente no depende exclusivamente de esa meta data para funcionar.

    En lnea: Es cuando el sistema D/D esta directamente en lnea con todas las funciones que ejecuta el componente de procesamiento en tiempo de ejecucin.

    2. De acuerdo a su complejidad, un sistema D/D puede ser: Bsico: Almacena los componentes bsicos de los objetos de datos (nombre, cdigo,

    definicin, descripcin). Su funcin es listar y mantener la informacin de los elementos de datos.

    Promedio: Almacena la misma informacin que el bsico, pero adems contiene: fuentes de datos, estructuras de datos, nombre del componente de procesamiento de origen, etc. La entrada al sistema D/D la puede tener un usuario autorizado como tambin programas especficos.

    Sofisticado: Provee definicin de datos precisas que reducen el tiempo de codificacin de los programadores. Incluye informacin de descripcin de sistemas, definicin y descripcin de archivos, asociaciones, generacin de reportes, coleccin y evaluacin de estadsticas de ejecucin, etc.

    3. De acuerdo a su integracin con el SMBD, puede ser: Independiente: El sistema D/D es autnomo, es decir, las actividades de manipulacin,

    organizacin, acceso y control del D/D son ejecutadas por el software del mismo sistema D/D, por lo que es independiente de cualquier SMBD, y lo que da la capacidad de interactuar con varios de ellos.

    Aplicacin de un SMBD: El D/D es para el SMBD otra BD ms sometida a su control. En este caso el sistema D/D puede interactuar dinmicamente con el SMBD del cual es aplicacin y puede interactuar estticamente con otros SMBD que operen bajo el mismo hardware.

    4

  • Dependiente o embebido: El D/D es un componente del SMBD. l es la nica fuente de meta data para el SMBD. Los utilidades del SMBD proveen facilidades de manejo del D/D y el SMBD usa el D/D para acceder las BD almacenadas. Ventajas:

    Dependiente Independiente Las descripciones de los datos no estn almacenadas redundantemente en un paquete de diccionario de datos y en el SMBD. Esto reduce la ocurrencia de errores debido a fallas en las actualizaciones de los 2 lugares.

    Hay menos riesgo al implantar en el SMBD, un diccionario independiente que uno integrado. Tambin la implantacin de un diccionario independiente es ms sencilla, ya que el diccionario no tiene que ajustarse a las caractersticas de implantacin de un SMBD.

    El diccionario de datos tiene acceso a los datos de la BD. Un uso potencial del diccionario de datos puede ser en el rea de seguimiento de acceso a los datos, al proporcionar estadsticas valiosas para mejorar el funcionamiento.

    Un diccionario de datos integrado necesita al mismo tiempo todas las descripciones de los datos requeridas para una BD, mientras que estas descripciones se le pueden proporcionar por etapas al diccionario de datos independiente.

    Un diccionario de datos puede servir como una herramienta de control mucho ms poderosa cuando esta integrada con el SMBD, ya que el diseador de la BD y los usuarios tendrn que reforzar el diccionario de datos como una herramienta para la documentacin y el control de los datos.

    En un diccionario de datos independiente existe la opcin de recuperar las descripciones apropiadas de los datos del diccionario mismo, o bien proporcionarle al diccionario las descripciones.

    En un diccionario de datos integrado es necesario verificar la exactitud de las descripciones de los datos antes de la ejecucin de un programa.

    Un diccionario de datos independiente puede requerir o no una verificacin de la actualizacin de las descripciones antes de ejecutar un programa.

    El diccionario de datos es un lugar central de informacin sobre descripciones de los datos, tales como significado, relaciones con otros datos y responsabilidad de tener los datos actualizados, as como tener registrados los orgenes. En un medio de BD, la informacin almacenada en un diccionario de datos es sobre los datos almacenados en la base, mientras que en un medio ajeno a una BD, la informacin almacenada en un diccionario de datos es sobre los datos almacenados en archivos de BD. Es necesario instalar software (sw) para crear y manejar el diccionario de datos de una BD. El sw tambin se conoce como diccionario de datos. El paquete del diccionario de datos se puede integrar dentro de un SMBD o tratarse aisladamente.

    5.5. Componentes funcionales de un Sistema D/D Los componentes funcionales

    1. Funcin de Mantenimiento: Interpreta los requerimientos de transacciones para aadir, cambiar o borrar ocurrencias de las entidades del D/D.

    2. Funcin de Extensibilidad: Permite que la estructura del D/D pueda ser extendida por la definicin de entidades, atributos y/o relaciones adicionales. Esta funcin debe incluir tambin extensibilidad de procesamiento.

    3. Funcin de Procesador de Reportes: Provee reportes predefinidos sobre informacin contenida en el D/D y debe permitir la creacin de nuevos reportes segn las necesidades de los usuarios.

    4. Funcin de Procesador de Consultas: Se usa para recuperar poco volumen de informacin del D/D utilizando lenguajes de consulta.

    5. Funcin de Conversin: Los programas de aplicacin, libreras y esquemas generan las transacciones de actualizacin que son la entrada de la funcin de mantenimiento, describiendo la meta data en las fuentes de entrada.

    5

  • 6. Funcin de Interfaz de Software: Permite que el sistema D/D provea meta data a otros sistemas de software tales como compiladores y procesadores de DDL y a su vez permite a estos sistemas proporcionar y actualizar informacin al D/D. Tipos de interfaces: Dinmica: Provee acceso directo de la informacin del D/D a otros mdulos de software

    que necesitan esta informacin para su funcionamiento. Permite que un programa de aplicacin interacte con el D/D al momento de ejecucin. Se usa principalmente cuando la implementacin del SMBD es en base a interpretacin.

    Esttica: Producen archivos, registros y descripciones de BD desde el D/D para los programas usuarios. En este caso, cada componente de software tiene mecanismos independientes para disponer de la meta data y tambin del mismo D/D.

    7. Funcin de Facilidades de Exit: Permite agregar rutinas nuevas al sistema, como por ejemplo, rutinas para el manejo de seguridad e integridad.

    8. Funcin de manejo de directorio: Lleva a cabo tareas de manejo de BD tales como acceso interno al D/D, control de concurrencia, manejo de integridad, seguridad, etc.

    5.6. Casos de Estudio [12]

    5.6.1. Oracle El diccionario de datos de Oracle contiene descripciones de los objetos en la base de

    datos. Incluye dos tipos de objetos: Tablas bases que almacenan las descripciones de la Base de Datos asociada. Vistas que resumen y muestran la informacin almacenada en las tablas base.

    En general, el diccionario de datos de Oracle es un conjunto de tablas y vistas de solo lectura que provee informacin sobre las Bases de datos asociadas. Este provee informacin sobre: estructuras de datos fsicas y lgicas de la base de datos, definiciones y ubicaciones de los objetos, restricciones de integridad, usuarios, roles, privilegios, informacin de auditoria, etc.

    Las vistas del diccionario de datos son divididas en tres categoras, distinguibles por un prefijo: DBA: Vista del administrador. Contiene todos los objetos en la Base de datos. ALL: Vista Expandida del usuario. Contiene los objetos accesibles por el usuario actual. USER: Vista del usuario. Contiene los objetos que son propiedad del usuario.

    A manera de ejemplo se mencionan algunas vistas del diccionario de Oracle: DBA_TABLES, DBA_OBJECTS, DBA_CONSTRAINTS, DBA_TAB_COLUMNS, DBA_SEGMENTS, DBA_EXTENTS, DBA_FREE_SPACE, DBA_DATAFILES, DBA_TABLESPACES, etc.

    6

  • 6. Seguridad [11] La operacin continua exitosa de una empresa con sus operaciones computarizadas

    demanda: 1. Que la dada confidencial est disponible slo para las personas autorizadas, de manera

    tal que los requerimientos de privacidad sean satisfechos y los secretos de la empresa sean guardados.

    2. Que la data refleje precisamente el estado de la empresa, esto es, que la data est protegida contra alteraciones o destrucciones accidentales o premeditadas. La informacin ha sido reconocida como un recurso con valor econmico para la

    empresa y como sucede con otra clase de recursos, la informacin necesita ser protegida y administrada para maximizar su valor. Sin embargo, en contraste con otros bienes tangibles, el valor de la informacin es difcil de cuantificar pero usualmente la informacin crtica puede ser identificada y se pueden tomar medidas contra accesos no autorizados y as asegurar su precisin y disponibilidad.

    Tan importante como el valor econmico de la informacin es la privacidad de los individuos. El efecto de alterar o revelar informacin de una persona puede ser catastrfico para ella. Por esto que existen tambin razones legales para que una empresa mantenga la seguridad e integridad de su informacin.

    6.1. Conceptos bsicos Seguridad de la informacin: es la proteccin de la informacin contra destruccin,

    alteracin o revelacin no autorizada. Seguridad de base de datos: es la proteccin de la informacin mantenida en la base

    de datos. Privacidad: es el derecho que tienen los individuos de controlar la informacin

    disponible de ellos mismos. Autorizacin: es la especificacin de reglas que definen, para un sujeto, que derechos

    de acceso tiene sobre que objetos de informacin. Proteccin: en un ambiente computacional son mecanismos de seguridad que se

    refieren a tcnicas que controlan el acceso de usuarios y programas a la data almacenada. Control de acceso: es el proceso que asegura que la informacin y otros objetos

    protegidos sean accesados solamente en formas autorizadas.

    6.2. Polticas de seguridad de base de datos Poltica de seguridad: son lineamientos de alto nivel que tienen que ver con la

    seguridad de la informacin. Estas polticas son dictadas por las necesidades de los usuarios, el ambiente de instalacin, las regulaciones de la institucin y restricciones legales.

    Mecanismos de seguridad: son conjuntos de funciones que son usadas para asegurar e implementar diferentes polticas de seguridad. Las funciones pueden ser implementadas en hardware, software o a travs de procedimientos administrativos. Los mecanismos de propsito general son tiles en sistemas que se usan en diferentes ambientes con diferentes polticas de seguridad, tal y como sucede con los SMBD. Los mecanismos de propsito especial tienen la ventaja de ser ms simples de implementar y por esto es ms fcil implementarlos correctamente.

    Una poltica de seguridad es de poco valor si se implementa incorrectamente, y esto puede conllevar dos tipos de errores:

    1. Que un acceso sea negado cuando, de acuerdo con la poltica, ha debido ser permitido. 2. Que un acceso sea permitido cuando, de acuerdo con la poltica, ha debido ser

    rechazado.

    6.2.1. Polticas sobre la administracin de seguridad Control centralizado vs. control descentralizado

    7

  • Con control centralizado, un nico autorizado (o grupo) controla todos los aspectos de seguridad del sistema (por ejemplo, INGRES). En un sistema descentralizado diferentes administradores controlan diferente porciones de la bd, normalmente siguiendo lineamientos que aplican sobre la bd completa.

    Propietario vs. administrador El propietario de una bd es algunas veces considerado la persona que es responsable

    de crear la data. Por ejemplo, una bd de nmina exclusivamente actualizada por el departamento de nmina puede ser considerado como poseda por el gerente del departamento de nmina. Pero, cuando las bd son compartidas es difcil identificar un propietario nico. Entonces, mientras puede o no existir el concepto de propietario, siempre existe la necesidad de una funcin de administracin cuyo objetivo es definir la data compartida por los usuarios y controlar su uso. Esta funcin puede ser realizada por el propietario, si existe, o por un administrador de bd. La distincin bsica entre estas dos polticas es que mientras al propietario se le permite cualquier tipo de acceso, el administrador posee slo los derechos de control de la data.

    6.2.2. Polticas para la especificacin del control del acceso Poltica del menor privilegio

    Esta poltica restringe la informacin a aquellas personas que realmente necesitan la informacin para su trabajo haciendo que todos los usuarios y programas operen con el menor conjunto de privilegios necesarios para realizar sus funciones.

    Mxima comparticin de los datos La intencin es hacer el mximo uso de la informacin de la bd. Esto no significa que

    cada usuario tenga todos los accesos permitidos a toda la informacin ya que se tienen que cumplir ciertos requerimientos de privacidad y se debe proteger a la data sensitiva.

    Sistemas abiertos y cerrados En un sistema cerrado el acceso es permitido slo explcitamente autorizado. En un

    sistema abierto el acceso es permitido a menos que est explcitamente prohibido. Un sistema cerrado es el soporte bsico de la poltica de menor privilegio mientras que un sistema abierto es el soporte bsico de la poltica de mximo comparticin.

    Control de acceso dependiente del nombre Como mnimo, se debe poder especificar los objetos de datos que pueden acceder un

    usuario (objeto de dato: grupo de ocurrencias de data tems y relaciones que tienen un nombre conocido por el SMBD). La granularidad de los accesos de los objetos de datos es otra poltica de decisin. En SMBD relacionales, la granularidad ms fina permitida es a nivel de columnas o atributos; en CODASYL es el data tem o campo.

    Control de acceso dependiente del contenido La poltica del menor privilegio puede ser extendida an ms especificando reglas de

    acceso que hacen referencia al contenido de las ocurrencias (como tambin a los nombres) proveyendo as una granularidad ms fina de control de acceso.

    Tipos de acceso Consiste en especificar los tipos de acceso que el usuario puede tener sobre los objetos

    de datos, tales como READ, UPDATE, INSERT, DELETE alguna combinacin de ellos. Cuando los usuarios slo necesitan informacin sumarizada o informacin estadstica, la poltica del menor privilegio requiere que no tengan acceso a los datos base de la informacin. Para este control de acceso funcional, el concepto de tipos de acceso puede ser extendido para incluir tipos de acceso funcionales para as poder especificar que un usuario tiene acceso al promedio de los salarios pero no tiene acceso a los salarios individuales.

    Control dependiente del contexto Una faceta de esta poltica restringe los campos que pueden ser accesados juntos. Por

    ejemplo, si se tiene una relacin que contiene los nombres y los sueldos de los empleados juntos y se quiere evitar que algunos usuarios vean los salarios de los empleados correspondientes, se puede permitir accesos separados a los nombres y a los salarios, evitando que estos sean accesados juntos en un mismo requerimiento o en un conjunto especfico de requerimiento (por ejemplo, en un mismo programa)

    8

  • Control dependiente de la historia En general, no es suficiente controlar slo el contexto de los requerimientos inmediatos

    si se quiere prevenir que los usuarios hagan ciertas deducciones. Por ejemplo, si la relacin empleado tambin contiene el nmero de proyecto, un usuario puede listar primero todos los empleados y los nmeros de proyecto y luego listar los sueldos y los proyectos. Entonces, se puede hacer una correlacin entre el nombre y los salarios. El prevenir esta clase de deducciones requiere control de acceso dependiente de la historia, el cual toma en cuenta no slo el contexto del requerimiento inmediato, sino tambin todos los requerimientos pasados. Se restringe el acceso actual del usuario debido a los accesos que ya hecho en el pasado.

    6.2.3. Polticas de control de flujo de la informacin Las polticas anteriormente descritas controlan el acceso a la data, pero no controlan

    como la usa el programa una vez que ha sido accedida. Este tipo de control es necesario para prevenir, por ejemplo, la fuga de informacin desde un programa autorizado a uno no autorizado.

    Cuando un autorizador puede dar derechos a otros se habla de control de acceso discrecional. Un enfoque ms simple pero menos flexible es compartamentalizar el uso de la informacin y seguir una poltica fija donde la data que pertenezca a un comportamiento o categora no pueda ser accedida por usuarios asignados a otras categoras. Este es un ejemplo de control de acceso no discrecional. Una extensin de esta poltica es la poltica de control multinivel donde la informacin adems de pertenecer a categoras, la informacin es clasificada (de acuerdo a su sensibilidad) en niveles de confidencialidad, por ejemplo, no clasificada, confidencial, secreta y supersecreta. Los usuarios tambin tienen asignados niveles de categoras. Se define un nivel de seguridad como un par (nivel, categora) y un nivel del seguridad se considera que domina a otro si el nivel del primero es mayor o igual que el nivel del segundo y el conjunto de categoras del primero contiene a las del segundo. La poltica establece que un usuario puede leer data a menos que el nivel de seguridad del usuario sea mayor o igual al nivel de seguridad de la data, y que la estructura no cause flujo de informacin de un nivel ms alto de seguridad a uno ms bajo.

    6.2.4. Polticas para asegurar el control Para esto pueden usarse mecanismos preventivos o mecanismos detectivos. En el caso

    de los detectivos, el sistema puede permitir que sean satisfechos pero tambin los va a registrar en un log. El log puede ser auditado para determinar si un usuario ha violado las polticas de seguridad y si ese es el caso tomar las medidas necesarias.

    6.3. Modelos de seguridad de base de datos

    6.3.1. Modelo bsico para el control de acceso de base de datos Este modelo tiene tres componentes bsicos: un conjunto de objetos, un conjunto de

    sujetos y un conjunto de tipos de acceso. Las reglas de autorizacin definen que tipo de acceso tiene el sujeto para un objeto.

    El conjunto de todas las reglas de acceso puede representarse a travs de una matriz de acceso en donde las columnas representan los objetos a ser protegidos, las filas representan los sujetos y cada entrada de la matriz contiene una lista de los tipos de acceso permitidos para ese sujeto sobre ese objeto.

    En un modelo relacional los valores posibles del conjunto O pudieran ser los nombres de todas las relaciones y atributos a proteger. Los sujetos pudieran ser usuarios finales, grupos de ellos o programas. Los tipos de acceso son operaciones tales como READ, WRITE, ADD, DELETE, etc.

    Las matriz de acceso es capaz de modelar polticas de control de acceso dependiente del nombre a cualquier nivel de granularidad soportado por el SMBD. Con el objeto de representar las reglas de acceso dependientes del contenido, el modelo necesita ser extendido para que la regla de acceso contenga un predicado p. Un predicado es una expresin que define

    9

  • los miembros de un conjunto. Entonces, se puede representar una regla de acceso por las tuplas (s, O, t , p), la cual especifica que el sujeto s tiene acceso sobre las ocurrencias de O para las cuales el predicado p es verdad. A travs del uso de ciertos predicados, ciertos controles de acceso dependiente del contexto se pueden especificar. Por ejemplo, un predicado puede enumerar campos que no pueden aparecer juntos en una consulta.

    El control de acceso involucra algo ms que slo especificar reglas de acceso. Debe haber tambin un proceso de validacin que asegure que todos los accesos a la bd estn autorizados por reglas de acceso. Un posible modelo de validacin se muestra en la siguiente figura:

    Figura 1: Modelo de validacin de acceso

    En este modelo todos los requerimientos de acceso son interceptados y pasados al proceso de validacin en la forma (s, O, t , p). Se asume que la identidad del sujeto s ha sido autentificada previamente. Si la matriz de acceso contiene una regla con el mismo (s, O, t), se recupera la data para evaluar el predicado; en otro caso el requerimiento es denegado. Si el predicado en la regla de acceso se refiere a data tems no incluidos en O, es necesario chequear que el sujeto tiene derecho de READ sobre esos datas tems. Por ejemplo, una consulta puede requerir una lista de nombres de empleados que ganen ms de 100.000 Bs. No es suficiente chequear que tenga derechos sobre los nombres de los empleados, es necesario chequear que s tenga derechos sobre los salarios, porque de lo contrario no puede acceder la informacin requerida. Luego, se evala el predicado en la regla, si es falso el requerimiento es negado, de lo contrario se ejecuta.

    6.3.2. Extensiones al Modelo Bsico Se extiende el modelo bsico introduciendo tres nuevos componentes a la regla de

    acceso, que son reglas para validar autorizaciones y requerimientos e interpretaciones adicionales de sujetos, objetos y predicados. Tal y como est especificado, el modelo bsico no permite implementar polticas sobre quienes escribe las reglas de acceso. Una de estas polticas establece que slo el autorizador puede hacer modificaciones a la regla de acceso. Para este propsito, se le agrega a la regla de acceso un autorizador que es la persona que escribe la regla. Entonces, la regla queda de la forma (a, s, O, t, p). El modelo debe cubrir tambin polticas de delegacin de derechos. Un derecho es la (O, t, p) de la regla de acceso. A un sujeto s1 que tiene el derecho (O1, t1, p1) se le puede permitir delegar este derecho a otro sujeto s2; esta delegacin es equivalente a insertar una nueva regla de acceso (s1, s2, O1, t1, p1). En el modelo se aade una bandera de copia f que

    10

  • indica que el sujeto tiene derecho a delegar este derecho a otros usuarios, de manera tal que la regla de acceso quedara como (a, s, O, t, f, p). La ltima extensin a aplicar a la regla es la especificacin de procedimientos auxiliares a ser realizado cuando la regla es usada durante la fase de validacin de requerimientos. Estos procedimientos pueden ser usados antes o despus de que se toma la decisin de acceso; y su uso despus de la decisin puede ser un mecanismo de contingencia. Un ejemplo de este mecanismo de contingencia es para acciones cuando el requerimiento de acceso es negado, momento en el que se puede notificar a un monitor de seguridad para que registre en el log cierta informacin. Entonces, se introduce una lista de pares (c1, pa1), ..., (cn, pan) que especifica los procedimientos auxiliares a ser invocados y sus condiciones de invocacin. Finalmente, la regla de acceso queda de la forma (a, s, O, t, f, p, [(c1, pa1), ..., (cn, pan)]) .

    6.3.3. Modelo Multinivel Los modelos de seguridad multinivel tiene que ver con control de acceso no discrecionales y, a diferencia de los anteriores, no slo controla el acceso a la informacin, sino tambin el flujo de informacin dentro del sistema. Caractersticas Bsicas de los Modelos Multinivel Bell y LaPadula introducen los conceptos de nivel y categora. A cada sujeto se le asigna un nivel de clearance y cada objeto se le asigna un n nivel de clasificacin. Cada sujeto y cada objeto tambin tienen un conjunto de categoras. Un nivel de seguridad es una composicin de (nivel de clasificacin, conjunto de categoras) y se dice que un nivel de seguridad ns1 domina a un nivel de seguridad ns2 sii:

    1. El nivel de ns1 es el nivel de ns2. 2. El conjunto de categoras de ns1 contiene el conjunto de categoras de ns2.

    Un acceso a un objeto puede implicar observar el objeto (extraer informacin de l) o alterar el objeto (insertar informacin en l). Segn las combinaciones de estos accesos, los tipos de acceso posibles son:

    Ni observar ni alterar Slo observar (READ) Slo alterar (APPEND) Observar y alterar (WRITE)

    El modelo considera los estados de un sistema seguro, los cuales son descritos por: El conjunto de acceso actuales que es un conjunto de tripletas (s, o, t) Una matriz de acceso El nivel de seguridad de cada sujeto y Los niveles de seguridad mximo y actual de cada sujeto.

    Un estado seguro se define por dos propiedades: La propiedad de seguridad simple: Para cada acceso actual (s, o, t) con un tipo de

    acceso observe, el nivel de seguridad del sujeto domina el nivel de seguridad del objeto.

    La propiedad *: un acceso actual (s, o, t) implica: Si t = READ: ns(o) < ns(s) Si t = APPEND: ns(o) ns(s) Si t = WRITE: ns(o) = ns(s)

    6.3.4. Un Modelo de Flujo de Informacin En este modelo, un concepto de clases y categoras esta adaptado por un nico concepto llamado clase de seguridad y se introduce un operador de combinacin variable. Un modelo de flujo de informacin que describe a un sistema especfico se define por cinco componentes, que son:

    1. Un conjunto de objetos 2. Un conjunto de procesos 3. Un conjunto de clases de seguridad

    11

  • 4. Un operador de combinacin de clases : especifica la clase de resultado de cualquier operacin. Por ejemplo, si se concatenan dos objetos a y b, cuyas clases son a y b, la clase del resultado es a b.

    5. Una relacin de flujo: una relacin de flujo entre dos clases, por ejemplo A B, significa que a la informacin de la clase A le es permitida fluir a la clase B. Un modelo de flujo es seguro si una relacin de flujo no puede ser violada.

    En la siguiente figura se muestra un ejemplo de un modelo de este tipo:

    Figura 2: Ejemplo de un Modelo de Flujo

    La figura anterior representa un sistema que contiene data de tres tipos: mdica, financiera, y criminal. Las clases muestran todos los subconjuntos del conjunto {m, f, c}; ellas representan combinaciones de los tipos de datos. Los flujos de informacin son mostrados por flechas. El operador representa la unin de dos clases. Una violacin de flujo pudiera ocurrir si se intenta mover informacin de la clase {mdica, financiera} a clase {mdica}.

    6.3.5. Comparacin de Modelos En general, los modelos se pueden clasificar en dos grandes categoras:

    a) Los que controlan el acceso a los objetos y son extensiones del enfoque de matriz de acceso.

    b) Los que controlan el flujo de la informacin. Una ventaja de los modelos a) es su flexibilidad para permitir la especificacin fcil de un amplio rango de polticas de seguridad. Su principal desventaja es el flujo de informacin, cosa que hace los modelos tipo b), pero la desventaja de stos modelos es que cuando se crean nuevos objetos de bases de datos con nuevos requerimientos de seguridad, se puede requerir una reestructuracin completa del reticulado de clases, y tambin requieren chequeos en tiempo de ejecucin.

    6.4. Casos de Estudio [12]

    6.4.1. Oracle El administrador de la base de datos define los nombres de los usuarios que tienen

    acceso a la base de datos. Antes de que un usuario pueda acceder a la base de datos, debe ser autentificado por medio de una de las siguientes alternativas: Por la Base de datos, por el sistema operativo o por la red.

    Existen dos tipos de privilegios en Oracle: Privilegios del sistema: Permite ejecutar una operacin sobre la base de datos. Existen 126

    privilegios del sistema. Los privilegios del sistema incluye la creacin, eliminacin y alteracin sobre tablas, vistas, ndices, sesiones, tablespaces, etc.

    Privilegios del objeto: Permite ejecutar una operacin sobre un objeto especifico. La autentificacin por medio del password file (por red) incluye los privilegios de

    SYSDBA y SYSOPER. Conectarse como SYSDBA le da al usuario privilegios sin restriccin para ejecutar cualquier operacin sobre la Base de datos o los objetos que incluye. SYSDBA contiene los privilegios del SYSOPER, mas otros privilegios adicionales como son: la creacin de la base de datos, recuperacin de la base de datos, etc.

    12

  • Oracle tambin provee la facilidad del manejo de privilegios a travs de roles. Un rol no es mas que un grupo de privilegios que se le asigna a los usuarios a otros roles.

    Existen roles predefinidos en Oracle, como son: CONNECT, RESOURCE: Provisto por compatibilidad con versiones anteriores. DBA: Todos los privilegios del sistema. EXP_FULL_DATABASE: Privilegio para exportar la base de datos. IMP_FULL_DATABASE: Privilegio para importar la base de datos. DELETE_CATALOG_ROLE: Privilegio de borrado sobre las tablas del diccionario. EXECUTE_CATALOG_ROLE: Privilegio de ejecucin de paquetes del diccionario. SELECT_CATALOG_ROLE: Privilegio de consulta sobre las tablas del diccionario.

    13

  • 7. REFERENCIAS BIBLIOGRAFICAS [1] Date C.J. An Introduction to Database Systems. 7th edition, Addison-Wesley, 2000. [2] Gio Wiederhold. Database Design. 2a edicin. Nueva York, N.Y.; McGraw-Hill (1983). [3] T.H. Merret. Relational Information Systems. Reston, Va: Reston Publishing Company Inc. (1984). [4] Michael Stonebraker. Operating System Support for Database Management. CACM 24, nm 7. Julio 1981. [5] Pratt P. and Adamski J. Database Systems Management and Design. Third Edition. Boyd & Fraser publishing company. 1994. [6] R. Bayer y C. McCreight. Organization and maintenance of Large Ordered Indexes. Acta Informtica 1, nm 3 (1972). [7] Elmasri / Navathe. Sistemas de Bases de Datos. Conceptos fundamentales. Addison Wesley. Segunda Edicin 1997. [8] szu, Tamar and Valduriez, P. Principles of Distributed Database Systems. 2nd Ed. Prentice Hall, 1998. [9] Korth H., Silberschatz A, Sudarshan, S. Fundamentos de bases de datos. Tercera edicin. McGraw-Hill. 1998. ISBN 84-481-2021-3 [10] Leon-Hong B., Plagman B., Data Dictionary Directory Systems. J. Wiley, 1982. [11] Fernandez E., Summers R., Wood C. Database Security and Integrity. Addison Wesley, 1981. [12] Loney, Kevin. ORACLE 8. Manual del administrador. McGrawHill. Primera Edicin 2000. FUENTES ELECTRNICAS [13] Sybase. Fast Track to Adaptive Server Enterprise 11.9.2. 2001. URL: www.sybase.com.

    14