Jakie są narzędzia do maskowania danych? (MySQL, Linux) [zamknięte]


14

Szukam (idealnie darmowych, otwartych) narzędzi do maskowania danych. Czy coś takiego istnieje?

Uwaga: to powiązane pytanie dotyczy narzędzi do generowania danych testowych, ale w tym pytaniu jestem bardziej zainteresowany rozpoczęciem prawdziwych danych i maskowaniem ich do użycia w teście bez utraty specjalnych relacji, które czynią go interesującym do celów testowych. Wygenerowane dane są przydatne do niektórych celów testowych, ale rzeczywiste dane przyniosą problemy, o których nigdy nie pomyślałeś. Narzędzie do generowania dużych zestawów danych testowych

Odpowiedzi:


9

Byłbym bardzo zaskoczony, gdyby istniało ogólne narzędzie do tego - skąd miałoby „wiedzieć”, co to są dane wrażliwe, a co nie? Na przykład musiałby zbadać wszystkie dane i rozpoznać wszystkie możliwe formaty numeru karty kredytowej, numeru telefonu, kodu pocztowego, adresu e-mail i wszelkich innych danych uważanych za wrażliwe. Musiałby też być mądry w kwestii swojego schematu - np. Gdyby przepisał wszystkie adresy e-mail klientów na „nikt@firma.com” - lub czy jakakolwiek część bazy danych, aplikacji, innych narzędzi zakłada, że ​​adres e-mail klienta (lub SSN lub cokolwiek) jest wyjątkowy? A może masz jakąś część aplikacji, która sumuje numery kart kredytowych, która pękłaby, gdybyś zresetował je wszystkie do 0000 0000 0000 0000? Czy twój system telefoniczny zakłada, że ​​klient „

Zasadniczo skonfigurowanie do tego celu dowolnego narzędzia będzie wymagało tyle samo lub więcej pracy, co napisanie własnego skryptu przy użyciu wiedzy o aplikacji. W mojej witrynie po prostu wprowadziliśmy zasadę, że każdy, kto doda kolumnę z takimi danymi, aktualizuje skrypt w celu jego anonimizacji w tym samym czasie, po wstępnym audycie w celu znalezienia wszystkich tych kolumn i napisania wersji 1.


1
Wiem, że istnieją narzędzia komercyjne, ponieważ w poprzednim miejscu pracy (nieudana) inicjatywa polegała na użyciu jednego z nich dla naszej bazy danych Oracle. (Nie byłem zaangażowany w ten projekt, więc nie znam przyczyn niepowodzenia. Podejrzewam, że ustawienie narzędzia do maskowania danych dla starszej bazy danych będzie, jak sugerujesz, bardzo żmudnym zadaniem).
testerab

3
Och, spodziewam się, że ktoś sprzeda ci coś, co twierdzi, że tak jest, ale, jak mówię, konfiguracja będzie wymagać więcej pracy niż pisanie własnego w języku SQL, ponieważ najpierw musisz nauczyć się obsługi hokera DSL!
Gajusz

5

Jeśli twoja baza danych jest niewielka, ma prosty model danych i jest dobrze zrozumiana przez obecne DBA - odpowiedź „skryptowa” może być odpowiedzią. Jednak wysiłek (i koszt) ręcznej analizy i maskowania typowych baz danych może wymknąć się spod kontroli dość szybko, gdy zmieniają się wymagania, dodaje się funkcjonalność i przychodzą i odchodzą programiści / DBA.

Chociaż nie znam żadnych produktów maskujących dane typu open source, dostępne są oferty komercyjne, które są dość kompleksowe, stosunkowo łatwe w użyciu i mogą być zaskakująco rozsądne pod względem kosztów. Wiele z nich zawiera gotową do wykrycia możliwość identyfikacji i klasyfikacji poufnych danych (SSN, karty kredytowe, numery telefonów), a także funkcjonalność do utrzymywania sum kontrolnych, formatowania adresów e-mail, grupowania danych itp., Aby zamaskować dane wygląda i czuje się prawdziwy.

Ale nie musisz mi wierzyć na to (co prawda stronnicze) słowo. Zapytaj analityków branżowych, takich jak Gartner lub Forrester, którzy mają wiele obiektywnych raportów na temat maskowania, które mogą pomóc.

Mamy nadzieję, że te komentarze zachęcą do rozważenia odkrywania komercyjnych produktów, a także opracowania wewnętrznego skryptu. Ostatecznie najważniejszą rzeczą jest ochrona wrażliwych danych, które wielu z nas widzi dzień po dniu, których tak naprawdę nie musimy wykonywać, aby wykonywać swoją pracę - stawiając nas i ludzi, których osobiste dane, które przechowujemy na ryzyko.

Kevin Hillier, starszy specjalista ds. Integracji, Camouflage Software Inc.


1
Zdaję sobie sprawę, że nie chcesz sprzedawać własnego produktu, ale byłoby przydatne, gdybyś wymienił kilka komercyjnych produktów lub wskazał jakieś konkretne porady?
testerab

1
Rozumiem, że pracujesz dla tej firmy i prawdopodobnie chcesz polecić swój własny produkt, i nie jestem temu przeciwny, ale z powodu sig wygląda to jak wytworna reklama wbudowana, a nie „Wiem o czym mówię , ponieważ to jest to, co robię „... Bardziej jestem przekonaniem, że„ używaj bla bla bla (pełne ujawnienie: pracuję nad tym produktem), ponieważ bla bla bla ”i nie umieszczam twojego imienia na końcu. Jeśli chcemy twoich danych osobowych, możemy kliknąć twoją profesję i przeczytać ten podpis i kliknąć tam link.
jcolebrand

5

Nigdy nie widziałem takiego przedmiotu, ale pracowałem z kilkoma wrażliwymi zestawami danych w moim czasie, najważniejszą rzeczą, którą należy zaszyfrować, to tożsamość ludzi lub dane osobowe. To powinno uczynić tylko pojawienie się w kilku miejscach w bazie danych.

Twoja operacja maskowania powinna zachować właściwości statystyczne i relacje danych i prawdopodobnie musi zachować aktualne kody referencyjne (lub przynajmniej jakiś kontrolowany mechanizm translacji), abyś mógł je uzgodnić z rzeczywistymi danymi.

Tego rodzaju rzeczy można osiągnąć, uzyskując odrębną listę nazw w polach i zastępując ją czymś takim jak FirstNameXXXX (gdzie XXXX jest numerem porządkowym, po jednym dla każdej odrębnej wartości). Numery kart kredytowych i podobne informacje, które mogłyby zostać wykorzystane do kradzieży tożsamości, prawdopodobnie nie są nie do zaakceptowania w środowisku programistycznym, ale potrzebne są tylko prawdziwe, jeśli testujesz systemy przetwarzania płatności - zazwyczaj sprzedawca daje ci specjalne kody dla kont fikcyjnych.

Pisanie tego rodzaju procedur anonimowych nie jest szczególnie trudne, ale musisz dokładnie uzgodnić, co należy anonimizować w firmie. W razie potrzeby przejdź przez bazę danych pole po polu. Pytanie tak / nie da fałszywe wyniki, których nie chcesz. Poproś przedstawiciela firmy o wyjaśnienie przyczyny lub konsekwencji lub konsekwencji regulacyjnych braku anonimizacji określonych danych.


3

Miałem to samo zadanie kilka tygodni temu. oceniliśmy niektóre systemy oprogramowania, ale większość z nich jest przeznaczona tylko dla jednego typu bazy danych, np. wyrocznia i często są bardzo skomplikowane w użyciu ... więc nie ma nic fajnego do oceny tego. Zajęło nam to tygodnie.

Postanowiliśmy kupić profesjonalną wersję pakietu do maskowania danych, ponieważ była najłatwiejsza w użyciu. Ma też świetne możliwości maskowania danych, np. Możesz zmienić adresy e-mail na prawdziwe, np. ... @ siemens.com na mike.miller@seimsen.com.

O ile pamiętam, możesz wypróbować za darmo dla około 500 (?) Rekordów.

Oto link http://www.data-masking-tool.com/


1
Tylko punkt danych: od tego momentu narzędzie do maskowania danych działa po 1000 $.
Michael Teper

2

Mój sposób na zrobienie tego:

  1. Utwórz nową bazę danych z tylko przeglądaniem i wybieraniem uprawnień dla użytkowników
  2. Utwórz widoki tabel, które powinny być widoczne w innych bazach danych
  3. Zamaskuj kolumny, które wymagają maskowania przez: repeat ('*', char_length ( column to be masked))

2

Po raz pierwszy podałem tę ścieżkę kilka lat temu i od tego czasu stworzyłem konsultacje oparte na tej praktyce.

Zakładam, że celem jest gromadzenie danych testowych do użytku w środowiskach testowych, w których pracownicy uzyskujący dostęp do danych nie mają uprawnień do przeglądania informacji produkcyjnych.

Pierwszą rzeczą do ustalenia jest dokładnie to, jakie elementy danych należy zamaskować. Aby to zrobić, najlepiej zacząć od narzędzia do wykrywania danych, takiego jak Schema Spy (Open source), a do tego zadania będzie potrzebny odpowiedni sterownik jdbc, ale jest bardzo przydatnym krokiem w tym procesie.

Talend Open Studio jest jednym z najlepszych narzędzi, których użyłem w ostatnich latach do wykonywania niektórych funkcji ETL, a także będziesz w stanie wykonać podstawową praktykę maskowania, zastępując wartości losowymi lub. Wyszukaj / zamień - aby zachować spójność - używając komponentu mapy.

Ale jeśli szukasz prawdziwego narzędzia do maskowania danych, nie znalazłem odpowiedniego narzędzia typu open source. Jeśli masz bardzo umiarkowany budżet na narzędzia, sugerowałbym Data Masker, ale musisz wykonać import i eksport za pośrednictwem MS SQL lub Oracle, ponieważ łączy się tylko za pośrednictwem tych protokołów.

Sprawdź http://www.datakitchen.com.au/2012-08-14-15-04-20/data-masking/data-masker-toolset, aby uzyskać informacje na temat maskowania danych, metodologii maskowania danych, wykrywania danych i danych testowych zarządzanie. Istnieje również przydatny blog na stronie http://www.dataobfuscation.com.au


1

Na rynku dostępne jest narzędzie Informatica o nazwie Informatica ILM (TDM). To wykorzystuje PowerCenter jako zaplecze dla ETL i maskowania danych z różnymi dostępnymi opcjami maskowania. Potrzebujesz analityka danych lub MŚP, którzy mogą zrozumieć, w jaki sposób dane powinny być maskowane. Samo narzędzie nie dostarcza informacji o tym, które pola należy zamaskować, jednak istnieje wewnętrzny algorytm lub procedura lub proces identyfikujący wrażliwe pola danych, takie jak nazwa, kolumny identyfikacyjne z numerem, karta kredytowa, numer SSN, numer konta itp.


Ponadto Informatica ILM TDM umożliwia generowanie podzbioru danych. Możesz więc podzielić dane i zamaskować je lub Zamaskować wszystkie dane, a następnie podgrupować zgodnie z potrzebami biznesowymi.
Awadhesh Yona

1

W tym roku mam okazję współpracować z IBM Optim, który twierdzi, że robi to, o co jest poproszony. Nie jest darmowy, ale działa dobrze.


1

Najbardziej podoba mi się IRI FieldShield ( https://www.iri.com/products/fieldshield ) pod względem wszechstronności (większość funkcji maskowania danych), prędkości (silnik CoSort do przenoszenia danych wewnątrz) i ergonomii (proste zadania 4GL obsługiwany w graficznym interfejsie użytkownika Eclipse z mnóstwem połączeń DB i plików). Pod względem ceny jest to około połowa IBM i Informatica, choć dostępna również w większym pakiecie do integracji danych do transformacji dużych danych, migracji i BI. Więc nie jest też darmowy, ale wykorzystuje pewne otwarte źródła (IDE i może używać OpenSSL i GPG), a skrypty działają w systemach Windows, Linux i innych systemach uniksowych.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.