Una revisión de las tecnologías de intrusión contra piratas informáticos del sistema de bases de datos
1. Introducción
Con el rápido desarrollo de la tecnología informática, las bases de datos se utilizan ampliamente en diversos campos, pero esto conlleva problemas de seguridad de los datos. Los problemas de seguridad de una gran cantidad de datos en las bases de datos de varios sistemas de aplicaciones, así como los problemas de antirrobo y antimanipulación de datos confidenciales, han atraído cada vez más la atención de la gente. Como agregación de información, el sistema de base de datos es el componente central del sistema de información informática. Su seguridad es crucial y está relacionada con el ascenso y la caída de las empresas y la seguridad nacional. Por lo tanto, cómo garantizar eficazmente la seguridad de los sistemas de bases de datos y lograr la confidencialidad, integridad y eficacia de los datos se ha convertido en uno de los temas importantes explorados e investigados por las personas en la industria. Este artículo analiza brevemente la seguridad y la tecnología anti-intrusión.
Además de depender de su propio mecanismo de seguridad interno, la seguridad del sistema de base de datos también está estrechamente relacionada con factores como el entorno de la red externa, el entorno de la aplicación y la calidad de los empleados. El marco de seguridad del sistema de base de datos se puede dividir en tres niveles:
⑴ nivel del sistema de red;
⑵ nivel del sistema operativo host
⑶ gestión de la base de datos; nivel del sistema.
Estos tres niveles constituyen el sistema de seguridad del sistema de base de datos. La relación con la seguridad de los datos es cada vez más estrecha y la importancia de la prevención también se fortalece gradualmente de afuera hacia adentro. En el interior, se garantiza la seguridad de los datos. A continuación se analizan los tres niveles del marco de seguridad.
2. Tecnología de seguridad a nivel del sistema de red
En un sentido amplio, la seguridad de la base de datos depende primero del sistema de red. Con el desarrollo y la popularización de Internet, cada vez más empresas están transfiriendo sus negocios principales a Internet y han surgido varios sistemas de aplicaciones de bases de datos basados en red para proporcionar diversos servicios de información a los usuarios de la red. Se puede decir que el sistema de red es el entorno externo y la base de las aplicaciones de bases de datos. Un sistema de bases de datos no puede desempeñar su poderosa función sin el apoyo del sistema de redes. Los usuarios del sistema de bases de datos (como los usuarios remotos y los usuarios distribuidos) también deben hacerlo. acceder a los datos de la base de datos a través de la red. La seguridad del sistema de red es la primera barrera para la seguridad de la base de datos. Las intrusiones externas comienzan con intrusiones en el sistema de red. La intrusión en la red es un conjunto de cualquier actividad de la red que intenta destruir la integridad, confidencialidad o confiabilidad de un sistema de información. Tiene las siguientes características[1]:
a) No hay restricciones geográficas ni de tiempo. y los ataques transfronterizos son posibles. Es tan conveniente como estar en el sitio;
b) Los ataques a través de la red a menudo se mezclan con una gran cantidad de actividades normales de la red y están altamente ocultos;
c) Los métodos de intrusión son más ocultos y complejos.
Las amenazas que enfrenta el entorno abierto de los sistemas de redes informáticas incluyen principalmente los siguientes tipos [2]: a) Enmascaramiento; b) Reproducción; c) Modificación del mensaje; d) Denegación de servicio; Trapdoor; f) caballo de Troya; g) ataques como Tunneling Attack, ataques de software de aplicaciones, etc. Estas amenazas a la seguridad están siempre y en todas partes, por lo que se deben tomar medidas efectivas para garantizar la seguridad del sistema.
Desde una perspectiva técnica, existen muchos tipos de tecnologías de prevención de seguridad a nivel del sistema de red, que se pueden dividir a grandes rasgos en firewalls, detección de intrusiones, tecnologías colaborativas de detección de intrusiones, etc.
⑴ Cortafuegos. El firewall es la tecnología de prevención más utilizada. Como primera línea de defensa del sistema, su función principal es monitorear los canales de acceso entre redes confiables y no confiables. Puede formar una barrera protectora entre las redes internas y externas, interceptar el acceso ilegal desde el exterior e impedir el acceso a información interna. . fuga, pero no puede evitar operaciones ilegales desde dentro de la red. Determina si interceptar el flujo de información entrante y saliente en función de reglas preestablecidas, pero no puede identificar dinámicamente ni ajustar las reglas de forma adaptativa, por lo que su grado de inteligencia es muy limitado. Hay tres tipos principales de tecnologías de firewall: filtro de paquetes, proxy e inspección de estado. Los productos de firewall modernos suelen utilizar una combinación de estas tecnologías.
⑵Detección de intrusiones.
La detección de intrusiones (IDS - Sistema de detección de intrusiones) es una tecnología de prevención desarrollada en los últimos años. Adopta de manera integral tecnología estadística, métodos de reglas, tecnología de comunicación de red, inteligencia artificial, criptografía, razonamiento y otras tecnologías y métodos. Las redes y los sistemas informáticos muestran signos de intrusión o abuso. En 1987, Derothy Denning propuso por primera vez una idea de detección de intrusiones. Después de un desarrollo y mejora continuos, el sistema IDS se ha convertido en una parte importante del sistema de defensa de seguridad como una solución estándar para monitorear e identificar ataques.
Las técnicas de análisis utilizadas en la detección de intrusiones se pueden dividir en tres categorías: firma, estadísticas y análisis de integridad de datos.
①Método de análisis de firma. Se utiliza principalmente para detectar ataques a debilidades conocidas del sistema. La gente resume su firma del patrón de ataque y la escribe en el código del sistema IDS. El análisis de firmas es en realidad una operación de coincidencia de plantillas.
②Método de análisis estadístico. Utiliza estadísticas como base teórica y los patrones de acción observados bajo el uso normal del sistema para determinar si una acción se desvía del camino normal.
③Método de análisis de integridad de datos. Basándose en la criptografía, se puede verificar si un archivo u objeto ha sido modificado por otros.
Los tipos de IDS incluyen sistemas de monitoreo de intrusiones basados en red y host, sistemas de monitoreo de intrusiones basados en características y anormales, sistemas de monitoreo de intrusiones en tiempo real y no real, etc. 1].
⑶Tecnología colaborativa de monitoreo de intrusiones
Los sistemas de monitoreo de intrusiones independientes no pueden monitorear y responder de manera efectiva a diversas actividades de intrusión generalizadas. Para compensar las deficiencias de la operación independiente, la idea de. Se propuso un sistema colaborativo de detección de intrusos. En el sistema colaborativo de detección de intrusiones, IDS se basa en una especificación unificada, los componentes de detección de intrusiones intercambian información automáticamente y se obtiene un monitoreo efectivo de las intrusiones a través del intercambio de información, que se puede aplicar a diferentes entornos de red [3].
3. Tecnología de seguridad de la capa del sistema operativo host
El sistema operativo es la plataforma operativa de un sistema de base de datos grande y proporciona un cierto grado de protección de seguridad para el sistema de base de datos. En la actualidad, la mayoría de las plataformas de sistemas operativos se concentran en Windows NT y Unix, y los niveles de seguridad suelen ser C1 y C2. Las principales tecnologías de seguridad incluyen estrategias de seguridad del sistema operativo, estrategias de gestión de seguridad, seguridad de datos, etc.
La política de seguridad del sistema operativo se utiliza para configurar los ajustes de seguridad de la computadora local, incluida la política de contraseñas, la política de bloqueo de cuentas, la política de auditoría, la política de seguridad de IP, la asignación de derechos de usuario, el agente de recuperación para datos cifrados y otros. opciones de seguridad[7]. En concreto, puede reflejarse en cuentas de usuario, contraseñas, derechos de acceso, auditoría, etc.
Cuenta de usuario: La "tarjeta de identificación" que utilizan los usuarios para acceder al sistema. Sólo los usuarios legales tienen cuentas.
Contraseña: La contraseña del usuario proporciona una verificación para que el usuario acceda al sistema.
Permisos de acceso: Especificar permisos de usuario.
Auditoría: realice un seguimiento y registre el comportamiento del usuario para facilitar que los administradores del sistema analicen el acceso al sistema y su posterior rastreo y uso.
Las estrategias de gestión de seguridad se refieren a los métodos y estrategias adoptados por los administradores de red para implementar la gestión de seguridad del sistema. Las estrategias de gestión de seguridad requeridas para diferentes sistemas operativos y entornos de red son generalmente diferentes. El núcleo es garantizar la seguridad del servidor y asignar los derechos de varios usuarios.
La seguridad de los datos se refleja principalmente en los siguientes aspectos: tecnología de cifrado de datos, copia de seguridad de datos, seguridad del almacenamiento de datos, seguridad de la transmisión de datos, etc. Hay muchas tecnologías que se pueden utilizar, incluida la autenticación Kerberos, IPSec, SSL, TLS, VPN (PPTP, L2TP) y otras tecnologías.
4. Tecnología de seguridad jerárquica del sistema de gestión de bases de datos
La seguridad del sistema de base de datos depende en gran medida del sistema de gestión de bases de datos. Si el mecanismo de seguridad del sistema de gestión de bases de datos es muy sólido, el rendimiento de seguridad del sistema de bases de datos será mejor. Los sistemas de gestión de bases de datos relacionales son actualmente populares en el mercado y sus funciones de seguridad son muy débiles, lo que genera ciertas amenazas a la seguridad del sistema de base de datos.
Dado que el sistema de base de datos se administra en forma de archivos bajo el sistema operativo, los intrusos pueden explotar directamente las vulnerabilidades del sistema operativo para robar archivos de la base de datos, o utilizar directamente herramientas del sistema operativo para falsificar o alterar ilegalmente la base de datos. Contenido de los archivos de bases de datos.
Este tipo de peligro oculto es difícil de detectar para los usuarios comunes de bases de datos, y analizar y bloquear este tipo de vulnerabilidad se considera una medida técnica de seguridad de nivel B2 [4].
La tecnología de seguridad jerárquica del sistema de gestión de bases de datos se utiliza principalmente para resolver este problema, es decir, la seguridad de los datos de la base de datos aún se puede garantizar cuando se han superado los dos niveles anteriores. Esto requiere que el sistema de gestión de bases de datos. Debe disponer de un conjunto de potentes mecanismos de seguridad. Una de las formas efectivas de resolver este problema es que el sistema de administración de bases de datos cifre los archivos de la base de datos, lo que dificulta que las personas descifren y lean incluso si, lamentablemente, los datos se filtran o se pierden.
Podemos considerar cifrar los datos de la base de datos en tres niveles diferentes: la capa del sistema operativo, la capa del núcleo del DBMS y la capa externa del DBMS.
⑴ Cifrado a nivel del SO. La relación de datos en el archivo de base de datos no se puede identificar en la capa del sistema operativo, por lo que es imposible generar una clave razonable y también es difícil administrar y usar la clave de manera razonable. Por lo tanto, para bases de datos grandes, es difícil cifrar archivos de bases de datos en la capa del sistema operativo.
⑵El cifrado se implementa en la capa del núcleo DBMS. Este tipo de cifrado significa que los datos se cifran/descifran antes del acceso físico. La ventaja de este método de cifrado es que la función de cifrado es sólida y apenas afectará las funciones del DBMS y puede lograr un acoplamiento perfecto entre la función de cifrado y el sistema de administración de la base de datos. La desventaja es que la operación de cifrado se realiza en el lado del servidor, lo que aumenta la carga en el servidor, y la interfaz entre el DBMS y el cifrador requiere el soporte del desarrollador del DBMS.
Definir herramientas de requisitos de cifrado
DBMS
Sistema de aplicación de base de datos
Cifrador
(software o hardware)
⑶ El cifrado se implementa en la capa externa del DBMS. Un enfoque más práctico es hacer que el sistema de cifrado de la base de datos sea una herramienta externa del DBMS y completar automáticamente el cifrado/descifrado de los datos de la base de datos de acuerdo con los requisitos de cifrado:
Defina el cifrador de la herramienta de requisitos de cifrado
(Software o hardware)
DBMS
Sistema de aplicación de base de datos
Al utilizar este método de cifrado para el cifrado, se pueden realizar operaciones de cifrado/descifrado en el cliente. Su ventaja es que no aumentará la carga en el servidor de la base de datos y puede realizar el cifrado de la transmisión de la red. La desventaja es que la función de cifrado estará sujeta a algunas restricciones y el acoplamiento con el sistema de administración de la base de datos es ligeramente deficiente.
A continuación explicamos con más detalle el principio de implementación de funciones de cifrado en la capa externa del DBMS:
El sistema de cifrado de la base de datos se divide en dos componentes principales con funciones independientes: uno es el diccionario de cifrado programa de gestión, y el otro es el motor de cifrado/descifrado de bases de datos. El sistema de cifrado de bases de datos almacena los requisitos de cifrado específicos del usuario para la información de la base de datos y la información básica en el diccionario de cifrado, e implementa funciones como cifrado, descifrado y conversión de datos de tablas de bases de datos llamando al motor de cifrado/descifrado de datos. El cifrado/descifrado de la información de la base de datos se completa en segundo plano y es transparente para el servidor de la base de datos.
Programa de gestión de diccionario de cifrado
Sistema de cifrado
Programa de aplicación
Motor de cifrado y descifrado de bases de datos
Servidor de bases de datos
Diccionario de cifrado
Datos de usuario
El sistema de cifrado de base de datos implementado de la manera anterior tiene muchas ventajas: en primer lugar, el sistema es completamente transparente para los usuarios finales de la base de datos puede convertir texto sin formato y texto cifrado según sea necesario; en segundo lugar, el sistema de cifrado es completamente independiente del sistema de aplicación de la base de datos y la función de cifrado de datos se puede realizar sin modificar el sistema de aplicación de la base de datos; el cliente y no afectará la eficiencia del servidor de la base de datos.
El motor de cifrado/descifrado de la base de datos es el componente central del sistema de cifrado de la base de datos. Está ubicado entre la aplicación y el servidor de la base de datos. Es responsable de completar el cifrado/descifrado de la información de la base de datos en segundo plano. lo cual es muy importante para los desarrolladores y operadores de aplicaciones. Es transparente para el personal. El motor de cifrado/descifrado de datos no tiene interfaz operativa. El sistema operativo lo carga automáticamente cuando es necesario y reside en la memoria. Se comunica con el programa de gestión del diccionario de cifrado y las aplicaciones de usuario a través de interfaces internas. El motor de cifrado/descifrado de la base de datos consta de tres módulos principales: módulo de procesamiento de cifrado/descifrado, módulo de interfaz de usuario y módulo de interfaz de base de datos, como se muestra en la Figura 4.
Entre ellos, el trabajo principal del "módulo de interfaz de base de datos" es aceptar la solicitud de operación del usuario y pasarla al "módulo de procesamiento de cifrado/descifrado". Además, debe reemplazar el "módulo de procesamiento de cifrado/descifrado" para acceder. servidor de base de datos y completar la interfaz externa Conversión entre parámetros y estructuras de datos internas del motor de cifrado/descifrado. El "módulo de procesamiento de cifrado/descifrado" completa la inicialización del motor de cifrado/descifrado de la base de datos, el procesamiento de comandos especiales internos, la recuperación de información del diccionario de cifrado, la gestión de los buffers del diccionario de cifrado, la transformación de cifrado de comandos SQL y el procesamiento de descifrado. de resultados de consultas e implementación de algoritmos de cifrado y descifrado y otras funciones, y también incluye algunas funciones auxiliares públicas.
El proceso principal de procesamiento de cifrado/descifrado de datos es el siguiente:
1) Realizar un análisis de sintaxis en el comando SQL. Si la sintaxis es correcta, vaya al siguiente paso; es incorrecto, vaya a 6), transfiera directamente el comando SQL al servidor de la base de datos para su procesamiento.
2) ¿Es un comando de control interno del motor de cifrado/descifrado de la base de datos? En caso afirmativo, procese el comando de control interno y luego vaya al 7); en caso contrario, pase al siguiente paso.
3) Compruebe si el motor de cifrado/descifrado de la base de datos está apagado o si el comando SQL solo necesita compilarse. En caso afirmativo, vaya al 6); de lo contrario, pase al siguiente paso.
4) Recupere el diccionario de cifrado y realice un análisis semántico de cifrado y descifrado en el comando SQL según la definición de cifrado.
5) ¿Es necesario cifrar los comandos SQL? Si es así, realice la transformación de cifrado en el comando SQL, reemplace el comando SQL original y luego vaya al siguiente paso; de lo contrario, vaya directamente al siguiente paso.
6) Transfiera el comando SQL al servidor de la base de datos para su procesamiento.
7) Después de ejecutar el comando SQL, borre el búfer de comandos SQL.
Lo anterior utiliza un ejemplo para ilustrar el principio de implementar funciones de cifrado en la capa externa del DBMS.
5. Conclusión
Este artículo proporciona una descripción general de la seguridad del sistema de bases de datos y la tecnología antiintrusión, propone un marco de tres niveles del sistema de seguridad del sistema de bases de datos y describe los tres. medios técnicos de nivel. El artículo también toma el principio de implementar funciones de cifrado en la capa externa del DBMS como ejemplo para explicar en detalle cómo aplicar la tecnología de seguridad a nivel del sistema de gestión de bases de datos.
Los tres niveles del marco de seguridad del sistema de bases de datos son complementarios entre sí. El enfoque de prevención y los medios técnicos adoptados en cada nivel también son diferentes. Un buen sistema de seguridad debe considerar de manera integral el uso de estas tecnologías. para garantizar la seguridad de los datos.