Contactanos
Enmascaramiento de Datos Estático Vs. Dinámico
Comprende las diferencias fundamentales entre proteger entornos que no son de producción y gestionar la visibilidad parcial de los datos en entornos de producción.

El enmascaramiento de datos estático y el enmascaramiento de datos dinámico son tecnologías fundamentalmente distintas que resuelven problemas completamente diferentes y no relacionados entre sí. Lo único que tienen en común es el término «enmascaramiento». Considerarlos como variantes intercambiables de un mismo control de seguridad conduce al fracaso de los proyectos, a un gasto excesivo y a una seguridad deficiente.

El enmascaramiento estático elimina los datos de forma permanente de los sistemas que no son de producción, con el fin de suprimir riesgos de seguridad. El enmascaramiento dinámico reescribe las consultas en tiempo real dentro de los sistemas de producción para cubrir carencias específicas en las aplicaciones empresariales.

Diferencias Claves: Entornos de No Producción Vs. de Producción

El enmascaramiento estático altera los datos de forma permanente en el disco. El enmascaramiento dinámico altera los datos de manera temporal en la memoria durante la ejecución de una consulta. Ambos operan en entornos totalmente distintos, conllevan costes opuestos y responden a objetivos arquitectónicos diferentes.

Enmascaramiento EstáticoEnmascaramiento Dinámico
AmbienteEntornos ajenos a la producción (desarrollo, pruebas/QA, formación)Producción
Impacto de los DatosDestructivo (sobrescribe los datos en el disco)No destructivo (los datos originales permanecen en el disco)
Impacto en la SeguridadNo se requiere seguridad adicional para la base de datosSin beneficios. Requiere seguridad integral de la base de datos.
EjecuciónSe ejecuta una vez tras la actualización de los datosEn funcionamiento continuo
Costo y ComplejidadSencillo y de bajo costoCostoso, complejo, de alto impacto operativo

Enmascaramiento Estático

Los entornos de destino del enmascaramiento estático (desarrollo, pruebas, control de calidad y capacitación) carecen de seguridad robusta por diseño. Los desarrolladores e ingenieros de control de calidad requieren privilegios de base de datos sin procesar para depurar consultas, inspeccionar estructuras de esquema y manipular filas de tablas.

No es realista proteger los entornos que no son de producción implementando la seguridad de nivel de producción. Es demasiado difícil, costoso e intrusivo.

El enmascaramiento estático reemplaza todos los valores confidenciales originales con datos falsos. Una vez ejecutado, la base de datos de no producción no contiene información confidencial. El acceso a una base de datos sin enmascarar expone datos reales de clientes, pero una brecha en un entorno con enmascaramiento estático expone registros falsos sin sentido.

Enmascaramiento Dinámico

El enmascaramiento dinámico es una funcionalidad de la aplicación, no una barrera de seguridad. Se utiliza únicamente en bases de datos de producción, pero no las protege contra el acceso no autorizado ni contra brechas de seguridad. Si una cuenta no debe tener acceso a un número de tarjeta de crédito, lo correcto es impedirle el acceso a dichos datos, en lugar de proporcionarle información parcial u ofuscada.

El enmascaramiento dinámico aborda casos muy específicos en los que un usuario requiere una visibilidad parcial; por ejemplo, un agente de un centro de atención telefónica que necesita verificar los últimos cuatro dígitos de un número de tarjeta de crédito. La base de datos sigue almacenando y procesando la información completa en el disco, pero ciertos usuarios no deben poder visualizarla en su totalidad.

Dado que el enmascaramiento dinámico intercepta y modifica las consultas en tiempo de ejecución, añade complejidad a la operativa. Además de gestionar una estrategia de seguridad integral para la base de datos —independiente de esta funcionalidad—, es necesario administrar y mantener los componentes del enmascaramiento dinámico.

Enmascaramiento Estático de Datos

El enmascaramiento estático sustituye los datos confidenciales de producción por datos ficticios. Esta técnica altera de forma permanente la base de datos en el disco, lo que permite utilizarla de manera segura en entornos ajenos a la producción.

Dado que el enmascaramiento estático destruye los datos originales, no puede emplearse en entornos de producción. Sin embargo, resulta fundamental para los entornos de desarrollo, pruebas (QA) y formación. Estos entornos se enfrentan a graves riesgos de seguridad:

  • Los sistemas que no son de producción carecen de controles de seguridad. No reciben actualizaciones oportunas, configuraciones estrictas, registros de auditoría ni la atención del administrador para configurar correctamente los permisos y supervisar la actividad.
  • Los usuarios carecen de autorización. La mayoría de los desarrolladores, ingenieros de control de calidad y contratistas externos que trabajan en estos sistemas carecen de autorización o justificación comercial para acceder a datos reales de producción.
  • Los usuarios requieren acceso directo a los datos. Los desarrolladores inspeccionan regularmente las estructuras de esquema, ejecutan consultas no validadas y analizan tablas sin procesar para depurar la lógica de la aplicación. En esta capa, no existen controles de acceso a nivel de aplicación.

El enmascaramiento estático mitiga estos riesgos por completo al eliminar los datos confidenciales de estos sistemas.

Los Objetivos en Conflicto

Implementar el enmascaramiento estático requiere equilibrar tres objetivos que se oponen directamente entre sí.

  1. Eliminar datos confidenciales (seguridad completa): El objetivo principal es eliminar todos los valores confidenciales reales. Si el enmascaramiento no logra eliminar los datos confidenciales, la base de datos no es segura para su uso en entornos ajenos a la producción.
  2. Generar «falsificaciones de calidad» (datos realistas): Los usuarios en entornos ajenos a la producción necesitan datos de calidad que se vean y se comporten como datos reales. Si los datos enmascarados no producen los mismos resultados que los datos reales, no tiene sentido utilizarlos. Los equipos de desarrollo y de control de calidad (QA) exigirán acceso a copias directas de los datos de producción para realizar su trabajo, y el proyecto de enmascaramiento fracasará.
  3. Preservar la validez de los datos y la integridad de la aplicación: La base de datos debe mantener la validez de los datos y la coherencia estructural. Por ejemplo, si la aplicación verifica sumas de comprobación (checksums) de tarjetas de crédito o la validez de los códigos postales, estos deben ser realistas. Se debe mantener la integridad referencial, como las relaciones entre claves primarias y foráneas. Si la identidad de un usuario se enmascara en una base de datos, debe enmascararse de la misma manera no solo en esa misma base de datos, sino también en todas las bases de datos relacionadas. De lo contrario, las aplicaciones no funcionarán correctamente.

El enmascaramiento estático debe ser capaz de modificar todos los datos confidenciales, sin que parezca que ha cambiado nada. La aplicación debe seguir funcionando y todas las pruebas deben arrojar los mismos resultados.

Las 4 Estrategias Fundamentales
de Emascaramiento

Todo algoritmo de enmascaramiento estático se clasifica dentro de una de estas cuatro estrategias fundamentales. Clasificar un algoritmo según su estrategia permite identificar sus limitaciones inherentes y las contrapartidas en términos de seguridad.

Método 1: Manipulación de valores

La manipulación de valores altera el valor original, conservando al mismo tiempo algunas de sus características estructurales. Algunos ejemplos incluyen: reemplazar caracteres por asteriscos (j****@dominio.com), sustituir caracteres o dígitos manteniendo el formato original (por ejemplo, respetando si son mayúsculas o minúsculas: sdkfjasdf@dominio.com), o aplicar la inyección de ruido a valores numéricos (por ejemplo, modificar las cifras salariales aumentando o reduciendo su valor mediante un porcentaje aleatorio, dentro de un rango de ±20 %).

  • Ventajas: Conserva los formatos de los datos, su longitud, los patrones de los campos (por ejemplo, espacios, guiones, prefijos) y el orden de magnitud (en el caso de los números). Esto permite que la mayoría de las pruebas se ejecuten correctamente sin necesidad de exponer los valores originales.
  • Desventajas: A menudo, los datos resultantes carecen de sentido, con nombres, correos electrónicos, etc., que resultan ilegibles. Además, se mantienen propiedades estadísticas y estructurales que podrían facilitar la reidentificación. Por ejemplo, el salario de un director ejecutivo (CEO), aunque esté enmascarado y modificado en un 20 %, sigue siendo identificable por ser el más alto de la tabla. Asimismo, los nombres largos que contienen guiones conservan «huellas dactilares» estructurales únicas que podrían cruzarse con información de directorios públicos.

Método 2: Generación de datos

La generación de datos descarta por completo los valores originales y los sustituye por datos sintéticos no relacionados. Reemplaza los datos reales (por ejemplo, nombres, direcciones, correos electrónicos y números de teléfono) por valores ficticios basados ​​en patrones fijos, diccionarios o generadores de cadenas de caracteres.

  • Ventajas: Seguridad total. Dado que los algoritmos no tienen en cuenta los datos de origen, no existe ninguna relación matemática o estadística entre los valores originales y los valores enmascarados. La filtración de datos es imposible.
  • Desventajas: Los valores generados no guardan relación alguna con los datos de producción originales. Por tanto, resultan inútiles para pruebas que dependan de dichos datos. Los datos generados solo sirven como marcadores de posición en aquellos casos en los que los valores de los campos no influyen en el resultado de la prueba.

Método 3: Elaboración de perfiles (Profiling)

La elaboración de perfiles analiza los formatos y la distribución estadística del conjunto de datos original para, posteriormente, generar datos basados ​​en dicho perfil. Por ejemplo, el sistema analiza los formatos de los números de teléfono o las proporciones demográficas entre hombres y mujeres por código postal, y luego genera registros ficticios que se ajustan a esas reglas.

  • Ventajas: Elimina las asociaciones a nivel de fila; un número de teléfono enmascarado no guarda relación alguna con el individuo original. No obstante, el conjunto de datos resultante sigue siendo altamente realista, ya que refleja el comportamiento de los valores presentes en entornos reales.
  • Desventajas: Revela propiedades estadísticas del conjunto de datos que fueron capturadas durante la elaboración del perfil y que se ven reflejadas en los datos generados. Además, los algoritmos de elaboración de perfiles solo están disponibles para tipos de datos específicos.

Método 4: Perfiles personalizados

La creación de perfiles personalizados amplía la metodología de elaboración de perfiles al permitir a los administradores ajustar manualmente los perfiles, guardarlos y volver a aplicarlos.

  • Ventajas: Permite a los equipos crear perfiles de prueba para casos límite específicos, recrear perfiles históricos o aplicar un perfil de un conjunto de datos a otro.
  • Desventajas: El mantenimiento de perfiles personalizados puede consumir mucho tiempo. Es una herramienta potente, pero, cuando se busca algo «mejor que la realidad», la línea que separa lo que es realmente útil de lo que supone una pérdida de tiempo se vuelve difusa.

Enmascaramiento Dinámico de Datos

El enmascaramiento dinámico intercepta las consultas durante su ejecución para devolver datos parciales o transformados, sin alterar la base de datos de producción subyacente. Cuando una cuenta autorizada realiza una consulta sobre una columna que contiene direcciones de correo electrónico, en lugar de recibir «john.doe@company.com», el motor reescribe la respuesta al vuelo para devolver «j***@company.com».

El enmascaramiento dinámico no genera datos «falsos» realistas, ni tiene ese propósito. Su única finalidad es mostrar información parcial a los usuarios en el entorno de producción que solo requieren una visibilidad limitada para desempeñar sus funciones. Proporcionar datos falsos en un entorno de producción resultaría contraproducente, ya que induciría a error y confundiría a los empleados.

El Enmascaramiento Dinámico No es una Solución de Seguridad

El enmascaramiento dinámico no protege las bases de datos frente a brechas o accesos no autorizados. Se aplica exclusivamente a un subconjunto reducido de usuarios en entornos de producción que requieren una visibilidad parcial de los datos; por ejemplo, los representantes de atención al cliente que necesitan confirmar los últimos cuatro dígitos de una tarjeta de crédito.

Considerar el enmascaramiento dinámico como un control de seguridad principal resulta inadecuado por tres razones fundamentales:

  • Una herramienta inadecuada para evitar el acceso no autorizado: si una cuenta de usuario no tiene una razón legítima para ver un campo, dicha cuenta debe recibir una respuesta de «permiso denegado» (PERMISSION DENIED), ya sea mediante los controles de acceso nativos de la base de datos o mediante el bloqueo a nivel de SQL. Exponer datos parcialmente enmascarados a cuentas no autorizadas añade complejidad, pero no aporta ningún valor a la seguridad.
  • Exposición de los activos reales subyacentes: el enmascaramiento dinámico revela fragmentos de datos sensibles reales (por ejemplo, los últimos 4 dígitos auténticos de un número de tarjeta o el dominio real de una dirección de correo electrónico). Esto es precisamente lo contrario de lo que requieren las bases de datos que no son de producción (como los entornos de desarrollo, control de calidad o formación). Estos entornos no necesitan datos reales, sino datos que parezcan reales (sin recurrir a marcadores como «***»).
  • Ejecución en memoria no destructiva: los datos sensibles originales permanecen intactos en el disco y siguen siendo totalmente accesibles para la mayoría de los usuarios. El enmascaramiento dinámico no sirve para detener vectores de ataque que provengan de fuera del grupo de cuentas sujetas a dicho enmascaramiento. Por tanto, la base de datos sigue requiriendo un marco de seguridad integral que incluya controles preventivos, de detección y de cualquier otro tipo.

Reescritura de SQL

Para comprender cómo logra esto el enmascaramiento dinámico en la práctica, debemos examinar un poco su funcionamiento interno. El enmascaramiento dinámico opera interceptando las sentencias SQL entrantes y reescribiéndolas antes de que sean analizadas y ejecutadas.

Método 1: Transformaciones de cadenas integradas (inline)

El motor incorpora funciones de manipulación de cadenas directamente en la sentencia SQL reescrita.

  • Consulta original: SELECT name, credit_card FROM customer_table;
  • Consulta enmascarada: SELECT name, ‘************’ || SUBSTR(credit_card, 13, 4) AS credit_card FROM customer_table;
  • Vulnerabilidad: Difícil de eludir.
  • Uso: Eficaz para enmascarar cualquier cuenta en la base de datos.

Método 2: Funciones SQL de base de datos

El motor envuelve la columna sensible con una función de transformación.

  • Consulta original: SELECT name, credit_card FROM customer_table;
  • Consulta enmascarada: SELECT name, mask_cc(credit_card) AS credit_card FROM customer_table;
  • Vulnerabilidad: Los administradores de bases de datos pueden modificar la función de enmascaramiento, eludiendo el control por completo.
  • Uso: Resulta especialmente eficaz para enmascarar la actividad de aplicaciones o de analistas.

Método 3: Vistas de base de datos enmascaradas

La lógica de enmascaramiento está encapsulada dentro de vistas de base de datos.

  • Consulta original: SELECT name, credit_card FROM customer_table;
  • Consulta enmascarada: SELECT name, credit_card FROM customer_masked_view;
  • Vulnerabilidad: Altamente vulnerable a la elusión por parte de un administrador, ya que la vista puede manipularse fácilmente.
  • Uso: Solo resulta eficaz para enmascarar la actividad de la aplicación.

Lado de la Base de Datos Frente al Lado de la Aplicación

El lugar donde se interceptan y reescriben las consultas es fundamental, ya que determina el contexto de identidad disponible para tomar decisiones sobre el enmascaramiento.

Enmascaramiento en el Lado de la BBDDEnmascaramiento en el Lado de la Aplicación
Ubicación de EnmascaramientoMotor de base de datosServidor de aplicaciones
Conexiones DirigidasTodas las conexiones a la base de datosSolo conexiones de aplicaciones
Conciencia del Contexto del UsuarioBajo (cuentas de aplicación genéricas)Alto (identidad del usuario final)

Cuando el caso de uso para el enmascaramiento dinámico consiste en enmascarar a usuarios finales específicos, el enmascaramiento dinámico en el lado de la aplicación puede ser la única opción. Cuando el enmascaramiento dinámico debe abarcar múltiples cuentas de base de datos o cuentas con privilegios, el enmascaramiento en el lado de la base de datos puede resultar una opción mucho más realista.

La Restricción Determinista

A diferencia del enmascaramiento estático, en el que resulta deseable y esperable aleatorizar los datos enmascarados, el enmascaramiento dinámico debe ser totalmente determinista, predecible y repetible.

Si un operador o una aplicación ejecutan la misma sentencia SELECT dos veces seguidas, el motor de enmascaramiento dinámico debe devolver exactamente la misma cadena enmascarada en ambas ocasiones. Introducir aleatoriedad en la ejecución de consultas dinámicas provoca fallos inmediatos:

  • Rompe la lógica de la aplicación: las aplicaciones a menudo dependen de un comportamiento consistente de la base de datos. Ya sea que estén volviendo a consultar datos actualizados, ordenando resultados o almacenando información en caché, los resultados aleatorios confundirán a la aplicación y pueden provocar fallas inesperadas.
  • Confunde a los usuarios finales: los representantes del centro de llamadas o el personal de operaciones que intentan cruzar los registros de los clientes encontrarán datos cambiantes, lo que dejará el sistema inutilizable.

Resumen y Marco de Toma de Decisiones

Elegir entre el enmascaramiento de datos estático y el dinámico no es una cuestión de preferencia; es una cuestión de entorno y propósito.

Enmascaramiento Estático de DatosEnmascaramiento Dinámico de Datos
Objetivo principalProtege los entornos que no son de producción.Mostrar información parcial a usuarios de producción específicos.
Entorno de destinoDesarrollo, pruebas (QA), capacitación.Solo producción.
Impacto de los datosSobrescritura permanente (destructiva).Transformación en tiempo de ejecución (no destructiva).
Valor de seguridadAlto: Elimina por completo el riesgo de los datos.Nulo: No detecta ni evita brechas.
Costo y complejidadDe bajo costo, sencillo, de ejecución única.Costoso, complejo, funciona de forma continua.

Reflexión Final

El enmascaramiento estático es una operación sencilla, rentable y de ejecución única. Resuelve por completo el problema de la seguridad y el cumplimiento normativo en sistemas que no son de producción, al eliminar los datos confidenciales en el disco y, al mismo tiempo, preservar la utilidad de la aplicación y de las pruebas. Una vez aplicado, el riesgo y la exposición en dichas bases de datos no destinadas a producción disminuyen drásticamente.

El enmascaramiento dinámico es un mecanismo complejo, costoso y de ejecución continua. No resuelve —ni está diseñado para resolver— el problema de la seguridad en las bases de datos; simplemente cubre una carencia funcional específica para los usuarios en entornos de producción que requieren una visibilidad parcial de los datos. Aun así, es necesario implementar todos los controles de seguridad, tanto preventivos como detectivos, para proteger la base de datos de producción subyacente.

Se trata de dos soluciones que no deben confundirse. Utilizar el enmascaramiento dinámico como estrategia de seguridad para entornos que no son de producción, o el enmascaramiento estático como herramienta para entornos de producción, es una receta segura para el desastre.

Para saber más haz click aquí

Si tenes alguna pregunta o comentario, no dude en hacérnoslo saber. Estaremos encantados de escucharles