Técnicas y procedimientos para la seguridad de los datos.
Sumario
- 1 Introducción
- 2 Seguridad de las bases de datos
- 3 Política de seguridad
- 4 Conclusión
- 5 Anexo I. Decálogo Básico de Seguridad del CCN-CERT
- 6 Anexo II - Medidas y consideraciones para la implementación efectiva de control de configuración
- 7 Anexo III - Algoritmos de cifrado y funciones hash
- 8 Bibliografía
- 9 Referencias
Introducción
La información almacenada en ordenadores se ha convertido en uno de los soportes principales de nuestra sociedad. De hecho, esta década se denomina a menudo la "era de la información". A medida que ha ido aumentando nuestra dependencia respecto a la información legible por máquina, lo ha ido haciendo también la necesidad de proteger dicha información.
Los datos informatizados son vulnerables a muchos tipos de fallos y de abusos. Consecuentemente, cuando se planifica el diseño e implementación de sistemas, resulta esencial el que se considere la forma de tratar los distintos tipos de circunstancias que pueden conducir a una pérdida inesperada de información. Esto pueden incluir fallos del hardware y del software, errores humanos, ataques e incluso acontecimientos catastróficos (terremotos, meteoros, etc.). Se analizan algunas de las técnicas más comunes para el aseguramiento de la seguridad de los datos.
Como una gran parte de la información almacenada lo está en bases de datos, es importante analizar en ese contexto la protección de la información. Además de velar por la integridad y disponibilidad, es imprescindible garantizar la confidencialidad de la información que contienen. Se han desarrollado diversos métodos garantizar la consistencia de los datos y asegurarse de que el acceso a la información se encuentra a salvo bajo el control del software de gestión de datos, o es posible su recuperación de no ser así. De hecho, son muchos los errores que se pueden detectar antes de que la información pase a ser parte integrante de la base de datos, llevándose así a su grado máximo la fiabilidad con la que ésta es capaz de reflejar el mundo real.
La seguridad de los datos forma parte de un complejo ecosistema, por lo que se hace necesario llevar a cabo un análisis de riesgos para implementar una gobernanza mediante políticas de seguridad. En ellas se debe reflejar las medidas de vigilancia y cómo se debe realizar la gestión de incidencias y la continuidad del negocio en caso de desastre.
Dimensiones de la seguridad y fuentes de fallos
En general, un sistema y sus datos serán seguros o fiables si podemos garantizar estos tres pilares:
- Confidencialidad: Prevenir la divulgación no autorizada de la información.
- Integridad: Prevenir modificaciones no autorizadas de la información.
- Disponibilidad: Prevenir interrupciones no autorizadas/controladas en el acceso a datos y recursos informáticos.
Se pueden diferenciar los problemas, y sus técnicas y procedimientos para asegurar los datos, según estos afecten al hardware o al software.
Amenazas físicas y lógicas: hardware y software
Amenazas Hardware
Consistentes en el fallo del hardware o acceso físico no autorizado al mismo.
Podemos introducir ahora algunas posibles salvaguardas, como lo son:
- realizar copias de seguridad
- conectar sistemas de alimentación ininterrumpida (UPS)
- buscar la redundancia y evitar los SPOF (Single Point of Failure')
- controlar el acceso físico a los dispositivos
- dimensionar correctamente los sistemas
- escalado vertical: Se consigue aumentando los recursos(procesamiento, memoria o almacenamiento) del equipo
- escalado horizontal: Se consigue aumentando el número de dispositivos que atienden la carga de trabajo formando un cluster, que mediante un balanceador distribuye el trabajo mediante diferentes algoritmos
Por su importancia, se introducirán algunos de los sistemas RAID de uso más habitual:
Amenazas Software
Es importante realizar un software con un buen diseño desde el inicio, teniendo en cuenta la seguridad y la privacidad por defecto para proteger los datos.
Son siete los Principios Fundacionales de la Privacidad desde el Diseño según la Agencia Española de Protección de Datos:
- Proactivo, no reactivo; preventivo, no correctivo
- La privacidad como configuración predeterminada
- Privacidad incorporada en la fase de diseño
- Funcionalidad total: pensamiento “todos ganan”
- Aseguramiento de la privacidad en todo el ciclo de vida
- Visibilidad y transparencia
- Respeto por la privacidad de los usuarios: mantener un enfoque centrado en el usuario
En lo referente a la seguridad por defecto, el artículo 19 del Esquema Nacional de Seguridad dice lo siguiente:
Los sistemas deben diseñarse y configurarse de forma que garanticen la seguridad por defecto: a) El sistema proporcionará la mínima funcionalidad requerida para que la organización alcance sus objetivos. b) Las funciones de operación, administración y registro de actividad serán las mínimas necesarias, y se asegurará que sólo son accesibles por las personas, o desde emplazamientos o equipos, autorizados, pudiendo exigirse en su caso restricciones de horario y puntos de acceso facultados. c) En un sistema de explotación se eliminarán o desactivarán, mediante el control de la configuración, las funciones que no sean de interés, sean innecesarias e, incluso, aquellas que sean inadecuadas al fin que se persigue. d) El uso ordinario del sistema ha de ser sencillo y seguro, de forma que una utilización insegura requiera de un acto consciente por parte del usuario.
Problemas híbridos: defensa en profundidad por capas
En ocasiones, las amenzas y contramedidas tienen un enfoque híbrido. Es siempre recomendable proteger la información mediante varias capas como una cebolla, tomando medidas tanto a nivel de harware como de software.
Por ejemplo, ante problemas de rendimiento, podríamos valorar revisar parámetros y configuraciones del hardware y del software; implantar un balanceo de carga y medidas de alta disponibilidad, realizar pruebas de carga el software y programar teniendo en cuenta el rendimiento esperado del sistema; configurar el firewall para bloquear peticiones.
En resumen, unas medidas no serán excluyentes, y en conjunto reforzarán la calidad y seguridad del sistema y la salvaguarda de sus datos.
El factor humano: errores y ataques
Errores humanos
Las personas son considerablemente más propensas a cometer errores que las máquinas, y existen innumerables formas en las que un error humano puede ocasionar un daño en una base de datos. Por ejemplo:
- el operador de un ordenador podría introducir un comando inapropiado en el sistema operativo, o en el SGBD, lo que podría dar como resultado una acción inesperada, que conduciría tal vez a la destrucción de datos
- un usuario de la base de datos podría destruir accidentalmente un fichero, al emplear un conjunto incorrecto de comandos del SGBD
- se puede dañar fácilmente al hardware del ordenador en su uso
-- Borrado accidental de todos los clientes de la base de datos DELETE FROM Customers --WHERE CustomerName='Jose'; Si el usuario olvida añadir esta claúsula borrará todos los clietes en lugar de aquellos que se llamen José
-- Borrado accidental de fichero file.log por uso de -f (borra sin pedir confirmación) /bin/rm -f file.log
Ataques informáticos
Pero los datos tienen intrínsecamente un gran valor, lo que puede motivar ataques informáticos.
Estos pueden ser indistintos o dirigidos a una persona, empresa o gobierno concretos.
Según el estándar WASP Top Ten estos son los diez riesgos de seguridad más críticos en 2020, y por tanto posibles vectores para un ataque informático:
- A1 - Inyección
- A2 - Pérdida de autenticación
- A3 - Exposición de datos sensibles
- A4 - Entidades Externas XML (XXE)
- A5 - Pérdida de Control de Acceso
- A6 - Configuración de seguridad incorrecta
- A7 - Secuencia de Comandos en Sitios Cruzados (XSS)
- A8 - Deserialización insegura
- A9 - Componentes con vulnerabilidades conocidas
- A10 - Registro y monitoreo insuficientes
Tratamiento de datos
Encriptación
Cifrar/encriptar los datos significa convertir texto plano en texto ilegible, denominado texto cifrado, evitando que la información sea accesible por terceros no autorizados. Para lo cual, se necesita de un algoritmo de cifrado y la existencia de una clave, que permite realizar el proceso de transformación de los datos y que debe mantenerse en secreto.
Existen múltiples soluciones comerciales para cifrar los equipos informáticos, clasificables en tres tipos atendiendo al nivel en el que actúan en el sistema de archivos:
- Cifrado de disco: conocido como Full-disk encryption (FDE). Es la tecnología que cifra el disco por completo, de esta manera el sistema operativo se encarga de descifrar la información cuando el usuario la solicita. Su uso es también muy habitual para dispositivos móviles como Android e iPhones
- Cifrado de carpetas: el sistema de cifrado se encargará de cifrar y descifrar la información cuando se utiliza la carpeta protegida.
- Cifrado de documentos: El sistema se encarga de mostrar y permitir el acceso al documento solo para los usuarios autorizados, haciendo ilegible el contenido a los no autorizados
Existe también el cifrado de red, ya sea en capas 2 y 3 (por ejemplo VPN) o superiores (SSL/TLS) , que protege los datos en tránsito pero no localmente en su dispositivo.
Control de accesos
Existen varios formas de que un usuario demuestre quién es, se les conoce como factores de autenticación y son tres. Un usuario puede autenticarse:
- por lo que es: utilizar una característica intrínseca a las personas, como su huella dactilar, el reconocimiento de su iris, etc.
- por lo que tiene: por poseer algo como un dispositivo móvil, un token de autenticación.
- por lo que sabe: demostrando que conoce una determinada contraseña, clave o PIN.
Caracteristicas deseables para el control de accesos son:
- El Single Sign On, es una facilidad que se proporciona a los usuarios consistente en solicitar la autenticación del usuario una única vez y hacerla válida a partir de ese momento para el acceso a múltiples aplicaciones o sistemas
- La autenticación de doble factor, consistente en el uso de dos sistemas de autenticación de manera conjunta, de manera que deba aportarse durante el proceso una combinación de dos: "algo que se sabe", "algo que se tiene" (tipo tarjeta, token o teléfono móvil) y algo que se es
POSIBLE TABLA
https://labseg.sergas.gal/Paxinas/web.aspx?tipo=paxtxt&idLista=5&idContido=1&migtab=2%3B1&idioma=es
Borrado seguro
Se puede pensar que un simple formateo del disco duro impedirá que los datos almacenados en el mismo puedan ser recuperados. Sin embargo, hay aplicaciones que permiten deshacer el formateo de una unidad existiendo incluso métodos para recuperar los datos de los discos, aunque estos hayan sido sobrescritos.
Si se quiere garantizar que no se está distribuyendo información sensible, se deben sobrescribir los datos siguiendo un método (patrón de borrado) que no permita su recuperación de modo alguno.
Para tal fin, es necesario realizar diversas pasadas de escritura sobre cada uno de los sectores donde se almacena la información.
Para simplificar la tarea, lo más sencillo es utilizar alguna aplicación especializada que permita eliminar la información de forma sencilla.
En el caso de fotografías digitales, archivos de audio o vídeo y documentos ofimáticos, existen metadatos que pueden almacenar información oculta y no visible usando la configuración estándar de las aplicaciones, necesitando de una configuración específica o incluso un software concreto para revelar esos datos.
el borrado de metadatos o datos ocultos mediante procedimientos y herramientas de revisión y limpieza de documentos/archivos es fundamental para minimizar el riesgo de que se revele información sensible en el almacenamiento e intercambio de información.
Cumplimiento legislativo
En el tratamiendo de aquellos datos de carácter personal, se debe asegurar
- el cumplimiento de la legislación nacional: Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos Personales y garantía de los derechos digitales.
- el cumplimiento de la legislación europea: Reglamento General de Protección de Datos
La normativa de protección de datos permite que puedas ejercer ante el responsable del tratamiento tus derechos de:
- acceso
- rectificación
- oposición
- supresión (“derecho al olvido”)
- limitación del tratamiento
- portabilidad
- no ser objeto de decisiones individualizadas
Para asegurar si hay base legal para el tratamiento y velar por el cumplimiento de esos derechos puede ser de ayuda apoyarse en el Listado de Cumplimiento Normativo de la Agencia Española de Protección de Datos (AGPD).
Seguridad de las bases de datos
Restricciones
Es posible realizar muchos tipos de comprobaciones diferentes de los datos que se introducen, con el fin de asegurarse de que son válidos. Una condición impuesta sobre un conjunto determinado de datos se suele denominar una restricción, control de integridad o referencial o en inglés Constraints.
Las restricciones pueden aplicarse:
- a columnas individuales
- a la relación entre dos columnas diferentes, normalmente en tablas distintas
- a las filas de una o más tablas.
Cuando se intente introducir una nueva fila de datos que viole las condiciones especificadas por alguna restricción, se negará la entrada de la misma en la base de datos.
Algunas de las restricciones más comunmente utilizadas en SQL:
- NOT NULL: Asegura que la columna no tiene valores nulos
- UNIQUE: Asegura que todos los valores en la columnason diferentes
- PRIMARY KEY: Combinación de NOT NULL and UNIQUE, identifica de forma unívoca cada fila de la tabla.
- FOREIGN KEY: Evita acciones que destruirían enlaces entre tablas (integridad referencial)
- CHECK: Asegura que los valores de una columna satisfacen una determinada condición
-- Ejemplo de creación de tabla Persona con clave primaria ID CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), PRIMARY KEY (ID) );
Esto no debe impedir que a nivel de aplicación tanto en el lado cliente cómo en el lado servidor se realice una validación de los datos introducidos por el usuario, y se proteja mediante el uso de prepared statements frente ataques como SQLi (del inglés SQL injections o inyecciones SQL) o CSRF (del inglés Cross-site request forgery o falsificación de petición en sitios cruzados).
// PDO con Prepared Statements en PHP
// a efectos pedagógicos no se muestra código de establecimiento y liberación de conexión
// prepare sql and bind parameters
$stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname)
VALUES (:firstname, :lastname)");
$stmt->bindParam(':firstname', $firstname);
$stmt->bindParam(':lastname', $lastname);
// insert a row
$firstname = "Xoan";
$lastname = "Martínez";
$stmt->execute();
Vistas de bases de datos
Una forma conveniente de limitar el acceso de un usuario a partes específicas de una base de datos consiste en la creación de una vista de la base de datos. Se trata de una imagen lógica de una base de datos, que no tiene por qué corresponderse con la estructura física real de las tablas de la base de datos. El efecto que produce una vista consiste en proporcionar acceso a un usuario determinado sólo a la información específica de interés.
Una vista puede consistir
- en una proyección sobre una tabla específica
- en una selección de determinadas filas de una tabla
- en una combinación de ambas, de una o más tablas
Finalmente, una o más de las columnas de una vista pueden ser virtuales. Una columna virtual contiene valores que no existen en la base de datos. Estos valores son el resultado de la composición de dos o más columnas reales.
A una vista se le pueden conceder como tipos de autorizaciones de acceso permisos de lectura, o de lectura/escritura.
Dos son sus ventajas:
- abstrae al usuario de los detalles relacionados con una búsqueda compleja y de la estructura real de la base de datos
- el control del acceso a la información, por razones de seguridad, facilitando disponibilidad a sólo una parte de la base de datos
-- Vista que muestra nombre de los clientes de Francia CREATE VIEW [France Customers] AS SELECT CustomerName FROM Customers WHERE Country = 'France';
Procesamiento de transacciones
Un concepto que se asocia con frecuencia con los de protección y seguridad de una base de datos es el de transacción. Cuando se realiza una modificación en una base de datos puede conllevar la edición o la alteración de varios datos individuales de la base de datos; una transacción garantiza que se realice esa modificación de una sola vez y sin que la estructura a medio manipular pueda ser alcanzada por el resto del sistema hasta que se hayan finalizado todos sus procesos.
Las transacciones tienen un comportamiento deseado de todo o nada: o se realiza completamente o no debe tener ningún efecto.
Y deben cumplir cuatro propiedades, denominadas ACID:
- Atomicidad (Atomicity): es la propiedad que asegura que la operación se ha realizado o no, y por lo tanto ante un fallo del sistema no puede quedar a medias.
- Consistencia (Consistency): es la propiedad que asegura que sólo se empieza aquello que se puede acabar. Por lo tanto, se ejecutan aquellas operaciones que no van a romper la reglas y directrices de integridad de la base de datos.
- Aislamiento (Isolation): es la propiedad que asegura que una operación no puede afectar a otras. Esto asegura que la realización de dos transacciones sobre la misma información nunca generará ningún tipo de error.
- Durabilidad (Durability): es la propiedad que asegura que una vez realizada la operación, ésta persistirá y no se podrá deshacer aunque falle el sistema.
Para esto, el lenguaje de consulta de datos SQL (Structured Query Language) provee los mecanismos para especificar que un conjunto de acciones deben constituir una transacción.
BEGIN TRANSACTION: Especifica que va a empezar una transacción. COMMIT TRANSACTION: Le indica al motor que puede considerar la transacción completada con éxito. ROLLBACK TRANSACTION: Indica que se ha alcanzado un fallo y que debe restablecer la base al punto de integridad.
--Ejemplo de transacción completada con commit BEGIN TRANSACTION; DELETE FROM HumanResources.JobCandidate WHERE JobCandidateID = 2; COMMIT;
-- Ejemplo de transacción no completada. Se creará la tabla pero no se insertarán los valores
CREATE TABLE ValueTable (id INT);
BEGIN TRANSACTION;
INSERT INTO ValueTable VALUES(1);
INSERT INTO ValueTable VALUES(2);
ROLLBACK;
Técnicas de recuperación
Son aquellas técnicas que se emplean para recuperar archivos que fueron perdidos o eliminados de alguno de los medios de almacenamiento
Factores a tener en cuenta en la elección del método
Existen diversos métodos para la restauración de una base de datos corrupta a un estado previo libre de daños. El tipo de técnica de recuperación usado en cada situación determinada depende de varios factores, incluyendo los siguientes:
- La extensión del daño sufrido por la base de datos. Por ejemplo, si se encuentra que ha sido un único registro el que ha sufrido daños, la técnica de recuperación es trivial, en comparación con el procedimiento de restauración necesario después de un choque de una cabeza.
- El nivel de actividad de la base de datos. Las técnicas de recuperación son fáciles de implementar en bases de datos que se modifican con escasa frecuencia. Por el contrario, resulta mucho más difícil y caro el diseño de técnicas de recuperación para bases de datos que se están actualizando continuamente. En este último caso, suele tratarse también de bases de datos de gran importancia para sus usuarios, por lo que es de vital importancia que la recuperación sea rápida.
- La naturaleza de la información de la base de datos. Para algunos tipos de datos, la pérdida de una pequeña cantidad de información puede no resultar particularmente crítica. En otras situaciones, tales como bases de datos financieras, no es aceptable ninguna pérdida de datos, independientemente de su cuantía. Los dos tipos de circunstancias requieren muy diferentes aproximaciones en lo que se refiere a fiabilidad y recuperación.
Copias de seguridad de la base de datos
Se deben realizar copias de seguridad (backups) de la información de la base de datos de forma periódica.
Se pueden hacer completas, diferenciales e incrementales, y esto permite retroceder a un punto concreto en el tiempo, siendo necesario con otro enfoque recuperar la información entre la copia de seguridad y la pérdida de los datos.
Tanto para base de datos como para cualquier información, una buena práctica a la hora de realizar copias de seguridad es adoptar la estrategia 3-2-1 que se basa en diversificar las copias de seguridad para garantizar que siempre haya alguna recuperable. Esto es:
- 3: Mantener 3 copias de cualquier fichero importante: el archivo original y 2 backups.
- 2: Almacenar las copias en 2 soportes distintos de almacenamiento para protegerlas ante distintos riesgos. Si tuviéramos las dos copias en el mismo tipo de soporte, ambos pueden verse afectados por el mismo fallo de funcionamiento y por tanto poner en peligro las dos copias al mismo tiempo.
- 1: Almacenar 1 copia de seguridad fuera de nuestra empresa, lo que también se conoce como backup offsite. La copia de seguridad en la nube es una clara opción de este tipo de copia.
Algunas consideraciones:
- Comprueba periódicamente que las copias pueden restaurarse.
- Cifra la información crítica y la almacenada externamente
- Para la elección del soporte, valora su coste, fiabilidad, duración, tasa de transferencia y capacidad.
- Para almacenamiento en la nube, firma acuerdos de Nivel de Servicio (ANS) y considera el ancho de banda y tiempo requerido para subir y bajar las copias.
Diarios de transacciones y restauración/reejecución
Se pueden tener trazabilidad de los cambios en la base de datos mediante el mantenimiento automático de un fichero de ordenador (log) que contenga una lista de dichos cambios en un determinado periodo, por ejemplo, entre dos copias de seguridad consecutivas. Esta lista se conoce como diario de transacciones, y se mantiene siempre en un dispositivo físico diferente del que almacena a la propia base de datos para asegurar que un fallo en ese sistema no afecte a los datos almacenados en un dispositivo físico diferente.
La restauración de las transacciones anotadas en el diario las realiza una utilidad del SGBD, que devuelve la base de datos al estado inmediatamente anterior al momento del fallo. Este proceso se conoce habitualmente como restauración/reejecución.
La clave para el uso con éxito de un diario de transacciones radica en la capacidad del SGBD para reconocer el comienzo y el final de cada transacción. Para cada transacción de la base de datos, el diario contiene marcas de "comienzo de transacción" y "final de transacción", además de una grabación de los cambios individuales realizados en la base de datos para dicha transacción. La marca de "final de transacción" se graba en el diario sólo después de la conclusión con éxito de la transacción.
Así, si una caída del sistema interrumpe el procesamiento de una transacción, no aparecerá ninguna marca de "final de transacción" en el diario. Cuando se realice un proceso de restauración/reejecución, sólo se restaurarán a partir del diario las transacciones completadas, y se generará un informe impreso, que indicará qué transacciones no se han completado y, por tanto, no han sido introducidas en la base de datos.
Soluciones de recuperación por retroceso y por adelanto
Si la base de datos es dañada o destruida, para recuperarla se pueden combinar las técnicas anteriores en lo que se conoce recuperación por adelanto mediante la siguiente secuencia de pasos:
- Reparar el problema de hardware o software que causó la caída del sistema.
- Restaurar la base de datos a partir de la copia de seguridad más reciente. Esto no restaura la base de datos a su estado en el instante en el que tuvo lugar el daño.
- Volver a introducir en la base de datos los cambios realizados desde que se hizo la copia usando el diario de transacciones
La recuperación por retroceso resulta útil en situaciones en las que el procesamiento de la base de datos se ve interrumpido, pero la base de datos en sí no resulta dañada de forma alguna.
Ejemplos de esto podrían ser algún tipo de fallo que produzca una terminación anormal de la ejecución del SGBD o problemas de red.
Las transacciones en marcha podrían ser abortadas antes de su finalización, y los registros asociados a las mismas quedarían en estados desconocidos, aunque el resto de la base de datos no se vería afectada.
La técnica de recuperación por retroceso requiere que el diario de transacciones contenga imágenes iniciales de cada registro de la base de datos que haya sufrido modificaciones desde la última copia de seguridad. Una imagen inicial es una copia de un registro tal como se encontraba inmediatamente antes de ser modificado como parte de una transacción, es decir, justo antes del inicio de dicha transacción.
El procesado de recuperación por retroceso conlleva que después de que se haya colocado nuevamente en funcionamiento el SGBD, se pase a procesar el diario de transacciones.
Para cada transacción incompleta anotada en el diario se reemplaza la versión actual del registro de la base de datos por la imagen inicial correspondiente. Así, cada registro de la base de datos que ha sufrido modificaciones durante una transacción no completada es devuelto a su estado inicial, antes del comienzo de la transacción. El resultado de este proceso es la eliminación de la base de datos de todas las huellas de transacciones incompletas, es decir, las que estaban en marcha cuando tuvo lugar la caída.
Para que la recuperación por retroceso pueda funcionar, el diario de transacciones debe contener marcas de "comienzo de transacción" y de "final de transacción" para cada transacción. Cuando se realiza un proceso de recuperación, las transacciones incompletas se detectan por la ausencia de una marca de "final de transacción".
La cantidad de esfuerzo necesaria para efectuar una recuperación por retroceso puede ser mucho menor que la que se necesita para una recuperación por restauración/reejecución.
Por ejemplo, supongamos que se han grabado 1000 transacciones en un diario entre el momento en que se hizo la última copia de seguridad y el instante del fallo (un fallo que no dañe a la base de datos). Supongamos asimismo que en el instante del fallo se encuentran en marcha 5 transacciones:
- Con la técnica de restauración/reejecución, la base de datos debe ser restaurada a partir de la última copia, por lo que habrá que procesar 995 transacciones.
- Con una recuperación por retroceso se parte de la base de datos tal como se encuentra, limitándose a deshacer los efectos de las 5 transacciones incompletas.
Política de seguridad
El diseño de una estrategia de seguridad dentro de una organización depende en general de la actividad que esta desarrolle, su dimensión, el ámbito de actuación y la interconexión con usuarios externos (clientes, proveedores, usuarios finales, etc.). Sin embargo, en líneas generales se pueden considerar unos pasos básicos a la hora de desarrollar una estrategia:
La Política de seguridad establece el estado en el que se encuentra la información y los servicios dentro de la entidad y define qué es lo que se desea proteger, así como los correspondientes objetivos de seguridad proporcionando una base para la planificación de la misma.
Describe responsabilidades del usuario y cómo se supervisa la efectividad de las medidas aplicadas. En definitiva, es un conjunto de reglas que se deciden aplicar en las actividades del sistema y a los recursos de comunicaciones que pertenecen a una organización.
Estas reglas incluyen áreas como la seguridad física, personal, administrativa y de la red. Además, debe señalar la importancia de las tecnologías de la información para la organización, el período de validez de la política, los recursos con que se cuenta y los objetivos específicos a cubrir.
Análisis de riesgos
Con el análisis de riesgos se consigue identificar los riesgos a los cuales está expuesta la organización y cuáles son los impactos, las posibles amenazas y las vulnerabilidades que pueden ser explotadas por estas.
Una vez que se establece la política de seguridad, determinando el riesgo residual que se está dispuesto a aceptar, se deben establecer las salvaguardas que den cumplimiento a la misma.
La gestión de riesgos utiliza los resultados del análisis de riesgos para seleccionar e implantar las medidas de seguridad adecuadas para controlar los riesgos identificados y que se pueden dividir en las siguientes:
- Preventivas: tienen como objeto reducir el riesgo:
- Protección Física: guardias, control de acceso, protección hardware…
- Medidas Técnicas: cortafuegos, detectores de intrusos, criptografía…
- Medidas Procedimentales: cursos de mentalización, actualización de conocimientos, normas de acceso a la información, sanciones…
- Análisis: orientadas a la identificación del riesgo.
- Protección Física: sistemas de vigilancia, detectores de movimiento…
- Medidas Técnicas: control de acceso lógico, sesión de autenticación…
- Medidas Procedimentales: gestión de logs, monitorización de auditoría…
- Correctivas: se orientan a impedir o reducir el impacto sobre los activos.
- Protección Física: respaldo de fuente de alimentación (SAI)…
- Medidas Técnicas: programa antivirus, auditorías, respaldo de seguridad…
- Medidas Procedimentales: planes de contingencia…
| TIPO DE CONTROL/MEDIDAS | Preventivas | Análisis | Correctivas |
|---|---|---|---|
| Físico | Guardias Control de accesos Protección HW |
Sistemas de vigilancia Detectores de Movimiento |
UPS |
| Técnico | Cortafuegos Detectores de intrusos Criptografía |
Control de accesos Sesión de autenticación |
Antivirus Auditorías Respaldo de seguridad |
| Organizativo Procedimental |
Cursos de mentalización Actualización de conocimientos Normas de acceso a la información Sanciones |
Gestión de logs Monitorización de auditoria |
Planes de contingencia |
Gobernanza
La amenaza más seria para un sistema de información son las personas, por lo que su formación y sensibilización es uno de los objetivos fundamentales
Los profesionales son la base del éxito de la operación de la seguridad. Por este motivo, en cualquier organización se deben considerar aspectos como gobernanza, estructura, experiencia, entrenamiento y certificaciones del personal.
Se deben establecer los mecanismos de gerencia y gestión de la seguridad, incluyendo soporte a las operaciones, niveles de escalamiento acordes con la clasificación y remediación de incidentes, frecuencia y tipos de notificación, etc. En este sentido, es recomendable implantar el denominado SGSI (Sistema de Gestión de la Seguridad de la Información) un conjunto de políticas de administración de la información, donde se definen, implantan y mantienen un conjunto de procesos para gestionar eficientemente la accesibilidad de la información, buscando asegurar la confidencialidad, integridad y disponibilidad de los activos de información minimizando a la vez los riesgos de seguridad de la información.
Se debe considerar el establecimiento de una oficina de seguridad que asista en la implantación de las políticas, procedimientos y normativa que sienten las bases para dirigir, gestionar, comunicar, evaluar, controlar y mejorar la seguridad de la información relacionada con las actividades propias de la entidad conforme a la normativa y buenas prácticas aplicables:
- Revisar y apoyar la implantación del modelo de gobernanza.
- Análisis y adecuación normativa.
- Análisis y gestión de los riesgos asociados a los activos (riesgo residual asumible).
- Análisis y definición de cuadros de mando (medidas e indicadores).
- Auditorías de cumplimiento normativo.
- Soporte a los órganos de gobierno de la seguridad.
- Seguimiento y mejora del estado y gestión de la seguridad.
Vigilancia
Junto con el control de configuración y gestión del software se debe valorar un proceso continuo de análisis de vulnerabilidades, ya sean:
- automáticas: despliegue de herramientas para la realización de escaneos de vulnerabilidades a infraestructuras y servicios.
- manuales: realización por parte de un grupo de analistas de una revisión periódica de las diferentes aplicaciones, principalmente de las expuestas a Internet, desde las perspectivas de caja negra y caja blanca.
Hay que considerar desplegar un bloque de servicios que se podría categorizar de la siguiente manera.
Monitorización de seguridad y análisis de vulnerabilidades
Despliegue de sondas de alta capacidad que reciban una copia del tráfico, tanto entrante como saliente en Internet. Tratamiento de los eventos generados por un sistema de información de seguridad y administración de eventos (SIEM).
Asimismo, se deben considerar 'módulos de aprendizaje automático (Machine Learning) para análisis de eventos y alertas y poder detectar nuevas amenazas.
En lo referente al análisis de vulnerabilidades, deforma periódica se realizarán pruebas con tecnologías de escaneo de sistemas y de aplicaciones web que facilitarán la realización tanto automatizada como manual.
Protección y filtrado de contenido malicioso
Es necesario proteger a los usuarios que navegan en Internet y los servicios de nuestra red ante posibles amenazas mediante dispositivos con funcionalidad de cortafuegos.
Los firewall son un elemento que sirve para filtrar las conexiones entrantes y salientes de una red, evitando los ataques procedentes, tanto de Internet, como de la red interna (intranet) de la empresa.
Existen dispositivos de nueva generación que además de las capacidades tradicionales de los cortafuegos cuentan con prevención de intrusiones y control de aplicaciones, siendo común referirse a estos dos tipos:
- UTM (Unified Threat Management) o gestión unificada de amenazas
- NGFW (Next Generation Firewalls) o cortafuegos de nueva generación
Ambas herramientas son similares en cuanto a las funcionalidades que presentan. Algunas de estas son:
- IPS
- VPN
- Registro de eventos
- Monitorización
- Filtrado de tráfico
- Control de aplicaciones
- Seguridad del correo electrónico
- DLP (Data Leak Prevention)
- Antivirus
Las principales diferencias entre ambas herramientas son:
- UTM: concentra en un único dispositivo todas las funcionalidades de seguridad, con una capacidad de procesamiento y un coste económico inferior
- NGFW: está formado por diferentes elementos cada uno de los cuales ofrecerá una característica distinta. Esto permite una mejor capacidad de procesamiento y ante la caída de uno de los servicios, el resto puede seguir funcionando con normalidad. Su adquisicióny sus licencias conllevan un coste más elevado
TABLA CORTAFUEGOS IDS IPS
Respuesta a Incidentes
La gestión de incidentes forma parte de la cultura de gestión de riesgos.
Cuando se produce un incidente de seguridad, es crítico para una entidad disponer de un protocolo eficaz de respuesta que ayude a los equipos de seguridad a minimizar la pérdida o filtración de información, evitar la propagación del incidente o, incluso, la propia interrupción del servicio. La velocidad con la cual se reconozca, analice y responda al incidente limitará el daño y minimizará el coste de la recuperación.
Las entidades tienen que habituarse a notificar y compartir incidentes con las organizaciones correspondientes, máxime teniendo en cuenta que, en numerosas ocasiones, los patrones de actuación se repiten.
Se hace por tanto necesario un servicio avanzado de soporte a la gestión de incidentes mediante profesionales capaces de realizar análisis forenses, colaborar en la estrategia de mitigación y/o recuperación, etc.
Continuidad de negocio/políticas de respaldo
El término Continuidad de Negocio supone pensar y disponer de un plan alternativo en caso de que ocurra un desastre en los sistemas TIC de la entidad.
Este plan debe estar documentado para que, llegado el caso, se tengan claros los pasos a seguir para mitigar el problema y volver a la situación previa de normalidad con la mayor brevedad posible.
Asimismo, en la medida de lo posible, se deberían realizar pruebas de los planes de continuidad para confirmar que se encuentran debidamente actualizados y responden de manera eficaz a la a necesidad.
Es fundamental realizar copias de respaldo de manera regular para asegurar la integridad/disponibilidad del sistema. La realización de copias de seguridad implica crear una copia de los datos en un medio diferente del que se encuentran con el fin de que las mismas puedan utilizarse para restaurar la copia original después de una eventual pérdida de datos.
La pérdida de datos puede deberse a robos, fallos en el sistema, catástrofes naturales o simplemente a errores en el hardware del sistema. Existen muchos tipos diferentes de dispositivos empleados para el almacenamiento de datos para realizar “backups” con ventajas y desventajas que hay que tener en cuenta en su elección.
Conclusión
En un primer apartado se ha tratado el tema introduciendo las fuentes de fallos y amenazas en la seguridad de los datos, poniendo especial énfasis en el factor humano. Y se han detallado algunas de las técnicas más habituales para el tratamiento de los datos que permita garantizar su integridad, confidencialidad y disponibilidad.
En un segundo apartado, se ha visto desde la perspectiva de la gestión de los datos a través de un sistema gestor de base de datos, herramienta central en la gestión de la información. Se describen algunas técnicas propias del entorno, como son el uso de restricciones y vistas, o el procesamiento de transacciones para la recuperación de la información.
Finalmente, en un tercer apartado se ha tratado la seguridad desde un enfoque menos técnico y más de gestión y procedimental, aunque obviamente se encuentran intrínsecamente ligados. Se han analizado los riesgos y su gestión, explicado la importancia la gobernanza y contar con una política de seguridad y procedimientos específicos y actualizados, en particular para la continuidad del negocio ante desastres .
Con todo ello queda expuesta la importancia de la seguridad y fiabilidad de los datos en los sistemas de información, y se describen muchas de las técnicas y procedimientos para su aseguramiento.
Anexo I. Decálogo Básico de Seguridad del CCN-CERT
Este decálogo de buenas prácticas publicado por el CCN-CERT en 2021 pretende sentar las bases para establecer una cultura de seguridad:
- La cultura de la ciberseguridad, la concienciación del empleado, debe ser uno de los pilares en lo que se asiente la ciberseguridad de cualquier organización.
- No abrir ningún enlace ni descargar ningún fichero adjunto procedente de un correo electrónico que presente cualquier indicio o patrón fuera de lo habitual.
- Utilizar software de seguridad, herramientas antivirus y antimalware, cortafuegos personales, herramientas de borrado seguro, etc. debe ser algo irrenunciable cuando se utiliza un sistema de las TIC.
- Limitar la superficie de exposición a las amenazas, no solo hay que implementar medidas de seguridad que protejan el acceso a la información, sino que hay que determinar los servicios que son estrictamente necesarios.
- Cifrar la información sensible, no hay otra alternativa.
- Utilizar contraseñas adaptadas a la funcionalidad siendo conscientes de que la doble autenticación ya es una necesidad.
- Hacer un borrado seguro de la información una vez que esta ya no sea necesaria o se vaya a retirar de uso el soporte en cuestión.
- Realizar copias de seguridad periódicas, no existe otra alternativa en caso de infección de código malicioso tipo ransomware, pérdida de datos, averías del hardware de almacenamiento, borrado de información involuntaria por parte del usuario, etc.
- Mantener actualizadas las aplicaciones y el sistema operativo es la mejor manera de evitar dar facilidades a la potencial amenaza.
- Revisar regularmente la configuración de seguridad aplicada, los permisos de las aplicaciones y las opciones de seguridad
Anexo II - Medidas y consideraciones para la implementación efectiva de control de configuración
| Item | Consideración |
|---|---|
| Contraseñas | Son el mecanismo más habitual de autenticación: por ello, es importante forzar una política de gestión e incidir en la importancia de su confidencialidad |
| Ejecutables Templates Directorios compartidos |
Deben ser ubicados en un directorio de solo lectura, con permisos de escritura únicamente para los usuarios y ficheros autorizados |
| Directorio personal | Carpeta personal en la red con acceso lectura/escritura para el propietario y restringido para lectura para otros usuarios para prevenir previsibles diseminaciones de software malicioso a la red |
| Soportes extraíbles | Constituyen una de las principales amenazas de fuga de información, así como de infección por malware. Puede ser conveniente limitar la utilización de dispositivos USB por los riesgos que entraña. Existe guía y lista de control del INCIBE para el uso de almacenamiento en dispositivos extraíbles |
Anexo III - Algoritmos de cifrado y funciones hash
| Algoritmo | Características | Ventajas | Inconvenientes |
|---|---|---|---|
| DES | Cifrado Bloques tamaño fijo 64 bits Clave longitud fija 64 bits (56 útiles + 8) Número de iteraciones: 16 Tipo Feistel |
Rápido Fácil de implementar FIPS 46-2 |
Corta longitud de la clave Inseguro: se puede romper con criptoanálisis diferencial o mediante ataques de fuerza bruta |
| 3DES | Dos claves de longitud fija 64 bits (56 útiles). Una cifra y otra descifra DSE-EEE2 y DSE-EDE2 Tres claves de longitud fija 64 bits, longitud efectiva 168 bits Dos configuraciones: DES-EEE3 o DES-EDE3 Tipo Feistel |
Seguridad equivalente a un criptosistema de longitud de clave igual 112 btis Resistentes a ataques por fuerza bruta FIPS 46-3 |
Requiere más recursos para el cifrado y descifrado |
| IDEA | Cifrado en bloques de 64 bits Clave de longitud fija 128 bits Nº de rondas: 8 |
El doble de rápido que DES Fácil de implementar Inmune ante criptoanálisis diferencial y ataques fuerza bruta |
Patentado, aunque permite su uso para fines no comerciales |
| AES | Cifrado en bloques de 128 bits Clave de longitud variable (128 / 192 / 256 bits) Rondas flexibles (10/12/14) en función de la clave |
Rápido Fácil de implementar en HW y SW Requiere poca memoria Resiste a ataques de criptoanálisis diferenciales y lineales |
| Algoritmo | Resumen |
|---|---|
| RC4 | |
| A5 | |
| SEAL: Software Optimized Encryption Algorithm |
| Algoritmo | Características | Ventajas | Inconvenientes |
|---|---|---|---|
| RSA | Seguridad basada en factorización grandes números enteros Número de iteraciones: 16 Tipo Feistel |
Sirve tanto para cifrado como para la firma digital Muy rápido en la verificación de la firma |
Poco eficiente en términos de velocidad de cifrado Es inviable su uso con grandes volúmenes de datos Gran tamaño de clave (entre 512 y 4096 bits) Necesario un mecanismo de certificación para asegurar la veracidad de la clave |
| ElGamal | Seguridad basada en problema de logaritmo discreto | Sirve tanto para cifrado como para la firma digital | Poco eficiente en términos de velocidad de cifrado Es inviable su uso con grandes volúmenes de datos |
| DSA | Seguridad basada en problema de logaritmo discreto Utilización de la función hash SHA-1 |
DSS es el estándar propuesto para firmar digitalmente | No codifica Muy lento en la verificación de la firma Gran tamaño de clave (entre 512 y 1024 bits) |
| DH | Algoritmo de Intercambio de claves seguro Seguridad basada en problema de logaritmo discreto |
Solo es necesario compartir dos números sobre un canal inseguro | No firma ni cifra No autentifica |
| Algoritmo | MD4 | MD5 | SHA-1 | RIMPD-160 |
|---|---|---|---|---|
| Tamaño del resumen | 128 bits | 128 bits | 160 bits | 160 bits |
| Tamaño del bloque | 512 bits | |||
| Número de pasos | 48 | 64 | 80 | 160 |
| Operaciones por vuelta | 16/3 | 16/4 | 20/4 | 32/5 |
| Nº de vectores de inicialización | 4 (32bits) | 5 (32bits) | ||
| Fuerza de la preimagen | 2 elevado a 128 | 2 elevado a 128 | 2 elevado a 160 | 2 elevado a 160 |
| Fuerza contra ataque de colisión | 2 elevado a 20 | 2 elevado a 64 | 2 elevado a 80 | 2 elevado a 80 |
Relación del tema con el sistema educativo actual
Este tema es aplicado en el aula en los módulos profesionales siguientes, con las atribuciones docentes indicadas (PES/SAI):
- Formación profesional básica
- Operaciones auxiliares para la configuración y la explotación(TPB en Informática de Oficina/ TPB en informática y Comunicaciones) (PES/SAI)
- Ofimática y archivo de documentos (TPB en Informática de Oficina) (PES/SAI)
- Grado Medio
- Aplicaciones ofimáticas (GM de SMR) (PES/SAI)
- Grado Superior
- Gestión de bases de datos (ASIR) (PES)
- Bases de Datos (DAW/DAM) (PES)
- Bachillerato:
- 4º ESO -Tecnología de la Información y la comunicación (PES)
- Bachillerato - Tecnologías de la Información y la Comunicación (PES)
Bibliografía
General
Base de datos
- C.J. Date: Introducción a los sistemas de bases de datos Pearson, 2001.
- Elmasri, R.A. y Navathe S.B: "Fundamentos de Sistemas de Bases de Datos ".Addison- Wesley, 3ª Edic, 2002.
- Olga Pons, J M Medina, M.A. Vila. Introducción a los Sistemas de Bases de Datos Edt Paraninfo (2005)
- Korth, H.F. y Silberrschatz: "Fundamentos de Bases de Datos". McGraw -Hill, 4ª Edic., 2002.
- Garcia-Molina, H.; Ullman, J.D.; Widom, J. Database systems: the complete book - Pearson Education Limited, 2013.
- Abraham Silberschatz, Henry F. Korth, y S. Sudarshan, Fundamentos de bases de datos Edt. McGraw-Hill (2014)
- Database encryption en Wikipedia
Guías CCN-STIC/ Incibe /Portal de la Administración electrónica
- Esquema Nacional de Seguridad
- MAGERIT versión 3 (versión español): Metodología de Análisis y Gestión de Riesgos de los Sistemas de Información
- Informe de Buenas Prácticas BP/01 "Principios y recomendaciones básicas en ciberseguridad" del CCN-CERT
- CCN-STIC-805 Política de Seguridad de la Información
- CCN-STIC-305 Destrucción y sanitización de soportes informáticos
- CCN-STIC-835 Borrado de Metadatos en el marco del ENS
- Copias de seguridad: una guía de aproximación para el empresario