19 jul 2012

CONTROL DE ACCESO BASADO EN CONCESIÓN/REVOCACIÓN DE PRIVILIGEIOS


En la actualidad se acostumbra hablar de dos tipos de mecanismos de seguridad en las bases de datos:
Los mecanismos de seguridad discrecionales se usan para otorgar privilegios a los usuarios, incluida la capacidad de tener acceso a archivos, registros o campos de datos específicos en un determinado modo.
Los mecanismos de seguridad obligatorios sirven para imponer igualdad de múltiples niveles clasificando los datos y los usuarios en varias clases (o niveles) de seguridad e implementando después la política de seguridad apropiada de la organización.
Un problema de seguridad común a todos los sistemas de computo es el de evitar que personas no autorizadas tengan acceso al sistema, ya sea para obtener información o para efectuar cambios mal intencionados en una porción de la base de datos. El mecanismo de seguridad de un SGBD debe incluir formas de restringir el acceso al sistema como un todo. Esta función se denomina control de acceso y se pone en practicas creando cuentas de usuarios y contraseñas para que es SGBD controle el proceso de entrada al sistema.

Otra técnica de seguridad es el cifrado de datos, que sirven para proteger datos confidenciales que se transmiten por satélite o por algún otro tipo de red de comunicaciones. El cifrado puede proveer protección adicional a secciones confidenciales de una base de datos. Los datos se codifican mediante algún algoritmo de codificación. Un usuario no autorizado que tenga acceso a los datos codificados tendrá problemas para descifrarlos, pero un usuario autorizado contara con algoritmos (o claves) de codificación o descifrado para descifrarlos.


Seguridad de la base de datos y el DBA

El administrador de bases de datos (DBA) es la autoridad central que controla un sistema de este tipo. El DBA tiene una cuenta privilegiada en el SGBD, a veces denominada
cuenta del sistema, que confiere capacidades extraordinarias no disponibles para cuentas y usuarios ordinarios de la base de datos. El DBA ejecuta los siguientes tipos de acciones:
Creación de cuentas
Concesión de privilegios
Revocación de privilegios
Asignación de niveles de seguridad
El DBA es el responsable de la seguridad global del sistema de base de datos.

Violaciones de Seguridad
Entre las formas de acceso malintencionado encuentran:
La lectura no autorizada de los datos (robo información)
La modificación no autorizada de los datos
La destrucción no autorizada de los datos se de La seguridad de las bases de datos se refiere a la protección frente a accesos malintencionados. Para proteger la base de datos hay que adoptar medidas de seguridad en varios niveles:
  • Sistema de bases de datos
  • Sistema operativo
  • Red
  • Físico
  • Humano

Debe conservarse la seguridad en todos estos niveles si hay que asegurar la seguridad de la base de datos. La debilidad de los niveles bajos de seguridad (físico o humano) permite burlar las medidas de seguridad estrictas de niveles superiores (base de datos). La seguridad dentro del sistema operativo se aplica en varios niveles, que van desde las contraseñas para el acceso al sistema hasta el aislamiento de los procesos concurrentes que se ejecutan en el sistema. El sistema de archivos también proporciona algún nivel de protección.

Autorizaciones y Vistas
Los usuarios pueden tener varios tipos de autorización para diferentes partes de la base de datos. Entre ellas están las siguientes:
La autorización de lectura permite la lectura de los datos, pero no su modificación.
La autorización de inserción permite la inserción de datos nuevos, pero no la modificación de los existentes.
La autorización de actualización permite la modificación de los datos, pero no su borrado.
La autorización de borrado permite el borrado de los datos.
Además de estas formas de autorización para el acceso a los datos, los usuarios pueden recibir autorización para modificar el esquema de la base de datos:
La autorización de índices permite la creación y borrado de índices.
La autorización de recursos permite la creación de relaciones nuevas.
La autorización de alteración permite el añadido o el borrado de atributos de las relaciones.
La autorización de eliminación permite el borrado de relaciones.

Recordando el concepto de Vistas, decimos que:
Una vista es una relación virtual.
Una vista se puede construir realizando operaciones como las del álgebra relacional a partir de las relaciones base de la base de datos. Las relaciones base son aquellas que forman parte directa de la base de datos, las que se encuentran almacenadas físicamente.
Estas proporcionan un poderoso mecanismo de seguridad, ocultando partes de la base de datos a ciertos usuarios. El usuario no sabrá que existen aquellos atributos que se han omitido al definir una vista.
En Postgre SQL:
CREATE TABLE estudiante (nombre varchar(20), nombre ci edad int8
PRIMARY KEY, edad int2);
Nombre CI. Edad
María 17345678 17
Juan 12345657 20
Luis 23456923 19


CREATE VIEW mayoresedad WHERE edad>18; AS SELECT * FROM estudiante nombre ci edad

Nombre CI. Edad
Juan 12345657 20
Luis 23456923 19

Esto permite que cuando se consulte utilizando la vista mayores de edad, sólo se impriman aquellas tuplas donde la edad es mayor a 18 en el caso de la relación Estudiantes... Estas proporcionan un poderoso mecanismo de seguridad, ocultando partes de la base de datos a ciertos usuarios. El usuario no sabrá que existen aquellos atributos que se han omitido al definir una vista.
La creación de vistas no necesita la autorización de recursos.
El usuario que crea una vista no recibe necesariamente todos los privilegios sobre la misma. Ese usuario sólo recibe los privilegios que no proporcionan autorizaciones adicionales respecto de las que ya posee.
Si un usuario crea una vista sobre la que no se puede conceder ninguna autorización, se deniega la solicitud de creación de la vista.

Cifrado y Autentificación
Una técnica de seguridad es el cifrado de datos que sirve para proteger datos confidenciales que se transmiten por satélite o algún tipo de red de comunicaciones. Asimismo el cifrado puede proveer protección adicional a secciones confidenciales de una base de datos.
Los datos se codifican mediante algún algoritmo de codificación. Un usuario no autorizado tendrá problemas para descifrar los datos codificados, pero un usuario autorizado contará con algoritmos para descifrarlos.
Ejemplo que nos permitirá saber cómo utilizar las nuevas funciones de cifrado y descifrado de DB2 en este caso hipotético para proporcionar una capa adicional de seguridad:
SET ENCRYPTION PASSWORD = 'SECRETO'
INSERT INTO cliente VALUES('JOSE', ENCRYPT('1111222233334444'))
SET ENCRYPTION PASSWORD = 'SECRETO'
SELECT nombre, DECRYPT_CHAR(num_tarj)
FROM cliente

En el código anterior, la sentencia Set Encryption Password proporciona a DB2 la clave que se utilizará para cifrar (y descifrar) los datos.
En la sentencia siguiente se muestra cómo se utiliza la función de cifrado de DB2 para codificar el número de la tarjeta de crédito antes de grabarlo en la tabla de DB2. La última
sentencia muestra los pasos necesarios para ver el valor original del número de la tarjeta de crédito, ‘1111222233334444’.
En primer lugar, la clave de cifrado debe ser la misma que la que se utilizó para cifrar el número. Después, debe utilizarse una de las funciones de descifrado de DB2 para convertir el valor binario cifrado en el valor original de tipo carácter.
No hay palabras clave de SQL o DDS que indiquen a DB2 UDB que cifre o descifre automáticamente los datos. Hay que realizar cambios en la aplicación. •La razón es que el cifrado y descifrado automático no ofrece una capa adicional de seguridad. Si DB2 descifra
automáticamente el número de la tarjeta de crédito para todos los usuarios que lean la tabla de clientes, entonces dicho número sería visible para los mismos usuarios que antes de cifrarlo.
Únicamente podrá sacar partido de la seguridad que ofrece el cifrado si cambia las aplicaciones y las interfaces para que descifren de forma selectiva los datos para un subconjunto de usuarios autorizados.

Control de Acceso Discrecional

Obviamente, una BD para una empresa contiene grandes cantidades de información y usualmente tiene varios grupos de usuarios, la mayoría de estos usuarios necesitan acceder sólo a una pequeña parte de los datos. Por ello, un DBMS tiene dos enfoques principales para esto:
1.- Control de acceso discrecional: Previene de accesos no autorizados a la base de datos y está basado en los derechos de acceso o privilegios y mecanismos para darle al
usuario tales privilegios. Acceso discrecional es un modo de restringir el acceso a la información basado en privilegios. Dos niveles de asignación de privilegios:
2- Nivel de cuenta: En este nivel el administrador especifica los privilegios particulares que tiene cada usuario, independiente de las tablas de la BD (CREATE TABLE, CREATE VIEW, ALTER, MODIFY, SELECT).
3- Nivel de relación: En este nivel se controlan los privilegios para tener acceso cada relación o vista individual. Cada tabla de BD tiene asignada una cuenta propietario, que tiene todos los privilegios sobre esa tabla y se encarga de otorgarlos al resto de cuentas. En SQL:
Privilegio SELECT para R confiere a la cuenta el privilegio de consultar la BD para obtener datos de R.
Privilegio MODIFY para R confiere a la cuenta el privilegio de modificar las tuplas de la tabla R.
Privilegio REFERENCES para R confiere a la cuenta el privilegio de hacer referencia a la tabla R por media de una clave ajena.
En SQL las instrucciones para asignar privilegios se denomina GRANT y las que los elimina REVOKE.

Revocacion De Privilegios De Objeto
REVOKE execute ON dbms_pipe FROM scott;
Sintaxis:
REVOKE { object_priv
             [, object_priv ] …
             | ALL [PRIVILEGES]}
    ON     [schema.] object
FROM     {user | role | PUBLIC }
             [, { user | role | PUBLIC } ]…
             [ CASCADE CONSTRAINTS

Donde:
Object_priv especifica el privilegio de objeto que va a ser revocado.
ALL revoca todos los privilegios del objeto que han sido concedido al usuario.
ON identifica el objeto en el que han sido revocados los privilegios.
FROM identifica los usuarios o roles a los que los privilegios de objeto son revocados.
CASCADE CONSTRAINTS Borra cualquier restricción de integridad referencial que haya definido la revocación usando privilegios. REFERENCES o ALL.

                                          Revocación de Privilegios de Objetos Utilizando WITH GRANT OPTION
                                GRANT              SCOTT  USUARIO1 USUARIO2
 
Restricción Los concesores pueden revocar privilegios solo a usuarios a los que ellos hayan concedido privilegios.

La revocación de privilegios será en Cascada cuando se haya dado con WITH GRANT OPTION.
El siguiente escenario muestra lo anterior:
  1. Al USER1 se le concede el privilegio de objeto SELECT con GRANT OPTION.
  2. USER1 concede el privilegio SELECT en EMP al USER2.
Resultado:
3. Más tarde, el privilegio SELECT es revocado a USER1. Esto hace que también le sea revocado a USER

Entre las obligaciones del DBA está otorgar privilegios a los usuarios y clasificar los usuarios y los datos de acuerdo con la política de la organización. Las órdenes privilegiadas del DBA incluyen los siguientes tipos de acciones:
1. Creación de cuentas
2. Concesión de privilegios.
3. Revocación de privilegios.
4. Asignación de niveles de seguridad.
La acción 1 de la lista sirve para controlar el acceso al SGBD en general, la 2 y la 3 para controlar las autorizaciones discrecionales y la 4 controla la autorización obligatoria
Los mecanismos de seguridad obligatorios sirven para imponer seguridad de múltiples niveles clasificando los datos y los usuarios en varias clases de seguridad e implementando después la política de seguridad apropiada de la organización.
Consiste en la clasificación de tanto los sujetos como los objetos en el sistema en ‘clases de acceso’ determinan sus características de confidencialidad.
Una ‘clase de acceso’ es un elemento de un conjunto de ‘clases’ parcialmente ordenadas. Las clases de acceso se definen como un conjunto formado por dos componentes, un
nivel de seguridad’ y un ‘conjunto de categorías’. •Cada ‘nivel de seguridad’ es un elemento de un conjunto jerárquicamente ordenado como ‘alto secreto’ (TS), ‘secreto’ (S), ‘confidencial’ (C) y ‘sin clasificar’ (U), donde TS > S > C > U.
El conjunto de categorías es un subconjunto de un conjunto desordenado, donde los elementos pueden reflejar áreas funcionales o diferentes competencias como por ejemplo
finanzas’, ‘administración’, ‘ventas’ y ‘compras’ para sistemas comerciales.
Sujetos de autorización
USUARIOS
GRUPOS DE USUARIOS
ROLES
PROCESOS
Privilegios de autorización
LEER, ESCRIBIR, EJECUTAR
SELECCIONAR, INSERTAR, ACTUALIZAR, REFERENCIAR, INDEXAR

Las políticas de control de acceso se pueden clasificar en dos grupos:
Cerradas: Solamente los accesos autorizados explícitamente son permitidos



Abiertas: Los accesos que no son explícitamente prohibidos son permitidos.


Dexys Padrón
CI. 12.897.310

17 jul 2012

OPTIMIZACIÓN BASADA EN EL COSTO


El optimizador basado en costes, se basa en calcular el coste de distintos planes de ejecución y elegir para la ejecución el plan de ejecución con menor coste. En su contra, está el optimizador basado en reglas, que se basa en una reglas prefijadas para decidir el plan de ejecución de una consulta.

14 jul 2012

Grupo 1, PSM /SQL


Procedimientos almacenados en el esquema: creación de funciones y procedimientos PSM. Instrucciones simples en PSM. Instrucciones de bifurcación. Consultas en PSM. Excepciones en PSM. 


Control de acceso discrecional


Control de  acceso discrecional
DAC es un medio para restringir el acceso a entes, basado en la identidad de los sujetos y los conjuntos a los que estos conciernen. Los controles son discrecionales en el sentido que un usuario o un proceso que tiene permiso de acceso a información dado por mediosdiscrecionales es capaz de pasar esa información a otro sujeto.
La plataforma de este tipo de seguridad es que se les accede a explicar explícitamente, a los usuarios individuales, o a los programas actuando en nombre de esos usuarios, los tipos de accesos que otros usuarios tienen sobre información bajo su control. Las claves del control de acceso discrecional son las identidades de usuarios y objetos.

Deficiencias de DAC

En la mayoría de los sistemas que utilizan DAC, cualquier proceso que seejecuta en nombre de un usuario, adquiere los derechos de acceso de ese usuario. Los dispositivos de control de acceso discrecionales limitan el acceso a objetos asentados solamente en la identidad de los sujetos que tratan de adherirse a estos objetos.
Se puede mostrar que DAC es solo efectivo para restringir el acceso a usuarios “honestos”, impidiendo que recuperen archivos de otros usuarios y evitando el mal uso o la destrucción accidental de información.


Mecanismos de DAC
·  Capacidades: La capacidad es un atributo que identifica tanto al objeto como a losderechos de acceso que poseen los usuarios. Existen dos propiedades fundamentales.

·  Perfiles: Utiliza una lista de objetos protegidos asociada a cada usuario. Las acciones decreación, borrado y modificación de los accesos a los objetos protegidos requieren muchasoperaciones dado que gran cantidad de perfiles de usuarios deben ser actualizados.

·  Listas de control de accesos: Las listas de control de accesos permiten que acualquier usuario particular se le garantice o se le niegue el acceso a un objeto protegido en particular.

·  Bits de protección: Este método es un intento incompleto de representar la matriz deacceso por columnas. El problema es que el sistema no puede permitir o quitar accesos sobreobjetos a usuarios aislados.

·  Contraseñas: Debe existir una contraseña por objeto, o una por objeto para cada tipo deacceso. Este mecanismo tiene muchos problemas. El sistema no puede controlar ladistribución de permisos de acceso dado que las contraseñas se pueden compartir, la dificultadque tienen las personas de recordar gran cantidad de contraseñas

AUTOR:
TORREALBA, LUIS
CI: 16.505.518

11 jul 2012

Control de Acceso Discrecional


Control de Acceso Discrecional Basado en
Concesión/ Revocación de Privilegios

Privilegio: es un derecho de acceso o autorización para realizar determinada operación sobre ciertos objetos de BD.
  Tipos de Privilegios Discrecionales:
  Privilegios de nivel de cuenta o Usuario: en este nivel, el ABD especifica los privilegios particulares que tiene cada cuenta, independientemente de las relaciones de la base de datos. 
 
 Algunos privilegios para este son:
§CREATE SCHEMA, DROP SCHEMA,
§CREATE TABLE, ALTER TABLE, DROP TABLE,
§CREATE VIEW, DROP VIEW,
§CREATE DOMAIN, ALTER DOMAIN, DROP DOMAIN,
§CREATE ASSERTION, DROP ASSERTION,
§SELECT, INSERT, UPDATE, DELETE (SOBRE CUALQUIER TABLA)
Privilegios de nivel de objeto de BD: en este nivel, podemos controlar  los privilegios para tener acceso a cada relación  o vista individual de la base de datos. Cuenta con los privilegios definidos en SQL:
§ SELECT
§ MODIFY
§REFERENCES
Los privilegios se dan o quitan con GRANT y REVOKE.
 Técnicas que Permiten Realizar la Autenticación de la Identidad del Usuario
 Existen los sistemas
*  Basados en Contraseñas, como tarjetas magneticas y contarseñas predefinidas o creadas pr los usuarios.
-* Patrones de escritura: Algo que identifica solo a una persona como las huella digital.
Tambien existen los dispositivos de Seguridad Basados en Token
 
        
 
Los basados en Autenticación Biométrica
 
                                      
Estos son mas faciles para el usuario ya que no tiene que recordar contraseñas.......
 
En el Control de Acceso Discrecional Basado en Concesiones se establecen los privilegios de los Usuarios o de los diferentes tipos de cuentas que existen en una base de datos, todo esto para minimizar los riesgos de perdida de Información y  de uso mal intesionado de la información. Hay muchas de las cuentas que pueden tener permisos priveligiados pero necesitan adional una autorización para realizar cambios, eliminar y agregar algunos datos de la BD. Todo empresa o Administrador de una BD debe mantener privilegios especiales para cada usuario.


PS Trayecto 4 Trimestre 1 Sección 1

Ramirez Maria  16326047
Rengifo Yelina
Vanezca Eumary  16506129