Sei sulla pagina 1di 74

CAPÍTULO

datHUMILLAR Y datUNA
Centrar Seguridad
5.1 La Necesidad de Seguridad de BASE DE DATOS

5.2 Sistemas de Gestión de Bases de Datos

5.3 Bases de Datos relacionales


Elementos de la ONU Sistema de BASE
DE DATOS relacional lenguaje de
consulta estructurado
5.4 Ataques de inyección SQL
Un típico ataque SQLi
Los Técnica de
inyección
SQLi avenidas de ataque y Tipos
SQLi Contramedidas
5.5 Control de acceso de BASE DE DATOS
Definición de Acceso a base
de SQL Las autorizaciones de
Conexión en cascada de
acceso BASADO EN
funciones de control
5.6 inferencia

5.7 El cifrado de BASE DE DATOS

5.8 Centro de Datos de Seguridad


Elementos del Centro de Datos
Consideraciones Centro de Datos de
Seguridad TIA-492
5.9 Términos clave, revisión Preguntas y Problemas
169
Lganador OOBJETIVOS
Despues de estudiar Este Capítulo, Usted Deberia Ser Capaz de:
◆ Comprender la Necesidad sueltas: de seguridad de BASE DE DATOS,
aparte de las Medidas normales de direction seguridad informática.
◆ PRESENTAR Una visión general De Los Elementos Básicos de la
ONU Sistema de Gestión de Base de Datos.
◆ PRESENTAR Una visión general De Los Elementos Básicos de la ONU
Sistema de BASE DE DATOS relacional.
◆ Definir y explicar los Ataques de inyección SQL.
◆ Compare y contrastar Diferentes Enfoques para el control de de acceso de
BASE DE DATOS.
◆ Explica Como La inferencia plantaron Una Amenaza a la Seguridad en los
Sistemas de Bases de Datos.
◆ Discutir EL USO de cifrado En un Sistema de Base de Datos.
◆ Discutir Temas de Seguridad Relacionados con los Centros de Datos.
Este Capítulo se centra en los Problemas de Seguridad Únicos Que se relacionan
con las Bases de Datos. El Objetivo de Este Capitulo ES Sobre Sistemas de
Gestión de Bases de Datos relacionales (RDBMS). El Enfoque cional Relación
domina los Sectores de Investigación de la Industria, el Gobierno y, y ca probable
Que Lo Hagan en el futuro previsible. Comenzamos con Una visión general de
de la Necesidad de Datos- Técnicas de Seguridad de Base Específica. A
CONTINUACION OFRECEMOS Una breve Introducción a los Sistemas de
Gestión de Base de Datos, SEGUIDA De Una Descripcion General de las bases
de Datos relacionales. A Continuación, nos fijamos en el tema del control de
acceso de de BASE DE DATOS, SEGUIDA De Una Discusión de la Amenaza
inferencia. A Continuación, examinamos el cifrado de BASE DE DATOS. Por
ultimo,

5.1THE
NECESIDAD DE BASE DE DATOS SEGURIDAD

Bases de Datos de Organización tienden a concentrarse Información sensata


estado un fin lógico en solitario Sistema. EJEMPLOS INCLUYEN:
• Los Datos Financieros de las Empresas
• registros telefónicos Confidenciales
• Clientes y Empleados de información, Como el nombre, número de la
Seguridad Social, Información de cuentas bancarias, y La Información de
Tarjeta de Crédito
• Información de producto patentado
• Información Sobre la Salud y registros Médicos
por Empresas y Otras Organizaciones De Muchos, es Importante Ser Capaz
de pro-vide Clientes, Socios y Empleados con Acceso a this form. Sin embargo,
170 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad
Dicha Información Puede Ser objetivo m de Amenazas Internas y Externas de
mal USO O Cambio de izada unauthor-. De Acuerdo con ola, la Seguridad
Adaptado especificamente a las bases de Datos Es Un Componente Cada Vez
Más Importante De Una Estrategia General de Seguridad de la Organización.
5.2 / Base de Datos de los Sistemas de Gestión 171

[BENN06] cita las Siguientes Razones Por Las Que la Seguridad de Base
de Datos no ha Seguido el ritmo de La Creciente dependencia de las bases de
Datos:
1. Hay Un Gran Desequilibrio Entre la Complejidad de los Modernos
Sistemas de Gestión de Bases de Datos (DBMS) y Las Técnicas: de
seguridad utilizados para Proteger ESTOS Sistemas Críticos. Un DBMS Es
Una gran pieza muy COMPLEJA, de software, Que OFRECE MUCHAS
POSIBILIDADES, TODAS LAS Cuales necesitan Ser bien entendida y
LUEGO Asegurado para Evitar Filtraciones de Datos. AUNQUE Las
Técnicas de Seguridad de han avanzado, La Creciente Complejidad de los
DBMS con Muchas Nuevas Características y Servicios, ha traido Una serie
de Nuevas vulnerabilidades y el potencial para el Abuso.
2. Bases de Datos Tienen ONU Protocolo de interaction sofisticada llama el
lenguaje de consulta estructurado (SQL), Que es Mucho Más COMPLEJA,
que, por Ejemplo, el Protocolo de transferencia de hipertexto (HTTP) Que
se utilizació para interactuar Con Un Servicio Web. de Seguridad de BASE
DE DATOS Eficaz Requiere Una Estrategia Basada En Una Comprensión
completa de las Capacidades de Seguridad de la Vulnerabilidad de SQL.
3. La Organización típica Carece de personal de Seguridad de BASE DE DATOS
A Tiempo completo. El resultado mEs Una Falta de coincidencia Entre los
Requisitos y Capacidades. La Mayoría de las Organizaciones de la ONU
Tienen personal de los Administradores de bases, Que se encarga de
Gestionar la Base de Datos para Asegurar la Disponibilidad, la Actuación,
la Corrección, y La Facilidad de la USO. Dichos Administradores pueden
Tener un conocimiento m Limitado de la Seguridad y el poco Tiempo
disponible para dominar y APLICAR Las Técnicas de Seguridad. Por otra
parte, los Responsables de la Seguridad Dentro De Una organiza- ción
PUEDE Tener Una Comprensión muy limitada de la BASE DE DATOS y
tecnología de DBMS.
4. La Mayoría de los Entornos empresariales consisten En Una Mezcla
heterogénea de Plataformas de bases de Datos (Oracle, IBM DB2 e
Informix, Microsoft, Sybase, etc.), las de plataformas empresariales (Oracle
E-Business Suite, PeopleSoft, SAP, Siebel, etc. .), Y FORMAS OS Plata-
(UNIX, Linux, z / OS y de Windows, etc.). ESTO Crear otro obstáculo
Complejidad Adicional para el personal de Seguridad.
Un Desafío Adicional Para Las Organizaciones Reciente this Aumentando
su dependencia de la Tecnología en la nube para alojar a instancia de parte o la
totalidad de la BASE DE DATOS corporativa. ESTO ánade Una carga Adicional
para el personal de Seguridad.

5.2 BASE DE DATOS Sistemas de Gestión

En algunos adj Casos, Una Organización PUEDE funcionar con relatively ONU
sencilla Colección de Archivos de Datos. Cada archivo PUEDE Contener texto
(por Ejemplo, Copias de memorandos e Informes) o Datos Numéricos (POR
EJEMPLO, hojas de cálculo). Un archivo consiste del Más Elaborada En un
conjunto de registros. Sin embargo, Para Una Organización de CUALQUIER
170 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Tamaño apreciable, se Requiere Una Estructura Más COMPLEJA Conocida
Seguridad
Como una BASE DE DATOS. Una base de de Datos Es Una Colección
estructurada de Datos almacenados para su USO Por una o mas applications. :
Además de los Datos, base de uña de Datos Contiene las naves Relación Entre
Los Elementos y grupos de Elementos de Datos de Datos. Como un EJEMPLO
de la Distinción Entre los Archivos de Datos y Una BASE DE DATOS, Tenga en
Cuenta lo siguiente: Un archivo consistir podria sencilla personales En un
conjunto de registros, uno para empleado Cada. Cada registro da nombre,
Dirección del Empleado, Fecha de nacimiento, carga, salario, y Otros Detalles
Necesarios para el departamento de personal. Una base de de Datos de includes
personal de la ONU archivo personal, Como se acaba
172 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad
descrito. Incluir también PUEDE ONU Archivo de la Atención del tiempo Y Que
Indique, párr Cada semana Las Horas Trabajadas por Cada empleado. Con Una
Organización de Base de Datos, ESTOS DOS Archivos ESTÁN unidas Entre Si
Por lo Que Un Programa de nóminas PUEDE extraer la Información Sobre el
Tiempo trabajado y el salario de Cada empleado para Generar cheques de pago.
Acompañando a la BASE DE DATOS Es Un Sistema de Gestión de Base de
Datos (DBMS), Que Es Un conjunto de Programas para la construcción y
mantenimiento de la BASE DE DATOS y para ofrecer las Prestaciones de consulta
ad hoc para Múltiples Usuarios y Aplicaciones. Un lenguaje de consulta proporciona
Una Interfaz uniforme a la BASE DE DATOS de Usuarios y Aplicaciones.
Figura 5.1 proporciona ONU diagrama de bloques simplificado De Una
Arquitectura de DBMS. Data- Diseñadores y Administradores de bases Hacen
USO DE UN lenguaje de Definición de Datos (DDL) para Definir la Estructura
lógica de BASE DE DATOS y Propiedades de procedimiento, qué representados
estan Por un conjunto de tablas de descripción de base. Un lenguaje de
Manipulación de Datos (DML) offers ONU potente Conjunto de Herramientas
Para Desarrolladores de Aplicaciones. Los lenguajes de consulta hijo lenguajes
declarativos Diseñados para dar hoy toda una los Usuarios Finales. La tem
gestión de bases de SIS-Hace USO de las tablas de descripción de la base para
Gestionar la BASE DE DATOS física. La Interfaz con la BASE DE DATOS es
un Través de la ONU módulo gestor de Archivos y Un módulo gestor de
Transacciones. : Además de la tabla de descripción de BASE DE DATOS, Otras
mesas DOS SUP- Puerto del DBMS. El DBMS utilizació tablas de autorización f
párr Garantizar Que El usuario Tiene per- miso para ejecutar la instrucción
lenguaje de consulta en la Base de Datos. La tabla de acceso concurrente evita
Conflictos Cuando Se ejecutan los Comandos simultanea en Conflicto.
Sistemas de Bases de Datos proporcionan acceso ONU Eficiente un
Grandes Volúmenes de Datos y Son vitales para el Funcionamiento de los
muchas Organizaciones. DEBIDO un su Complejidad y criticidad, los Sistemas
de Bases de Datos generan Requisitos de Seguridad que estan Más allá de la
Capacidad de los Mecanismos de Seguridad en Sistemas Operativos basados
típicos o Paquetes: de seguridad independiente.

Utilidade Las Cons


s de Aplicacione ultas
bases de s de usuario de los
Datos Usuari
DDL os
Procesador LMD
Procesad y lenguaje de
or consulta

Descripció
n de la
Tablas
BASE DE
DATOS
DBMS
Tablas de
Tablas de Administrador
Administrador acceso
Autorizac de
de Archivos simultán
ión Transacciones eo
5,3 / bases de Datos relacionales 173

= Datos De Lenguaje de Definición


BASE
de lenguaje de Manipulación de
DE
Datos DDL = LMD
DATOS
física
Figura 5.1 DBMS Arquitectura
174 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad
Mecanismos de seguridad del Sistema operativo de control de general de
lectura y escritura a los Archivos Enteros. Por lo Tanto, podrian Ser utilizados
para permitir una ONU usuario to read any Escribir o informa- ción en, por
Ejemplo, la ONU archivo personal. Pero no podian Ser utilizadas para limitar el
acceso a los registros O Campos Específicos en ESE archivo. Un DBMS
normalmente sí permite Este tipo de control de acceso de Más Detallada Que se
determine. También por lo general, permite una Los Controles de Acceso Que se
especificarán En un Rango Más Amplio de Comandos, Como por example to
select, Insertar, Actualizar o ELIMINAR Elementos especificados en la BASE
DE DATOS. Por lo Tanto, se necesitan los Servicios Y Mecanismos de
Seguridad que estan Diseñados especificamente para, y se integra con los
Sistemas de Bases de Datos.

5.3 BASES DE DATOS relacionales

El Componente básico De Una BASE DE DATOS relacional Es Una tabla de


Datos, Que Consiste en filas y Columnas, similar a Una hoja de cálculo. Cada
columna Tiene Un tipo especial de Datos, MIENTRAS Que Cada fila de la ONU
Contiene valor Específico párrafo Cada columna. Idealmente, en La Tabla Tiene
al Menos Una columna en La que Cada valor es Único, por Lo Que Sirve Como
un identificador Para Una entrada dada. Por Ejemplo, Una Guía Telefónica típica
Contiene Una entrada párrafo Cada abonado, con Columnas para el nombre,
número de Teléfono y Dirección. Dicha tabla se denominador de la ONU archivo
plano, ya Que Es Un archivo Único de dos Dimensiones (Filas y Columnas). En
Plano archivo ONU, Todos Los Datos se almacenan en Una Sola tabla. Para La
Guía Telefónica, PUEDE Haber ONU, Número de ABONADOS con El Mismo
nombre, Pero Los Números de Teléfono Dębe Ser Único, por Lo Que El Número
de Teléfono Sirve Como Identificador Único Para Una fila. Sin embargo, dos o
mas Personas Que comparten el Mismo Número de telefono sí pueden CADA
listadas Uno SER en el Directorio. Para Seguir a Contener todos los Datos de la
guia telefónica en Una Sola tabla y para proveer la ONU Identificador Único
párrafo Cada fila, podriamos requérir Una columna Separada para Suscriptores
secundaria, terciaria de ABONADOS, y asi sucesivamente. El resultado m Seria
Que Cada párrafo, Número de Telefono en la USO, heno Una Sola post in La
Tabla. Para Seguir a Contener todos los Datos de la guia telefónica en Una Sola
tabla y para proveer la ONU Identificador Único párrafo Cada fila, podriamos
requérir Una columna Separada para Suscriptores secundaria, terciaria de
ABONADOS, y asi sucesivamente. El resultado m Seria Que Cada párrafo,
Número de Telefono en la USO, heno Una Sola post in La Tabla. Para Seguir a
Contener todos los Datos de la guia telefónica en Una Sola tabla y para proveer la
ONU Identificador Único párrafo Cada fila, podriamos requérir Una columna
Separada para Suscriptores secundaria, terciaria de ABONADOS, y asi
sucesivamente. El resultado m Seria Que Cada párrafo, Número de Telefono en
la USO, heno Una Sola post in La Tabla.
Los inconveniente del USO de Una Sola tabla Es Que ALGUNAS de las
Posiciones de columna Para Una fila dada PUEDE Estar en blanco (sin utilizació
SE). : Además, Cada Vez Que Un nuevo servicio o Una Nueva Clase De
informacion sí Incorpora en LA BASE DE DATOS, Más Columnas Dębe Ser
5,3 / bases de Datos relacionales 175
añadido y La Base de Datos y software El que lo acompana Dębe Ser rediseñado
y reconstruido.
Los Estructura de la Base de Datos Relacional permite la Creación de
Varias Tablas Unidas Por la ONU Identificador Único Que esta Presente EN
TODAS LAS mesetas. Figura 5.2 Muestra Como los Nuevos Servicios Y sí:
características pueden contactar con la Base de Datos del Teléfono pecado s
necesidad de Reconstruir La Tabla directora. En Este Ejemplo, heno Una tabla
principal de Información básica con el párrafo Cada Número de Teléfono. El
Número de Teléfono Sirve Como director de la clave. El administrador de la
BASE DE DATOS PUEDE Definir Una Nueva tabla con Una columna para La
Clave director y Otras Columnas para otra information.
Los Usuarios y las APLICACIONES utilizan ONU lenguaje de consulta
relacional párrafo Acceder a la Base de Datos. El lenguaje de consulta utilizació
los estados declarativas en Lugar de las ins- trucciones de procedimiento de la
ONU Lenguaje de programación. En esencia, el lenguaje de consulta permite al
usuario Solicitar Elementos Seleccionados de Datos de Todos los registros Que
se ajustan a la ONU Determinado Conjunto de Criterios. El software
ENTONCES SE DA CUENTA de Como extraer los Datos Solicitados una ANU
o mas Tablas. Por Ejemplo, la ONU Representante de la Compañía Telefónica
podria Recuperar Información de la ONU abonado de facturación, Asi Como la
Situación de Servicios Especiales o El Último Recibido pago, todos exhibidos En
Una Pantalla.
176 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad

TABLA CALLER ID TABLA DE


Número de Teléfono ABONADO
Tiene servicio? (Y / N) ADICIONAL
Número de Teléfono
Lista de Suscriptores

TABLA PRIMARIA
Número de Teléfono
Apellido
Nombre
Dirección

Historial de TABLA factura


facturación TABLA real
Número de Teléfono Número de
Fecha Tipo de Teléfono
Transacción
Fecha y Hora
Cantidad de Transacción
cargas anteriores
Equilibrio reales
ACTUALES Fecha
del Último Pago
Cantidad del Último Pago

Figura 5.2 EJEMPLO Base de Datos Relacional Modelo de base Una de Datos
Relacional utilizació tablas multi- ples Relacionados Entre sí Por una Tecla
designada; En Este Caso, La Clave esta en el campo Teléfono-Número.

Elementos de la ONU Sistema de BASE DE DATOS relacional


En el lenguaje de la base de Datos Relacional, el bloque de construcción básico
es una relacion, Que Es Una tabla plana. Las filas se denominan tuplas y
Columnas se denominan Atributos (verColina baja 5.1). Clave Una primaria se
definir Para Ser Una parte De Una fila se utilizació para identificar de forma
Única Una Fila De Una tabla; La Clave director Consta de uno o mas nombres de
columna. En the example deFigura 5.2, atributo de la ONU en solitario, Fax, es
Suficiente para identificar de forma sueltas Una Fila De Una tabla en particular.
ONU modelo abstracto De Una tabla de la Base de Datos Relacional ES

Tabla 5.1 Terminología básica de bases de Datos relacionales


Nombre oficial Nombre Común Conocido también
de Como
Relación Colina Expediente
5,3 / bases de Datos relacionales 177
baja
tupla Fila Grabar
atributo Column Campo
a
178 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad
Atributos
UNA1 aj A.M
1 X11 X1j X1M

Archivo
yo Xyo1 Xij Xsoja
s

Norte XNorte1 XNuevo Méjico


XNue
va Jersey

Figura 5.3 Extracto De Una Base de Datos Relacional

Como Se Muestra Figura 5.3. Hay N individuals, o Entidades, en la tabla y Atributos


M. Cada atributo Tiene Aj | aj | Posibles Valores, con xij Que denotan el valor del
atributo j párrafo entidad i.
UNA Crear una relacion Entre dos Tablas, Los Atributos Que definen la
clave principal de tabla Una Deben Aparecer Como Atributos En Otra mesa,
Donde se les conoce Como una clave externa. De Mientras Que El Valor De Una
clave primaria Dębe Ser Único párrafo Cada tupla (fila) de su mesa, las Naciones
Unidas valor de clave externa PUEDE Aparecer Varias Veces En Una Mesa, Asi
Que Hay una relacion de uno de un Muchos Entre Una fila de la tabla con el
director de Clave y Las filas en la tabla con la clave externa.Figura 5.4a Una
proporciona EJEMPLO. En la tabla Departamento, el ID de departamento (DID)
es la clave primaria; Cada valor es Único. This tabla da la identificación, el
nombre y NÚMERO DE CUENTA párrafo Cada departamento. La Tabla de
Empleados Contiene el nombre, código de salario, identification de empleado y
Número de Teléfono de Cada empleado. La Tabla de Empleados también indica
el departa- mento En que Cada empleado se le Asigna Mediante la inclusión de
Did. DID ES IDENTIFICADO Como una clave externa y proporciona la
Relación Entre La Tabla de Empleados y la mesa Departamento.
Una vista Es Una tabla virtual. En esencia, Una vista Es El Resultado De
Una Consultor Que Devuelve Filas Y Columnas seleccionadas IMCMEXICO de
Una o mas tablas.Figura 5.4b Es Una visión Que INCLUYE EL nombre del
empleado, identification y Número de Teléfono de la tabla de Empleados y La
cor- respondedor nombre del Departamento de La Mesa Departamento. La
vinculación es la Hizo, por Lo Que la mesa de vista INCLUYE: datos de Cada
fila de la tabla de Empleados, con Datos Adicionales De La Tabla Departamento.
También Es Posible Construir Una tabla Vista de Una Sola. EJEMPLO Por, Una
vista de la tabla de Empleados Consiste en TODAS LAS filas, con la columna de
Código salario Eliminado. Una vista Puede Ser calificado para Incluir Sólo
ALGUNAS filas y / o ALGUNAS Columnas. EJEMPLO Por, Una vista PUEDE
definirse Que Consiste en TODAS LAS filas de la tabla de Empleados Para Las
Que El DID = 15.
5,3 / bases de Datos relacionales 179
Puntos de vista se utilizan unos de menudo párr multas de Seguridad. Una
vista PUEDE proporcionar un acceso restringido Una BASE DE DATOS
relacional por lo Que Un usuario o la Aplicación Sólo Tiene acceso a ciertas filas
o Columnas.
180 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad
Departamento Colina baja Tabla empleado
Hiz dname Dacctno ename Hizo Salarycode Eid Ephone
o
Robin 15 23 2345 6127092485
4 recursos 528221
humanos Neil 13 12 5088 6127092246
8 Educación 202035 Jazmín 4 26 7712 6127099348
9 cuentas 709257 Cody 15 22 9664 6127093148
13 Relaciones 755827 Acebo 8 23 3054 6127092729
Públicas Robin 8 24 2976 6127091945
15 Servicios 223945 Herrero 9 21 4490 6127099380

Clave
prima
ria
Clave Clave
exter prima
na ria
(a) Dos Tablas de base de Datos
Relacional uña de

dname ename Eid Ephone


recursos Jazmín 7712 6127099348
humanos
Educación Acebo 3054 6127092729
Educación Robin 2976 6127091945
cuentas Herrero 4490 6127099380
Relaciones Neil 5088 6127092246
Públicas
Servicios Robin 2345 6127092485
Servicios Cody 9664 6127093148

(b) Una vista derivada de la BASE DE DATOS

Figura 5.4 EJEMPLO Base de Datos Relacional

lenguaje de consulta estructurado


Structured Query Language (SQL) Es Un lenguaje normalizado Que Se Puede
Como utilizar para Definir el Esquema, Manipular y Consulta de Datos En Una
BASE DE DATOS relacional. Hay Varias Versiones de la norma ANSI / ISO y
Una Variedad de Diferentes implementaciones, Pero Todas Siguen La Misma
sintaxis básica y la semántica.
Por Ejemplo, Las Dos tablas en Figura 5.4a Como se definen Sigue:

CREAR TABLA departamento


(DID INTEGER PRIMARY
KEY, Dname CHAR (30),
Dacctno CHAR (6))
CREATE empleado TABLA (
Ename CHAR (30),
5,3 / bases de Datos relacionales 181
INTEGER Hizo,
SalaryCode INTEGER,
Eid INTEGER PRIMARY KEY,
Ephone CHAR (10),
FOREIGN KEY (DID) Departamento Referencias (DID))
5.4 Ataques de inyección / SQL 177
El comando básico para la Recuperación de información es la instrucción SELECT.
Considéré this example:

SELECT Ename, Eid, Ephone


DE Empleado
¿De Donde = 15

this consulta Devuelve Los Campos Ename, Eid, y Ephone de la tabla


Empleado para Todos los Empleados ASIGNADOS al departamento 15.
La vista es La Figura 5.4b se crea Mediante la siguiente instrucción SQL:

CREATE VIEW newtable (Dname, Ename, Eid, Ephone)


AS SELECT D.Dname E.Ename, E.Eid, E.Ephone
Del Departamento D Empleado
E = Donde E.Did D.Did

Los Sólo algunos adj hijo anterior EJEMPLOS de la Funcionalidad de SQL.


Las Sentencias SQL pueden Ser utilizados párr tablas Crear, Insertar y
ELIMINAR Datos en las tablas, crear de puntos de vista, y Recuperar Datos con
INSTRUCCIONES de consulta.

5.4 Ataques de inyección SQL

La inyección SQL (SQLi) Ataque Es Una de las Amenazas de Seguridad basadas


en El Trabajo Net- Más Frecuentes y Peligrosas. Tenga en Cuenta los Siguientes
Informes:
1. Julio 2013 Imperva Web Ataque de Aplicaciones de Informes [IMPE13]
examinó Una section transversal de los Servidores de Aplicaciones Web en
la Industria y monitoreado Ocho Tipos dife- rentes de los Ataques comunes.
El Informe Encontró Que Los Ataques SQLi ocupo El Primer o Segundo
Lugar en Número Total de incidents de Ataque, El Número de Solicitudes
de Ataque por incidente de ataque, y El Número Promedio de Días por mes
que un Una Aplicación experimentado al Menos ONU incidente de ataque .
Imperva observó ONU Único sitio web Que recibio Peticiones de ataque de
inyección SQL en día 94.057 ONU.
2. Los Abrir Web del Proyecto de Seguridad de Aplicaciones 2013 report
[OWAS13] en los 10 Riesgos de Seguridad de Aplicaciones Web Más
Críticos enumerados Ataques de inyección, especialmente los Ataques
SQLi, Como el Riesgo Alto. Clasificación this es el pecado: cambios desde
su Informe de 2010.
3. EL Veracode 2016 Estado de Reporte de Seguridad [VERA16] Encontró
Que El Porcentaje de las Aplicaciones afectadas por Ataques SQLi es de
Alrededor de 35%.
4. Los Trustwave 2016 Global Security Report [TRUS16] enumera los
Ataques SQLi Como uno de los Dos Mejores Técnicas de intrusión. El
Informe senala Que SQLi PUEDE representar Una Amenaza Significativa a
178 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad Los Datos sensibles, cuentos de Como Información de identificación
personal (PII) y Datos de Tarjetas de crédito, Y Puede Ser Difícil de
Prevenir y relatively Fácil de explotar ESTOS Ataques.
En: términos generales, la ONU ataque SQLi this Diseñado para explotar la
naturaleza de las paginas web aplica- ción. En contraste con las paginas web de
Estáticas Los Años Pasados, la Mayoría de los Sitios Web Actuales Tienen
Componentes y Contenidos dinamicos. Muchas de cuentos Páginas Piden
Información, de Como La ubicación, Información de identidad personal y la
Información de Tarjeta de Crédito. Dinámica this
5.4 Ataques de inyección / SQL 179
contenido es generalmente transferida Hacia y desde Las Bases de Datos de
back-end Que contienen Volúmenes de información, Cualquier cosa A partir de
Datos de Titulares de Tarjetas A Que tipo de zapatos para correr es mas
comprados. Una Página del Servidor de Aplicaciones Hará Consultas bases párr
SQL de Datos para enviar y Recibir Información Crítica Para Hacer Una
experiencia de usuario positiva.
En tal ambiente, la ONU ataque SQLi this Diseñado para enviar Comandos
SQL maliciosos al Servidor de Base de Datos. El objetivo m de Ataque Más Común
Es La Extracción Masiva de Datos. Los atacantes pueden volcar las tablas de bases
de Datos con Cientos de miles de registros al cliente central. Dependiendo del
entorno, inyección SQL también Puede Ser explotado para Modificar o ELIMINAR
Datos, ejecutar Comandos arbitrarios del Sistema operativo, o Lanzar Ataques de
denegación de servicio (DoS). La inyección de SQL Es Una de las Varias Formas de
Ataques de inyección Que se discuten los más Es en general en el Capítulo 11.2.

Un típico ataque SQLi


SQLi Es Un ataque Que Explota Una vulnerability: de seguridad se producirá en
la Capa de BASE DE DATOS De Una Aplicación (POR EJEMPLO, Consultas).
Utilizando la inyección de SQL, el atacante PUEDE extraer o Manipular los
Datos de la Aplicación Web. El ataque ca viable CUANDO La Entrada del
usuario, ya el mar de forma Incorrecta se Filtra por los Caracteres de escapar de
cadena literal incrustados en las INSTRUCCIONES SQL o Entradas de Usuario
No se escribe con fuerza, y por lo del tanto de forma inesperada ejecutado.
Figura 5.5, A partir de [ACUN13], ES UN EJEMPLO DE UN típico ataque
SQLi. Los Pasos a Seguir hijo los Siguientes:
1. Hacker Descubre Una vulnerability En Una Aplicación web personalizada e
inyecta ONU comando SQL para la base uña de Datos Mediante el ENVÍO
de la Orden al Servidor Web. El Mand com- sí inyecta en EL TRAFICO
QUE SERA POR EL Aceptado cortafuegos.
2. El Servidor Web recibir con el código malicioso Y Lo Envía al Servidor de
Aplicaciones Web.
3. El Servidor de Aplicaciones Web recibir con el código malicioso del Servidor
Web y La Envía al Servidor de Base de Datos.
4. Se ejecuta el Servidor de Base de Datos el código malicioso en la BASE DE
DATOS. La BASE DE DATOS Devuelve: datos de la tabla Tarjetas de
crédito.
5. La web Servidor de Aplicaciones géneros dinamicamente Una page Con
Los Datos, incluyendo: datos de la Tarjeta de Crédito A partir de la BASE
DE DATOS.
6. La web Servidor Envía los Datos de su Tarjeta de Crédito por el usuario remoto.

La técnica de inyección
Los SQLi ataque normalmente Funciona Mediante la terminación prematura De
Una cadena de texto y append- ing comando Nuevo de la ONU. DEBIDO una
cola El Comando insertado PUEDE Tener cadenas ADICIONALES Adjuntas a
la Misma los antes de su ejecucion, el atacante Terminales de la Cadena
180 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
inyectado con Una Marca de comentario “-”. El texto subsiguiente se Ignora En
Seguridad
Tiempo de ejecucion.
Como un sencillo Ejemplo, considéré ONU guión Que Construir Una
consulta SQL Mediante La Combinación de cadenas predefinidas con el texto
introducido por la ONU usuario:

var CiudadDestinatario;
CiudadDestinatario = Request.Form ( “CiudadDestinatario”);
SQL var = “SELECT * FROM OrdersTable Donde CiudadDestinatario
= '” + CiudadDestinatario + “'”;
5.4 Ataques de inyección / SQL 181

Chang
e
Internet
Router Punto de
cortafue Acceso
gos Inalámbric
o

Los
Servidores
Web

Leyenda: Servidor
Los Datos de
intercambiados Aplicacion
Entre el pirata es Web
informático Y Servidores de
Servidores bases
Entre hackers BASE
Web y Servidor DE
Datos de Tarjeta DATOS
de Crédito se
Recupera de la
BASE DE
DATOS
Figura 5.5 Ataque de inyección SQL típica

Los Intención del diseñador del guión es Que Un usuario introduzca el


nombre de Una ciudad. Por Ejemplo, Cuando Se ejecuta la Secuencia de
Comandos, SE PIDE al usuario introduzca Que Una ciudad, Y Si el usuario entra
en Redmond, ENTONCES SE géneros La siguiente consulta SQL:

* SELECT OrdersTable DONDE CiudadDestinatario = 'Redmond'

Supongamos, sin embargo, el usuario introduce lo siguiente:

Bostón'; tabla de la gota OrdersTable--

Esto Se difamar en la siguiente consulta SQL:

* SELECT FROM OrdersTable DONDE


CiudadDestinatario = 'Redmond'; tabla de
la gota OrdersTable--

Los Punto y coma Es Un indicador Que separa dos Comandos, y el doble


guión Es Un indicador de Que El resto del texto de La Línea es reales comentario
de la ONU y no se ejecutará. Cuando Los Procesos del Servidor SQL this
Declaración, Primero seleccionarán todos los registros En Donde OrdersTable
182 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad
CiudadDestinatario es Redmond. A Continuación, se ejecuta this form DROP, Lo
Que Elimina La Tabla.
5.4 Ataques de inyección / SQL 183

SQLi avenidas de ataque y Tipos


Podemos caracterizar Ataques SQLi en Función de la vía de ataque y el tipo de
ataque [CHAN11, HALF06]. Las Principales vías de ataque hijo los Siguientes:
• Entrada del usuario: En Este Caso, los atacantes inyectar Comandos SQL,
proporcionando La Entrada del Usuario traje- hábilmente Diseñado. Una
Aplicación Web PUEDE leer La Entrada del Usuario de Varias Maneras en
Función del entorno en el Que se despliega la Aplicación. En La Mayoría
de los Ataques SQLi Que se dirigen a Aplicaciones Web, La Entrada del
usuario por lo general, proviene de los Envíos de formularios Que se envian
a la Aplicación Web un Través de HTTP GET o POST de Peticiones. Las
Aplicaciones hijo generalmente CAPACES de acceder a este La Entrada del
Usuario contenida en Estas Solicitudes, ya Que tendrian acceso a any otra
variable de web en el entorno.
• Las variables de del Servidor: Variables de Son Servidor Una Colección
de las variables Que contienen las cabeceras HTTP, encabezados de
Protocolo de color rojo, las variables Y Ambientales. Aplicaciones Web
utilizan las variables de Servidor Estas En Una Variedad de Formas,
cuentos Como el Registro de Estadísticas de la USO e identificar
Tendencias navegando. Si Estas variables que se registran En Una BASE
DE DATOS pecado la desinfección, ESTO PODRIA Crear Una
Vulnerabilidad de inyección SQL. DEBIDO una cola los atacantes pueden
forjar los Valores Que se colocan en las cabeceras HTTP y de rojo, Que
pueden explotar ESTA Vulnerabilidad Mediante La colocacion de los Datos
Directamente En Las cabeceras. CUANDO La Consulta para la variable de
registro de Servidor SE EMITE a la BASE DE DATOS, then se
desencadena el ataque en la cabecera del forjado.
• La inyección de Segundo Orden: La inyección de Segundo Orden se
producirá CUANDO incompletas: mecanismos de pre- vención contra los
Ataques de inyección SQL ESTÁN es Su Lugar. En La inyección de
Segundo Orden, la ONU usuario malintencionado podria Confiar en los
Datos Que ya ESTÁN Presentes en El Sistema, o Base de Datos para
desencadenar la ONU ataque de inyección SQL, por Lo Que Cuando Se
produjo el ataque, La Entrada Que Modifica La Consulta párrafo ONU
causar ningún ataque Viene por parte del usuario, Sino desde dentro del
propio Sistema.
• Galletas: CUANDO UN cliente Devuelve una tela Una Aplicación, las
galletas se pueden Como utilizar para Restaurar la Información de estado
del cliente. DEBIDO una cola el control de cliente Tiene Sobre las galletas,
la ONU podria atacante Alterar las galletas de forma Que Cuando El
Servidor de Aplicaciones Construye Una consulta SQL Basada en el
Contenido de la galleta, la Estructura y la Función de la consulta es
MODIFICADA.
• La Entrada del Usuario física: La inyección de SQL Es Posible Mediante
el Suministro de entrada de usuario Que con- ESTRUCTURAS DE UN
ataque Fuera del Ámbito de las Solicitudes Web. Esta entrada de usuario
podria Tomar la forma de codigos de barras, RFID Etiquetas
184 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad Convencionales, O INCLUSO los Formularios en papel que estan
utilizando Programas de reconocimiento óptico de Caracteres Y Se Pasa un
Sistema de manage- base de la ONU ción de Datos.
Tipos de ataque se pueden agrupar en tres Categorías Principales: en banda,
inferencial, y fuera de banda. Un ataque en banda utilizació El Canal de
Comunicación Mismo párrafo inject- ing Resultados y Recuperar código SQL.
Los Datos RECUPERADOS sí Presentan Directamente en La Página Web de la
Aplicación. Tipos de Ataque Dentro de banda INCLUYEN los Siguientes:
• tautología: This forma de ataque inyecta código En Una o mas
Sentencias condicionales por lo Que Siempre A consecuencia de dan
cierto. Por Ejemplo, considéré
5.4 Ataques de inyección / SQL 185
escritura de este, Cuya Intención es exigir al usuario introduzca Que la ONU
Numero Validos y Una Contraseña:

Consulta $ = “SELECT Información del Usuario


DONDE nombre = '$ _GET [' nombre '] =' Y
'pwd $ _GET [' pwd ']'”;

Supongamos Que El atacante Envía “'OR 1 = 1 -” para el Campo nombre.


La Consulta Resultante seria el siguiente:

Información SELECT FROM Usuarios DONDE nombre = '' OR 1 = 1 - Y pwpd =


''

El código inyectado Efectivamente Desactiva la comprobación de la


Contraseña (por el indicador de comentario -) y Convierte la totalidad de la
cláusula DONDE En Una tautología. La BASE DE DATOS utilizació el de
base de Como condicional para la evaluation de Cada fila y Decidir Cuales
Para Volver a la Aplicación. DEBIDO una Que El condicional Es Una
tautología, La Consulta se Evalúa Como Verdadera párrafo Cada fila de la
tabla y Devuelve todos Ellos.
• Fin de Línea de comentario: Despues de inyectar código En un campo en
concreto, el Código legítimo Que Sigue hijo anuladas A través del USO de
Extremo de los comentarios de línea. Un EJEMPLO seria añadir “- -”
Después de insumos Para Que las Consultas Restantes ningún hijo Tratados
de Como Código ejecutable, Pero los comentarios. El Ejemplo tautología
anterior es también of this forma.
• Consultas a cuestas: El atacante ánade Consultas ADICIONALES Más
allá de la consulta Prevista, Que Llevan a cuestas el Ataque A La Cima De
Una Solicitud legítima. This técnica se basa en las Configuraciones de
Servidores Que permiten Varias Consultas Diferentes Dentro De Una Sola
Cadena de código. The example en la section anterior es of this forma.

Con Un ataque inferencial, no hay transferencia de bienes de Datos, Pero el


atacante es Capaz de Reconstruir LA INFORMACIÓN Mediante el Envío de
peticiones particulares y observando el Comportamiento Resultante de la Página
Web del Servidor / BASE DE DATOS. inferencial Tipos de Ataque hijo los
Siguientes:

• / Consultas Logicamente incorrectos Ilegales: Este ataque permite una


ONU atacante recopilar information impor- tante Sobre el tipo y la
Estructura de la BASE DE DATOS back-end Web De Una Aplicación. El
ataque se considera Un paso preliminar, REUNIR Información Ataques
párrafo Otros. La Vulnerabilidad aprovechada por Este ataque Es Que La
Página de error devuelto por Defecto Por los Servidores de Aplicaciones es
una de menudo excesivamente descriptiva. De Hecho, el sencillo de Hecho
de Que se géneros ONU Mensaje de error PUEDE REVELAR unos
parametros de menudo Vulnerables / Inyectables un atacante ONU.
• inyección SQL ciega: Ciega inyección SQL permite a los atacantes infieren
186 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad los Datos Presentes En un Sistema de BASE DE DATOS INCLUSO
CUANDO El Sistema Es Lo Suficientemente seguro Para Que no muestre
Ninguna Información erronea al atacante. El atacante del pide al Servidor
verdadero / falso Preguntas. Si la Declaración se inyecta A consecuencia
verdadera, El Sitio Sigue Funcionando normalmente. Si la instrucción se
Evalúa Como falsa, AUNQUE
5.4 Ataques de inyección / SQL 187
No hay ningún Mensaje de error Descriptivo, La Página difiere
significativamente la página elegida Que Funciona normalmente.
En un ataque fuera de banda, los Datos se recuperan utilizando diferente del
canal de la ONU (POR EJEMPLO, SE géneros Un Con el correo electrónico los
Resultados de la consulta y se Envía al probador). ESTO SE Puede CUANDO
Como utilizar heno Limitaciones en la Recuperación de Información, Pero
conectividad de salida desde el Servidor de BASE DE DATOS es laxa.

SQLi Contramedidas
DEBIDO un hijo SQLi los Ataques Frecuentes bronceado, perjudicial, y variada
del tanto por la avenida ataque y tipo, Una Única contramedida es Insuficiente.
Mas Bien es necessary ONU Conjunto Integrado de técnicas. En this section,
proporcionamos Una breve descripcion de los Tipos de termeasures Con- que
estan en la USO o en fase de Investigación, utilizando la Clasificación en
[SHAR13]. Estas Medidas se pueden Clasificar en tres Tipos: La Codificación de
Defensa, detection Y PREVENCION En Tiempo de ejecucion.
Muchos Ataques SQLi Éxito Porque los Desarrolladores de han utilizado
insegura de Codificación ticas ticas, Como veremos en el Capítulo 11. Por lo
Tanto, la Codificación defensiva Es Una Manera Eficaz de Reducir
dramáticamente La Amenaza de SQLi. EJEMPLOS de Codificación defensiva
INCLUYEN los Siguientes:
• Prácticas de programación defensivas manuales: Una vulnerability Común
explotado por los Ataques SQLi Es La Validación de entrada ¿Insuficiente. La
Solución sencilla para NATing eli- Estas vulnerabilidades ES APLICAR
Prácticas de Codificación de defensa adecuados. Un EJEMPLO Es La
comprobación de Tipos de entrada, para comprobar v Que los insumos Que Se
Supone Deben Ser Numéricos no contienen Caracteres Que No Dígitos Sean.
Este tipo de técnica Se Puede Evitar Ataques basados en Forzar Errores en el
Sistema de Gestión de Base de Datos. Otro tipo de Práctica de Codificación es
uno Que Realiza La coincidencia de patrones para · intentar distinguir de
entrada normal, anormal de entrada.
• Inserción consulta con Parámetros: Este Enfoque Trata de Evitar SQLi al
permitir Que El Desarrollador de la Aplicación para especificar Con Mas
precisión Que La Estructura De Una consulta SQL, y Pasar los Parámetros
de Valor a El por Separado De Tal Manera Que any entrada de usuario
antihigiénico No Está Autorizado un Modificar La Estructura de consulta.
• SQL DOM: SQL DOM Es Un conjunto de clases Que permite
Automatizado de Datos tipo dación validada y Escapar [MCCL05]. Este
Enfoque utilizació La encapsulación de Consultas de bases de Datos para
proporcionar Una Manera Segura y confiable para acceder a este Bases de
Datos. ESTO cambia El Proceso de construcción De Una consulta De Una
ningún Regulada Que utilizació La concatenación de cadenas una ANU
Sistemática Que utilizació Una API tipo facturado. Dentro de la API, los
Desarrolladores hijo CAPACES de APLICAR sistematicamente Las
Mejores Prácticas de Codificación Como el Filtrado de entrada y rigurosa
comprobación de Tipos de entrada del usuario.
188 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad Una Variedad de Métodos de detection sí Han Desarrollado, incluyendo las Siguientes:
• Basada en Firmas: This technique intenta Hacer Coincidir los patrones de
ataque Específicos. Tal Enfoque Dębe Ser constantemente actualizado y No
Puede Trabajar en contra de los Ataques de auto-Modificación.
• Anomalía Basada en: Este Enfoque intenta Definir el Comportamiento
normal, then Detectar patrones de Comportamiento Fuera de la gama
normal. Una serie de Enfoques
5.5 / Base de Datos de Control de Acceso
183
ha USADO Sido. En: términos generales, heno Una fase de Entrenamiento,
en El que El Sistema aprende la gama de Comportamiento Seguido de la
fase de detec- ción de bienes normales,.
• Análisis de código: Las Técnicas de análisis de código implican EL USO
DE UN conjunto de Pruebas para Detectar vulnerabilidades SQLi. El
Conjunto de Pruebas this Diseñado para Generar Una Amplia Gama de
Ataques SQLi y evaluar v La Respuesta del Sistema.
Finalmente, Una serie de Técnicas de Prevención de Tiempo de ejecucion se
han de la Desarrollado Como contramedidas SQLi. Estas Técnicas comprobar v
Las Consultas en Tiempo de ejecucion para ver si se ajustan a la ONU modelo de
Consultas esperados. Varias Herramientas Automatizadas ESTÁN Disponibles
párrafo Este propósito m [CHAN11, SHAR13].

5.5 BASE DE DATOS CONTROL DE ACCESO DE

Comercial y de código abierto DBMS proporcionan tipicamente Una papá


capacitivos de control de acceso para la BASE DE DATOS. El DBMS ópera en
el SUPUESTO De que El Sistema informático se ha autenticado Cada usuario.
Como una Línea Adicional de defensa, El Sistema de orde- nador PUEDE Como
utilizar El Sistema General de Control de acceso descrito en el Capítulo 4 para
determinar S. si ONU usuario PUEDE Tener acceso a la Base de Datos en su
conjunto. Para Los Usuarios que estan autenticados y se ha concedido el acceso a
la Base de Datos, la ONU Sistema de con- trol de acceso de BASE DE DATOS
proporciona Una Capacidad Específica Que Controla el acceso de un
contradictorio de la BASE DE DATOS.
DBMS Comerciales y de código abierto proporcionan control de la ONU de
acceso discrecional o basados en papel. Nos remitimos Una Discusión de las
Consideraciones de limitar el acceso obligatorio del Capítulo 27. Por lo general,
la ONU DBMS PUEDE soportar Una serie de Políticas Administrativas,
INCLUYENDO lo siguiente:
• Administración Centralizada: Un pequeño, Número de Usuarios
privilegiados pueden conceder y revocar los Derechos de Acceso.
• La Administración Basada en la propiedad: Los Propietario (creador) De
Una tabla PUEDE conceder y revocar los Derechos de Acceso a la tabla.
• Administración Descentralizada: : Además de conceder y revocar los
Derechos de Acceso a Una tabla, el Propietario de la tabla PUEDE
conceder y revocar los Derechos de autorización f una Otros Usuarios, Lo
Que les permite otorgar y revocar los Derechos de Acceso a la tabla.
Al Igual Que con CUALQUIER Sistema de Control de Acceso, Sistema de
las Naciones Unidas de Control de Acceso a la BASE DE DATOS distinga
Diferentes Derechos de acceso, incluyendo Crear, Insertar, ELIMINAR,
Actualizar, leer y Escribir. control de la ONU algunos adj DBMS proporcionan
una considerable Sobre la granularidad de los Derechos de Acceso. Los Derechos
de Acceso pueden Ser A Toda La Base de Datos, a las tablas Individuales o de
filas o Columnas Seleccionadas Dentro De Una tabla. Los Derechos de Acceso
184 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad
pueden Ser determinados en base de un Los Contenidos De Una entrada de la
tabla. Por Ejemplo, En Una BASE DE DATOS personales, algunos adj Usuarios
pueden limitarse a ver Información Sobre los salarios Sólo Hasta ONU Cierto
valor máximo m. Y Un jefe de servicio Sólo se podra autorizar to see
Información Sobre departamento los salarios de los Empleados en su.
5.5 / Base de Datos de Control de Acceso
185
Definición de Acceso a base de SQL
SQL proporciona dos Comandos para Administrar los Derechos de Acceso,
conceder y revocar. Para Diferentes Versiones de SQL, LA Sintaxis Es Un poco
diferente. En: términos generales, el comando GRANT Tiene La siguiente
sintaxis: 1

conceder Privilegios | Papel


[En la mesa]
UNA de usuario | Papel | PÚBLICO
[IDENTIFICADO POR Contraseña]
[Subvención CON OPCIÓN]

this Comando Se Puede Como utilizar para conceder uno o mas: derechos
de acceso, O SE Puede Como utilizar para Asignar ONU usuario una Una
función f. Para Obtener Los Derechos de Acceso, El Comando PUEDE
especificar opcionalmente Que Sólo se APLICA una ANU tabla especificada. La
cláusula ESPECIFICA el usuario o una función f La que Los Derechos hijo El
Valor granted.A PÚBLICA indica Que any usuario Tiene Los Derechos de
Acceso Específicos. El IDENTIFICADAS POR opcional cláusula ESPECIFICA
Una Contraseña Que se Dębe Como utilizar para revocar Los Derechos de
Acceso de Este comando GRANT. El GRANT OPTION indica Que El
concesionario PUEDE conceder Este Derecho de Acceso a Usuarios Otros, con o
pecado La Opción de concesión.
Como un sencillo Ejemplo, considerará si la Declaración

siguiente: concesión de seleccionar en any tabla

para ricflair

This Declaración permite al usuario ricflair para consultar CUALQUIER tabla en la


BASE DE DATOS.
diferente implementaciones de SQL proporcionan Diferentes gamas de
Derechos de Acceso. La siguiente Es Una Lista típica:
• Seleccione: concesionario PUEDE leer Toda La BASE DE DATOS;
Individuales mesas; Columnas o Específicas De Una tabla.
• Insertar: Insertar filas concesionario PUEDE En Una tabla; o Insertar filas
con valores párrafo Columnas Específicas De Una tabla.
• ACTUALIZACION: La semántica it similares al inserto.
• ELIMINAR: concesionario PUEDE ELIMINAR filas De Una tabla.
• Referencias: cesionario Se Le permite Definir las claves Externas En Otra
tabla Que se refieren a las Columnas especificadas.
El Comando REVOKE Tiene La siguiente sintaxis:

REVOCAR Privilegios | Papel


[En la mesa]
186 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad DESDE de usuario | Papel | PÚBLICO

1Se utilizan las Siguientes Convenciones de Definición de sintaxis. Elementos Separados Por una
Línea hijo Alternativas vertical. Una Lista de Alternativas se Agrupa Entre llaves. Los corchetes
encierran Elementos Opcionales. Es factible de, Los Elementos Dentro de los corchetes pueden o no
pueden Estar Presentes.
5.5 / Base de Datos de Control de Acceso
187
Así, La siguiente Declaración revoca Los Derechos de Acceso del example anterior:
REVOKE SELECT en any Tabla de ricflair

Las autorizaciones de Conexión en cascada


Los Opción de Donación permite ONU Derecho de Acceso a caer en cascada a
Través de las Naciones Unidas, Número de Usuarios. Consideramos ONU
derecho de acceso Específico e illustrate el fenómeno de cascada enFigura 5.6.
LosAnn cifra indica Que otorga el derecho de acceso a Bob en el Tiempo t = 10 y
con Chris en el Tiempo t = 20. Supongamos la Opción subvención se utilizació
siempre. Por lo Tanto, Bob es Capaz de conceder El derecho de Acceso a David
en t = 30. Chris redundante otorga El derecho de Acceso a David en t = 50. Por
su parte, David otorga el derecho a Ellen, Que un su vez le otorga un Jim; y
posteriormente David otorga el derecho a Frank.
Solo Como la concesión de Privilegios Cascadas de la ONU usuario A Otro
Usando la Opción de concesión, la revocación de Privilegios also in cascada. Por
lo Tanto, si Ann revoca El derecho de acceso a Bob y Chris, ENTONCES El
derecho de acceso this también revoco un David, Ellen, Jim, y Frank. Una oleada
Complicacion CUANDO ONU usuario recibir con El Mismo Derecho de acceso
en Múltiples Ocasiones, Como SUCEDE en El caso de David. Supongamos Que
Bob revoca el privilegio de David. David todavía Tiene El derecho de acceso, ya
Que Fue concedida por Chris en t = 50. Sin embargo, David concedio El derecho
de acceso a Ellen Despues De Recibir La Derecha, con la Opción de concesión,
de Bob, Pero los antes de recibirla de Chris. La Mayoría de las implementaciones
dic- Tate Que En Esta circunstancia, El derecho de acceso a Ellen y, por del
tanto, Jim se revoca CUANDO Bob revoca El derecho de Acceso a David. Esto
Es Porque en t = 40, Cuando David otorgó El derecho de acceso a Ellen, David
Sólo tenia la Opción de concesión de Hacer ESTO de Bob. CUANDO Bob
revoca La Derecha, ESTO Hace Que TODAS LAS Subvenciones en cascada
posteriores Que puedan localizarse Exclusivamente a Bob un Través de David
una ser revocados. Porque David concedio El derecho de acceso a Frank Despues
De Que David se le concedio El derecho de acceso con la Opción de Donación de
Chris, El derecho de acceso a Frank permanece. Estós: efectos se muestran en la
parte inferior de ESTO Hace Que TODAS LAS Subvenciones en cascada
posteriores Que puedan localizarse Exclusivamente a Bob un Través de David
una ser revocados. Porque David concedio El derecho de acceso a Frank Despues
De Que David se le concedio El derecho de acceso con la Opción de Donación de
Chris, El derecho de acceso a Frank permanece. Estós: efectos se muestran en la
parte inferior de ESTO Hace Que TODAS LAS Subvenciones en cascada
posteriores Que puedan localizarse Exclusivamente a Bob un Través de David
una ser revocados. Porque David concedio El derecho de acceso a Frank Despues
De Que David se le concedio El derecho de acceso con la Opción de Donación de
Chris, El derecho de acceso a Frank permanece. Estós: efectos se muestran en la
parte inferior deFigura 5.6.

t=7 0
Age Ellen Jim
nte
de
mud David t = 60
ana Franc
188 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad

0
Franc
o

Figura 5.6 Bob revoca Privilegios de David


5.5 / Base de Datos de Control de Acceso
189
UNA generalizar, La Convención de SEGUIDA por la Mayoría de las
implementaciones Es Como Sigue. Cuando El Usuario A revoca ONU derecho
de acceso, CUALQUIER cascada derecho de acceso también se revoca, un no
Ser Que El derecho de acceso existiría INCLUIDO si Nunca de Hubiera
Producido la concesión original, de la A. This Convención se propuso Primero en
[GRIF76] .

de acceso BASADO EN funciones de control


Un Esquema de control de acceso de BASADO EN roles (RBAC) Es Un paso
naturales para el control de de acceso de BASE DE DATOS. A Diferencia de las
Naciones Unidas Sistema de archivo Asociado a Una Sola O Unas Pocas
Aplicaciones, la ONU Sistema de la Base de Datos de menudo un apoya Decenas
de Aplicaciones. En tal ambiente, la ONU usuario individuales PUEDE Como
utilizar Una Variedad de Aplicaciones para Realizar una Variedad de tareas,
Cada Una De Las Cuales Requiere su propio conjunto de Privilegios. Seria Mala
Práctica administrativa simplemente otorgar un los Usuarios Todos los Derechos
de Acceso Que requieren para TODAS LAS tareas Que Realizan. RBAC
proporciona ONU medio de aliviar la carga administrativa y Mejorar la
Seguridad.
En un entorno de control de acceso discrecional de, Podemos Clasificar a
los Usuarios de Bases de Datos en Tres Grandes Categorías:
• Propietario de la Aplicación: ONU usuario final de Que es dueño m de los
Objetos de la Base de Datos (Tablas, Columnas Y Filas) Como parte De
Una Aplicación. Es factible de, los Objetos de la base de se generan por la
Aplicación o se preparan para su USO Por la Aplicación.
• Que definitiva usuario no tendrá mar Propietario de la Aplicación: Un
usuario final de la ópera Sobre Que Objetos de base de un Través De Una
Aplicación en particular, Pero No Posee ninguno de los Objetos de la base.
• Administrador: Usuario Que Tiene La Responsabilidad administrativa de
parte o la totalidad de la BASE DE DATOS.
Nosotros PUEDE Hacer Que ALGUNAS afirmaciones generales about
RBAC con un RESPECTO ESTOS Tres Tipos de Usuarios. Una Aplicación ha
Asociado ONU, Número de tareas, con Cada Tarea Que Requiere Derechos de
acceso Específicos una Porciones de la BASE DE DATOS. Para Cada Tarea,
Una o mas: funciones definidas pueden Ser Que especifican Los Derechos de
Acceso Necesarios. El Propietario de la Aplicación PUEDE Asignar Funciones a
los Usuarios Finales. Los Administradores hijo Responsables de Más sensi- tivo
o papeles generales, incluyendo Los Que Tienen que ver con la gestión de Bases
de Datos Componentes Físicos y Lógicos, cuentos de Como Archivos de Datos,
los Usuarios y los Mecanismos de Seguridad. El Sistema NECESITA Ser
CREADO para dar un Ciertos Administradores de Ciertos Privilegios. Los
Administradores,
Una instalacion de bases de RBAC de Datos Dębe proporcionar las Siguientes:
capacidades:
• CREAR papeles ELIMINAR y.
190 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad • Definir Permisos PARA UN papel.
• Asignar y cancelar la Asignación de los Usuarios a los papeles.
Un Buen Ejemplo del USO de las Funciones de Seguridad en la BASE DE
DATOS Es La instalacion de RBAC proporcionada por Microsoft SQL Server.
SQL Server Soporta Tres Tipos de Funciones: Funciones de Servidor, las
Funciones de Base de Datos, Y: funciones definidos por el usuario. Los Primeros
dos Tipos de Funciones se denominan Funciones Fijas (verColina baja 5.2);
ESTOS ESTÁN PARA UN preconfiguradas Sistema con derechos de acceso
Específicos. El administrador o el usuario no PUEDE: Añadir, Modificar o
ELIMINAR los papeles fijos; Que Sólo Es Posible: Añadir y ELIMINAR
Usuarios de Como Miembros De Una Función fija.
Funciones Fijas de Servidor se definen en el Nivel de Servidor y Existir
INDEPENDIENTEMENTE de base de CUALQUIER de Datos de usuario. Estan
Diseñados para facilitar La tarea administrativa. papeles Estós
5.5 / Base de Datos de Control de Acceso
191
Tabla 5.2 Los papeles fijos baño de Microsoft SQL Server

Papel Permisos
Funciones Fijas de
Servidor
Administrador de Sistemas Puede del Llevar un Cabo CUALQUIER ACTIVIDAD en SQL Server y
Tener control de la ONU Sobre completo TODAS LAS Funciones de
Base de Datos
serveradmin Puede del Configurar las OPCIONES de configuration un Nivel de Servidor
y apagar el Servidor
setupadmin Puede del Administrar Servidores vinculados y los Procedimientos de
Arranque
securityadmin Puede del Administrar los Inicios de Sesión Y Permisos CREAR BASE DE
DATOS, también Leer los Registros de Errores y change las Contraseñas
processadmin Puede del Gestionar los Procesos Que se ejecutan en SQL Server
dbcreator Se Puede Crear, Modificar y ELIMINAR bases de Datos
diskadmin Puede del Gestionar Archivos de discoteca
bulkadmin Puede del ejecutar las Sentencias de Inserción Masiva
Los papeles de la
Base de Datos Fijos
db_owner Tiene Todos Los Permisos en la BASE DE DATOS
db_accessadmin Puede del O ELIMINAR: Añadir los ID de usuario
db_datareader Puede del select Todos Los Datos de any tabla de usuario en la BASE DE
DATOS
db_datawriter Puede del Modificar los Datos en any tabla de usuario en la BASE DE
DATOS
db_ddladmin Puede del Emitir TODAS LAS Declaraciones De Lenguaje de Definición de
Datos
db_securityadmin Puede del Gestionar todos los Permisos, titularidades Objeto, las Funciones
y Los Miembros de Funciones
db_backupoperator Puede del Emitir DBCC, punto de control, y Las Declaraciones BACKUP
db_denydatareader Puede del Negar el Permiso to select los Datos en la BASE DE DATOS
db_denydatawriter Puede del Negar el Permiso para change los Datos de la BASE DE DATOS

Tiene Permisos Diferentes Y ESTÁN Destinados a proporcionar la s capacidad


de propagarse v las responsabilidades Administrativas y sen Tener que Renunciar
un completo control de la ONU cabo. Administradores de Bases de Datos pueden
Como utilizar Estas Funciones Fijas de Servidor para Asignar Diferentes tareas
Administrativas para el personal y Darles Sólo Los Derechos Que Tienen Una
Necesidad imperiosa.
funciones de la Base de Datos Fijas Operar un Nivel de Base de Datos
Una individual. Como con Funciones Fijas de Servidor, algunos adj de los
Papeles de BASE DE DATOS fijos, cuentos de Como db_accessadmin y
securityadmin db_, ESTÁN Diseñados Para Ayudar un DBA Un Con delegar
responsabilidades administrativas. Otros, Como db_datareader y db_datawriter,
ESTÁN Diseñados para proporcionar Permisos manta último párrafo de la ONU
usuario.
SQL Server permite a los Usuarios CREAR papeles. Estas Funciones
definidas por el usuario se pueden Asignar Derechos de Acceso a Las Porciones
192 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad
de la BASE DE DATOS. Un usuario con la Debida Autorización (por lo general,
la ONU usuario asignado a la función f db_securityadmin) PUEDE Definir Un
Nuevo Papel y de Acceso Asociado con Los Derechos del Papel. Hay dos Tipos
de Funciones definidas por el usuario: Dard Normaliza- y Aplicación. Para Una
función f Estándar, ONU usuario Autorizado PUEDE Asignar Otros Usuarios en
la Función. Una Función de Aplicación this Asociado con Una Aplicación en
Lugar de la ONU con el Grupo de Usuarios y Requiere Una Contraseña. La
función f se activa Cuando Una Aplicación ejecuta el código apropiado. Un
usuario Que Tiene Acceso a la Aplicación PUEDE Como utilizar la Función de
Aplicación para el Acceso a la Base de Datos. Una de menudo, Las Aplicaciones
de bases de Datos Para Hacer valer su Propia Seguridad BASADO en la lógica
de la Aplicación. Por Ejemplo, PUEDE Como utilizar Una Función de
Aplicación

https://sanet.st/blogs/polatebooks
5.5 / Base de Datos de Control de Acceso
193
Con Su Propia Contraseña para permitir al usuario particulares para Obtener y
Modificar horas los Datos Sólo de Durante Específicas. Por lo Tanto, SE Puede
Comprender Más COMPLEJA gestión de la Seguridad Dentro de la lógica de la
Aplicación.

5.6INFERENCE

Inferencia, en Lo Que RESPECTA a la Seguridad de BASE DE DATOS, ES El


Proceso de Consultas Llevar un Cabo Autorizadas y deducir Información no
Autorizada de las respuestas recibidas legitimos. El problema de inferencia
sobretensiones CUANDO La Combinación de las Naciones Unidas, Número de
Elementos de Datos es mas sensata Que Los Elementos Individuales, o Cuando
Una Combinación de Elementos de Datos Se Puede Como utilizar para deducir
Datos de alcalde Sensibilidad.Figura 5.7 Ilustra El Proceso. El atacante PUEDE
Hacer USO de los Datos Sensibles, no hay metadatos Así Como. Los metadatos se
refiere al Conocimiento de las Correlaciones o dependencias Entre Elementos de
Datos Que se pueden Como utilizar para deducir Información no disponible por
Otros Medios ONU un usuario en particular. El camino de trans- fer Información
Mediante la Cual se obtienen los Datos sin Autorizado se conoce Como un canal
de inferencia. En: términos generales, dos Técnicas de inferencia se pueden derivar Como
utilizar para Información Adicional: Análisis de Dependencias Funcionales Entre Atributos
Dentro De Una tabla
OA Traves de Tablas, y La Fusión de Puntos de Vista estafadores las Mismas Limitaciones.
Un example of this Ultimo, se Muestra en la Figura 5.8, Ilustra la lem
inferencia proble-. Figura 5.8a Muestra Una tabla de inventario con cuatro
Columnas. La Figura 5.8b MUESTRA Dos Vistas, definidas en SQL Como
Sigue:

CREATE VIEW V1 ASCREATE Vista V2 COMO


Disponibilidad SELECT, Artículo CostSELECT, Departamento
de InventoryFROM
Inventario
DONDE Departamento = “Hardware” = DONDE Departamento "hardware"
194 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad

Los
Datos
delicada
no inferenci
inform
sensible a
acion
s

El control de
acceso

Autorizado Acceso no
acceso Autorizad
o

metadato
s

Figura 5.7 Información indirecta Acceso por inferencia Canal


5,6 / inferencia 189

eso Disponibilida Coste ($) Departament


d o
Soporte de estante en la Tienda / 7.99 hardware
en línea ahora
Soporte de la Tapa Solo en línea 5.49 hardware
Cadena decorativo en la Tienda / 104.99 hardware
en línea ahora
pasteles párr Molde Solo en línea 12.99 Artículos
Para El
Hogar
Ducha / bañera en la Tienda / 11.99 Artículos
¿Limpia en línea ahora Para El
Hogar
Rodillo en la Tienda / 10.99 Artículos
en línea ahora Para El
Hogar
(a) tabla de inventario

Disponibilidad Coste ($) eso Departament


en la Tienda / en 7.99 o
línea ahora Soporte de estante hardware
Solo en línea 5.49 Soporte de la Tapa hardware
en la Tienda / en 104.99 Cadena decorativo hardware
línea ahora (b) Dos Puntos de vista

eso Disponibilida Coste ($) Departament


d o
Soporte de estante en la Tienda / en 7.99 hardware
línea ahora
Soporte de la Tapa Solo en línea 5.49 hardware
Cadena decorativo en la Tienda / en 104.99 hardware
línea ahora
(c) Colina baja derivada de la Combinación de las respuestas de la consulta

Figura 5.8 EJEMPLO inferencia

Los Usuarios de ESTOS Puntos de Vista No Autorizados ESTÁN un


Acceder a la Relación Entre el article y el costo m. Un usuario Que Tiene acceso
a Uno o Ambos puntos de vista no Se Puede deducir la Relación de
Dependencias Funcionales. Es factible de, No hay una relacion funcional Entre el
Artículo Y El Costo De Tal Manera Que sabiendo Punto y quiza otra information
es Suficiente para deducir de Costes. Sin embargo, los Dos Vistas suponen en sí
Crean con la restriccion de acceso Que Punto y Coste sin juntos PUEDE
Acceder. Un usuario Que conoce la Estructura de la tabla de inventario y Que
Sabe Que Las Tablas de vistas mantienen El Mismo Orden de las filas Que la
tabla de inventario es then Capaz de fusionar las dos vistas para Construir la tabla
mostrada en LAFigura 5.8 Grados. ESTO viola la Política de Control de Acceso
Que la Relación de los Atributos de Artículos y El Costo sin Revelada Dębe ser.
En: términos generales, hay dos Enfoques Para Hacer Frente a la Amenaza
de la Información Que se Expone seguro por inferencia:
• detection inferencia Durante el diseño de la BASE DE DATOS: Este
196 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Enfoque Elimina el canal de la ONU de inferencia Mediante la Alteración
Seguridad
de la Estructura de BASE DE DATOS O Cambiando el Régimen de acceso
trol con- párrafo Evitar la inferencia. Los EJEMPLOS INCLUYEN la
Eliminación de dependencias de Datos Mediante la división De Una tabla
en Varias tablas o utilizando Más Funciones de Control de Acceso de grano
fino En un Esquema de RBAC. Técnicas de categoría this una de menudo
resultan en Mas estrictos Controles de Acceso riamente innece- Que
reducen la Disponibilidad.
• Inferencia de detection En Tiempo de consulta: Este Enfoque busca
ELIMINAR Una Violación canal de inferencia Durante Una consulta o Una
serie de Consultas. Sí se Detecta Una inferencia nel Chan, La Consulta se
Niega o se altera.
190 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad
por CUALQUIERA de los Enfoques Anteriores, Se Necesita ALGÚN
algoritmo de detection de inferencia. Este Es Un Problema Difícil y el tema de la
Investigación en curso. Para Dar Una apreciación de la Dificultad, Que Presenta
ONU example Tomado de [LUNT89]. Considéré Una BASE DE DATOS Que
Contiene Información personal, incluyendo nombres, Direcciones, Y salarios de
los Empleados. Individually, el nombre, la Dirección y LA INFORMACIÓN
Sobre salarios is available un papel subordinado de la ONU, Como secretario,
Pero la Asociación de nombres y salarios se Limita a un superior, cuentos de
Como administrador papel de la ONU. Esto Es parecido al Problema se Ilustra en
laFigura 5.8. Una Solución A Este Problema Es La construcción de tres tablas,
Que INCLUYEN la siguiente información:
Los Empleados (Emp #, nombre,
Dirección) Salarios (S #, salario)
Emp-Salario (Emp #, S #)
Donde Cada Línea Consiste En el nombre de la tabla Seguido de Una Lista de
nombres de columna para esa tabla. En Este Caso, Cada empleado se le asigna de
las Naciones Unidas, Número de empleado Único (Emp #) y Un Número de
salario Único (S #). La tabla Empleados hijo y la tabla de salarios Accesibles para
el papel Clerk, Pero La Tabla Emp-Salario en solitario is available para la
Función de administrador. De this structure, La Relación Entre los Empleados
sensata y salarios this Protegida contra los Usuarios ASIGNADOS el papel
Clerk. Ahora, supongamos Que Queremos Añadir un nuevo atributo, Fecha de
inicio de los Empleados, Que No Es sensato. Podria ESTO añadirse a la mesa de
sueldos de la siguiente Manera:
Los Empleados (Emp #, nombre,
direccion) Salarios (S #, Salario,
Fecha de inicio) Emp-Salario (Emp
#, # S)
Sin embargo, la Fecha de Inicio de la ONU empleado it bute ONU atri-
facilmente observable o visible empleado de la ONU. Of this Modo, ONU
usuario en el papel Clerk Dębe Ser Capaz de inferir (o par- cialmente inferir) el
nombre del empleado. ESTO pondria en peligro la Relación Entre el empleado y
el salario. Una forma sencilla de ELIMINAR el canal de inferencia es: Añadir la
columna de la Fecha de inicio de la tabla Empleados en un Lugar de la mesa de
sueldos.
El Primer Problema: de seguridad Indicado En Esta Muestra, que se era
Posible deducir la Relación Entre empleado y el salario, Puede Ser detectado
Mediante el análisis de las Estructuras de Datos y las Restricciones de Seguridad
que estan Disponibles Para El DBMS. Sin embargo, El problema de Seguridad
Segundo, en La que se Añadío La Columna de la Fecha de Inicio de la mesa de
sueldos,No puede ser detectado utilizando solo la Información almacenada en la BASE
DE DATOS. En particular, los La Base de Datos no indica Que El nombre del empleado
PUEDE inferirse A partir de la Fecha de inicio.
El caso en general, de base de uña de Datos Relacional, la detection de
inferencia Es Un Problema Complejo y difícil adj. bases Pará de Datos Seguras
Cifrado 5.7 / Base de Datos 191
multinivel, Que se describen en el Capítulo 27, bases y De Datos estadísticos,
Que se discutirá en la siguiente Sección, se han Hecho Progresos en el diseño de
Técnicas de detection de inferencia Específicos.

5.7 BASE DE DATOS DE cifrado

La BASE DE DATOS es tipicamente la fuente de información Más Valiosa


PARA CUALQUIER orga- nización y por lo Tanto this protegido por Múltiples
Capas: de seguridad, incluyendo cortafuegos, Mecanismos de Autenticación,
Sistemas de Control de Acceso en general, y el acceso de BASE DE DATOS
192 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad
Sistemas de control. : Además, para los Datos especialmente sensibles, el cifrado
de la BASE DE DATOS ESTA justificada, ya Menudo Implementado. El cifrado
se Convierte en la última Línea de Defensa Para La Seguridad de BASE DE
DATOS.
Hay dos desventajas para el cifrado de BASE DE DATOS:
• llave Administración: Los Usuarios Autorizados Deben Tener acceso a la
clave de descifrado de los Datos para Los Que Tienen acceso. DEBIDO una
cola Una BASE DE DATOS ESTA tipicamente sorios sible una amplia
¿Una gama de Usuarios y de la ONU Número de Aplicaciones,
proporcionando claves seguras con un contradictorio las Seleccionadas de
la BASE DE DATOS Y APLICACIONES un Usuarios Autorizadas Es Una
Tarea COMPLEJA.
• inflexibilidad: Cuando Se cifran parte o la totalidad de la Base de Datos, se
Hace Mas Dificil de Realizar búsquedas de registros.
El cifrado Se Puede APLICAR A Toda La Base de Datos, un Nivel de
registro (cifrar los Registros Seleccionados), un Nivel de atributo (cifrar
Columnas seleccionadas IMCMEXICO), o en el Nivel del Campo individual.
Una serie de Enfoques se de han adoptado para el cifrado de la BASE DE
DATOS. En this section, nos fijamos en la ONU Enfoque representativo De Una
BASE DE DATOS multiusuario.
Un DBMS Es Una Colección COMPLEJA de hardware y software. Se
Requiere Una gran Capacidad De Almacenamiento y Requiere de personal
capacitado para Realizar el mantenimiento, la contra Desastres Proteccion,
Actualizar y Seguridad. Para los muchas Organizaciones Pequeñas y Medianas,
Una Solución atractiva es la de subcontratar el DBMS y La Base de Datos de la
ONU un Proveedor de Servicios. El Proveedor de Servicios Mantiene la BASE
DE DATOS Fuera de sitio y proporcionar PUEDE Una Alta Disponibilidad, la
prevention de Desastres, y el acceso Eficiente Y ACTUALIZACIÓN. La
Principal Preocupación estafadores ESTA SOLUCION Es La confidencialidad de
los Datos.
Una Solución sencilla al Problema de la Seguridad En Este contexto ES
encriptar Toda La Base de Datos y no proporciona las claves de cifrado /
descifrado al Proveedor de Servicios.This solution Por Si Misma es inflexible. El
usuario Tiene poca Capacidad para acceder a este Los Elementos de Datos Individuales
Sobre la Base de búsquedas o la indexación Sobre los parametros clave, entre China Que
tendria Que cargar ABAJO-tablas completas de la BASE DE DATOS, descifrar las
tablas, Y Trabajar Con El resultados .Para pro-vide Flexibilidad Más, Dębe Ser Posible
Trabajar con la Base de Datos en su forma cifrada. Un EJEMPLO De Tal approach,
Representado en laFigura 5.9, se informa en [DAMI05]
y [DAMI03]. Un Enfoque similares se describen en [HACI02]. Entidades Cuatro
involucrados estan:

• Titular de los Datos: Una organization Que producir una Datos Estar
disponible para la Liberación Controlada con-, ya mar Dentro De La
organizacion o Para Los Usuarios Externos.
• usuario: entidad humana Que Presenta Solicitudes (Consultas) al Sistema.
El usuario Podria ser empleado de la ONU Organización Que se ha
Cifrado 5.7 / Base de Datos 193
concedido acceso a la, BASE DE DATOS A través del Servidor o de la
ONU usuario externo a la Organización Que, Despues de la Autenticación,
se conceda el acceso.
• Cliente: front-end Que Transforma las Consultas del Usuario en Consultas
Sobre los Datos cifrados almacenados en el Servidor.
• Servidor: Una organization Que recibir con los Datos cifrados de la ONU
Propietario de los Datos y los pone una Disposición para su distribucion a
los Clientes. El Servidor de Hecho Podria Ser propiedad del titular de los
Datos, chino, Más Tipicamente, Es Una instalacion de propiedad y
Mantenido Por un Proveedor externo.
194 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad

meta-
metadato Dato
1. búsqueda s s
original,

BAS
Titular de E
los Datos DE
4.
usua DAT
Resultado
rio OS
de texto sin
SE
formato 2.
Client Transformado
Procesa consulta ejecuto
e
dor de r de
Consultas 3. m Consult
resultado as
cifrado

meta- Cifrar / BASE DE


Dato descifra Servid DATOS
s r cifrada
or

Figura 5.9 Un Esquema de Base de Datos de cifrado

Examinemos Primero La Disposición Más Posible sencilla, basándose En


Este Escenario. Supongamos Que Elemento Cada individuo en la base de de
Datos hijo encriptados por Separado, Todas ellas Con la Misma clave de cifrado.
La BASE DE DATOS cifrados se almacenan en el Servidor, Pero el Servidor de
No Tiene La Clave, por Lo Que Los Datos ESTÁN Seguros en el Servidor.
INCLUSO si alguien Fuera Capaz de introducirse en el Sistema del Servidor,
Todo Lo Que El o Ella Tiene Acceso a los Datos encriptados hijo. El Sistema
TIENE UNA cliente copia de la clave de cifrado. Un usuario en el cliente
PUEDE Recuperar un registro de la BASE DE DATOS Con La siguiente
Secuencia:
1. Los EMITE usuario Una consulta SQL para Los Campos de uno o mas
registros Con Un valor Específico de la directora de la clave.
2. Los Procesador de Consultas en el cliente cifra La Clave principal Modifica
la consulta SQL en consecuencia f, y Transmite La Consulta al Servidor.
3. Los Procesos del Servidor La Consulta utilizando el valor cifrado de la clave
primaria y Devuelve el registro o registros apropiados.
4. Los Procesador de Consultas descifra los Devuelve los Datos y Resultados.
por Ejemplo, considéré consulta this, Que se introdujo en Sección 5.1, en la
BASE DE DATOS de Figura 5.4a:

SELECT Ename, Eid, Ephone


DE Empleado
¿De Donde = 15

Suponga Que El cifrado se utilizació clave ky el valor cifrado de la ID de


Cifrado 5.7 / Base de Datos 195
departamento 15 se E (k, 15) = 1000110111001110. ENTONCES, el Procesador
de Consultas en el cliente podria Transformar la consulta anterior en
196 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad
SELECT Ename, Eid, Ephone
DE Empleado
¿De Donde = 1000110111001110

this Método es ciertamente sencillo, Pero, Como se mencionó, Carece de


Flexibilidad. EJEMPLO POR, supongamos Que la Tabla de Empleados Contiene
ONU atributo sueldo y el usuario DESEA Recuperar todos los registros para los
sueldos de Menos de $ 70K. No Hay Manera obvia de Hacerlo, ya Que El valor
de atributo para el salario En Cada registro this cifrado. El Conjunto de Valores
cifrados no conservan el Orden de los Valores en el atributo originales.
UNA proporcionar Más Flexibilidad, se toma el siguiente approach. Cada
registro (fila) De Una tabla en la BASE DE DATOS ESTA cifrada Como bloque
de la ONU. Haciendo Referencia al modelo abstracto De Una BASE DE DATOS
relacional enFigura 5.3, Cada fila Ri Se Trata de Como contiguo bloque de la
ONU
Segundoyo = (xi1 } xi2 } hacer} Xim). Por lo Tanto, Cada valor de atributo
en Ri, INDEPENDIENTEMENTE de Si Se
ES texto o numérico, Se Trata Como una Secuencia de bits y todos los Valores
de atributo para esa fila se concatenan juntos para Formar ONU binario bloque en
solitario. Toda La Fila ESTA cifrado, expresado Como E (k, Bi) = E (k, (xi1} xi2} c}
Xim)). Para Ayudar en la Recuperación de Datos, atribuyen índices asociados ESTÁN A
Cada tabla. Para algunos adj o todos los Atributos sí Crear otro valor de índice. Para Cada
fila Ri de la base de pecado cifrar, el mapeo es la siguiente (verFigura 5.10):
(Xi1, xi2, c, Xim) S [E (k, Bi), Ii1,
II2, c, IiM]
por Cada fila de la BASE DE DATOS original, heno Una fila en la BASE
DE DATOS cifrada. Los Valores de índice se proporcionan Para Ayudar en la
Recuperación de Datos. Podemos procedure de la siguiente Manera. PARA
CUALQUIER atributo, la gama de Valores de atributo se divide en Un Conjunto
de Particiones sin superpuestas Que abarcan todos los Valores Posibles, y se le
asigna de las Naciones Unidas valor de índice párrafo Cada partición.
Colina baja 5.3 proporciona ONU example of this mapeo. Valores Supongamos
identification de empleado (EER) se encuentran en el Intervalo [1, 1000]. De
Podemos dividir Estós Valores ES Cinco Particiones: [1, 200], [201, 400], [401,
600], [601, 800] y [801, 1000]; un Continuación, Asignar Valores de índice 1, 2, 3, 4,
y 5, respectivamente. Para Un campo de texto, de Podemos derivar ONU índice de la
primera letra del valor del atributo. Para el atributo ename, Asignemos índice 1 a los
Valores Que empiecen con A o B, el índice 2 a los Valores Que Comienzan con C o
D, y asi sucesivamente. Esquemas de partición se pueden SIMILARES Como utilizar
para Cada Uno de los Atributos.Colina baja 5.3b Muestra La tabla Resultante. Los
Valores de la primera columna representan los Valores cifrados párrafo Cada fila.
Los Valores reales dependen del algoritmo de cifrado y la clave de cifrado. El
restante
Cifrado 5.7 / Base de Datos 197

mi(K, yo yo yo1
B1) 1I 1j M

mi(K, yo y yos
Bi) yo1 oi oja
j

mi(K, yo yo yoN
BN) Nort Nue uevo
Bi = (XI1 || xi2 || ...
e1
|| Xim) va Méji
Jer co
Figura 5.10 Esquema de cifrado para laseyBASE DE DATOS de Figura 5.3
198 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad
Tabla 5.3 EJEMPLO BASE DE DATOS cifrada
(a) Tabla empleado
Eid ename Salario addr Hiz
o
23 tom 70K Arce 45
860 María 60K Director 83
de escuela
320 Juan 50K Río 50
875 Alemán 55K Hopewell 92

(b) Tabla de Empleados cifrados con índices


mi(k, B) I I I I (dir) Yo si)
(DIA) (ename) (salario)
1100110011001011.. . 1 10 3 7 4
0111000111001010.. . 5 7 2 7 8
1100010010001101.. . 2 5 1 9 5
0011010011111101.. . 5 5 2 4 9

Columnas muestran los Valores de índice para los Valores de atributo


correspondientes. Los ciones mapeo fun- Entre los Valores de Atributos y
Valores de índice constituyen metadatos Que se almacenan en las ubicaciones del
cliente y titular de los Datos, Pero No En El Servidor.
Disposición this proporciona La Recuperación de Datos Más Eficiente.
Supongamos, por Ejemplo, la ONU usuario Solicita registros para Todos los
Empleados con Eid 6 300. La Consulta Procesiones Solicitudes Sor Todos Los
registros con i (EID) = 2. Estós hijo por el Servidor devueltos. El Procesador de
Consultas descifra TODAS LAS filas devueltas, descarta Aquellas Que No
coinciden con el original,
Devuelve consulta y los Datos sin cifrar Solicitados al usuario.
Los Esquema de indexación se acaba de describir sin proporcionar Una
Cierta Cantidad de informa- ción de un atacante de la ONU, un sable, Una
ordenación Relativa aproximada de filas por un dado atributo. Para ocultar Dicha
Información, el Orden de los índices Puede del aleatorizados SER. Por ejem- plo,
los Valores de EER podrian Ser Divididos por mapeo de [1, 200], [201, 400],
[401, 600],
[601, 800] y [801, 1000] en 2, 3, 5, 1, y 4, respectivamente. DEBIDO una cola los
metadatos no se almacenan en el Servidor, atacante de la ONU no podria Obtener this
form Desde el Servidor.Otras Características sí pueden: Añadir a this Esquema. Para
aumentar ¿La Eficiencia de acceso-
ing registros por medio de la clave principal de, El Sistema podria Como utilizar
el valor cifrado de los Valores de atributo de clave primaria, o de hash valor de la
ONU. En CUALQUIER Caso, La Fila Correspondiente al valor de la clave
primaria se Pudo Recuperar de forma individual. Diferentes contradictorio de la
BASE DE DATOS podrian Ser cifrado con claves Diferentes, por Lo Que Los
Usuarios Sólo tendrian acceso a la parte de la Base de Datos para Los Que tenian
Cifrado 5.7 / Base de Datos 199
La Clave de descifrado. Este Último Esquema se podria incorporar En un
Sistema de Control de Acceso BASADO EN papeles.

5.8 DATOS CENTRO DE SEGURIDAD

Un Centro de Datos is an installation de la Empresa Que Alberga Un gran


Número de Servidores, Dispositivos De Almacenamiento y conmutadores de rojo
y Equipos. El Número de Servidores y Dispositivos De Almacenamiento Se
Puede ejecutar en las Decenas de miles personajes ES Instalación de Una Sola
de. Los EJEMPLOS de usos párrafo
5,8 / DATOS Centro de Seguridad
195
ESTOS Grandes Centros de Datos INCLUYEN los Proveedores de Servicios en
la nube, motores de búsqueda, Grandes Instalaciones de Investigación
Científicos, y Las instalaciones de TI para Grandes Empresas. Un Centro de
Datos INCLUYE en General de Alimentación redundantes o de copia de
Seguridad de Potencia, Conexiones de red redundantes, Controles del Medio
Ambiente de (POR EJEMPLO, de Aire Acondicionado y de extinción de
incendios), y Varios Dispositivos de Seguridad. Grandes Centros de Datos hijo
Operaciones Industriales un gran escala utilizando tanta electricidad Como una
Pequeña Ciudad. Un Centro de Datos PUEDE Ocupar Una habitación de edificio
de la ONU, uno o mas pisos, o la ONU edificio entero.

Elementos del Centro de Datos


Figura 5.11 Ilustra Los Elementos Clave De Una configuration de Gran Centro
de Datos. La mayor parte del equipo En un gran Centro de Datos es en forma de
pilas de Servidores y Almacenamiento modula los montados en bastidores
abiertos o armarios cerrados, Que por lo general, se colocan en filas Individuales
Que Forman Corredores Entre Ellos. ESTO permite el acceso a la parte Delantera
y trasera de Cada estante o gabinete. Tipicamente, los módulos Individuales
ESTÁN Equipados con 40 Gbps puertos Ethernet de 10 Gbps o para Manejar el
tráfico masivo Hacia y desde ESTOS Servidores. También Tipicamente, Cada
bastidor TIENE UNA O DOS 10, 40 o conmutadores Ethernet de 100 Gbps para
interconectar todos los Servidores y proporcionar conectividad con el resto de la
Instalación. Los Interruptores hijo de una de menudo
196 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad
Red de
bastidores Internet o
ADICIONALES de la
Empresa
N*
100GbE
Red de
Router / Router /
Internet o interruptor
Firewall Eth Firewall
de la
Empresa

interruptor interruptor
100GbE Eth Eth

10
GbE
interruptor interruptor interruptor
y 40 Eth Eth Eth
GbE

O servidor O servidor O servidor


de de de
Almacenam Almacenam Almacenam
iento de iento de iento de
estante estante estante
Figura 5.11 Elementos clave del
Centro de Datos
5,8 / DATOS Centro de Seguridad
197
Montado en el bastidor y se Hace Referencia Como Interruptores top-of-rack
(RPT). El término TdR se ha Convertido en sinónimo de interruptor de Acceso al
Servidor, INCLUSO Si No SE Encuentra “el estante de secado.” Centros de
Datos Muy Grandes, cuentos Como los Proveedores de nube, requieren
Interruptores Que Operan a 100 Gbps para dar hoy toda la Interconexión de los
bastidores del Servidor y para proporcionar una Adecuada padre capacitivos para
la Conexión Fuera del sitio un Través de Interfaz de Controladores rojos (NIC) en
los routers o cortafuegos.
Los Elementos clave no se Muestra en Figura 5.11 SE Conecta el cableado y la
cruz, de Podemos Que enumerar de la siguiente Manera:
• Cruz del SE conectan: UNA INSTALACION Que permite La terminación
de los cables, Asi Como Do de Interconexión Otros estafadores cables o
equipos.
• El cableado horizontal: Any cableado Que se utilizació párrafo Conectar
armario de cableado de la ONU Piso a Placas Pared En Las Áreas de
Trabajo Para proporcionar a la Red de área local (LAN) para conectar
Presentación CAE Servidores y Otros equipos digitales a la roja. El término
horizontal se utilizació DEBIDO una que tal cableado se ejecuta
tipicamente A lo largo del techo o el suelo.
• Cableado troncal: Corre Entre las habitaciones ¿O Recintos de Centros de
Datos y el punto principal de las Naciones Unidas Edificio de Conexión
Cruzada.

Consideraciones Centro de Datos de Seguridad


Todas las Amenazas de Seguridad y contramedidas discutidos En Este Texto hijo
Relevantes En El contexto de grandes Centros de Datos, y de Hecho lo es
Español Este contexto Que los Riesgos Son Mas agudos. Tengamos en Cuenta
Que El Centro de Datos Alberga Grandes Cantidades de Datos Que Son:
• SITUADO En un espacio físico REDUCIDO.
• interconectados cables Con de Conexión Directa.
• Accesibles un Través de Conexiones Externas de color rojo, por Lo Que
Una Vez pasada la frontera, Una Amenaza se plantaron un Todo el
Complejo.
• Tipicamente representativo de la Mayor activo Único de la Empresa.
Así, la Seguridad del Centro de Datos Es Una Prioridad PARA
CUALQUIER Empresa Con Un Gran Centro de Datos. ALGUNAS de las
Amenazas Importantes a Tener en Cuenta hijo los Siguientes:
• Negación de servicio
• Amenazas persistentes Avanzadas de Ataques dirigidos
• Violaciones a la privacidad
• Manipulación de Aplicaciones cuentos Como la inyección de SQL
• Malware
• Amenazas a la Seguridad Física
198 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad Figura 5.12 Pone de aliviar Aspectos Importantes de la Seguridad de
Centros de Datos, representados Como un modelo de Cuatro Capas. La
Seguridad del Sitio se refiere Principalmente a la Seguridad Física de TODO El
Sitio, incluyendo EL Edificio Que Alberga El Centro de Datos, Así Como El
USO de los Servicios redundantes. La Seguridad Física del propio Centro de
Datos INCLUYE barreras de entrada, cuentos de Como mantrap ONU (Espacio
de Control de Acceso de Una Sola Persona de doble puerta) Acoplado
5,8 / DATOS Centro de Seguridad
199
Segurid Encriptación, la Política de
Contraseñas, IDs de Seguridad,
ad de Protección de Datos (ISO 27002), el
Datos enmascaramiento de Datos,
retención de Datos, etc.

rojo Cortafuegos, anti-virus,


Segurid intrusiones de detection /
ad prevention, Autenticación,
etc.

Segurida Vigilancia, Esclusas, dos / tres


d Física Factores de Autenticación, Zonas de
Seguridad, ISO 27001/27002, etc.

Segurid Los contratiempos, Servicios


Figura 5.12 Modelo de Públicos
ad del Centro redundantes
de Datos dePara Pa,
Seguridad
Sitio Zonas Buuer, barreras de choque,
Puntos de entrada, etc.
con Técnicas de Autenticación para el acceso físico. La Seguridad Física también
PUEDE Incluir personal de Seguridad, Sistemas de Vigilancia y Otras Medidas
Que seran discutidas en el Capítulo 16. Seguridad en la Red ES Extremadamente
adicional Los En Una Instalación En La Que Una gran coleccion de cuentos:
activos se concentran en Un Solo Lugar y ac- cesible POR Externa Conexiones
de red. Tipicamente, la ONU Centro de Datos Grande empleará TODAS LAS
Técnicas de Seguridad de discutidos rojos En Este texto. Por Ultimo, la
Seguridad de los Datos en sí, un Diferencia de los Sistemas en Los Que Residen,
Implica Técnicas discutidas en el resto de Este Capítulo.

TIA-492
Los Asociación de la Industria de Telecomunicaciones (TIA) norma TIA-492
(Estándar de Telecomunicaciones Infraestructura para Centros de Datos)
ESPECIFICA las exigencias Mínimas de la infraestructura de
telecomunicaciones de los Centros de Datos. Los Temas Cubiertos INCLUYEN
los Siguientes:
• Red de Arquitectura
• Diseño electrico
• Almacenamiento de Archivos, Copia de Seguridad y archivado
• La redundancia del Sistema
• Control de Acceso a la Red y la Seguridad
• Gestión de Base de Datos
• Web hospedaje
• Alojamiento de Aplicaciones
• La Distribución de Contenidos
• ambiental de control
• Protección de la contra Riesgos Físicos (incendios, Inundaciones, tormentas de viento y)
• La Administración de Energía
200 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad
Los Previsto POR zonas de La Norma Funcionan, Lo Que ayuda a definir el
equipo lugar- ción Basada en el diseño jerárquica de Espacios Comerciales
Regulares. This arquitectura se Anticipa Crecimiento y Ayuda Crear un Un
ambiente En El Que se pueden buscas? Aplicaciones y Servidores y Mejorar con
El Tiempo de inactividad Mínimo. Este Enfoque estandarizado Soporta Una Alta
Disponibilidad y Un entorno uniforme para la Implementación de Medidas de
Seguridad. TIA-942 ESPECIFICA Que Un Centro de Datos Dębe Incluir las
Siguientes áreas Funcionales (verFigura 5.13):
• Sala de Ordenadores: Porción del Centro de Datos Que Alberga el equipo de Procesamiento
Fecha.
• Sala de entrada: Una o mas habitaciones ¿entrada de la casa equipo
externo Proveedor de Acceso a la roja,: Además de proporcionar la Interfaz
Entre el equipo de La Sala de Ordenadores y Los Sistemas de cableado de
la Empresa. La Separación física de la sala de entrada de la Sala de
Ordenadores proporciona Una mejor direction seguridad.
• Principal área de Distribución: Una zona céntrica Que Alberga La
Principal cruzada Conectar, Asi Como los routers de núcleo y Los
Interruptores de LAN y SAN (Storage Area Network) Infraestructuras.
• área de Distribución horizontal (HDA): Sirve Como el Punto de Distribución
para el cableado hori- zontal Y CASAS Conexiones cruzadas y Equipos
Activos Para La Distribución de cable a la Zona de Distribución de Equipos.

Los entrada de la Los transportistas


transpo sala
oficinas, rtistas
(Equipos Carrier y
demarcación)
Las Operaciones
del Centro de
Apoyo
habitaciones ¿ Sala de
Área Dist Ordenado
director (Routers, res
espina dorsal LAN
Telecom
/ SAN Interruptores
habitación PBX, multiplexores
(Oficina y Centro de M13)
Operaciones,
conmutadores LAN)
5,8 / DATOS Centro de Seguridad
201
Horiz Área Dist
(LAN / SAN /
KVM)
Horiz Área Dist Horiz Área Dist
(LAN / SAN / (LAN / SAN /
Zona Dist KVM) KVM)

Equipar Dist Equipar Dist Equipar Dist


Área Área Área
(Rack / Gabinete) (Rack / Gabinete) (Rack / Gabinete)

Columna vertebral cablingHorizontal cableado

Figura 5.13 TIA-942 Centro de Datos Cumple Mostrando las Principales de Áreas Funcionales
202 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad
Tabla 5.4 Centro de Datos Niveles definidos en la norma TIA-942

Nive Diseño de Disponibilidad / Tiempo de


l Sistemas inactividad anual
1 • Susceptibles a Las Interrupciones de la Actividad del tanto
Planificadas y no Planificadas
• Camino Único párrafo y Distribución de Energía de
Enfriamiento, No hay Componentes redundantes
99,671% / 28,8 horas
• Puede del o No Puede Haber planteado piso, UPS o generador
• Toma 3 meses para Poner en Práctica
• Dębe Ser Cerrado por completo para Realizar el
mantenimiento preventivo
2 • Menos susceptible a las Interrupciones de la
Actividad del tanto Planificadas y no Planificadas
• Camino Único párrafo y Distribución de Energía de
Enfriamiento, INCLUYE Componentes redundantes
99,741% / 22.0 horas
• Incluye suelo técnico, UPS y generador
• Toma 3 a 6 meses para Poner en Práctica
• Mantenimiento de la Ruta de Alimentación y de
otras contradictorio de la infraestructura
Requiere ONU Cierre de Procesamiento
3 • Permite la Actividad planificada sin interrumpir el
Funcionamiento del hardware del Ordenador, Pero no
hay eventos planificados, provocarán la interrupción
• Múltiples Rutas de Distribución y Potencia de
Enfriamiento, Pero con Solamente una trayectoria activa, 99 982% / 1,6 hora
INCLUYE Componentes redundantes
• Toma 15 un 20 meses para implementar
• Incluye piso Elevado y Suficiente Capacidad y
Distribución Para Llevar carga Por una ruta MIENTRAS
Realice el mantenimiento de la otra
4 • Actividad planificada no interrumpe la carga Crítica y
Centro de Datos PUEDE sostener por lo Menos Un caso
peor acontecimiento imprevisto, sin impacto Crítica carga
99 995% / 0,4 hora
• potencia activa múltiple y Refrigeración Rutas de
Distribución, INCLUYE Componentes redundantes
• Toma 15 un 20 meses para implementar

• área de Distribución de equipos (EDA): Los Descripción de la ubicación


de los gabinetes de equipos y bastidores, con los cables horizontales Que
Terminan con Paneles de Conexión.
• área de Distribución Zona (ZDA): Un Punto de Interconexión opcional en
el cableado hori- zontal Entre el HDA y EDA. El ZDA PUEDE ACTUAR
Como un Punto de Consolidación Para La Flexibilidad de reconfiguración o
para el Alojamiento del equipo de Independiente cuentos de Como
Ordenadores centrales.
Una parte Importante de la TIA-942, especialmente relevante para la
direction seguridad informática, es el Concepto de Fiabilidad por levels. La
5,8 / DATOS Centro de Seguridad
Norma definir Cuatro Niveles, en Como Se203
MuestraColina baja 5.4. Cada Uno
párrafo de los Cuatro Niveles, TIA-942 describen Detallada de arquitectura,
Seguridad, Eléctricos, Mecánicos, y Las Recomendaciones de
Telecomunicaciones cuentos Que Cuanto mar Alcalde El Nivel, Más Alta Será la
Disponibilidad.
204 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad
5.9 PALABRAS CLAVE, Preguntas, Y PROBLEMAS
Términos clave

atributo Ataque en banda Tiempo de ejecucion de la


SQL Ciega inferencia canal prevention Structured Query
autorizaciones en cascada de inferencia Language
inyección Compromiso deductiva ataque (SQL)
Centro de Fuera de la banda La inyección de SQL (SQLi)
Datos Base de de Ataque Ataque tautología
Datos de partición de Inserción Ver
Intercambio consulta parametrizada tupla
de Datos Consultas a cuestas
cifrado de la BASE DE primaria clave
DATOS de Control de Acceso lenguaje de
de BASE DE DATOS consulta de
Sistema de Gestión de Base de conjunto de
Datos (DBMS) Consultas
detection de Codificación RESPECTO
defensiva manage- la Base de Datos
Al final de de la Línea de relacional de base de Datos
clave externa comentario Relacional
ción del Sistema (RDBMS)

Preguntas de revisión
5.1 Definir la BASE DE DATOS: términos, Sistema de Gestión de Base de Datos y lenguaje de
consulta.
5.2 ¿Que Es Una BASE DE DATOS relacional y Cuales hijo SUS Principales Ingredientes?
5.3 ¿Que Es Un ataque de inyección SQL?
5.4 ¿Cuales hijo Las Consecuencias De un ataque de inyección SQL?
5.5 Enumerar las CategorÃas párrafo AGRUPAR los Diferentes Tipos de Ataques SQLi.
5.6 ¿Por que se considera RBAC fit Para El Control de Acceso de BASE DE DATOS?
5.7 Indicar los Diferentes Niveles en Los Que el cifrado Se Puede APLICAR una ANU BASE DE
DATOS.
5.8 Enumerar y Definir Brevemente Cuatro Niveles de Datos Sobre la Disponibilidad de Centros.

Problemas
5.1 Considère de base Una de Datos Simplificado Para Una Organización Que
INCLUYE Información de los Departamentos de SeV ERALES (IDENTIDAD,
nombre, Gerente, El Numero de Empleados) Y de los Directivos Y Empleados de
los Departamentos respectivos. Sugieren base de uña de Datos Relacional para la
gestión efi- ciente this form.
5.2 Los siguiente tabla proporciona Información Sobre los Estudiantes de un club de la
programación de computadoras.

Identificati Nombre Nivel de años


on del Habilidad
Estudiante
5,8 / DATOS Centro de Seguridad
99 205
palanqueta principiante 20
36 David Experimenta 22
do
82 Oliver Medio 21
23 Alicia Experimenta 21
do
5,9 / Términos clave, Preguntas de repaso y Problemas 201
Los director clave es estudiante-ID. Explicar si o no Cada Una de las Siguientes
filas se pueden contactar con la mesa.

Identificati Nomb Nivel de años


on del re Habilidad
Estudiante
91 tom Experimenta 22
do
36 David Experimenta 21
do
Agente principiante 20
de
mudanz
as

5.3 Los siguiente tabla Muestra Una Lista de Coches Y Sus Dueños Que es utilizado
Por una estación de servicio de automóviles.

c_name Modelo Empresa DOP Propietari O_Phone O_E


o electrónico
Camaro 2LS Chevrolet 09.09.06 David 2132133 dd@abc.com
Halcón XR6 Vado 02.21.07 David 1245513 dv@abc.com
Cruze LT Chevrolet 5/12/12 David 1452321 dd@abc.com
Camaro 2LT Chevrolet 7/6/10 Alicia 3253254 al@ab.com
Coche de Coche de Tesla 1/20/13 David 2353253 dv@abc.com
turismo turismo
Atención S Vado 4/10/12 Oliver 3251666 ol@abc.com
Modelo X Modelo X Tesla 03.09.14 Agente de 7567443 bb@abc.com
mudanzas

a. Describir los Problemas Que pueden ocurrir Cuando Se utilizació this tabla.
b. Romper la tabla en dos tablas de Una Manera Que Soluciona los Problemas.
5.4 Nosotros Crear desee Una tabla de Empleados Que Contiene El Número de
identificación del empleado, nombre, un apellido, y el departamento. Escribir Una
instrucción SQL ESTO para lograr v.
5.5 Considéré Una instrucción SQL:
SELECT id, Nombre y Apellidos de los Autores de DONDE nombre 'David' y el
ID 939
a. Rápido ¿Cuál es this Declaración Tratando de buscar from La Base de Datos?
b. Suponga Que Los Campos Nombre y ID ESTÁN Siendo Reunidos Desde la
entrada proporcionada por el usuario, y supongamos Que El usuario Responde
con:
Nombre: David '; Soltar los Empleados de
mesa - - ID: 939:
Rápido ¿Cuál Será el efecto?
c. Ahora supongamos Que El usuario
Responde con: Nombre: 'O 9 9 - -
ID: 939
Rápido ¿Cuál Será el efecto?
5.6 Figura 5.14 Muestra de la ONU fragmento de código Que APLICACIÓN La
202 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad Funcionalidad de Inicio de Sesión Para Una Aplicación de Base de Datos. El
código crea dinamicamente Una consulta SQL y lo somete una base de uña de
Datos.
a. Supongamos Que Un usuario Envía usuario, Contraseña, Y Como el perno de
Mike, Mike @ 256 y 4242. La Consulta de SQL Escribir Que se géneros.
b. Si, en Lugar de Las Entradas Anteriores, el usuario Envía párrafo Cada Uno de
los campos de usuario, Contraseña y PIN:
'O ''='
¿Cual es el efecto?
5,9 / Términos clave, Preguntas de repaso y Problemas 203

1. de Inicio de Sesión de cuerdas, Contraseña, PIN,


consulta
2. login = getParameter ( “login”);
3. password = getParameter ( “pass”);
3. pin = getParameter ( “pin”);
4. conn.createConnection de Conexión ( “MyDatabase”);
5. query = “SELECT cuentas de los Usuarios de DONDE
login = '” +
6. entrada + “ 'Y pase ='” + Contraseña +
7. “'Y el pin =” + pin;
8.
10 Resultado ResultSet = conn.executeQuery (consulta);
displayAccounts
9.
11 Si
12 (A(RESULTADO);
consecuencia! = NULL)
persona displayAuthFailed
();
Figura 5.14 Código Para La Generación De Una consulta SQL

5.7 Los EXISTE operador se utilizació para comprobar v La existencia f de registro en


any Una subconsulta. Supongamos Que Usted SABE Que Un usuario con el
nombre de usuario Mike Existe en la tabla de usuario, Pero no se sabe su
Contraseña. Se adhieran al siguiente en el Campo de Entrada:
'O Existe (SELECT * FROM Usuarios DONDE nombre '% Mike' y la Contraseña
LIKE '% t') -
¿Cual es el efecto?
5.8 Supongamos A, B, y C conceder Ciertos Privilegios en la Tabla de Empleados una
X, Que un su vez les otorga una Y, Como se Muestra en la siguiente tabla, CON
Las Entradas numérico Que indica el Momento de la concesión:

Identifica Colina cedente MIRADA Insertar BORRA


ción de baja LASCIV R
Usuario A
X empleado UNA 15 15 -
X empleado Segundo 20 - 20
Y empleado X 25 25 25
X empleado hacer 30 - 30

En el Tiempo t = 35, B EMITE El Comando revocar Todos los Derechos Sobre los
Empleados por X. ¿QUE Derechos de Acceso, en su Caso, de Y Dębe Ser
revocado, utilizando las Convenciones definidas en Sección 5.2?
5.9 Figura 5.15 Muestra Una Secuencia de Operaciones de subvención PARA UN
Específico acceso a la Derecha En Una Mesa. Supongamos en T = 70, B revoca el
derecho de acceso a partir de C. Usando las Convenciones definidas enSección 5.2,
Mostrar el diagrama Resultante de dependencias derecho de acceso.

S t=
e 30
t =g40 t = 50
U u h re m
N n a i
d t=
A c
o 60
er
Figura 5.15 Los Privilegios en cascada
204 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad
5.10 Figura 5.16 Muestra Una alternativa Convención para el Manejo de la revocación
del tipo ilustró en Figura 5.6.

t = 70
Age Ellen Jim
nte
de
mud David t = 60
ana Franc
anz o
as
Chris

t= t = 70
Age 40 Ellen Jim
nte
de
ana mud David t = 60 Franc
anz o
as
Chris

Figura 5.16 Bob revoca Privilegios de David, Segunda Versión

a. Describir la ONU algoritmo de revocación Que se fit una cifra this.


b. Compare las Ventajas y desventajas relativas of this method Método para el
original, ilustrada en la Figura 5.6.
5.11 Considéré de el Departamento de Partes de la ONU contratista de plomería. El
departamento Mantiene la base Una de Datos de inventario Que INCLUYE
Información Sobre las piezas (Número de pieza, la Descripción, el color, el
Tamaño, El Número en stock, etc.) e Información Sobre Proveedores de los Cuales
se obtienen piezas (nombre, Dirección, en espera de Órdenes de compra, Órdenes
de compra Cerradas, etc.). En un Sistema de RBAC, papeles supongamos Que se
definen párrafo empleado de cuentas una Pagar, ONU installation capataz, y Un
empleado de Recepción. Para Función Cada, Indican Los Elementos Que Deben
Ser ac- cesible para el acceso De Solo Lectura y de lectura-escritura.
5.12 Imagínese Que Usted Es El Administrador de Base de Datos para la ONU Sistema
de Transporte Militar. Tiene Un cargamento tabla nombrada en la base Do de
Datos Que Contiene Información Sobre los Diferentes bodegas de carga disponible
En Cada avión saliente. Cada fila de la tabla Representa solo un Envío y Las Listas
de los Contenidos de Que El ENVÍO y el Número de Identificación del vuelo. Sólo
permite en sí ONU ENVÍO bodega por Cada. El Número de Identificación del
vuelo Puede Ser Una Referencia cruzada con de otras tablas para determinar S. El
Origen, destino, tiempo de vuelo, Y SIMILARES Datos. La Mesa de carga
Aparece Como Sigue:

Identifica bodega de Contenido Clasificación


tion de carga
Vuelo
1254 UNA Botas Sin
Clasificación
1254 Segundo armas de fuego Sin
Clasificación
5,9 / Términos clave, Preguntas de repaso y Problemas 205
1254 hacer Bomba atómica Ultra Secreto
1254 re mantequilla Sin
Clasificación
206 CAPÍTULO 5 / Base de Datos y los Datos de Centro de
Seguridad
Supongamos Que DOS papeles definidos estan: Función 1 Tiene Derechos de acceso
completo a la mesa de carga. Rol 2 Tiene Derechos de acceso completo solo para las
filas de la tabla en La que El Campo Tiene El Valor Clasificación Sin classification.
Describir el Escenario de la ONU en el Que Un usuario asignado a la función f 2
utilizació Una o mas Consultas para determinar S. Que Hay Un cargamento
Clasificado, a bordo del avión.
5.13 Los Usuarios hulkhogan y de pompas fúnebres no Tienen el acceso
SELECCIONAR derecho de la tabla invenciones tario y en La Tabla de Artículos.
Estós cuadros were CREADOS por y Son propiedad de Usuario Bruno-s. Escribir
los Comandos SQL Que permitan Bruno-s para conceder acceso SELECT párrafo
Estas tablas para hulkhogan y funeraria.
5.14 En the example de section 5.6 Que Implica la Adicion De Una columna de Fecha
de Inicio de la ONU un conjunto de tablas Que definen LA INFORMACIÓN del
Empleado, se Afirmo Que Una forma sencilla de ELIMINAR el canal de
inferencia es: Añadir la columna de la Fecha de inicio de la tabla Empleados.
Sugerir Otra Manera.
5.15 Considéré Una tabla de BASE DE DATOS Que INCLUYE salario atributo de la
ONU. Supongamos Que la suma de tres Consultas, Contar y Máximo (en ESE
Orden) se Realizan en el atributo sueldo, Toda Condición de Que El Mismo
predicado la Participación de Otros Atributos. Es factible de, la ONU subconjunto
Específico de registros se Selecciona y Las Tres Consultas se Realizan en ESE
subconjunto. Supongamos Que Los Primeros dos Consultas respondidas hijo, y La
Tercera consulta se le Niega. Se FILTRO Ninguna information?

Potrebbero piacerti anche