La ricerca di alcuni dei dati memorizzati nel database è il modo più semplice per rilevare una perdita di dati. Puoi anche cercare gli eventi causati dalla perdita di dati (ad esempio, alcune transazioni in una carta di credito o un messaggio di posta elettronica che riceve spam).
Per semplificare, puoi:
- Aggiungi record fittizi al database. Puoi taggarli (o non) come falso in modo che l'applicazione non li usi. Possono essere creati dall'applicazione o possono essere inseriti manualmente. Possono essere pochi o molti.
- Filigrana i record nel database. Aggiungendo o modificando alcuni dati su alcuni (o tutti) i record (reali o falsi) regolarmente (ad esempio, settimanalmente), in modo che se scopri un record in the wild, saprai quando è successo.
- Per le operazioni di esportazione (se l'applicazione include funzioni di esportazione o di backup o anche rapporti a elenchi completi) è possibile aggiungere le impronte digitali ai dati. Quelli sono elementi singoli (stringhe aggiunte a colonne, intere colonne o interi record) aggiunti al volo per quell'utente solo per quel solo tempo, in modo che tu possa scoprire un traditore (un utente legittimo con accesso ai dati chi lo ha fatto trapelare).
Ad esempio, supponiamo che l'applicazione crei un record fittizio su mille di record reali e che ogni record abbia un indirizzo email. Inoltre, la tua applicazione aggiunge un cognome fasullo ai record casuali usando un elenco di cognomi falsi (ovviamente la tua applicazione dovrebbe ignorarli quando vengono trovati nella posizione di stringa prevista). Per semplificare, diciamo che hai un sacco di domini con account e-mail catch-all. La tua applicazione modifica gli indirizzi email di tali record fittizi mensilmente, utilizzando i tuoi domini. Si monitorano gli indirizzi e-mail e si eseguono ricerche Web automatiche per trovare il contenuto di tali record fittizi. Se trovi nomi e indirizzi email sul Web o ricevi spam in uno di questi indirizzi, saprai che i dati sono trapelati.
(Si dovrebbe prestare molta attenzione quando si utilizza un motore di ricerca se si nutrono clienti reali / pazienti / quali dati, in quanto si potrebbero violare alcune leggi sulla privacy, ma se i dati sono falsi o reali ma i tuoi allora è ok).
Se disponi di risorse sufficienti, puoi anche richiedere carte di credito / debito reali, includerle nei tuoi record fittizi e quindi monitorare qualsiasi attività su di loro.
Serve a rilevare un'interruzione completa dei dati (l'autore dell'attacco ha l'intero database).
Per perdite di dati minori (da alcuni dipendenti che ottengono alcune informazioni da alcuni record) la soluzione sarebbe diversa. Aggiungere le impronte digitali ai dati sarebbe più utile.
Personalmente, ho implementato il fingerprinting per diverse applicazioni (poiché c'erano più amministratori, avendo accesso all'intero database dall'applicazione) e aggiungendo i record fittizi a un paio di applicazioni con i dati del cliente (tuttavia non lo faccio fai il monitoraggio, spero che i miei clienti lo stiano facendo)