Conceptos de Seguridad en Bases de Datos
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 15,51 KB
Conceptos SBD
SEGURIDAD
- Es la capacidad del Sistema para proteger Datos, Servicios y Recursos de usuarios no autorizados.
- El fin de la seguridad es garantizar la protección o estar libre de todo peligro y/o daño, y que en cierta manera es infalible.
- Confidencialidad: nos dice que los objetos de un sistema han de ser accedidos únicamente por elementos autorizados a ello, y que esos elementos autorizados no van a convertir esa información en disponible para otras entidades.
- Integridad: significa que los objetos sólo pueden ser modificados por elementos autorizados, y de una manera controlada.
- Disponibilidad: indica que los objetos del sistema tienen que permanecer accesibles a elementos autorizados; es el contrario de la negación de servicio.
- Conceptos
TIPOS DE SEGURIDAD
- 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 DBA 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.
- 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.
Usuarios de BD y Perfiles
- Un usuario se puede definir como toda persona que tenga todo tipo de contacto con el sistema de base de datos desde que este se diseña, elabora, termina y se usa. Se pueden clasificar como:
- Programadores de aplicaciones: Los profesionales de sistemas que interactúan con el sistema por medio de llamadas DML (Leng. de Manipulación de Datos), las cuales están incorporadas en un programa escrito en un lenguaje de progr. (COBOL, PL/I, Pascal, C, etc.) .
- Usuarios sofisticados: Los usuarios sofisticados interactúan con el sistema sin escribir programas. En cambio escriben sus preguntas en un lenguaje de consultas de base de datos.
- Usuarios especializados: Algunos usuarios sofisticados escriben aplicaciones de base de datos especializadas que no encajan en el marco tradicional de procesamiento de datos.
- Usuarios ingenuos: Los usuarios no sofisticados interactúan con el sistema invocando a uno de los programas de aplicación permanentes que se han escrito anteriormente en el sistema de base de datos, podemos mencionar al usuario ingenuo como el usuario final que utiliza el sistema de base de datos sin saber nada del diseño interno del mismo, (ej. Cajero).
Actores en el entorno de BD
- Administrador de la base de datos: se encarga del diseño físico de la base de datos y de su implementación, realiza el control de la seguridad y de la concurrencia, mantiene el sistema para que siempre se encuentre operativo y se encarga de que los usuarios y las aplicaciones obtengan buenas prestaciones. El administrador debe conocer muy bien el SGBD que se esté utilizando, así como el equipo informático sobre el que esté funcionando.
- Diseñadores de la base de datos: realizan el diseño lógico de la base de datos, debiendo identificar los datos, las relaciones entre datos y las restricciones sobre los datos y sus relaciones. El diseñador de la base de datos debe tener un profundo conocimiento de los datos de la empresa y también debe conocer sus reglas de negocio. Las reglas de negocio describen las características principales de los datos tal y como las ve la empresa. El diseño lógico de la base de datos es independiente del SGBD concreto que se vaya a utilizar, es independiente de los programas de aplicación, de los lenguajes de programación y de cualquier otra consideración física.
- Programadores de aplicaciones: se encargan de implementar los programas de aplicación que servirán a los usuarios finales. Estos programas de aplicación son los que permiten consultar datos, insertarlos, actualizarlos y eliminarlos. Estos programas se escriben mediante lenguajes de tercera generación o de cuarta generación.
- Usuarios finales: consultan, actualizan y generan reportes de la base de datos. A los usuarios finales también se les llama clientes de la base de datos.
Técnicas y Procedimientos para la Seguridad de los Datos
- Las técnicas de protección de datos deben englobar las tres fases del proceso de producción de datos estadísticos: la recogida, el procesamiento o análisis y la difusión.
- Sin embargo, las más extendidas y desarrolladas se aplican en la última fase del proceso por lo que se denominan Técnicas de Control de la Divulgación Estadística.
- Éstas se clasifican de una manera casi natural, según el formato en el que los datos son publicados o difundidos. Comúnmente, existen tres principales formas de difundir los datos estadísticos:
Mediante archivosde registros individuales.
Mediante Tablasde magnitud o frecuencias.
Mediante consultas secuenciales en Bases de Datos.
Técnicas para la protección en archivos de Datos
- Métodos de Restricción. Se basan en limitar la cantidad de información publicada mediante diferentes técnicas:
- Recodificación: Consiste en unificar categorías en variables cualitativas o agrupar magnitudes con valores extremos en variables cuantitativas (top –bottom coding).
- Supresiones Locales: Simplemente se suprimen para su publicación, determinados valores sensitivos de variables que pueden dar lugar a identificaciones.
- Métodos de Perturbación. Tienen en común que modifican los valores de determinadas variables, permitiendo su publicación pero de forma que no se puedan conocer los valores exactos. Entre éstos destacan:
- Redondeo Aleatorio. Los valores de determinadas variables son sustituidos por cantidades redondeadas.
- Aportación de ruido. Consiste en la introducción de error (pequeñas cantidades seleccionadas aleatoriamente) en los valores de las variables.
- Sustitución. Consiste en intercambiar valores dentro de una variable de forma que la información puede ser tratada estadísticamente (se mantiene la estructura de correlación), sin riesgo de identificar a un individuo con un determinado registro dentro del fichero de datos.
- Microagregación. Se agrupan los valores de la variable de acuerdo a determinados criterios de ordenación y en cada registro el valor de dicha variable es sustituido por la media del grupo al que pertenezca.
Técnicas para la protección de Tablas
- El redondeo controlado. Difiere del redondeo aleatorio en que debe ser aplicado a las celdas de la tabla manteniendo la aditividad entre filas y columnas, es decir, comprobando la consistencia con totales y subtotales.
- Recodificación. Como en el caso anterior, consiste en la agrupación de categorías en variables cualitativas o cuantitativas, de forma que el nuevo valor para la celda sea lo suficientemente grande como para considerarse seguro.
- Granularidad. Se trata más de un criterio de seguridad que de una técnica de protección en sí misma. Se basa en la distribución de las celdas unitarias (con valor 1 en tablas de frecuencias o con contribuciones únicas en tablas de magnitud) dentro de la tabla. Si éstas sobrepasan un determinado nivel o ratio de granularidad, la tabla es considerada insegura. Debido al paralelismo de esta técnica con la identificación de unidades o individuos que son únicos o raros en ficheros de datos, podremos utilizar alguna de las técnicas explicadas en ese apartado, para proteger tablas con altos índices de granularidad.
- Supresión de celdas. En datos tabulares no es suficiente con suprimir localmente las celdas consideradas como sensitivas ya que, debido a la existencia de totales, subtotales y el resto de valores de las celdas, es posible en muchos casos recalcular el valor de una celda confidencial. Es por tanto necesario realizar una supresión secundaria de celdas que, aun no siendo sensitivas, ayudan a calcular el valor de aquellas que sí lo son. Encontrar un patrón de supresión óptimo (es decir que aporte seguridad a la tabla con el mínimo número de supresiones) no es un problema trivial y precisa de técnicas de programación lineal que pueden llegar a complicarse para dimensiones grandes de la tabla (del orden de 4 en adelante).
Técnicas para la protección de Consultas
Una Base de Datos aporta un entorno rico en información en el que no sólo se encuentran almacenados datos estadísticos, sino los nexos y relaciones existentes entre ellos. El fácil acceso a esta información por parte del usuario mediante sistemas de consultas secuenciales, supone un alto riesgo
Trataremos principalmente dos técnicas para la seguridad en bases de datos que tienen en cuenta este aspecto:
- Confidencialidad vía Camuflaje (C.V.C.) . Consiste básicamente en "esconder“ la información confidencial entre dos valores límite que se dan como respuesta a la consulta realizada.
- Auditorías de Bases de Datos. Controlan las consultas realizadas por un usuario y determina si la nueva consulta junto con la información aportada por las demás supone un riesgo de divulgación de datos sensitivos o confidenciales. de divulgación de información sensitiva.
Seguridad en el Sistema Gestor de BD
- La mayoría de los datos sensibles del mundo están almacenados en sistemas gestores de bases de datos comerciales tales como Oracle, Microsoft SQL Server entre otros, y atacar las bases de datos es uno de los objetivos favoritos para los criminales.
- Esto puede explicar por qué los ataques externos, han aumentado, esta tendencia es prueba adicional de que los agresores tienen éxito en hospedar páginas Web maliciosas, y de que las vulnerabilidades y explotación en relación a los navegadores Web están conformando un beneficio importante para ellos .
- Mientras que la atención generalmente se ha centrado en asegurar los perímetros de las redes por medio de, firewalls, IDS / IPS y antivirus, cada vez más las organizaciones se están enfocando en la seguridad de las bases de datos con datos críticos, protegiéndolos de intrusiones y cambios no autorizados.
Recomendaciones
- Identifique su sensibilidad: No se puede asegurar lo que no se conoce. Tener un buen catálogo de tablas o datos sensibles de sus instancias de base de datos. Además, automatice el proceso de identificación, ya que estos datos y su correspondiente ubicación pueden estar en constante cambio debido a nuevas aplicaciones o cambios producto de fusiones y adquisiciones.
- Evaluación de la vulnerabilidad y la configuración: Evalúe la configuración de bases de datos, para asegurar que no tiene huecos de seguridad. Esto incluye la verificación de la forma en que se instaló la base de datos y su sistema operativo (por ejemplo, la comprobación privilegios de grupos de archivo -lectura, escritura y ejecución- de base de datos y bitácoras de transacciones). Asimismo con archivos con parámetros de configuración y programas ejecutables. Además, es necesario verificar que no se está ejecutando la base de datos con versiones que incluyen vulnerabilidades conocidas; así como impedir consultas desde las aplicaciones o capa de usuarios.
- Endurecimiento: Como resultado de una evaluación de la vulnerabilidad a menudo se dan una serie de recomendaciones específicas. Este es el primer paso en el endurecimiento de la base de datos. Otros elementos de endurecimiento implican la eliminación de todas las funciones y opciones que se no utilicen. Aplique una política estricta sobre que se puede y que no se puede hacer, pero asegúrese de desactivar lo que no necesita.
- Audite: Una vez que haya creado una configuración y controles de endurecimiento, realice auto evaluaciones y seguimiento a las recomendaciones de auditoría para asegurar que no se desvíe de su objetivo (la seguridad). Automatice el control de la configuración de tal forma que se registre cualquier cambio en la misma. Implemente alertas sobre cambios en la configuración. Cada vez que un cambio se realice, este podría afectar a la seguridad de la base de datos.
- Monitoreo: Monitoreo en tiempo real de la actividad de base de datos es clave para limitar su exposición, aplique o adquiera agentes inteligentes de monitoreo, detección de intrusiones y uso indebido. Por ejemplo, alertas sobre patrones inusuales de acceso, que podrían indicar la presencia de un ataque, cambios no autorizados a los datos, cambios en privilegios de las cuentas, y los cambios de configuración que se ejecutan a mediante de comandos.
- Pistas de Auditoría: Aplique pistas de auditoría y genere trazabilidad de las actividades que afectan la integridad de los datos, o la visualización los datos sensibles. Recuerde que es un requisito de auditoría, y también es importante para las investigaciones de ataques a bases de datos. La mayoría de las organizaciones en la actualidad emplean alguna forma de manual de auditoría de transacciones o aplicaciones nativas de los sistemas gestores de bases de datos. Sin embargo, estas aplicaciones son a menudo desactivadas.
- Autenticación, control de acceso, y Gestión de derechos: No todos los datos y no todos los usuarios son creados iguales. Usted debe autenticar a los usuarios, garantizar la rendición de cuentas por usuario, y administrar los privilegios para de limitar el acceso a los datos.
- Implemente y revise periódicamente los informes sobre derechos de usuarios, como parte de un proceso de formal de auditoría. Utilice el cifrado para hacer ilegibles los datos confidenciales, complique el trabajo a los atacantes, esto incluye el cifrado de los datos en tránsito, de modo que un atacante no puede escuchar en la capa de red y tener acceso a los datos cuando se envía al cliente de base de datos.