Seguridad en bases de datos

Computación. Integridad de la información. Accesos no autorizados. Servicios. Identificación y autentificación

  • Enviado por: El remitente no desea revelar su nombre
  • Idioma: castellano
  • País: México México
  • 25 páginas
publicidad
cursos destacados
Programacion en Prestashop
Programacion en Prestashop
Vídeo tutoriales para enseñar los apartados básicos en la programación dentro de Prestashop.
Ver más información

¡Desarrollo Web Desde Cero! (Curso Completo)
¡Desarrollo Web Desde Cero! (Curso Completo)
¡Bienvenidos a la versión española del curso más completo y más vendido en la web...
Ver más información

publicidad

UNIDAD IV

SEGURIDAD

4.1. Concepto

El objetivo es proteger la Base de Datos  contra accesos no autorizados.  Se llama también privacidad.

INCLUYE ASPECTOS DE:

  • Aspectos legales, sociales y éticos

  • Políticas de la empresa, niveles de información publica y privada

  • Controles de tipo físico, acceso a las instalaciones

  • Identificación de usuarios: voz, retina del ojo, etc.

  • Controles de sistema operativo

En relación al SGBD, debe mantener información de los  usuarios,  su tipo y los accesos y operaciones permitidas a éstos.

TIPOS DE USUARIOS:

·         DBA, están permitidas todas las operaciones,  conceder  privilegios  y  establecer usuarios

  • Usuario con derecho a crear,  borrar  y  modificar  objetos  y  que además 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,  añadir  nuevos  campos,  indexar, alterar la estructura de los objetos, etc.

Los SGBD tienen opciones que permiten manejar la seguridad, tal como GRANT, REVOKE, etc. También tienen un archivo de auditoria  en  donde  se  registran  las  operaciones  que  realizan los usuarios.

MEDIDAS DE SEGURIDAD

  • Físicas: Controlar el acceso al equipo. Tarjetas de acceso, etc

  • Personal: Acceso sólo 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  autorización  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 códigos de acceso y palabras claves, exámenes, impresiones  digitales,  reconocimiento  de  voz,  barrido de la retina, etc

  • Autorización:  usar  derechos  de  acceso  dados  por el terminal,  por  la operación que puede realizar o por la hora del día.

  • Uso de técnicas 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:  creación de cuentas,   concesión  y  revocación   de  privilegios y  asignación  de   los niveles de seguridad.

  • Manejo de la tabla de usuarios con código y contraseña, control de las operaciones efectuadas en cada sesión de trabajo por cada usuario y anotadas en la bitácora, lo cual facilita la auditoría 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 modificación).

El ABD asigna el propietario de un esquema, quien puede otorgar o revocar privilegios a otros usuarios en la forma de consulta (select),  modificación o referencias.   A través del uso de la instrucción grant option  se  pueden  propagar los  privilegios  en  forma  horizontal o vertical.

Ejemplo: grant select on Empleado to códigoUsuario

revoke select on Empleado from códigoUsuario

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 protección.

Los sistemas operativos proveen algunos mecanismos de protección para poder implementar políticas de seguridad. Las políticas definen qué hay que hacer (qué datos y recursos deben protegerse de quién; es un problema de administración), y los mecanismos determinan cómo hay que hacerlo. Esta separación es importante en términos de flexibilidad, puesto que las políticas pueden variar en el tiempo y de una organización a otra. Los mismos mecanismos, si son flexibles, pueden usarse para implementar distintas políticas.

Un aspecto importante de la seguridad es el de impedir la pérdida de información, la cual puede producirse por diversas causas: fenómenos naturales, guerras, errores de hardware o de software, o errores humanos. La solución es una sola: mantener la información 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.

       Modificación de datos.

       Destrucción de datos.

       Uso de recursos: ciclos de CPU, impresora, almacenamiento.

Principios básicos para la seguridad

       Suponer que el diseño del sistema es público.

       El defecto debe ser: sin acceso.

Chequear permanentemente.

Los mecanismos de protección deben ser simples, uniformes y construidos en las capas más básicas del sistema.

Los mecanismos deben ser aceptados sicológicamente por los usuarios.

SEGURIDAD: Fallos lógicos o físicos que destruyan los datos.

- Evitar pérdidas de datos por fallos hardware o software (fallo disco, etc.). Normalmente suelen ser fallos de disco o pérdida 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, según Date (1992), se puede entender como la protección de los datos contra acceso, alteración o destrucción no autorizados.

LAS TRES PRINCIPALES CARACTERÍSTICAS DE LA SEGURIDAD

Que se deben mantener en una base de datos son la confidencialidad, la integridad y la disponibilidad de la información. - Los datos contenidos en una Base de Datos pueden ser individuales o de una Organización. Sean de un tipo o de otro, a no ser que su propietario lo autorice, no deben ser desvelados. Si esta revelación es autorizada por dicho propietario la confidencialidad se mantiene. Es decir, asegurar la confidencialidad significa prevenir/ detectar/ impedir la revelación impropia de la información.

LA SEGURIDAD ( FIABILIDAD ) DEL SISTEMA

El concepto de Seguridad lo medimos en:

La protección del sistema frente a ataques externos .

La protección frente a caídas o fallos en el software o en el equipo.

La protección frente a manipulación 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 actuación del responsable del sistema y las sanciones por incumplimiento de las normas establecidas. Entre estas, podemos citar la obligatoriedad de existencia de protocolos de actuación, sistemas de encriptación, mecanismos de backup y recuperación, registro de incidencias, etc. Todo esto está reglamentado y documentado en los en los reglamentos de aplicación de la LORTAD, y su correcta aplicación permiten confiar -hasta cierto punto- en el administrador. Realmente haría falta una "Autoridad de emisión de consultas", al igual que existe una "Autoridad de emisión de certificados digitales"

La seguridad de los datos se refiere a la protección de estos contra el acceso por parte de las personas no autorizadas y contra su indebida destrucción o alteración.

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 ilícitos desde muchos ángulos. A veces se presta mucha atención 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:

  • La base de datos debe ser protegida contra el fuego, el robo y otras formas de destrucción.

  • 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 computación ha permitido la comisión de grandes delitos.

  • El sistema debe diseñarse a prueba de intromisiones. Los programadores, por ingeniosos que sean, no deben poder pasar por alto los controles.

  • Ningún sistema puede evitar de manera absoluta las intromisiones malintencionadas, pero es posible hacer que resulte muy difícil 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 acción indebida o errónea.

SERVICIOS DE SEGURIDAD

Existen varios servicios y tecnologías relacionadas con la seguridad. Accede a cada una de ellas para conocer qué tecnologías son las más interesantes:

Autenticación: Se examinan las capacidades de logon único a la red, autenticación y seguridad. Además, se proporciona información 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 autenticación en red.

Sistema de Archivos Encriptado: El Sistema de Archivos Encriptado (Encrypted File System - EFS) proporciona la tecnología principal de encriptación 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 estratégico de defensa para la protección de sus redes.

Servicios de seguridad en Windows 2000: se examinan los procedimientos relacionados con la gestión de cuentas, autenticación de red a nivel corporativo, así como el Editor de Políticas de Seguridad.

Tarjetas Inteligentes: se examinan los procesos de autenticación utilizando tarjetas inteligentes y los protocolos, servicios y especificaciones asociadas.

Tecnologías de Clave Pública: se revisa la infraestructura de clave pública incluida en los sistemas operativos de Microsoft y se proporciona información sobre criptografía.

Un SMBD cuenta con un subsistema de seguridad y autorización 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 códigos de acceso y palabras claves, exámenes, impresiones digitales, reconocimiento de voz, barrido de la retina, etc.

  • Autorización: usar derechos de acceso dados por el terminal, por la operación que puede realizar o por la hora del día.

  • Uso de técnicas 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: creación de cuentas, concesión y revocación de privilegios y asignación de los niveles de seguridad.

  • Manejo de la tabla de usuarios con código y contraseña, control de las operaciones efectuadas en cada sesión de trabajo por cada usuario y anotadas en la bitácora, lo cual facilita la auditoría 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 modificación).

El ABD asigna el propietario de un esquema, quien puede otorgar o revocar privilegios a otros usuarios en la forma de consulta (select), modificación o referencias. A través del uso de la instrucción grant option se pueden propagar los privilegios en forma horizontal o vertical.

Ejemplo: grant select on Empleado to códigoUsuario

revoke select on Empleado from códigoUsuario.

Obligatoria: sirve para imponer seguridad de varios niveles tanto para los usuarios como para los datos.

Problemas de seguridad.

La información de toda empresa es importante, aunque unos datos lo son más que otros, por tal motivo se debe considerar el control de acceso a los mismos, no todos los usuarios pueden visualizar alguna información, por tal motivo para que un sistema de base de datos sea confiable debe mantener un grado de seguridad que garantice la autenticación y protección de los datos. En un banco por ejemplo, el personal de nóminas sólo necesita ver la parte de la base de datos que tiene información acerca de los distintos empleados del banco y no a otro tipo de información.

4.2 Identificación y autentificación

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:

  • Código y contraseña

  • Identificación por hardware

  • Características bioantropométricas

  • Conocimiento, aptitudes y hábitos del usuario

  • Información predefinida (Aficiones, cultura, etc)

Además, el administrador deberá especificar los privilegios que un usuario tiene sobre los objetos:

  • Usar una B.D.

  • Consultar ciertos datos

  • Actualizar datos

  • Crear o actualizar objetos

  • Ejecutar procedimientos almacenados

  • Referenciar objetos

  • Indexar objetos

  • Crear identificadores

Mecanismos de autentificación

La autentificación, que consiste en identificar a los usuarios que entran al sistema, se puede basar en posesión (llave o tarjeta), conocimiento (clave) o en un atributo del usuario (huella digital).

Claves

El mecanismo de autentificación más ampliamente usado se basa en el uso de claves o passwords; es fácil de entender y fácil de implementar. En UNIX, existe un archivo /etc/passwd donde se guarda los nombres de usuarios y sus claves, cifradas mediante una función 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 deberían desincentivar cualquier  intento por adivinarla. Sin embargo, una proporción demasiado grande de las claves escogidas por los usuarios son fáciles de adivinar,  pues la  idea es  que  sean  también  fáciles de recordar.   La clave también 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, además de que las claves se pueden descubrir, éstas también se pueden "compartir", violando las reglas de seguridad.

En definitiva,  el  sistema  no  tiene  ninguna garantía de  que  quien  hizo login es realmente el usuario que se supone que es.

Identificación física

Un enfoque diferente es usar un elemento físico difícil de copiar, típicamente  una  tarjeta con una banda magnética. Para mayor seguridad este enfoque se suele combinar con una clave (como es el caso de los cajeros automáticos). Otra posibilidad es medir características físicas  particulares del sujeto: huella digital, patrón de vasos sanguíneos de la retina, longitud de los dedos.   Incluso la firma sirve.

Algunas medidas básicas:

  • Demorar la respuesta ante claves  erróneas;  aumentar la demora cada vez.   Alertar si hay demasiados intentos.

  • Registrar todas las entradas. Cada vez que un usuario entra, chequear cuándo y  desde  dónde entró la vez anterior.

  • Hacer chequeos periódicos de claves fáciles de adivinar, procesos que llevan demasiado tiempo corriendo, permisos erróneos, actividades extrañas (por ejemplo cuando usuario está de vacaciones).

Un SMBD cuenta con un subsistema de seguridad y autorización 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 códigos de acceso y palabras

claves, exámenes, impresiones digitales, reconocimiento de voz, barrido de la retina, etc.

       Autorización: usar derechos de acceso dados por el terminal, por la operación que puede realizar o por la hora del día.

       Uso de técnicas 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: creación de cuentas, concesión y revocación de privilegios y asignación de los niveles de seguridad.

       Manejo de la tabla de usuarios con código y contraseña, control de las operaciones efectuadas en cada sesión de trabajo por cada usuario y anotadas en la bitácora, lo cual facilita la auditoría 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 modificación).

El ABD asigna el propietario de un esquema, quien puede otorgar o revocar privilegios a otros usuarios en la forma de consulta (select), modificación o referencias. A través del uso de la instrucción grant option se pueden propagar los privilegios en forma horizontal o vertical.

Ejemplo: grant select on Empleado to códigoUsuario

revoke select on Empleado from códigoUsuario

Obligatoria: sirve para imponer seguridad de varios niveles tanto para los usuarios como para los datos.

Llamamos autentificación a la comprobación de la identidad de una persona o de un objeto. Hemos visto hasta ahora diversos sistemas que pueden servir para la autentificación de servidores, de mensajes y de remitentes y destinatarios de mensajes. Pero hemos dejado pendiente un problema: las claves privadas suelen estar alojadas en máquinas clientes y cualquiera que tenga acceso a estas máquinas puede utilizar las claves que tenga instaladas y suplantar la identidad de su legítimo usuario.

Por tanto es necesario que los usuarios adopten medidas de seguridad y utilicen los medios de autentificación de usuario de los que disponen sus ordenadores personales. Hay tres sistemas de identificación de usuario, mediante contraseña, mediante dispositivo y mediante dispositivo biométrico.

La autentificación mediante contraseña es el sistema más común ya que viene incorporado en los sistemas operativos modernos de todos los ordenadores. Los ordenadores que estén preparados para la autentificación mediante dispositivo sólo reconocerán al usuario mientras mantenga introducida una “llave”, normalmente una tarjeta con chip. Hay sistemas de generación de claves asimétricas que introducen la clave privada en el chip de una tarjeta inteligente.

Los dispositivos biométricos 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 económicos 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 identificación, que procede a identificar a los sujetos(procesos, normalmente transacciones que actúan en su nombre o usuarios) que pretenden acceder a la base de datos. - El siguiente mecanismo que actúa es el de autenticación. El proceso usual es mediante contraseñas, constituidas por un conjunto de caracteres alfanuméricos y especiales que sólo el sujeto conoce. También se puede realizar mediante algún dispositivo en poder del mismo o alguna de sus características bioantropométricas. - 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 organización, el administrados de la base de datos, de acuerdo con unas políticas de seguridad. Una regla de autorización 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 autorización son las entidades del sistema a las que se les asignan las autorizaciones sobre los objetos. Los sujetos se pueden clasificar en las siguientes categorías: -Usuarios, es decir, individuos simples conectados al sistema. A veces seria más útil especificar los criterios de acceso basándose en sus calificaciones y características, más 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 sólo a los recursos necesarios para que se puedan realizar las tareas del proceso. Esto limita el posible daño derivado de fallos del mecanismo de protección. Los privilegios de autorización 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 típicos de un SGBD relacional son seleccionar, insertar, actualizar y eliminar. Normalmente, los privilegios están organizados jerárquicamente y la jerarqua representa una relación de asunción entre privilegios. Si la transacción invocada trata de modificar el contenido de la base de datos, los cambios propuestos son chequeados por el sistema de gestión de la misma, para garantizar su integridad semántica o elemental.

Así mismo, el sistema de gestión se responsabiliza de evitar accesos concurrentes a dicha base. Finaliza la transacción, con éxito o no, el citado sistema de gestión graba en un registro de auditoria todas las características de aquella. Este registro también contiene la información pertinente para la recuperación de la base de datos, caso de un fallo de ésta o una caída del sistema. Aunque este mecanismo no impide los accesos no autorizados, tiene efectos disuasorios sobre potenciales atacantes, permitiendo además encontrar puntos débiles en los mecanismos de seguridad. Adicionalmente a todos estos mecanismos, el medio físico sobre el que se almacena la base de datos puede estar protegido criptográficamente. 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 métodos de protección:

  • 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. También es necesario considerar el entorno o frontera del área dentro de la cual es valido es sistema de protección.

  • Definiciones. Se definirá cierto numero de términos a fin de que el análisis subsecuente de los mecanismos resulte claro:

  • Entorno: Existe un área con perímetro 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.

  • Privilegios: Existen varios privilegios de acceso a los datos, relacionados con la identificación de un individuo. La descripción de estos privilegios se mantiene como parte del sistema de la base de datos.

  • Protección: Todos los elementos dato están protegidos hasta cierto punto mientras se encuentren dentro del área del sistema de la base de datos, y perderán toda la protección que proporciona el sistema al sacarse del área.

  • Confiabilidad: Un prerrequisito para lograr la protección de la base de datos es un alto nivel de confiabilidad del sistema.

La identificación 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 también puede identificarse mediante una clave de acceso (password), darse al ser solicitada, o tal vez por una llave o identificación que la maquina pueda aceptar.

Se han propuesto y probado métodos que dependen de la unicidad biológica de los seres humanos. Son manifestaciones de esta codificación ú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 decodificación primaria y de validación o autenticación de la información 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 autenticación se deja a módulos del sistema operativo. El método empleado para la identificación de un individuo depende mucho de la tecnología disponible en un caso especifico.

El subsistema de autenticación 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 dependerán de la llave de acceso.

Para asegurarse que las llaves de acceso no estén a disposición de accesores no autorizados, la identificación de un individuo debe ser muy difícil de imitar o copiar.

Aunque el nombre de un individuo pueda ser único, es fácil 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 obtención 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 podría utilizar un método de ensayo y error para introducir posibles claves de acceso y lograr entrar. E l tiempo necesario para realizar un ensayo sistemático es el principal elemento para desanimar a posibles intrusos. El tiempo esperado para abrir un seguro especifico sin ningún 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 combinación. Para una clave de acceso de tres letras, d=3 y c=26, el tiempo para la interacción con el sistema podría ser t(ensayo) = 3 segundos, de manera que T (entrar) 7 hrs. Si el proceso de autenticación se requiere con poca frecuencia, un retraso artificial en el proceso de apertura podría aumentar la seguridad del seguro.

Confidencialidad :

No mostrar datos a usuarios no autorizados.

Accesibilidad :

Que la información se encuentre disponible.

Integridad :

Permite asegurar que los datos no se han falseado.

MEDIDAS DE SEGURIDAD
EN UN ENTORNO DE B.D.

CONFIDENCIALIDAD.

Autorización en sistemas de bases de datos.

  • Identificación y autenticación.

  • Código y contraseña.

  • Identificación por Hardware.

  • Características bioantropométricas.

  • Conocimiento, aptitudes y hábitos del usuario.

  • Información predefinida (Aficiones, cultura, etc.)

Privilegios al usuario.

  • 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 autorización.

Autorización explícita.

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

  • Autorización implícita.

  • Consiste que una autorización 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 lógicos o físicos que destruyan los datos.

RECUPERACIÓN.

El principio básico en el que se apoya la recuperación de la base de datos es la Redundancia Física.

EXISTEN DOS TIPOS IMPORTANTES DE FALLOS:

  • Los que provocan la pérdida de memoria volátil, usualmente debidos a la interrupción del fluido eléctrico o por funcionamiento anormal del hardware.

  • Los que provocan la pérdida del contenido de memoria secundaria, por ejemplo, cuando patinan las cabezas en un disco duro.

4.3 Matriz de Autorización

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:

  • Relación. Puede permitírsele o impedírsele que el usuario tenga acceso directo a una relación.

  • Vista. Puede permitírsele o impedírsele que el usuario tenga acceso a la información que aparece en un vista.

Aunque es imposible impedir que un usuario tenga acceso directo a una información puede permitírsele acceso a una parte de esta relación por medio de una vista. De tal manera que es posible utilizar una combinación 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 autorización sobre partes de la base de datos. Entre ellas se encuentran las siguientes:

  • Autorización de lectura, que permite leer, pero no modificar la base de datos.

  • Autorización de inserción, permite insertar datos nuevos pero no modificar lo ya existente.

  • Autorización de actualización, que permite insertar modificar la información pero no permite la eliminación de datos.

  • Autorización de borrado, que permite la eliminación de datos.

Un usuario puede tener asignados todos, ninguno o una combinación de los tipos de autorización anteriores. Además de las formas de autorización de acceso de datos antes mencionadas, es posible autorizar al usuario para que modifique el esquema de la base de datos.

  • Autorización de índice, que permite la creación y eliminación de índices.

  • Autorización de recursos, que permite la creación de relaciones nuevas.

  • Autorización de alteración, que permite agregar o eliminar atributos de una relación.

  • Autorización de eliminación, que permite eliminar relaciones.

Las autorizaciones de eliminación y borrado difieren en cuanto a que la autorización de borrado solo permite la eliminación de tuplas. La habilidad para crear nuevas relaciones viene regulada por la autorización de recursos de tal forma que la utilización del espacio del almacenamiento puede ser controlada. La autorización de índice puede aparecer innecesariamente puesto que la creación o eliminación 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 PROTECCIÓN

Mecanismo para controlar el acceso del usuario y de los procesos a los recursos del sistema. El modelo clásico de protección está basado en el concepto de dominio de protección. 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, estática o dinámicamente, a un dominio (en UNIX el uid y gid determinan el dominio).

El modelo de protección 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 típicas 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 práctica normalmente se establecen clases de dominios (como grupos de usuarios de UNIX). Ejemplos:

  • Bits RWX como UNIX. Utilizado en Locus.

  • En AFS se usan ACL con las siguientes características:

  • 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 revocación de los derechos de acceso a un objeto.

Para evitar la modificación maliciosa de las Capabilities estas se almacenan en la memoria del núcleo 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.

Están formadas por la dirección del servidor, el identificador del objeto, los derechos de acceso y un campo de validación.

Cuando se crea un objeto se elige un número aleatorio de 48 bits que se mezcla con el campo correspondiente a los derechos de acceso mediante un O-Exclusivo y una función no reversible, y se almacena en el campo de validación.

Cada vez que se presenta una capability al servidor éste aplica la función y comprueba si el resultado coincide con el campo de validación.

SEGURIDAD

Un aspecto muy importante sobre todo en SD. Incluye servicios tales como:

  • Autentificación: Verificación de la identidad de un componente que genera datos (principal) por parte de otro componente (verificador).

  • Integridad y carácter 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 inyección de mensajes en la red, la retransmisión de mensajes escuchados anteriormente, la suplantación del cliente o del servidor, etc. La solución a estos problemas se basa generalmente en utilizar criptografía tanto para proteger los datos como para autentificación. En la transmisión se aplica un algoritmo de cifrado al mensaje M usando una clave Kc y en la recepción se aplica el algoritmo de descifrado usando Kd. La función de cifrado es muy difícil de invertir sin conocer la clave. Existen dos esquemas:

Sistemas de clave secreta

En estos sistemas Kc es igual Kd. El algoritmo más usado es el Data Encryption Standard (DES) basado en 16 niveles de sustituciones y permutaciones. Este esquema sufre el problema de la distribución de la clave. Un ejemplo de sistema de autentificación 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 más usado es el RSA basado en la factorización de números muy grandes que tengan pocos factores. Este esquema elimina el problema de la distribución de la clave pero no el de la suplantación de servidores.

Sistema de autentificación 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.

Características generales

Autentificación tanto de cliente como de servidor basado en un tercer componente, el servidor de autentificación (AS), que conoce la clave secreta de ambos. AS reside en una máquina "segura".

Su objetivo principal es la autentificación pero también puede utilizarse para mantener la integridad y el carácter confidencial de los datos.

Las claves y contraseñas no se transmiten por la red ni se almacenan mucho tiempo en la máquina.

Se usan timestamps para detectar la retransmisión maliciosa de los mensajes. Las claves de autentificación tienen asociados plazos de expiración para dificultar los ataques contra la seguridad. 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.

Los usuarios pueden recibir todos los tipos de autorización ninguno de ellos, o una combinación determinada de los mismos.

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 las 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.

Autorizaciones

Para facilitar la administración 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 autorización:

Una primera distinción puede hacerse entre:

  • Autorización 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.

  • Autorización implícita. Consiste en que una autorización definida sobre un objeto puede deducirse a partir de otras (por ejemplo si se puede acceder a una clase en un SGBD se puede también acceder a todas las instancias de esa clase).

Las autorizaciones de eliminación y de borrado se diferencian en que la autorización de borrado solo permite el borrado de tuplas.  Si un usuario borra todas las tuplas de unas relación, la relación sigue existiendo, pero esta vacía.  Si se elimina una relación, deja de existir.

La capacidad de crear nuevas relaciones queda regulada mediante la autorización de recursos. El usuario con la autorización de recursos que crea una relación nueva recibe automáticamente todos los privilegios sobre el sistema.

La autorización de índices puede parecer innecesaria, dado que la creación o borrado de un índice no  afecta a los  datos de las  relaciones.  Más bien,  los índices  son  una  estructura  para  las mejoras  de  rendimiento.  Sin embargo,  los  índices  también  ocupan  espacio  y  se   exige que  las modificaciones de las bases de datos actualicen los índices , los que llevaran a  cabo  actualizaciones estarían  tentados de borrar los índices , los que  llevan  a  cabo  actualizaciones  estarían tentados de borrar los índices, mientras que  los  que formulara consultas  estarían  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 creación 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, ¿cómo se las arregla el sistema para llevar la cuenta de quién puede accesar qué objetos y con qué operaciones? Conceptualmente al menos, podemos ver este modelo de protección como una gran matriz de acceso.

Los cambios de dominio que un proceso puede hacer también podemos integrarlos a la matriz, tratando a los dominios como otros objetos, con una operación: entrar.

Una política de protección involucra decidir cómo se va a llenar esta matriz. Normalmente el usuario que crea un objeto es quién decide cómo se va a llenar la columna de la matriz correspondiente a ese objeto. La matriz de acceso es suficientemente general como para apoyar diversas políticas. 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 específico).

El problema es cómo almacenar esta matriz. Como es una matriz poco densa (muchos de los elementos son vacíos), no resulta práctico representarla como matriz propiamente. Podríamos usar una tabla con triples (dominio, objeto, derechos). Si un proceso dentro de un dominio D intenta efectuar una operación 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. Además, si un objeto puede ser, por ejemplo, leído por todo el mundo, debe tener entradas

4.4 Definición 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 pérdida de información, la cual puede producirse por diversas causas: fenómenos naturales, guerras, errores de hardware o de software, o errores humanos. La solución es una sola: mantener la información 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, modificación de datos, destrucción de datos y uso de recursos: ciclos de CPU, impresora, almacenamiento.

Otras amenazas y ataques posibles

  • Virus. Un virus es parecido a un gusano, en cuanto  se reproduce, pero la diferencia es que no es un programa  por  sí  sólo, si  no  que  es  un  trozo de código que se adosa  a un programa legítimo, contaminándolo.   Cuando un programa  contaminado se ejecuta, ejecutará también el código del virus, lo que permitirá nuevas  reproducciones,  además  de alguna acción (desde un simple mensaje inocuo hasta la destrucción de todos los archivos).

  • Caballo de troya.   Un caballo de  troya  es  un programa aparentemente útil que contiene un trozo de código que hace algo no deseado.

  • Puerta trasera.   Una   puerta   trasera  es  un  punto   de  entrada  secreto,  dejado  por  los implementadores  del  sistema  para  saltarse   los procedimientos normales de seguridad. La puerta trasera  puede  haberse  dejado  con  fines  maliciosos  o  como  parte  del  diseño; en cualquier caso, son un riesgo.

  • Caza claves. Dejar corriendo en un terminal un programa que pida "login:" y luego "password:", para engañar a los usuarios de modo que estos revelen su clave.

  • Solicitar recursos  como  páginas  de  memoria  o  bloques  de  disco,  y  ver  qué  información contienen; muchos sistemas no los borran cuando se liberan, de modo que se puede encontrar información "interesante".

  • Sobornar o torturar al administrador para que suelte la clave.

Principios básicos para la seguridad

  • Suponer que el diseño del sistema es público.

  • El defecto debe ser: sin acceso.

  • Chequear permanentemente.

  • Los mecanismos de protección deben ser simples,  uniformes  y  construidos en las capas más básicas del sistema.

  • Los mecanismos deben ser aceptados sicológicamente por los usuarios.

Algunos ejemplos de amenazas contra dispositivos de seguridad lógicos son:

  • Robo de equipo lógico.

  • Robo de datos y de información.

  • Interceptación de las líneas de transmisión.

  • Sabotaje en la información y virus informáticos.

  • Manipulación no autorizada de la entrada de información.

  • Acceso interno y externo no autorizado a la información.

  • Agregar datos fraudulentos a registros.


A continuación se hace una descripción de algunas de las posibles soluciones:

       Cifrado de Datos

Su objetivo es el de hacer ininteligibles los datos a usuarios no autorizados que sean capaces de acceder a ellos.

Existen numerosos métodos de cifrado de datos o métodos criptográficos. Los sistemas de cifrado más antiguos y más conocidos son los que hacen uso de una clave privada (normalmente un número) para, mediante un conjunto de transformaciones matemáticas, mantener oculto el significado de determinados datos.


Los métodos de cifrado de datos pueden ser:

  • Simétricos: cuando la clave de cifrado es la misma que la de descifrado.

  • Asimétricos: cuando ambas claves son distintas.

Los mejores métodos de cifrado actuales resultan prácticamente invulnerables. Algunos de los más utilizados son los siguientes:

       Cifrado endeble. Válidos para unos niveles de seguridad medios, pero vulnerables ante potentes sistemas de descifrado. Las claves utilizadas permiten un número de combinaciones de 240.

       Sistemas correctos de gestión de claves. Requieren que el usuario divida en varias partes la clave de descifrado y haga entrega de esas claves a personas de su confianza. La clave sólo puede reconstruirse en caso de que los depositarios de todas las partes se pongan de acuerdo.

       Criptografía de clave pública. Son criptosistemas con claves asimétricas. Estos criptosistemas se basan en que cada uno de los operadores tiene dos claves, una privada que sólo él conoce y una pública, que conocen o pueden conocer todos los intervinientes en el tráfico. Cuando el operador A quiere emitir un mensaje aplica al mismo la clave pública de B y el mensaje así cifrado se emite a B, que al recibir el mensaje le aplica su clave privada para obtener el mensaje descifrado. Por ello se denomina criptosistema asimétrico, ya que para cifrar y descifrar los mensajes se utilizan dos claves distintas.

Además, y esto es lo esencial, el sistema es calificado de unidireccional, en el sentido de que, a través de la clave pública de B utilizada por A para cifrar el mensaje dirigido a B y descifrado con la clave privada de B, no es posible con el actual estado de la tecnología informática que A acceda a la clave privada de B. De esta forma, y debido a la complejidad computacional de los algoritmos utilizados, se garantiza el secreto de la clave privada de éste.

       Descifrado. Es el proceso que, a partir de una información que aparece como "texto cifrado" y aplicando un algoritmo adecuado, permite obtener de nuevo el "texto claro" original.

       Firma digital y certificación .La firma digital permite la autenticación de los mensajes recibidos. Para conseguir la autenticación se utiliza una función "hash" del mensaje para obtener un resumen del mensaje original. Posteriormente se cifra ese resumen con la clave privada propia del remitente.

Cuando la firma digital la realiza una autoridad en la que se confía, el mensaje se considera certificado y a la autoridad se la denomina autoridad de certificación.

       Control de Accesos. Los equipos lógicos deben imponer procedimientos de control sobre personas u otros SI que intenten acceder a los mismos, ya sea directamente o mediante redes de comunicaciones.


Los dispositivos de control de accesos se basan en una combinación de:

  • Mecanismos de identificación sobre la persona o sistema remoto.

  • Mecanismos de autorización, determinando la autoridad de la persona o sistema remoto para ejecutar cada tipo de acción posible.

  • Componentes aleatorios, que proporcionan protección contra el robo de claves o la suplantación de personalidad.

  • Técnicas de cifrado para protegerse de la modificación de datos, de la copia, etc.

  • Las técnicas avanzadas de identificación pueden utilizar características biométricas tales como el reconocimiento de la voz, medidas de retina ocular, huellas digitales, rasgos faciales, etc.


       Diccionario de Seguridad. El diccionario de seguridad es una base de datos donde se almacenan los privilegios de acceso de los usuarios a uno o varios sistemas de información. La gestión y los procesos de esta base de datos deben ser sólo accesibles por el administrador de seguridad, siendo recomendable que esta información esté altamente protegida, incluso archivada de forma cifrada.


Las principales entidades de esta base de datos son las siguientes:

  • Usuario.

  • Perfil de usuario.

  • Grupos de usuarios al que pertenece.

  • Palabras clave (ocultas para el administrador).

  • Sistemas a los que tiene acceso:

  • Funciones, pantallas.

  • Informes.

  • Ficheros.

  • Tipo de acceso (lectura, escritura, etc.).

       Antivirus.Un antivirus es una aplicación informática que tiene como objetivo detectar e inutilizar los virus.

Existe un tipo de equipo lógico "malicioso" orientado al sabotaje de instalaciones informáticas. Este equipo lógico lo componen segmentos de código que alteran permanente o momentáneamente el funcionamiento del equipo donde se introducen y que se "reproducen" aprovechándose de éste, o la red donde se encuentre conectado.

Los diferentes tipos en los que se puede clasificar son:

    • Virus: Aplicación que se adhiere a otras aplicaciones, y que se ejecuta cuando se ejecuta su portadora. No tiene identidad diferenciada. Se extiende adheriéndose a aplicaciones que se copian en medio magnético y que luego son instaladas en otros equipos físicos. Tienen capacidad de copiarse a sí mismos.

    • Gusano: Aplicación que se desplaza por la memoria de equipos físicos conectados en red. Tiene identidad propia. Está diseñada para buscar zonas de memoria desocupadas donde autocopiarse repetidas veces, hasta que consigue desbordar la memoria del equipo físico. Se extiende aprovechándose de facilidades de red tales como el correo electrónico.

    • Bomba lógica: Aplicación dañina que necesita una condición lógica para activarse, momento hasta el cuál aquélla permanece inactiva.

    • Caballo de Troya: Es un programa hostil disimulado dentro de un programa amistoso. Cuando se ejecuta el programa amistoso, el programa hostil actúa y elimina información del disco duro. Puede que las primeras veces que se use su acción no sea aparente, pero cuando se advierten sus primeras consecuencias el daño ya será irreversible. Se diferencia de un virus en que no es autocopiable.


El objetivo principal de los virus es el sistema operativo de los equipos físicos, además de los programas de aplicación y las bases de datos.

Variantes modernas de los virus pueden ser los denominados polimórficos, que modifican su patrón binario cada vez que infectan un nuevo fichero, los solapados, etc.

Productos de Seguridad de Redes de Area Local

Las redes de área local tienen problemas de seguridad particulares y especialmente complejos, basados en su propia filosofía de permitir la libre comunicación entre los usuarios que están conectados a dicha red.productos de seguridad de red deben incorporar las siguientes funcionalidades:

    • Facilidades de auditoría de accesos a la red.

    • Controles para disparar procedimientos de recuperación y reinicio de red.

    • Facilidades de copias de seguridad remotas.

    • Protección de mensajes.

    • Seguimiento de la ejecución de procesos de usuario.

    • Informes estadísticos de tráfico, operación y fallos.

    • Estos productos de seguridad de red están a menudo integrados con el sistema operativo de la red.

Beneficios de un Sistema de Seguridad:

Los beneficios de un sistema de seguridad bien elaborado son inmediatos, ya que el la organización trabajará sobre una plataforma confiable, que se refleja en los siguientes puntos:

· Aumento de la productividad.

· Aumento de la motivación del personal.

· Compromiso con la misión de la compañía.

· Mejora de las relaciones laborales.

· Ayuda a formar equipos competentes.

· Mejora de los climas laborales para los RR.HH.

LEGALES

ORGANIZATIVAS

FISICAS

SGBD

COMUNICACIONES

HARDWARE

SISTEMA OPERATIVO