web-dev-qa-db-fra.com

Quels outils existe-t-il pour le masquage des données? (MySQL, Linux)

Je recherche des outils de masquage de données (idéalement gratuits et open source). En existe-t-il?

Remarque: cette question connexe traite des outils pour générer des données de test, mais dans cette question, je suis plus intéressé à commencer par des données réelles et à les masquer pour les utiliser dans le test sans perdre de relations spéciales qui les rendent intéressantes à des fins de test. Les données générées conviennent bien à certaines fins de test, mais les données réelles soulèveront des problèmes auxquels vous n'avez jamais pensé. Outil pour générer de grands ensembles de données de données de test

14
testerab

Je serais très surpris s'il existait un outil générique pour cela - comment pourrait-il "savoir" ce qui est des données sensibles et ce qui ne l'est pas? Par exemple, il devrait examiner toutes vos données et reconnaître tous les formats possibles de numéro de carte de crédit, numéro de téléphone, code postal, adresse e-mail et toutes les autres données considérées comme sensibles. Il devrait également être intelligent dans votre schéma - par exemple Doit-il réécrire toutes les adresses e-mail des clients dans "[email protected]" - ou une partie de votre base de données, applications ou autres outils suppose-t-elle que l'adresse e-mail d'un client (ou SSN ou autre) est unique? Ou avez-vous une partie de l'application qui contrôle les numéros de carte de crédit, qui se briserait si vous les réinitialisiez tous à 0000 0000 0000 0000? Ou votre système de téléphonie suppose-t-il que le code de numérotation d'un client correspond au pays dans son adresse?

Fondamentalement, configurer n'importe quel outil pour le faire sera autant ou plus de travail que de simplement écrire votre propre script, en utilisant votre connaissance de l'application. Sur mon site, nous avons simplement fait en sorte que toute personne qui ajoute une colonne avec de telles données dans le script mette à jour en même temps l'anonymat, après un audit initial pour trouver toutes ces colonnes et écrire la version 1.

9
Gaius

Je n'ai jamais vu un tel élément, mais ayant travaillé avec quelques ensembles de données sensibles à mon époque, la principale chose à brouiller est l'identité des personnes ou les informations d'identification personnelle. Cela devrait n'apparaître qu'à quelques endroits de la base de données.

Votre opération de masquage doit conserver les propriétés statistiques et les relations des données, et doit probablement conserver les codes de référence réels (ou au moins une sorte de mécanisme de traduction contrôlé) afin que vous puissiez les rapprocher des données réelles.

Ce genre de chose peut être réalisé en obtenant une liste distincte des noms dans les champs et en la remplaçant par quelque chose comme FirstNameXXXX (où XXXX est un numéro de séquence, un pour chaque valeur distincte). Les numéros de carte de crédit et les informations similaires qui pourraient être utilisées pour le vol d'identité sont très probablement un non-non dans un environnement de développement, mais vous n'en avez besoin que si vous testez des systèmes de traitement des paiements - généralement, le fournisseur vous donnera des codes spéciaux pour les comptes fictifs.

Il n'est pas particulièrement difficile d'écrire des procédures d'anonymisation de ce type, mais vous devrez convenir exactement de ce qui doit être anonymisé avec l'entreprise. Si nécessaire, parcourez la base de données champ par champ. Demander oui/non vous donnera de faux positifs dont vous ne voulez pas. Demandez au représentant commercial d'expliquer pourquoi, ou les conséquences ou les implications réglementaires de la non-anonymisation de données particulières.

Si votre base de données est minuscule, a un modèle de données simple et est bien comprise par les administrateurs de base de données actuels - les scripts "pourraient" être la réponse. Cependant, l'effort (et le coût) pour analyser et masquer manuellement les bases de données typiques peuvent devenir incontrôlables assez rapidement à mesure que les exigences changent, que des fonctionnalités sont ajoutées et que les développeurs/DBA vont et viennent.

Bien que je ne connaisse aucun produit de masquage de données open source, il existe des offres commerciales disponibles qui sont raisonnablement complètes, relativement faciles à utiliser et peuvent être étonnamment raisonnables en termes de coûts. Beaucoup d'entre eux incluent une capacité de découverte prête à l'emploi pour identifier et classer les données sensibles (SSN, cartes de crédit, numéros de téléphone) ainsi que des fonctionnalités pour maintenir les sommes de contrôle, le formatage des adresses e-mail, le regroupement des données, etc. afin que les données masquées semble et se sent réel.

Mais vous n'avez pas à prendre ma Parole (certes biaisée) pour cela. Demandez aux analystes de l'industrie tels que Gartner ou Forrester qui ont un certain nombre de rapports impartiaux disponibles sur le masquage qui peuvent aider.

J'espère que ces commentaires vous encourageront à envisager d'explorer des produits commerciaux ainsi que le développement de scripts internes. À la fin de la journée, la chose la plus importante est de protéger les données sensibles que beaucoup d'entre nous voient jour après jour que nous n'avons vraiment pas besoin de voir pour faire notre travail - nous mettre, nous et les personnes dont les données que nous détenons à risque.

Kevin Hillier, spécialiste principal de l'intégration, Camouflage Software Inc.

5
user757

J'ai eu la même tâche il y a quelques semaines. nous avons évalué certains systèmes logiciels, mais la plupart d'entre eux ne concernent qu'un seul type de base de données, par exemple Oracle et ils sont souvent très compliqués à utiliser ... donc euh ce n'est pas la meilleure chose à évaluer. Cela nous a pris des semaines.

Nous avons décidé d'acheter la version professionnelle de la suite de masquage de données car c'était la plus facile à utiliser. Il a également des possibilités intéressantes pour masquer les données, par exemple vous pouvez changer les adresses e-mail en adresses réelles, par exemple ... @ siemens.com à [email protected].

Vous pouvez l'essayer gratuitement pour environ 500 (?) Enregistrements pour autant que je m'en souvienne.

Voici le lien http://www.data-masking-tool.com/

3
SaJoe

J'ai indiqué cette voie pour la première fois il y a plusieurs années et j'ai depuis créé un cabinet de conseil basé sur cette pratique.

Je suppose que le but est de créer des données de test à utiliser dans des environnements de test où les personnes qui accèdent aux données n'ont pas le droit de visualiser les informations de production.

La première chose à établir est exactement quels éléments de données vous devez masquer et pour ce faire, il est préférable de commencer avec un outil de découverte de données tel que Schema Spy (Open source) et vous aurez besoin du pilote jdbc approprié pour cette tâche, mais il est une étape très utile dans le processus.

Talend Open Studio est l'un des meilleurs outils que j'ai utilisés ces dernières années pour effectuer certaines des fonctions ETL et vous pourrez également faire quelques exercices de masquage de base en remplaçant les valeurs par un ou aléatoire. Rechercher/remplacer - pour maintenir la cohérence - en utilisant le composant de carte.

Mais si vous cherchez un véritable outil de masquage de données, je n'ai pas trouvé d'outil open source approprié. Si vous avez un budget très modéré pour les outils, je suggérerais Data Masker, mais vous devrez effectuer une importation et une exportation via MS SQL ou Oracle car il se connecte uniquement via ces protocoles.

Consultez http://www.datakitchen.com.au/2012-08-14-15-04-20/data-masking/data-masker-toolset pour plus d'informations sur le masquage des données, le masquage des données méthodologie, découverte des données et gestion des données de test. Il y a aussi un blog utile à http://www.dataobfuscation.com.a

2
user25272

Ma façon de faire:

  1. Créer une nouvelle base de données avec uniquement des droits d'affichage et de sélection pour les utilisateurs
  2. Créer des vues sur des tables qui devraient être visibles dans d'autres bases de données
  3. Masquez les colonnes qui doivent être masquées par: repeat ('*', char_length (column to be masked))
2
Boudi van Vlijmen

Celui que je préfère est IRI FieldShield ( https://www.iri.com/products/fieldshield ) en termes de polyvalence (la plupart des fonctions de masquage des données), de vitesse (moteur CoSort pour le déplacement des données à l'intérieur) et l'ergonomie (simples tâches 4GL prises en charge dans son interface graphique Eclipse avec des tonnes de connexions de bases de données et de fichiers). En termes de prix, il s'agit de la moitié environ d'IBM et d'Informatica, mais également disponibles dans une suite d'intégration de données plus large pour la transformation, la migration et la BI de données volumineuses. Il n'est donc pas gratuit non plus, mais utilise une source ouverte (l'EDI et peut utiliser OpenSSL et GPG) et les scripts s'exécutent sur Windows, Linux et d'autres versions d'Unix.

1
Urvashi Saxena

Cette année, j'ai l'opportunité de travailler avec IBM Optim qui prétend faire ce qui est demandé. N'est pas gratuit, mais cela fonctionne bien.

1
Mendes

Il existe un outil disponible sur le marché d'Informatica qui s'appelle Informatica ILM (TDM). Cela utilise PowerCenter comme backone pour les données ETL et masque avec différentes options de masquage disponibles. Même si vous avez besoin d'un analyste de données ou SME qui peut comprendre comment les données doivent être masquées. L'outil lui-même ne fournit pas d'informations sur les champs à masquer, mais il existe un algorithme, une procédure ou un processus interne pour identifier les champs de données sensibles tels que le nom, les colonnes d'identification avec le numéro, la carte de crédit, le numéro SSN, le numéro de compte, etc.

1
Awadhesh Yona