PostgreSQL Anonymizer 2.0 - Generating Fake Data
15/10/2024
15/10/2024
13/11/2019
Dalibo Labs vient de publier la version version 0.5 de PostgreSQL Anonymizer, une extension qui masque les données sensibles à l’intérieur d’une base de données PostgreSQL.
07/11/2019
Dalibo Labs just released yesterday the version 0.5 of PostgreSQL Anonymizer, an extension that hides sensitive information inside a PostgreSQL database.
25/09/2019
Il y a un an, j’ai lancé un projet appelé PostgreSQL Anonymizer pour étudier et aprrendre différentes techniques de protection des données privées en utilisant la puissance de PostgreSQL. Ce projet fait maintenant partie de l’initiative Dalibo Labs et nous venons de publier une nouvelle version la semaine dernière….
C’est l’occasion d’analyser les progrès réalisés, l’impact du RGPD et les futures directions du projet.
Depuis le début de ce projet, le paysage a radicalement changé…. Lorsque le RPGD est entré en vigueur en mai 2018, uns des grandes questions concerant les pénalités financières infligées. Est-ce que les montants serait assez significatifs pour provoquer un réel changement dans la manière dont les entreprises gèrent les données personnelles ?
De ce que l’on peut voir, les amendes RGPD ont commencé à tomber depuis le début d’année et rien que pour le mois de juillet 2019 : Bristish Airways a reçu une sanction de 204 M€ et les hotels Marriott Hotels en a reçu une de 110 M€.
Il y a aussi des amemdes moins élevée pour des sociétés de petites tailles. Ce qui est intéressant, c’est que les sanctions les plus importantes concernent l’Article 32 et « des mesures techniques et organisationnelles insuffisante pour garantir le sécurity de l’information ».
En d’autres termes : des fuites de données.
Voici un domaine ou l’anonymisation peut aider ! Sur la base de mon expérience, il est possible de réduire les risques de fuites d’informations sensibles en limitant la dispersion de ces données. Dans beaucoup d’environnements ( pré-production, formation, développement, intégration, statistiques, etc…) les données réelles ne sont pas absolument nécessaires. Avec une politique d’anonymisation très forte, on peut resteindre l’usage des données personnelles uniquement lorsque c’est indispensable et travailler sur des données aléatoires ou artificielles partout ou c’est possible… Lorsque l’anonymisation est faite correctement, les jeux de données anonymisées ne sont plus soumises aux contraintes du RGPD.
Pour résumer: l’anonymisation est une méthode puissante pour réduire la
surface d’attaque et c’est un clé pour limiter les risques
liés aux fuites de données.
C’est pourquoi nous investissons beaucoup d’efforts pour développer des outils de masquage directement à l’intérieur de PostgreSQL !
Le mois dernier, j’ai travaillé sur différents aspects de l’extension, notamment :
mélange
et
la génération de bruit
.Un défaut de l’implémentation actuel de PostgreSQL Anonymizer est que les
Règles de Masquage sont déclarées avec la syntaxe COMMENT
, ce
qui peut être ennuyeux lorsque votre modèle de données contient déjà
des commentaires.
Grace à une idée d’Alvaro Herrera, je travaille actuellement sur une nouvelle syntaxe basée sur les Labels de Sécurité, une fonctionnalité méconnue qui est utilisée principalement par l’extension sepgsql.
SECURITY LABEL FOR anon ON COLUMN people.zipcode
IS 'MASKED WITH FUNCTION anon.fake_zipcode()'
Cette syntaxe devrait disponible dans quelques semaines. Bien sur la syntaxe précédentes sera toujours supportées pour assurer la retro-compatibilité.
Le RGPD et la protectée des données personnelles sont deux sujets brulants ! Je parlerai de tout cela dans différents événement cet automne, notamment:
If you have any ideas or comments on PostgreSQL Anonymizer or more generally about protecting data privacy with progress, please send me a message at damien@dalibo.com.
23/09/2019
One year ago, I started a side-project called PostgreSQL Anonymizer to study and learn various ways to protect privacy using the power of PostgreSQL. The project is now part of the Dalibo Labs intiative and we’ve published a new version last week…
This seems like a nice moment to analyze the progress we’ve made, how the GDPR is changing the game and where we’re going….
While I was working on this, the landscape has changed… When the GDPR was implemented in May 2018, one of the biggest questions was if the fines would be significant enough to force a real change in corporate data policies….
From what we can see, the GDPR penalties are starting to fall, just during July 2019: Bristish Airways got 204 M€, and Marriott Hotels got 110 M€.
There are also smaller fines for smaller companies, what’s interesting is that the biggest fines are related to the Article 32 and the « Insufficient technical and organisational measures to ensure information security ».
In other words : Data Leaks.
Here’s where anonymization can help ! Based on my experience, we can reduce the risks of leaking personnal information by limiting the number of environments where the data is hosted. In many staging setups (such as pre-production, training, development, CI, analytics, etc…) the real data is not absolutely required. With a strong anonymization policy we can limit real data only where it is needed and work on fake/random data everywhere else. When anonymization is done the right way, the anonymized datasets are not concerned by the GDPR.
In a nutshell, anonymization is powerful method to reduce your attack surface and it’s a key to limit the risks of GDPR penalties related to data leaks.
This is why we’re investing a lot of efforts to develop masking tools directly inside PostgreSQL !
Over the last month, I’ve worked on different aspects of the extension, especially :
shuffling
and noise
insertion
One of the main drawback of the current implementation of PostgreSQL is that
Masking Rules are declared using the COMMENT
syntax which can be annoying
if your database already has comments.
Thanks to an idea from Alvaro Herrera, I’m currently working on a new declaration syntax based on Security Labels, a little known feature also used by the sepgsql extension
SECURITY LABEL FOR anon ON COLUMN people.zipcode
IS 'MASKED WITH FUNCTION anon.fake_zipcode()'
This should be available in a few weeks. Of cource, the former syntax will
still be supported for backward compatibility.
GDPR and data privacy are two very hot topics ! I will be talking about those subjects in various events in the forthcoming weeks :
If you have any ideas or comments on PostgreSQL Anonymizer or more generally about protecting data privacy with progress, please send me a message at damien@dalibo.com.
03/01/2019
Data Anonymization is a complex topic but PostgreSQL has a lot of interesting features to tackle this challenge! Here is an overview of different approaches and how to implement them directly within a PostgreSQL database.
05/11/2018
J’ai pubié il y a quelques jours une extension nommée PostgreSQL Anonymizer qui masque ou remplace les données à caractère personnelle ( personally identifiable information ou PII en anglais) et les données sensibles en général.
29/10/2018
I’ve just released today an extension called PostgreSQL Anonymizer that will mask or replace personally identifiable information (PII) or commercially sensitive data from a PostgreSQL database.
17/07/2018
Je viens de boucler la semaine dernière un cycle amorcé il y a une douzaine d’années quand j’ai pris la direction de la société coopérative Dalibo avec Jean-Paul Argudo. Ce voyage m’a conduit beaucoup plus loin que je ne l’aurai imaginé et il m’a appris énormément sur moi-même et sur la gouvernance d’entreprise en particulier. Je reste au sein de la société et je retourne à mon métier premier et ma passion : DBA PostgreSQL !
24/04/2018
Tomorrow I’ll talk about the Open Decision Framework at the TEQNation conference in The Netherlands and I’ll try to explain how we can use open source principles to take better decisions.
24/04/2018
Demain je serai en Hollande pour présenter le Cadre de Décision Ouverte ( Open Decision Framework en VO ) à l’occasion de la conférence TEQNation et j’essaierai d’expliquer comment on peut utiliser les principes fondamentaux de l’open source pour prendre de meilleurs décisions.
17/01/2018
Join the conversation to build better GUI for Postgres !
07/12/2017
Le Groupe de Travail Inter-Entreprises de l’association PostgreSQLFr vient de publier une lettre ouverte destinée à tous les éditeurs de logiciels qui ne supportent pas encore PostgreSQL pour le demander d’être compatibles avec PostgreSQL.
07/12/2017
The French PostgreSQL Cross-Enterprise Work Group, a non-profit organization advocating for the adoption and use of PostgreSQL, just published an open letter to all software vendors that don’t already do so to take steps to support PostgreSQL as a database management system (DBMS). The ambition of this initiative is to incite them to adapt quickly to the irresistible IT transformation in progress in public and private companies.
13/11/2017
PostgreSQL 10 est sortie il y a quelques semaines et un premier correctif de sécurité a été publié le 10 novembre.
30/10/2017
The very first PostgreSQL Graphic Tools Developer Meeting happened last week during PostgreSQL Conference Europe 2017 in Warsaw. The meeting gathered 16 developpers repesenting 14 software ( KEXI, Postico, Postgres.app, pgAdmin, DBeaver, pgCluu SQL Tabs, pg_view, bg_mon, pgBadger, pgFormatter, Postgres Professional Manager (not released yet), temBoard, PoWA, pgDevOps, ) and 10 different organizations ( EnterpriseDB, OpenSCG, PostgresPro, EggerApps, Crunchy Data, Dalibo, KDE, 2nd Quadrant, Rider Soft, Zalando )
27/10/2017
Pour chaque nouvelle version de PostgreSQL, Dalibo organise des ateliers d’une journée pour présenter les dernières nouveautés et les améliorations. Les places étant limitées, nous avons décidé de diffuser plus largement le contenu de nos workshops en publiant les fichiers source sous licence libre via github.
01/03/2017
Toulouse, Nantes ou Paris ? Vous avez l’embarras du choix 3 rendez-vous autour de PostgreSQL s’offrent à vous dans les jours à venir !
05/02/2017
Le prochain défi pour la communauté PostgreSQL est de produire des outils graphiques riches et bien conçus. C’est un domain dans lequel nous avons une grande marge de progression et Temboard est un des projets (parmi d’autres) qui a l’ambition de devenir un outil graphique pour PostgreSQL.
02/02/2017
The next challenge for the PostgreSQL community is to provide feature rich and well-designed graphic tools to manage several instances. This is a domain where we can make a lot of progress and Temboard is one of the current projects (among others) that aims to provide a nice management tool for PostgreSQL.
01/11/2016
Le projet PostgreSQL Magazine revien avec un concept original nommé project is back The Paper Elephant : un journal pliant et dynamique.
01/11/2016
The PostgreSQL Magazine project is back with an original concept named The Paper Elephant : a folded newspaper with a dynamic look & feel.
03/10/2016
PostgreSQL 9.6 est sortie il y a quelques jours et encore fois c’est une version majeure avec des fonctionnalités très attendues ! Les notes de versions sont très longues alors j’ai décidé de sélectionner 6 nouveautés importantes qui peuvent changer la manière dont vous utiliser PostgreSQL.
01/10/2016
PostgreSQL 9.6 was released a few days ago and it’s another huge milestone for the PostgreSQL community ! The release notes are way too long, so I’ve decided to pick up 6 big improvements that may change the way you will use PostgreSQL.
18/07/2016
TL;DR : With the kind support of PostgreSQL Europe, I am launching a new edition of the PostgreSQL Magazine in an innovative paper format. The primary goal is to publish it and send copies to PostgreSQL Conference Europe in Tallinn in November. If we’re sucessful, additional copies will be sent to other events.
29/06/2016
Il y a une semaine sortait la seconde beta de la future version de PostgreSQL. De nombreux bugs ont été découverts et corrigés depuis la permière beta1, en particulier sur tout ce qui concerne le parallelisme. Si vous n’avez pas encore eu le temps de découvrir les nouveautés qui vous attendent c’est le moment !
19/04/2016
Le succès de PostgreSQL ne se dément pas mais il reste encore beaucoup de logiciels qui ne sont pas compatibles avec Postgres. A chaque fois que je tiens un stand PostgreSQL dans un salon ou une conférence, une question classique revient “Est-ce le logiciel X est compatible avec PostgreSQL ?”.
12/04/2016
Il y a quelques jours j’ai participé au PG Day Paris 2016 en présentant un rapide tour d’horizon des solutions de supervision pour PostgreSQL. L’occasion de présenter l’état de l’art de l’écosystème Postgres en matière d’outil de visualisation !
06/03/2016
Il y a quelques jours j’ai présenté les nouveautés et les améliorations de PostgreSQL 9.5 à l’occasion du premier Meetup PostgreSQL Toulousain. Merci à Logilab et Digital Places pour leur soutien !
19/02/2016
Tired of your old DB2 databases ? Here’s a new migration kit that will ship your data to PostgreSQL !
18/02/2016
Parmi les signes de l’essor de PostgreSQL en France, on constate en ce début d’année 2016 une recrudescence des conférences et des rencontres de type “meetup” dédiée à Postgres… Jugez-par vous même :
23/10/2015
L’assemblée générale de l’association PostgreSQLFr se tiendra le mercredi 18 novembre 2015 à 20h30 dans les locaux de la société DALIBO au 10 rue d’Uzès 75018 Paris.
21/10/2015
La première version beta de PostgreSQL 9.5 est sortie la semaine dernière. Voici un tuto rapide pour installer facilement cette version sur debian
09/07/2015
Dans la chaleur de la semaine dernière, la première mouture de PostgreSQL 9.5 est sortie en toute discrétion. Pourtant cette première version alpha apporte une série de nouveautés impressionnantes !
16/03/2015
Le support du standard SQL/MED a été introduit dans PostgreSQL 9.1 (2011). Quatre ans plus tard, nous avons maintenant plus de 70 Foreign Data Wrappers (FDW
) disponibles pour lire et écrire sur tout type de moteur de stockage: base Oracle ou MongoDB, fichiers XML, cluster Hadoop, dépot Git, Twitter, etc. etc. etc.
15/03/2015
Support for the SQL/MED standard was introduced in PostgreSQL 9.1 (2011). Four years later, we now have more the 70 Foreign Data Wrappers (FDW
) available,
which you can use to read and write on any type of data storage : Oracle, MongoDB, XML files, Hadoop, Git repos, Twitter, you-name-it, …
02/03/2015
Yesterday, DALIBO released the second major version of PoWA, the PostgreSQL Workload Analyzer. We’re kind of proud of what we’ve achieved with this new release, however we did crack some eggs while making the omelette… Here’s a brief explanation for all the disruptive choices we made…
23/02/2015
16/02/2015
09/02/2015
Un petit tour d’horizon des articles à propos de PostgreSQL parus dans la presse et sur le web…
22/01/2015
We’ve just released a new version of PoWA, the PostgreSQL Workload Analyzer. Check out complete release note here.
14/01/2015
As in previous years, Dalibo will particpate to FOSDEM 2015 the greatest FLOSS event in Europe which is held from Jan. 31 to Feb. 1
06/01/2015
Dalibo prendra part au FOSDEM 2015, évènement rassemblant plus de 5000 participants du monde entier, et qui se tiendra à Bruxelles, du 31 janvier au 1er février 2015.
12/03/2013
Just like I said in a previous blog post : the pgBadger projet is moving fast ! Version 3 was released a few days ago with a major improvements : With the new parallel mode, you can now launch mutiple pgBagder process at once !
12/03/2013
Cette année encore la communauté francophone de PostgreSQL se réunira pour le PG Day France qui se tiendra à Nantes le 13 juin 2013.
03/01/2013
PgBadger est un outil puissant pour optimiser vos serveurs PostgreSQL. À partir des fichiers log de vos serveurs, pgBadger va analyser le trafic SQL et produire une profusion de statistiques (les plus longues requêtes, le ratio lecture/écriture, etc.) Tout ceci est très utile, mais la quantité de données générée est si importante que les rapports générés par pgbadger sont difficiles à lire et que les stats utiles sont souvent noyées dans le flot ... Pour vous en convaincre, jetez un coup d'oeil sur cet exemple de rapport pgBadger !
03/01/2013
pgBadger is a powerful tool to optimize your PostgreSQL servers. Using your server log files, pgBadger will analyze the SQL traffic and produce a profusion of statistics (longest queries, read/write ratio, etc.). This is very helpful but the amount of data generated is so big that the pgbadger reports are hard to read and useful stats are often drown in the flood... Check out this sample pgBadger report to see the mess !
14/11/2012
When the pgBadger project started 6 month ago, our primary goal was to build a better performance tool for PostgreSQL. We also wanted it to be an open and dynamic project, built with the help of the Postgres community. So far the result is beyond our expectations : we've received dozens of user requests, bug reports and contributions.
13/11/2012
Les personnes présentes à Prague pour pgconf.eu 2012 ont déjà eu la primeur de cette annonce. Voici quelques détails complémentaires.
12/11/2012
When the pgBadger project started 6 month ago, our primary goal was to build a better performance tool for PostgreSQL. We also wanted it to be an open and dynamic project, built with the help of the Postgres community. So far the result is beyond our expectations : we’ve received dozens of user requests, bug reports and contributions.
12/10/2012
As a nice coincidence the 4th PostgreSQL Session held Thursday, October 4 which was also the last day of Oracle Open World conference. Suffice to say that the two events didn't share the same definition of the word "Open"!
10/10/2012
Hasard du calendrier la 4eme Session PostgreSQL se tenait jeudi 4 octobre, dernier jour de la conférence Oracle Open World. Autant dire tout de suite que les deux événements n'avaient pas la même définition du mot "Open" !
09/10/2012
Il ne reste plus que deux semaines avant PostgreSQL Conference Europe 2012, qui se tiendra à l'hotel Corinthia Hotel de Prague en République Tchèque du 23 au 26 octobre. Plus de détails sur http://2012.pgconf.eu/
24/09/2012
Le projet PostgreSQL sort aujourd'hui des mises à jour pour toutes les branches actives du SGBD PostgreSQL. Les nouvelles versions 9.2.1, 9.1.6, 9.0.10, 8.4.14 et 8.3.21 corrigent des problèmes critiques pour les versions majeures 9.1 et 9.2. Les utilisateurs de ces versions doivent appliquer ces mises à jour dès que possible. Les utilisateurs des versions 8.3, 8.4 et 9.0 peuvent planifier la mise à jour lors de la prochaine interruption de service programmée.
05/09/2012
Comme chaque année, PostgreSQL Conference Europe (pgconf.eu pour les intimes) est le grand rassemblement de la communauté européenne du SGBD open source. Le programme est bien trop riche pour être détaillé ici, je vous encourage à lire l'annonce qui vient de paraitre :
27/08/2012
Attachez vos ceintures, relevez vos tablettes ! L'avion PostgreSQL 9.2 est sur le point d'atterrir et cela va faire du bruit....
05/06/2012
Le groupe de développement de PostgreSQL vient de mettre à disposition une version corrective pour toutes les branches actives du projet. Cette mise à jour est mineure dans le sens où elle n'apporte pas de changements fonctionnels. Elle corrige 42 erreurs dont 2 problèmes majeurs découverts très récemment.
20/03/2012
Si vous avez des connexions dans le milieu universitaire, dans votre ancienne école d'ingénieur ou dans un laboratoire de recherche informatique, je vous encourage à leur transmettre le message ci-dessous.
18/03/2012
The first official issue of PostgreSQL Magazine is on its way !
21/02/2012
La 3eme conférence "PG Session" s'est achevée il y a quelques jours et je vous propose ici un rapide compte-rende de cette journée à la fois riche et passionnante.
31/01/2012
Among the long list of new features of PostgreSQL 9.1 the new SQL/MED implementation is probably of the most underrated. SQL/MED is an extension of the SQL standard defines foreign data wrappers (FDW) that allow you to reach data located outside of your database, with regular SQL request (MED stands for Management of External Data). In a nutshell, SQL/MED is cool.
25/01/2012
Visiblement nous avons visé juste ! En choisissant la Réplication comme thème de la prochaine Session PostgreSQL nous savions que le public répondrait nombreux mais nous n'avions pas prévu un tel engouement... Le conférence qui se tiendra le 2 février à Paris affiche quasiment complet ! Au moment ou j'écris ces lignes , il ne reste plus qu'une poignée de places disponibles. Si vous êtes intéressé par les problématiques de Haute-Disponibité sous PostgreSQL, je vous encourage à vous inscrire le plus rapidement possible à cette adresse :
23/01/2012
Le FOSDEM 2012 se tiendra du 4 au 5 février à Bruxelles. C'est un rendez-vous important de la communauté européenne de PostgreSQL et comme d'habitude vous retrouverez pas mal de francophones derrière le stand de l'association PostgreSQL Europe !
04/01/2012
Dalibo organise le jeudi 2 février 2012 à Paris une rencontre internationale consacrée au Système de Gestion de Bases de Données PostgreSQL.