La búsqueda de algunos de los datos almacenados en la base de datos es la forma más fácil de detectar una fuga de datos. También puede buscar eventos causados por la fuga de datos (por ejemplo, algunas transacciones en una tarjeta de crédito o algún correo electrónico que recibe spam).
Para hacer esto más fácil, puedes:
- Agregue registros ficticios a la base de datos. Puede etiquetarlos (o no) como falsos para que la aplicación no los use. Pueden ser creados por la aplicación o pueden ser ingresados manualmente. Pueden ser algunos o muchos.
- Marca de agua los registros en la base de datos. Agregar o cambiar algunos datos en algunos (o todos) registros (reales o falsos) regularmente (por ejemplo, semanalmente), de modo que si descubre un registro en la naturaleza, sabrá cuándo sucedió.
- Para las operaciones de exportación (si su aplicación incluye funciones de exportación o copia de seguridad o incluso informes de listas completas) puede agregar huellas digitales a los datos. Esos son elementos únicos (cadenas agregadas a algunas columnas, columnas enteras o registros completos) agregados sobre la marcha para ese usuario solo por ese tiempo solamente, para que pueda descubrir a un traidor (un usuario legítimo con acceso a los datos) quien luego lo filtró).
Por ejemplo, supongamos que su aplicación crea un registro ficticio por cada mil registros reales, y cada registro tiene una dirección de correo electrónico. Además, su aplicación agrega un apellido falso a registros aleatorios usando una lista de apellidos falsos (Obviamente, su aplicación debería ignorarlos cuando se encuentre en la posición de cadena esperada). Para simplificar, supongamos que tienes un montón de dominios con cuentas de correo electrónico de todo tipo. Su aplicación cambia las direcciones de correo electrónico de esos registros ficticios mensualmente, utilizando sus dominios. Supervisa esas direcciones de correo electrónico y realiza búsquedas web automatizadas para encontrar el contenido de esos registros ficticios. Si encuentra los nombres y las direcciones de correo electrónico en la web o recibe correo no deseado en cualquiera de esas direcciones, sabrá que los datos se han filtrado.
(Debería tener mucho cuidado al usar un motor de búsqueda si alimenta a clientes / pacientes / cualquier información real, ya que puede estar infringiendo algunas leyes de privacidad, pero si la información es falsa o real, pero la suya está bien).
Si tiene recursos suficientes, también puede solicitar tarjetas de crédito / débito reales, incluirlas en sus registros ficticios y luego monitorear cualquier actividad en ellas.
Esto es para detectar una violación de datos completa (el atacante tiene toda la base de datos).
Para fugas de datos más pequeñas (de algún empleado que obtiene información de algunos registros) la solución sería diferente. Sería más útil agregar las huellas digitales a los datos.
Personalmente, he implementado la toma de huellas dactilares para varias aplicaciones (ya que había varios administradores, todos con acceso a toda la base de datos desde la aplicación), y agregando registros ficticios a un par de aplicaciones con datos de clientes (sin embargo, no hacer el monitoreo, espero que mis clientes lo estén haciendo).