DataSunrise Enmascaramiento para Oracle
DataSunrise Enmascaramiento para Oracle está diseñado para proteger los datos sensibles en tránsito ante amenazas tanto internas como externas. La función ofusca los datos originales y proporciona a los usuarios caracteres aleatorios en lugar de los registros reales de la base de datos. De este modo, los usuarios no autorizados pueden seguir trabajando con la base de datos de producción pero nunca obtienen acceso a la información sensible original.
Las herramientas de enmascaramiento de datos de Oracle de DataSunrise previenen de manera eficiente la exposición de información sensible al conceder acceso a la base de datos a organizaciones de terceros. Existen muchas ocasiones en las que las organizaciones necesitan compartir datos de sus bases de datos de producción con empleados de terceros. Aquí hay algunos ejemplos:
- Una determinada organización contrata especialistas externos de TI para personalizar su sistema empresarial o realizar pruebas, actualizaciones, etc. en la base de datos.
- Una compañía de salud proporciona a investigadores médicos información sobre ensayos clínicos.
- Una empresa minorista comparte información de ventas con investigadores de mercado.
El punto es que, en la mayoría de los casos, los especialistas de terceros no necesitan los datos reales que contiene la base de datos. Un entorno que simula una base de datos de producción real es suficiente. La mejor forma de proteger los datos sensibles al transferirlos a un tercero es reemplazarlos por datos neutrales. Y la forma más eficiente de lograrlo es mediante el enmascaramiento.
Lo importante es que los datos enmascarados sean lo suficientemente consistentes como para soportar el correcto funcionamiento de la aplicación del tercero. En pocas palabras, el propósito principal del enmascaramiento es hacer que los datos sensibles sean inútiles para los delincuentes, manteniéndolos útiles para quienes deben recibirlos.
A veces, en estas situaciones, se utiliza el enmascaramiento estático. Este permite proporcionar al tercero una copia independiente de una base de datos real que contiene algunos datos neutrales en lugar de datos sensibles. Aunque este método es confiable, puede resultar costoso y llevar mucho tiempo.
Por eso, en la mayoría de los casos, es preferible el enmascaramiento dinámico de datos. A diferencia del enmascaramiento estático, el enmascaramiento dinámico ofusca los datos sensibles en tiempo real, mientras se transfieren a las partes externas. En este caso, el contenido real de la base de datos permanece intacto y únicamente la salida de la base de datos es ofuscada.
Cómo se realiza el enmascaramiento de datos en Oracle
La herramienta de enmascaramiento dinámico de DataSunrise funciona como un proxy entre los clientes (esos especialistas de terceros) y su base de datos Oracle. Los clientes se conectan a la base de datos de producción únicamente a través del proxy de DataSunrise (se desactiva cualquier acceso directo a la base de datos).
La herramienta de enmascaramiento de datos de Oracle intercepta la consulta del cliente, la modifica de acuerdo con las políticas de seguridad existentes y redirige la consulta modificada (“enmascarada”) a la base de datos. Al recibir una consulta “enmascarada”, la base de datos devuelve datos ficticios (ofuscados) en lugar de los valores reales solicitados originalmente por el cliente. Dado que ningún dato real sale de la base de datos, este método de ofuscación de datos es muy confiable.
Y así es como se ve

Por ejemplo, aquí tenemos una tabla de Oracle que se asemeja a una lista de clientes, incluyendo direcciones, correos electrónicos y números de tarjetas de crédito. Antes de exportar esta lista a un sistema de terceros, debemos ofuscar los datos personales de los clientes.
Para ello, se crearon algunas reglas de enmascaramiento. Junto con patrones de enmascaramiento de uso general, DataSunrise ofrece algoritmos de ofuscación para correos electrónicos y números de tarjetas de crédito. Así, se crearon algunas reglas de enmascaramiento para ofuscar los datos en las columnas que contienen los números de tarjetas de crédito y las direcciones de correo electrónico de los clientes. Supongamos que dejar las otras columnas sin enmascarar es aceptable.

Y así es como se ve la tabla después de aplicar el enmascaramiento. Como se puede observar, los datos en las columnas especificadas fueron ofuscados y, por lo tanto, se volvieron inútiles para posibles delincuentes.
Internos del enmascaramiento de datos en Oracle
Ahora veamos cómo se muestra el enmascaramiento en SQL.
Aquí está la consulta original del cliente:
/* + NO_PARALLEL */ SELECT ROWID "ROWID", ORA_ROWSCN "ORA_ROWSCN", ORDERNUMBER ORDERNUMBER, FIRSTNAME FIRSTNAME, LASTNAME LASTNAME, ADDRESS ADDRESS, ZIP ZIP, EMAIL EMAIL, CARD CARD FROM "SALES"."CUSTOMERS"
Y la consulta SQL que la base de datos recibe después de aplicar el enmascaramiento es:
/* + NO_PARALLEL */ SELECT ROWID "ROWID", ORA_ROWSCN "ORA_ROWSCN", ORDERNUMBER ORDERNUMBER, FIRSTNAME FIRSTNAME, LASTNAME LASTNAME, ADDRESS ADDRESS, ZIP ZIP, CAST(regexp_replace(SUBSTR("EMAIL", 0, REGEXP_INSTR("EMAIL", '.[[:alnum:]]+($| )')), '[[:alnum:]]', '*') || SUBSTR("EMAIL", REGEXP_INSTR("EMAIL", '.[[:alnum:]]+($| )') + 1) AS VARCHAR2(50)) EMAIL, CAST(TRANSLATE(SUBSTR("CARD", 0, LENGTH(TRIM("CARD")) - 4), '0123456789', 'XXXXXXXXXX') || SUBSTR("CARD", LENGTH(TRIM("CARD")) - 3) AS VARCHAR2(20)) CARD FROM "SALES"."CUSTOMERS"