Contactanos
Guía Completa Para Enmascaramiento de Datos Estático
Enmascara tus datos de forma manual en bases de datos Oracle y SQL Server descargando nuestro Script gratuito.

El enmascaramiento estático de datos (SDM) consiste en reemplazar información confidencial con datos realistas, pero ficticios, en entornos no productivos. El objetivo es simple: eliminar el riesgo de seguridad.

Dado que las bases de datos están diseñadas para manipular datos a escala, puede optar por aprovechar estas capacidades y optar por un enfoque «hágalo usted mismo» (DIY). La idea es crear scripts SQL que enmascaren los datos en lugar de aprovechar la potencia de herramientas de terceros. A continuación, le explicamos cómo abordar las complejidades del enmascaramiento «hágalo usted mismo».

Core Masking Vs. DIY

Es fundamental comprender que este método «hazlo tú mismo» funciona de forma diferente a una solución de enmascaramiento como Core Masking. No se trata solo de tener una interfaz de usuario fácil de usar, sino de cómo funciona el enmascaramiento.

Core Masking lee todos los datos de la columna, aplica el algoritmo de enmascaramiento en el software y luego actualiza cada fila individualmente con los nuevos datos enmascarados. Esto significa que, para un millón de filas, Core Masking emitirá un millón de actualizaciones individuales. Core Masking aprovecha diversas técnicas (como la vinculación de matrices) para que el enmascaramiento se ejecute rápidamente. Sin embargo, lo importante es que Core Masking ejecuta los algoritmos de enmascaramiento en la solución. Esto significa que el algoritmo de enmascaramiento puede ser complejo y realizar cualquier funcionalidad compatible con el producto.

El método «hazlo tú mismo» utiliza una única actualización vertical. Esto significa que se ejecuta muy rápido. Sin embargo, también significa que se limita a algoritmos de enmascaramiento que se pueden implementar mediante funciones integradas de la base de datos. Intentamos simular tantos algoritmos de enmascaramiento como pudimos con la funcionalidad integrada de la base de datos, pero no es lo mismo y existen importantes deficiencias que revisaremos.

En resumen, lo mejor que puedes hacer es hacerlo tú mismo sin una solución. Puede que sea suficiente para tus propósitos, pero no es lo mismo que una solución de enmascaramiento. Lee los detalles a continuación y pruébalo tú mismo.

El Método de la «Limpieza»: El Instrumento Contundente

Si su único objetivo es eliminar los datos confidenciales y no reemplazarlos con nada más, la base de datos puede hacerlo con un solo comando simple:

Tipo de DatosComando SQLRiesgo
AnulableUPDATE tbl1 SET col1 = NULL;La aplicación debe manejar valores nulos
Caracteres AlfanuméricosUPDATE tbl1 SET col1 = »;Rompe la lógica que espera longitudes/formatos específicos
Caracteres NuméricosUPDATE tbl1 SET col1 = 0;Rompe la lógica que espera un rango numérico específico

Equilibrio Entre el Riesgo y la Calidad de los Datos

El método de borrado descrito anteriormente no es muy útil porque elimina los datos. El objetivo principal y el desafío del enmascaramiento es mantener la calidad de los datos. Trasladamos los datos de producción a entornos de desarrollo/prueba porque necesitamos ejemplos reales con casos extremos. Queremos simular la producción para detectar errores en las primeras etapas de los ciclos de desarrollo y prueba.

Por lo tanto, normalmente no queremos borrar los datos, sino entregar datos que sean una copia fiel del original. Eliminar la sensibilidad sin perder utilidad.

Al enmascarar, debemos considerar el nivel de realismo que queremos lograr sopesando el riesgo frente a los requisitos de prueba. Aquí hay algunos ejemplos:

  • Los datos sensibles no se prueban. Simplemente deben existir, pero cualquier cosa serviría. Por ejemplo, un nombre y un número de teléfono deben parecerse a un nombre y un teléfono, pero no necesariamente ser copias exactas del original.
  • La aplicación tiene requisitos de datos. Estos deben cumplir con ciertas reglas. Por ejemplo, una tarjeta de crédito debe pasar la suma de comprobación de Luhn, un número de teléfono debe ajustarse al formato telefónico, un código postal debe coincidir con la ciudad o un número de seguro social debe coincidir en varias columnas (lo que se conoce como consistencia).
  • Realismo. Los datos enmascarados deben conservar ciertas propiedades de los datos confidenciales originales. Por ejemplo, mantener el orden de magnitud de los salarios o los formatos de los números de teléfono de los datos originales. El realismo también puede requerir la conservación de propiedades estadísticas como la proporción de hombres y mujeres, o el número de usuarios en cada país.

Cinco Algoritmos Esenciales de Enmascaramiento Casero

Para una implementación de bricolaje, estos cinco patrones cubren un gran porcentaje de casos de uso.

1. Infusión de Ruido (Numérico)

  • Tipo de datos: Cantidades numéricas. Principalmente salarios u otros importes en dólares, pero también son útiles para inventario, recuento de productos, etc.
  • Método: Añadir ruido aleatorio dentro de un rango. Por ejemplo, dentro de un margen de ±30% del valor original.
  • Ventajas: Conserva el orden de magnitud, proporcionando datos similares pero diferentes al original.
  • Limitación: Añadir un 10% a un valor 0 da como resultado 0.
  • Limitación del método «hazlo tú mismo»/DIY: El ruido suele tener una distribución uniforme. Una distribución gaussiana (normal) u otras distribuciones pueden generar datos de mejor calidad con menor riesgo.
  • Riesgos: Los valores atípicos (como el salario de un director ejecutivo) siguen siendo atípicos incluso después de añadir ruido, lo que los hace vulnerables a ataques de reidentificación.

2. Reemplazo de Caracteres (Patrones y Texto)

  • Tipo de datos: Datos textuales. Se obtienen mejores resultados con patrones. Por ejemplo, números de teléfono, documento nacional de identidad, matrículas, etc.
  • Método: Reemplazar caracteres específicos por otros. Por ejemplo, convertir todos los dígitos en asteriscos () o reemplazar dígitos por otros dígitos. Estrategia de la «Estrella»: Reemplazar los caracteres designados con un asterisco (), una X o marcadores de posición similares.
  • Estrategia de la «Lista Blanca»: Definir caracteres seguros (espacio, punto, guion) y reemplazar todo lo demás.
  • Estrategia de la «Lista Negra»: Definir los caracteres que se desean reemplazar y conservar todo lo demás. Por ejemplo, reemplazar dígitos (0-9) y letras (A-Z, a-z).
  • Estrategia de «Campo Parcial»: Conservar los últimos 3 caracteres y enmascarar el resto. Por ejemplo, para conservar el código de área de un número de teléfono.
  • Limitación: Al aplicar esta estrategia a datos textuales que no son un patrón (por ejemplo, un nombre), los datos enmascarados se verán como un galimatías. Es información válida, pero puede resultar incómoda para las pruebas.
  • Limitación de la función «hazlo tú mismo»: El reemplazo suele depender de TRADUCIR, que reemplaza caracteres específicos por otros. Esto significa que todas las apariciones de un dígito o letra dentro del campo se reemplazarán por el mismo dígito o letra (por ejemplo, de «212-555-1234» a «646-999-4673»). Además, el campo parcial suele basarse en el recuento de caracteres. Por ejemplo, los primeros 3 caracteres y no los primeros 3 dígitos ni todo lo anterior a la @.
  • Riesgos: El patrón que no se expone. Por ejemplo, un número de teléfono internacional se ve diferente a uno nacional. Un apellido de dos letras probablemente sea un nombre asiático como «Ho» o «Li». Los nombres largos o con guion pueden reconocerse en el directorio de empleados. Además, las limitaciones del bricolaje pueden exponer información adicional, como un enmascaramiento insuficiente en la estrategia de campo parcial, así como ataques estadísticos basados ​​en frecuencias de caracteres (por ejemplo, las vocales son más frecuentes y se pueden identificar en función de los caracteres repetidos) o valores predecibles (por ejemplo, si muchos números de teléfono comienzan con +1 o un código de área conocido, esos dígitos son identificables en el resto del número).

3. Conjuntos de Datos Limitados

  • Tipo de datos: Columnas que solo pueden contener un número limitado de valores válidos. Por ejemplo, género, país o estado del pedido. Los valores pueden ser textuales (p. ej., «Hombre», «Mujer») o numéricos (p. ej., 1 para Hombre y 2 para Mujer).
  • Método: Cree una tabla con una lista de posibles valores y, durante el enmascaramiento, utilice esos valores aleatoriamente. La tabla puede crearse manualmente, a partir de una tabla de búsqueda o basándose en los valores actuales de la columna.
  • Limitación de la configuración «hazlo tú mismo»/DIY: No se puede mantener la «Distribución de frecuencia». Por ejemplo, es probable que a una columna de género con dos valores se le asigne uno a cada uno el 50 % del tiempo, independientemente de la distribución de género en los datos.
  • Nota: Este método puede utilizarse para generar algunos datos textuales limitados. Por ejemplo, con una lista de nombres, este método puede enmascarar la columna de nombre con nombres legibles.

4. Fechas

  • Tipo de datos: Columnas que contienen fechas y horas. Por ejemplo, fechas de nacimiento, fecha de emisión de la tarjeta, fecha de vencimiento o fechas de transacción.
  • Método: Desplazar la fecha hacia arriba o hacia abajo dentro de un rango. Por ejemplo, más o menos un año. Este es un tipo de infusión de ruido en datos de fecha u hora.
  • Ventajas: Conserva un orden de magnitud. Por ejemplo, la edad aproximada de una persona (una persona mayor y un niño se mantienen viejos y jóvenes), o la antigüedad de una cuenta.
  • Limitación de la configuración automática: Si las fechas se almacenan como cadenas, primero debe convertirlas a un tipo de fecha, agregar el ruido y volver a convertirlas. Este proceso depende de conocer el formato del campo de texto y de tener funciones de base de datos que puedan analizarlo.

5. Generación de números

  • Tipo de datos: Numéricos.
  • Método: Utilizar un generador de números aleatorios para crear los datos del campo.
  • Ventajas: Los datos enmascarados no están relacionados con los datos originales y no revelan ninguna información.
  • Desventajas: Los datos enmascarados no están relacionados con los datos originales y no proporcionan ningún valor de prueba.
  • Limitación del método «hazlo tú mismo»/DIY: Sin control sobre la distribución, no hay control sobre el perfil numérico, excepto por el rango.

Donde El Enfoque DIY Se Topa Con Un Muro

Más allá de la falta de interfaz de usuario y las limitaciones mencionadas hasta ahora, el enfoque DIY presenta ciertas barreras imposibles de superar. Si estas forman parte de sus requisitos, una solución comercial es más adecuada.

Consistencia, claves primarias/externas: El enfoque DIY no puede generar valores únicos para las claves primarias ni enmascarar las claves externas de referencia con los mismos valores. Otros tipos de consistencia entre columnas o entre bases de datos tampoco son posibles.

Generación de datos: Generar datos textuales más complejos y realistas queda fuera del alcance de un proyecto DIY. Por ejemplo, generar direcciones de correo electrónico o direcciones físicas realistas.

Perfilado: Perfilar los datos para generar información enmascarada basada en ese perfil es imposible con el enfoque DIY, ya sea para identificar patrones en los datos o para conservar su frecuencia.

Otros casos: Existen muchas situaciones en las que una solución comercial es más adecuada. Por ejemplo, para enmascarar LOB (objetos grandes) como imágenes, datos biométricos, etc., para analizar fechas a partir de cadenas, para realizar ajustes personalizados, etc.

Reflexiones Finales

El enmascaramiento DIY es una opción válida para startups o proyectos pequeños con presupuestos ajustados. Te obliga a escribir las SQL manualmente, pero los scripts que ofrecemos en el panel derecho te guiarán en la mayor parte del proceso. Sin embargo, a medida que aumentan tus requisitos de seguridad y calidad de datos o disminuye la disponibilidad del personal de bases de datos, mantener tus propios scripts de enmascaramiento de datos a menudo superará el precio de una solución como Core Masking.

En resumen: Ya sea que la construyas o la compres, no dejes expuestos tus entornos de desarrollo y pruebas. Enmascara tus datos.

Ingrese su dirección de correo electrónico a continuación para recibir nuestros scripts para Oracle y SQL Server.

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