Anda di halaman 1dari 15

UNIDAD IV SEGURIDAD 4.1. Concepto El objetivo es proteger la Base de Datos contra accesos no autorizados. Se llama tambin privacidad.

INCLUYE ASPECTOS DE:

y y y y y

Aspectos legales, sociales y ticos Polticas de la empresa, niveles de informacin publica y privada Controles de tipo fsico, acceso a las instalaciones Identificacin de usuarios: voz, retina del ojo, etc. Controles de sistema operativo

En relacin al SGBD, debe mantener informacin de los usuarios, su tipo y los accesos y operaciones permitidas a stos. TIPOS DE USUARIOS: DBA, estn permitidas todas las operaciones, conceder privilegios y establecer usuarios

Usuario con derecho a crear, borrar y modificar objetos y que adems puede conceder privilegios a otros usuarios sobre los objetos que ha creado. Usuario con derecho a consultar, o actualizar, y sin derecho a crear o borrar objetos.

Privilegios sobre los objetos, aadir nuevos campos, indexar, alterar la estructura de los objetos, etc. Los SGBD tienen opciones que permiten manejar la seguridad, tal como GRANT, REVOKE, etc. Tambin tienen un archivo de auditoria en donde se registran las operaciones que realizan los usuarios. MEDIDAS DE SEGURIDAD

y y y y

Fsicas: Controlar el acceso al equipo. Tarjetas de acceso, etc Personal: Acceso slo del personal autorizado. Evitar sobornos, etc. SO: Seguridad a nivel de SO SGBD: Uso herramientas de seguridad que proporcione el SGBD. Perfiles de usuario, vistas, restricciones de uso de vistas, etc.

Un SMBD cuenta con un subsistema de seguridad y autorizacin que se encarga de garantizar la seguridad de porciones de la BD contra el acceso no autorizado.

Identificar y autorizar a los usuarios: uso de cdigos de acceso y palabras claves, exmenes, impresiones digitales, reconocimiento de voz, barrido de la retina, etc Autorizacin: usar derechos de acceso dados por el terminal, por la operacin que puede realizar o por la hora del da. Uso de tcnicas de cifrado: para proteger datos en Base de Datos distribuidas o con acceso por red o internet. Diferentes tipos de cuentas: en especial del ABD con permisos para: creacin de cuentas, concesin y revocacin de privilegios y asignacin de los niveles de seguridad. Manejo de la tabla de usuarios con cdigo y contrasea, control de las operaciones efectuadas en cada sesin de trabajo por cada usuario y anotadas en la bitcora, lo cual facilita la auditora de la Base de Datos.

Discrecional: Se usa para otorgar y revocar privilegios a los usuarios a nivel de archivos, registros o campos en un modo determinado (consulta o modificacin). El ABD asigna el propietario de un esquema, quien puede otorgar o revocar privilegios a otros usuarios en la forma de consulta (select), modificacin o referencias. A travs del uso de la instruccin grant option se pueden propagar los privilegios en forma horizontal o vertical. Ejemplo: grant select on Empleado to cdigoUsuario revoke select on Empleado from cdigoUsuario Obligatoria: sirve para imponer seguridad de varios niveles tanto para los usuarios como para los datos. El problema de la seguridad consiste en lograr que los recursos de un sistema sean, bajo toda circunstancia, utilizados para los fines previstos. Para eso se utilizan mecanismos de proteccin. Los sistemas operativos proveen algunos mecanismos de proteccin para poder implementar polticas de seguridad. Las polticas definen qu hay que hacer (qu datos y recursos deben protegerse de quin; es un problema de administracin), y los mecanismos determinan cmo hay que hacerlo. Esta separacin es importante en trminos de flexibilidad, puesto que las polticas pueden variar en el tiempo y de una organizacin a otra. Los mismos mecanismos, si son flexibles, pueden usarse para implementar distintas polticas. Un aspecto importante de la seguridad es el de impedir la prdida de informacin, la cual puede producirse por diversas causas: fenmenos naturales, guerras, errores de hardware o de software, o errores humanos. La solucin es una sola: mantener la informacin respaldada, de preferencia en un lugar lejano. Otro aspecto importante de la seguridad, es el que tiene que ver con el uso no autorizado de los recursos: Lectura de datos. Modificacin de datos. Destruccin de datos. Uso de recursos: ciclos de CPU, impresora, almacenamiento. Principios bsicos para la seguridad

Suponer que el diseo del sistema es pblico. El defecto debe ser: sin acceso. Chequear permanentemente. Los mecanismos de proteccin deben ser simples, uniformes y construidos en las capas ms bsicas del sistema. Los mecanismos deben ser aceptados sicolgicamente por los usuarios. SEGURIDAD: Fallos lgicos o fsicos que destruyan los datos. - Evitar prdidas de datos por fallos hardware o software (fallo disco, etc.). Normalmente suelen ser fallos de disco o prdida de memoria RAM. - Aparte del punto de vista de los SGBD, intervienen otros niveles (ej: discos replicados, etc.) - A pesar de estos posibles fallos la base de datos debe quedar siempre en un estado consistente. El concepto de seguridad, segn Date (1992), se puede entender como la proteccin de los datos contra acceso, alteracin o destruccin no autorizados. LAS TRES PRINCIPALES CARACTERSTICAS DE LA SEGURIDAD Que se deben mantener en una base de datos son la confidencialidad, la integridad y la disponibilidad de la informacin. - Los datos contenidos en una Base de Datos pueden ser individuales o de una Organizacin. Sean de un tipo o de otro, a no ser que su propietario lo autorice, no deben ser desvelados. Si esta revelacin es autorizada por dicho propietario la confidencialidad se mantiene. Es decir, asegurar la confidencialidad significa prevenir/ detectar/ impedir la revelacin impropia de la informacin. LA SEGURIDAD ( FIABILIDAD ) DEL SISTEMA El concepto de Seguridad lo medimos en: La proteccin del sistema frente a ataques externos . La proteccin frente a cadas o fallos en el software o en el equipo. La proteccin frente a manipulacin por parte del administrador . Puesto que trabajamos con un sistema que utiliza una serie de bases de datos, y dado que dicha base de datos est sujeta a una serie de requerimientos legales en base a la LORTAD, estos puntos son de obligado cumplimiento. Especialmente severa es la LORTAD en cuanto al papel y actuacin del responsable del sistema y las sanciones por incumplimiento de las normas establecidas. Entre estas, podemos citar la obligatoriedad de existencia de protocolos de actuacin, sistemas de encriptacin, mecanismos de backup y recuperacin, registro de incidencias, etc. Todo esto est reglamentado y documentado en los en los reglamentos de aplicacin de la LORTAD, y su correcta aplicacin permiten confiar -hasta cierto punto- en el administrador. Realmente hara falta una "Autoridad de emisin de consultas", al igual que existe una "Autoridad de emisin de certificados digitales" La seguridad de los datos se refiere a la proteccin de estos contra el acceso por parte de las personas no autorizadas y contra su indebida destruccin o alteracin.

El analista de sistemas que se hace responsable de la seguridad debe estar familiarizado con todas las particularidades del sistema, porque este puede ser atacado con fines ilcitos desde muchos ngulos. A veces se presta mucha atencin a alguno de los aspectos del problema mientras se descuidan otros. Los siguientes siete requisitos son esenciales para la seguridad de la base de datos:

y y

La base de datos debe ser protegida contra el fuego, el robo y otras formas de destruccin. Los datos deben ser reconstruibles, porque por muchas precauciones que se tomen, siempre ocurren accidentes. Los datos deben poder ser sometidos a procesos de auditoria. La falta de auditoria en los sistemas de computacin ha permitido la comisin de grandes delitos. El sistema debe disearse a prueba de intromisiones. Los programadores, por ingeniosos que sean, no deben poder pasar por alto los controles. Ningn sistema puede evitar de manera absoluta las intromisiones malintencionadas, pero es posible hacer que resulte muy difcil eludir los controles. El sistema debe tener capacidad para verificar que sus acciones han sido autorizadas. Las acciones de los usuarios deben ser supervisadas, de modo tal que pueda descubrirse cualquier accin indebida o errnea.

SERVICIOS DE SEGURIDAD Existen varios servicios y tecnologas relacionadas con la seguridad. Accede a cada una de ellas para conocer qu tecnologas son las ms interesantes: Autenticacin: Se examinan las capacidades de logon nico a la red, autenticacin y seguridad. Adems, se proporciona informacin sobre el interfaz Security Support Provider Interface (SSPI) para obtener servicios de seguridad integrados del sistema operativo. Kerberos es el protocolo por defecto en Windows 2000 para autenticacin en red. Sistema de Archivos Encriptado: El Sistema de Archivos Encriptado (Encrypted File System - EFS) proporciona la tecnologa principal de encriptacin de archivos para almacenar archivos del sistema de archivos NTFS de Windows NT encriptados en disco. Seguridad IP: Windows IP Security, del Internet Engineering Task Force, proporciona a los administradores de redes un elemento estratgico de defensa para la proteccin de sus redes. Servicios de seguridad en Windows 2000: se examinan los procedimientos relacionados con la gestin de cuentas, autenticacin de red a nivel corporativo, as como el Editor de Polticas de Seguridad. Tarjetas Inteligentes: se examinan los procesos de autenticacin utilizando tarjetas inteligentes y los protocolos, servicios y especificaciones asociadas. Tecnologas de Clave Pblica: se revisa la infraestructura de clave pblica incluida en los sistemas operativos de Microsoft y se proporciona informacin sobre criptografa. Un SMBD cuenta con un subsistema de seguridad y autorizacin que se encarga de garantizar la seguridad de porciones de la BD contra el acceso no autorizado.

Identificar y autorizar a los usuarios: uso de cdigos de acceso y palabras claves, exmenes, impresiones digitales, reconocimiento de voz, barrido de la retina, etc.

Autorizacin: usar derechos de acceso dados por el terminal, por la operacin que puede realizar o por la hora del da. Uso de tcnicas de cifrado: para proteger datos en BD distribuidas o con acceso por red o internet. Diferentes tipos de cuentas: en especial la del ABD con permisos para: creacin de cuentas, concesin y revocacin de privilegios y asignacin de los niveles de seguridad. Manejo de la tabla de usuarios con cdigo y contrasea, control de las operaciones efectuadas en cada sesin de trabajo por cada usuario y anotadas en la bitcora, lo cual facilita la auditora de la BD.

y y

Discrecional: se usa para otorgar y revocar privilegios a los usuarios a nivel de archivos, registros o campos en un modo determinado (consulta o modificacin). El ABD asigna el propietario de un esquema, quien puede otorgar o revocar privilegios a otros usuarios en la forma de consulta (select), modificacin o referencias. A travs del uso de la instruccin grant option se pueden propagar los privilegios en forma horizontal o vertical. Ejemplo: grant select on Empleado to cdigoUsuario revoke select on Empleado from cdigoUsuario. Obligatoria: sirve para imponer seguridad de varios niveles tanto para los usuarios como para los datos. Problemas de seguridad. La informacin de toda empresa es importante, aunque unos datos lo son ms que otros, por tal motivo se debe considerar el control de acceso a los mismos, no todos los usuarios pueden visualizar alguna informacin, por tal motivo para que un sistema de base de datos sea confiable debe mantener un grado de seguridad que garantice la autenticacin y proteccin de los datos. En un banco por ejemplo, el personal de nminas slo necesita ver la parte de la base de datos que tiene informacin acerca de los distintos empleados del banco y no a otro tipo de informacin. 4.2 Identificacin y autentificacin En un SGBD existen diversos elementos que ayudan a controlar el acceso a los datos. En primer lugar el sistema debe identificar y autentificar a los usuarios utilizando alguno de las siguientes formas:

y y y y y

Cdigo y contrasea Identificacin por hardware Caractersticas bioantropomtricas Conocimiento, aptitudes y hbitos del usuario Informacin predefinida (Aficiones, cultura, etc)

Adems, el administrador deber especificar los privilegios que un usuario tiene sobre los objetos:

Usar una B.D.

y y y y y y y

Consultar ciertos datos Actualizar datos Crear o actualizar objetos Ejecutar procedimientos almacenados Referenciar objetos Indexar objetos Crear identificadores

Mecanismos de autentificacin La autentificacin, que consiste en identificar a los usuarios que entran al sistema, se puede basar en posesin (llave o tarjeta), conocimiento (clave) o en un atributo del usuario (huella digital). Claves El mecanismo de autentificacin ms ampliamente usado se basa en el uso de claves o passwords; es fcil de entender y fcil de implementar. En UNIX, existe un archivo /etc/passwd donde se guarda los nombres de usuarios y sus claves, cifradas mediante una funcin one-way F. El programa login pide nombre y clave, computa F(clave), y busca el par (nombre, F(clave)) en el archivo. Con claves de 7 caracteres tomados al azar de entre los 95 caracteres ASCII que se pueden digitar con cualquier teclado, entonces las 957 posibles claves deberan desincentivar cualquier intento por adivinarla. Sin embargo, una proporcin demasiado grande de las claves escogidas por los usuarios son fciles de adivinar, pues la idea es que sean tambin fciles de recordar. La clave tambin se puede descubrir mirando (o filmando) cuando el usuario la digita, o si el usuario hace login remoto, interviniendo la red y observando todos los paquetes que pasan por ella. Por ltimo, adems de que las claves se pueden descubrir, stas tambin se pueden "compartir", violando las reglas de seguridad. En definitiva, el sistema no tiene ninguna garanta de que quien hizo login es realmente el usuario que se supone que es. Identificacin fsica Un enfoque diferente es usar un elemento fsico difcil de copiar, tpicamente una tarjeta con una banda magntica. Para mayor seguridad este enfoque se suele combinar con una clave (como es el caso de los cajeros automticos). Otra posibilidad es medir caractersticas fsicas particulares del sujeto: huella digital, patrn de vasos sanguneos de la retina, longitud de los dedos. Incluso la firma sirve. Algunas medidas bsicas:

Demorar la respuesta ante claves errneas; aumentar la demora cada vez. Alertar si hay demasiados intentos. Registrar todas las entradas. Cada vez que un usuario entra, chequear cundo y desde dnde entr la vez anterior. Hacer chequeos peridicos de claves fciles de adivinar, procesos que llevan demasiado tiempo corriendo, permisos errneos, actividades extraas (por ejemplo cuando usuario est de vacaciones).

Un SMBD cuenta con un subsistema de seguridad y autorizacin que se encarga de garantizar la seguridad de porciones de la BD contra el acceso no autorizado. Identificar y autorizar a los usuarios: uso de cdigos de acceso y palabras claves, exmenes, impresiones digitales, reconocimiento de voz, barrido de la retina, etc. Autorizacin: usar derechos de acceso dados por el terminal, por la operacin que puede realizar o por la hora del da. Uso de tcnicas de cifrado: para proteger datos en BD distribuidas o con acceso por red o internet. Diferentes tipos de cuentas: en especial la del ABD con permisos para: creacin de cuentas, concesin y revocacin de privilegios y asignacin de los niveles de seguridad. Manejo de la tabla de usuarios con cdigo y contrasea, control de las operaciones efectuadas en cada sesin de trabajo por cada usuario y anotadas en la bitcora, lo cual facilita la auditora de la BD. Discrecional: se usa para otorgar y revocar privilegios a los usuarios a nivel de archivos, registros o campos en un modo determinado (consulta o modificacin). El ABD asigna el propietario de un esquema, quien puede otorgar o revocar privilegios a otros usuarios en la forma de consulta (select), modificacin o referencias. A travs del uso de la instruccin grant option se pueden propagar los privilegios en forma horizontal o vertical. Ejemplo: grant select on Empleado to cdigoUsuario revoke select on Empleado from cdigoUsuario Obligatoria: sirve para imponer seguridad de varios niveles tanto para los usuarios como para los datos. Llamamos autentificacin a la comprobacin de la identidad de una persona o de un objeto. Hemos visto hasta ahora diversos sistemas que pueden servir para la autentificacin de servidores, de mensajes y de remitentes y destinatarios de mensajes. Pero hemos dejado pendiente un problema: las claves privadas suelen estar alojadas en mquinas clientes y cualquiera que tenga acceso a estas mquinas puede utilizar las claves que tenga instaladas y suplantar la identidad de su legtimo usuario. Por tanto es necesario que los usuarios adopten medidas de seguridad y utilicen los medios de autentificacin de usuario de los que disponen sus ordenadores personales. Hay tres sistemas de identificacin de usuario, mediante contrasea, mediante dispositivo y mediante dispositivo biomtrico. La autentificacin mediante contrasea es el sistema ms comn ya que viene incorporado en los sistemas operativos modernos de todos los ordenadores. Los ordenadores que estn preparados para la autentificacin mediante dispositivo slo reconocern al usuario mientras mantenga introducida una llave, normalmente una tarjeta con chip. Hay sistemas de generacin de claves asimtricas que introducen la clave privada en el chip de una tarjeta inteligente. Los dispositivos biomtricos son un caso especial del anterior, en los que la llave es una parte del cuerpo del usuario, huella dactilar, voz, pupila o iris. Existen ya en el mercado a precios relativamente econmicos ratones que llevan incorporado un lector de huellas dactilares. Control de acceso.- La seguridad de las Bases de Datos se concreta mediante mecanismos, tanto "hardware" como "software". As estos mecanismos son: - El primero se denomina identificacin, que procede a identificar a los sujetos(procesos, normalmente transacciones que actan en su nombre o usuarios) que pretenden acceder a la base de datos. - El siguiente mecanismo que acta es el de autenticacin. El proceso usual es mediante contraseas, constituidas por un conjunto de caracteres alfanumricos y especiales que slo el sujeto conoce. Tambin se puede realizar mediante algn dispositivo en poder del mismo o alguna de

sus caractersticas bioantropomtricas. - En caso de que el sujeto sea positivamente identificado y autenticado, se debe controlar el acceso que pretende a los objetos(datos y recursos accedidos por los sujetos. Por ejemplo, si se considera un SGBD relacional los recursos que deben protegerse son las relaciones, vistas y atributos). El mecanismo involucrado se denomina de control de accesos y se encarga de denegar o conceder dichos accesos en base a unas reglas, que establecen en qu condiciones el sujeto puede acceder y realizar ciertas operaciones sobre el objeto especificado. Estas reglas son dictadas por una persona con autoridad suficiente, que normalmente es el propietario de los datos o, en el caso de una organizacin, el administrados de la base de datos, de acuerdo con unas polticas de seguridad. Una regla de autorizacin se suele representar mediante una tripleta (s,o,p), que especifica que el sujeto esta autorizado para ejercer un privilegio sobre un objeto . Los sujetos de autorizacin son las entidades del sistema a las que se les asignan las autorizaciones sobre los objetos. Los sujetos se pueden clasificar en las siguientes categoras: -Usuarios, es decir, individuos simples conectados al sistema. A veces seria ms til especificar los criterios de acceso basndose en sus calificaciones y caractersticas, ms que en la identidad del usuario. -Grupos, es decir, conjuntos de usuarios. -Roles, o lo que es igual, conjuntos de privilegios necesarios para realizar actividades especificas dentro del sistema. -Procesos, que ejecutan programas en nombre de los usuarios. Necesitan recursos del sistema para llevar a cabo sus actividades, y normalmente tienen acceso slo a los recursos necesarios para que se puedan realizar las tareas del proceso. Esto limita el posible dao derivado de fallos del mecanismo de proteccin. Los privilegios de autorizacin establecen los tipos de operaciones que un sujeto puede ejercer sobre los objetos del sistema. El conjunto de privilegios depende de los recursos a proteger. Por ejemplo, los privilegios tpicos de un SGBD relacional son seleccionar, insertar, actualizar y eliminar. Normalmente, los privilegios estn organizados jerrquicamente y la jerarqua representa una relacin de asuncin entre privilegios. Si la transaccin invocada trata de modificar el contenido de la base de datos, los cambios propuestos son chequeados por el sistema de gestin de la misma, para garantizar su integridad semntica o elemental. As mismo, el sistema de gestin se responsabiliza de evitar accesos concurrentes a dicha base. Finaliza la transaccin, con xito o no, el citado sistema de gestin graba en un registro de auditoria todas las caractersticas de aquella. Este registro tambin contiene la informacin pertinente para la recuperacin de la base de datos, caso de un fallo de sta o una cada del sistema. Aunque este mecanismo no impide los accesos no autorizados, tiene efectos disuasorios sobre potenciales atacantes, permitiendo adems encontrar puntos dbiles en los mecanismos de seguridad. Adicionalmente a todos estos mecanismos, el medio fsico sobre el que se almacena la base de datos puede estar protegido criptogrficamente. Igualmente las copias de seguridad pueden estas as defendidas frente a ataques. Los tipos de elementos se combinan para formar el sistema que se utiliza para analizar los mtodos de proteccin:

y y y

Los usuarios con acceso a la base de datos, a los que por brevedad denominaremos accesores El tipo de acceso deseado Los elementos a los que se realizara el acceso

Cada uno de estos elementos debe estar adecuadamente identificado a fin de lograr el control del acceso a los datos. Tambin es necesario considerar el entorno o frontera del rea dentro de la cual es valido es sistema de proteccin.

Definiciones. Se definir cierto numero de trminos a fin de que el anlisis subsecuente de los mecanismos resulte claro: Entorno: Existe un rea con permetro bien definido, conocido como sistema de la base de datos. Usuarios e intrusos: Dentro de esta rea puede haber individuos autenticados adecuadamente identificados; individuos disfrazados de usuarios validos, e intrusos. Alcance limitado: El sistema desconoce la identidad de los individuos en el mundo exterior.

y y

Privilegios: Existen varios privilegios de acceso a los datos, relacionados con la identificacin de un individuo. La descripcin de estos privilegios se mantiene como parte del sistema de la base de datos. Proteccin: Todos los elementos dato estn protegidos hasta cierto punto mientras se encuentren dentro del rea del sistema de la base de datos, y perdern toda la proteccin que proporciona el sistema al sacarse del rea. Confiabilidad: Un prerrequisito para lograr la proteccin de la base de datos es un alto nivel de confiabilidad del sistema.

La identificacin externa de los usuarios con acceso a la base de datos es en primer lugar el nombre, en la forma en que lo introduzcan al sistema. Un usuario con derecho de acceso tambin puede identificarse mediante una clave de acceso (password), darse al ser solicitada, o tal vez por una llave o identificacin que la maquina pueda aceptar. Se han propuesto y probado mtodos que dependen de la unicidad biolgica de los seres humanos. Son manifestaciones de esta codificacin nica de los individuos las huellas dactilares y las firmas. El sistema de la base de datos, que aqu se ha definido, no ser responsable de la decodificacin primaria y de validacin o autenticacin de la informacin presentada. Y a que los servicios de acceso al sistema operativo son un prerrequisito para el empleo de la base de datos, la tarea de autenticacin se deja a mdulos del sistema operativo. El mtodo empleado para la identificacin de un individuo depende mucho de la tecnologa disponible en un caso especifico. El subsistema de autenticacin presentara al sistema de base de datos una cadena de bits que se considerara la llave de acceso. Este modulo debe impedir que un impostor obtenga una llave. Todas las autorizaciones y privilegios dados a los usuarios con acceso a la base de datos dependern de la llave de acceso. Para asegurarse que las llaves de acceso no estn a disposicin de accesores no autorizados, la identificacin de un individuo debe ser muy difcil de imitar o copiar. Aunque el nombre de un individuo pueda ser nico, es fcil que cualquiera que a quienes tienen acceso al sistema lo copie, por lo que no es una llave adecuada. Una vez que se obtiene una llave de acceso al sistema, esta llave se utiliza para entrar al sistema de la base de datos desde el sistema operativo. La responsabilidad del manejo de la llave corresponde tanto al accesor como al sistema operativo. A fin de proteger el proceso de obtencin de una llave del sistema, cuando el usuario realiza la entrada (en ingles LOG IN) solicita una clave de acceso con el nombre del usuario. La clave de acceso se introduce sin exhibirla a fin de protegerse de los observadores. En general, esta clave de acceso consistir en unas cuantas letras, elegidos por el usuario. Un intruso podra utilizar un mtodo de ensayo y error para introducir posibles claves de acceso y lograr entrar. E l tiempo necesario para realizar un ensayo sistemtico es el principal elemento para desanimar a posibles intrusos. El tiempo esperado para abrir un seguro especifico sin ningn conocimiento previo es T(entrar)= 1/2 cd t(ensayo) en donde c d es el numero de posibles combinaciones y t (ensayo) el tiempo necesario para ensayar o probar una combinacin. Para una clave de acceso de tres letras, d=3 y c=26, el tiempo para la interaccin con el sistema podra ser t(ensayo) = 3 segundos, de manera que T (entrar) 7 hrs. Si el proceso de autenticacin se requiere con poca frecuencia, un retraso artificial en el proceso de apertura podra aumentar la seguridad del seguro. Confidencialidad : No mostrar datos a usuarios no autorizados.

Accesibilidad : Que la informacin se encuentre disponible. Integridad : Permite asegurar que los datos no se han falseado. MEDIDAS DE SEGURIDAD EN UN ENTORNO DE B.D. CONFIDENCIALIDAD. Autorizacin en sistemas de bases de datos.

y y y y y y

Identificacin y autenticacin. Cdigo y contrasea. Identificacin por Hardware. Caractersticas bioantropomtricas. Conocimiento, aptitudes y hbitos del usuario. Informacin predefinida (Aficiones, cultura, etc.)

Privilegios al usuario.

y y y y y y y y

Usar una B.D. Consultar ciertos datos. Actualizar datos. Crear o actualizar objetos. Ejecutar procedimientos almacenados. Referenciar objetos. Indexar objetos. Crear identificadores.

Diferentes tipos de autorizacin. Autorizacin explcita.

Consiste en almacenar que sujetos pueden acceder a ciertos objetos con determinados privilegios. Se usa una Matriz de Accesos

y y

Autorizacin implcita. Consiste que una autorizacin definida sobre un objeto puede deducirse a partir de otras.

DISPONIBILIDAD. Los sistemas de B.D. Deben asegurar la disponibilidad de los datos a los usuarios que tienen derecho a ello, por lo que se proporcionan mecanismos que permiten recuperar la B.D. Contra fallos lgicos o fsicos que destruyan los datos. RECUPERACIN. El principio bsico en el que se apoya la recuperacin de la base de datos es la Redundancia Fsica. EXISTEN DOS TIPOS IMPORTANTES DE FALLOS:

Los que provocan la prdida de memoria voltil, usualmente debidos a la interrupcin del fluido elctrico o por funcionamiento anormal del hardware. Los que provocan la prdida del contenido de memoria secundaria, por ejemplo, cuando patinan las cabezas en un disco duro.

4.3 Matriz de Autorizacin La seguridad se logra si se cuenta con un mecanismo que limite a los usuarios a su vista o vistas personales. La norma es que la base de datos relacionales cuente con dos niveles de seguridad:

y y

Relacin. Puede permitrsele o impedrsele que el usuario tenga acceso directo a una relacin. Vista. Puede permitrsele o impedrsele que el usuario tenga acceso a la informacin que aparece en un vista.

Aunque es imposible impedir que un usuario tenga acceso directo a una informacin puede permitrsele acceso a una parte de esta relacin por medio de una vista. De tal manera que es posible utilizar una combinacin de seguridad al nivel relacional y al nivel de vistas para limitar el acceso del usuario exclusivamente a los datos que necesita. Un usuario puede tener varias formas de autorizacin sobre partes de la base de datos. Entre ellas se encuentran las siguientes:

y y y

Autorizacin de lectura, que permite leer, pero no modificar la base de datos. Autorizacin de insercin, permite insertar datos nuevos pero no modificar lo ya existente. Autorizacin de actualizacin, que permite insertar modificar la informacin pero no permite la eliminacin de datos. Autorizacin de borrado, que permite la eliminacin de datos.

Un usuario puede tener asignados todos, ninguno o una combinacin de los tipos de autorizacin anteriores. Adems de las formas de autorizacin de acceso de datos antes mencionadas, es posible autorizar al usuario para que modifique el esquema de la base de datos.

Autorizacin de ndice, que permite la creacin y eliminacin de ndices.

y y y

Autorizacin de recursos, que permite la creacin de relaciones nuevas. Autorizacin de alteracin, que permite agregar o eliminar atributos de una relacin. Autorizacin de eliminacin, que permite eliminar relaciones.

Las autorizaciones de eliminacin y borrado difieren en cuanto a que la autorizacin de borrado solo permite la eliminacin de tuplas. La habilidad para crear nuevas relaciones viene regulada por la autorizacin de recursos de tal forma que la utilizacin del espacio del almacenamiento puede ser controlada. La autorizacin de ndice puede aparecer innecesariamente puesto que la creacin o eliminacin de un ndice no altera los datos en las relaciones. Mas bien los ndices son una estructura para realizar mejoras. La forma fundamental de autoridad es la que se le da al administrador de la base de datos. El administrador de la base de datos puede entre otras cosas autorizar nuevos usuarios, reestructurar la base de datos, etc. REPASO DEL MODELO DE PROTECCIN Mecanismo para controlar el acceso del usuario y de los procesos a los recursos del sistema. El modelo clsico de proteccin est basado en el concepto de dominio de proteccin. Un dominio define un conjunto de objetos y los tipos de operaciones que pueden realizarse sobre cada objeto. En cada momento el proceso est asociado, esttica o dinmicamente, a un dominio (en UNIX el uid y gid determinan el dominio). El modelo de proteccin puede entenderse como una matriz de acceso donde las filas corresponden a dominios y las columnas a objetos. Cada elemento de la matriz especifica las operaciones permitidas sobre el objeto en este dominio. Hay dos formas tpicas de almacenar la matriz: por columnas o filas. LISTAS DE CONTROL DE ACCESO La matriz se almacena por columnas: asociado a cada objeto se almacena una lista de dominios y operaciones permitidas en cada dominio (ACL). En la prctica normalmente se establecen clases de dominios (como grupos de usuarios de UNIX). Ejemplos:

y y y y y

Bits RWX como UNIX. Utilizado en Locus. En AFS se usan ACL con las siguientes caractersticas: Permiten establecer derechos positivos y negativos para los usuarios y grupos. Controlan el acceso a directorios, no a ficheros. Las operaciones controladas son: lookup, read, insert, write, delete, lock y administer.

CAPABILITIES La matriz se almacena por filas: asociado a cada proceso hay una lista de objetos y operaciones permitidas. Este esquema presenta la dificultad de realizar la revocacin de los derechos de acceso a un objeto. Para evitar la modificacin maliciosa de las Capabilities estas se almacenan en la memoria del ncleo y se acceden indirectamente o bien, sobre todo en SD, se almacenan en espacio de usuario pero encriptadas, como en Amoeba: Las capabilities se usan para nombrar y proteger objetos.

Estn formadas por la direccin del servidor, el identificador del objeto, los derechos de acceso y un campo de validacin. Cuando se crea un objeto se elige un nmero aleatorio de 48 bits que se mezcla con el campo correspondiente a los derechos de acceso mediante un O-Exclusivo y una funcin no reversible, y se almacena en el campo de validacin. Cada vez que se presenta una capability al servidor ste aplica la funcin y comprueba si el resultado coincide con el campo de validacin. SEGURIDAD Un aspecto muy importante sobre todo en SD. Incluye servicios tales como:

Autentificacin: Verificacin de la identidad de un componente que genera datos (principal) por parte de otro componente (verificador). Integridad y carcter confidencial de los datos transmitidos.

Los ataques a la seguridad pueden consistir en la escucha de los mensajes que se transmiten por la red, la inyeccin de mensajes en la red, la retransmisin de mensajes escuchados anteriormente, la suplantacin del cliente o del servidor, etc. La solucin a estos problemas se basa generalmente en utilizar criptografa tanto para proteger los datos como para autentificacin. En la transmisin se aplica un algoritmo de cifrado al mensaje M usando una clave Kc y en la recepcin se aplica el algoritmo de descifrado usando Kd. La funcin de cifrado es muy difcil de invertir sin conocer la clave. Existen dos esquemas: Sistemas de clave secreta En estos sistemas Kc es igual Kd. El algoritmo ms usado es el Data Encryption Standard (DES) basado en 16 niveles de sustituciones y permutaciones. Este esquema sufre el problema de la distribucin de la clave. Un ejemplo de sistema de autentificacin basado en este esquema es Kerberos. Sistemas de clave publica En estos sistemas Kc es distinto a Kd. Kd es la clave secreta del servidor. El algoritmo ms usado es el RSA basado en la factorizacin de nmeros muy grandes que tengan pocos factores. Este esquema elimina el problema de la distribucin de la clave pero no el de la suplantacin de servidores. Sistema de autentificacin desarrollado en el M.I.T. Actualmente est incluido en numerosos sistemas como AFS, DCE y algunas versiones de NFS. Est basado en la propuesta de Needham y Schroeder. Caractersticas generales Autentificacin tanto de cliente como de servidor basado en un tercer componente, el servidor de autentificacin (AS), que conoce la clave secreta de ambos. AS reside en una mquina "segura". Su objetivo principal es la autentificacin pero tambin puede utilizarse para mantener la integridad y el carcter confidencial de los datos. Las claves y contraseas no se transmiten por la red ni se almacenan mucho tiempo en la mquina. Se usan timestamps para detectar la retransmisin maliciosa de los mensajes. Las claves de autentificacin tienen asociados plazos de expiracin para dificultar los ataques contra la seguridad. Los usuarios pueden tener varios tipos de autorizacin para diferentes partes de la base de datos. Entre ellas estn las siguientes:

y y

La autorizacin de lectura permite la lectura de los datos, pero no su modificacin La autorizacin de insercin permite la insercin de datos nuevos, pero no la modificacin de los existentes. La autorizacin de actualizacin permite la modificacin de los datos, pero no su borrado La autorizacin de borrado permite el borrado de los datos.

y y

Los usuarios pueden recibir todos los tipos de autorizacin ninguno de ellos, o una combinacin determinada de los mismos. Adems de estas formas de autorizacin para el acceso a los datos los usuarios pueden recibir autorizacin para modificar el esquema de la base de datos:

y y y y

La autorizacin de ndices permite la creacin y borrado de ndices. La autorizacin de recursos permite la creacin de las relaciones nuevas La autorizacin de alteracin permite el aadido o el borrado de atributos de las relaciones. La autorizacin de eliminacin permite el borrado de relaciones.

Autorizaciones Para facilitar la administracin los SGBD suele incorporar el concepto de perfil, rol o grupo de usuarios que agrupa a una serie de privilegios por lo k el usuario que se asigna a un grupo hereda todos los privilegios del grupo. El mecanismo de control de acceso se encarga de denegar o conceder el acceso a los usuarios. En un SGBD puede existir diferentes tipos de autorizacin: Una primera distincin puede hacerse entre:

Autorizacin explicita. Normalmente usada en los sistemas tradicionales. Consiste en almacenar que sujetos pueden accesar a ciertos objetos con determinados privilegios para lo que suele utilizarse una matriz de control de accesos. Autorizacin implcita. Consiste en que una autorizacin definida sobre un objeto puede deducirse a partir de otras (por ejemplo si se puede acceder a una clase en un SGBD se puede tambin acceder a todas las instancias de esa clase).

Las autorizaciones de eliminacin y de borrado se diferencian en que la autorizacin de borrado solo permite el borrado de tuplas. Si un usuario borra todas las tuplas de unas relacin, la relacin sigue existiendo, pero esta vaca. Si se elimina una relacin, deja de existir. La capacidad de crear nuevas relaciones queda regulada mediante la autorizacin de recursos. El usuario con la autorizacin de recursos que crea una relacin nueva recibe automticamente todos los privilegios sobre el sistema. La autorizacin de ndices puede parecer innecesaria, dado que la creacin o borrado de un ndice no afecta a los datos de las relaciones. Ms bien, los ndices son una estructura para las mejoras de rendimiento. Sin embargo, los ndices tambin ocupan espacio y se exige que las modificaciones de las bases de datos actualicen los ndices , los que llevaran a cabo actualizaciones estaran tentados de borrar los ndices , los

que llevan a cabo actualizaciones estaran tentados de borrar los ndices, mientras que los que formulara consultas estaran tentados de crear numeroso ndices. Para permitir si el administrador de la base de datos que regule el uso de los recursos del sistema es necesario tratar la creacin de ndices como un privilegio. La forma superior de autoridad es la concebida al administrador de la base de datos. El administrador de la base de datos puede autorizar usuarios nuevos, reestructurar la base de datos, etc. Ahora bien, cmo se las arregla el sistema para llevar la cuenta de quin puede accesar qu objetos y con qu operaciones? Conceptualmente al menos, podemos ver este modelo de proteccin como una gran matriz de acceso. Los cambios de dominio que un proceso puede hacer tambin podemos integrarlos a la matriz, tratando a los dominios como otros objetos, con una operacin: entrar. Una poltica de proteccin involucra decidir cmo se va a llenar esta matriz. Normalmente el usuario que crea un objeto es quin decide cmo se va a llenar la columna de la matriz correspondiente a ese objeto. La matriz de acceso es suficientemente general como para apoyar diversas polticas. Por ejemplo: La capacidad para copiar o transferir un derecho de un objeto a otro dominio. Capacidad de un dominio para modificar los derechos en otros dominios (todos, o para un recurso especfico). El problema es cmo almacenar esta matriz. Como es una matriz poco densa (muchos de los elementos son vacos), no resulta prctico representarla como matriz propiamente. Podramos usar una tabla con triples (dominio, objeto, derechos). Si un proceso dentro de un dominio D intenta efectuar una operacin M sobre un objeto O, se busca (D, O, C), y se verifica si M pertenece a C. De todas maneras, la tabla es grande, y el esquema no es muy eficiente. Adems, si un objeto puede ser, por ejemplo, ledo por todo el mundo, debe tener entradas 4.4 Definicin de un esquema de seguridad El problema de la seguridad consiste en lograr que los recursos de un sistema sean, bajo toda circunstancia, utilizados para los fines previstos. Un aspecto importante de la seguridad es el de impedir la prdida de informacin, la cual puede producirse por diversas causas: fenmenos naturales, guerras, errores de hardware o de software, o errores humanos. La solucin es una sola: mantener la informacin respaldada, de preferencia en un lugar lejano. Otro aspecto importante de la seguridad, es el que tiene que ver con el uso no autorizado de los recursos: Lectura de datos, modificacin de datos, destruccin de datos y uso de recursos: ciclos de CPU, impresora, almacenamiento.