W dzisiejszych czasach dane osobowe stały się nieodłącznym elementem naszego życia. Większość z nas przekazuje swoje dane podczas zakładania konta w serwisach internetowych, rejestrowania się na konferencje, dokonując zakupów w sklepach czy korzystając z aplikacji mobilnych.
Musimy mieć na uwadze, że również w naszej codziennej pracy biurowej wykorzystujemy dane osobowe naszych klientów, partnerów biznesowych czy współpracowników.
Warto zwrócić uwagę, że ochrona danych wrażliwych w polskich firmach jest aktualnie jednym z większych problemów związanych z bezpieczeństwem informacji. Najczęściej dane wrażliwe nielegalnie udostępniają osoby związane z daną firmą, takie jak pracownicy lub kontrahenci. Często do takich udostępnień dochodzi w sposób przypadkowy lub nieświadomy.
Według raportu “Stan Bezpieczeństwa Wewnętrznego 2021” opublikowanego przez CERT Polska, w 2020 roku w Polsce odnotowano 373 incydenty związane z naruszeniem bezpieczeństwa informacji, w tym 187 incydentów dotyczących wycieku danych. W ramach tych incydentów skradziono ponad 1,6 miliarda rekordów.
Dlatego ważne jest, aby firmy działały w sposób zapobiegawczy. Stosując odpowiednie środki bezpieczeństwa, jak również szkoliły swoich pracowników w zakresie bezpieczeństwa informacji, aby zmniejszyć ryzyko wycieku danych.
Dane osobowe to informacje, które pozwalają na identyfikację konkretnej osoby. Wśród takich danych znajdują się między innymi: imię i nazwisko, numer PESEL, adres zamieszkania, adres e-mail, numer telefonu, a także dane związane z pracą, takie jak stanowisko, nazwa firmy, czy wynagrodzenie.
Dane wrażliwe to natomiast szczególna kategoria danych osobowych, która wymaga dodatkowej ochrony ze względu na ich charakter. Są to informacje dotyczące zdrowia, pochodzenia, przekonań politycznych, religijnych lub światopoglądowych, a także dane dotyczące życia seksualnego, czy też przestępstw lub wyroków sądowych.
Zgodnie z RODO i Kodeksem cywilnym, zbieranie, przetwarzanie oraz przechowywanie danych osobowych i wrażliwych wymaga zgody osoby, której dane dotyczą. Należy też stosować odpowiednie środki ochrony tych danych, aby uniknąć ich nieuprawnionego ujawnienia czy wykorzystania.
Ochrona danych osobowych i wrażliwych jest niezwykle ważna ze względu na wiele zagrożeń, jakie mogą wynikać z ich nieuprawnionego ujawnienia lub wykorzystania. Poniżej przedstawiamy kilka powodów, dlaczego warto chronić i zabezpieczać dane wrażliwe oraz dane osobowe:
Revelio to narzędzie do wykrywania danych osobowych oraz innych danych wrażliwych we współdzielonych zasobach plikowych, dokumentach zlokalizowanych na komputerach osobistych, poczcie e-mail.
Narzędzie to pozwala identyfikować procesy biznesowe, które generują dokumenty i rekomendować ich dygitalizacje. Skontaktuj się z nami, a zabezpieczymy Twoją firmę przed niepożądanym wyciekiem danych. Wystarczy tylko umówić się z nami na rozmowę, a uchronimy Ciebie i zabezpieczymy Twoją firmę przed nielegalnym wykorzystaniem danych.
Wdrożenie narzędzi do ochrony wrażliwych danych to proces, który wymaga odpowiedniego przygotowania i zaplanowania. Warto podjąć te kroki, aby zapewnić odpowiednią ochronę wrażliwych danych w firmie i uniknąć ryzyka ich nieuprawnionego ujawnienia lub wykorzystania. Specjalnie dla tego procesu stworzyliśmy „Revelio”. Więcej na ten temat: https://wizards.io/revelio/
Niedługo minie dwadzieścia lat od momentu, kiedy dołączyłem do świata IT. Przez ten okres obserwowałem, jak zmienia się to środowisko, jak rozwijają się procesy wytwórcze i jakie nowe narzędzia są wykorzystywane. Z czasem wiele procesów, m.in. powtarzalne zadania, ulegało automatyzacji. Firmy wdrażały Continuous Integration i Continuous Delivery. Wszystkiemu przewodziła jedna myśl: pozwolić twórcom oprogramowania skupić się na rozwoju systemów i biznesie.
Wejście RODO wstrząsnęło światem IT i narzuciło nowe reguły gry. Proces wytwórczy stał się bardziej skomplikowany, operowanie na danych osobowych stało się dużym ryzykiem, które trzeba było zaadresować. Pracując w software house widzieliśmy te problemy wyraźnie, ponieważ występowały w każdym z naszych projektów. Teoretycznie byliśmy przygotowani na wejście RODO. Byliśmy po odpowiednich kursach, firma zbroiła się w dokumenty i rejestry. W praktyce okazało się, że obostrzenia prawne i niepewność związana z wejściem w życie tego rozporządzenia, wpłynęły na naszą codzienną pracę. Mój sen o developmencie bez przeszkód, gdzie możemy skupić się tylko na produkcji oprogramowania, prysnął.
Krótko po wdrożeniu RODO rozpoczęło się szukanie rozwiązań. Narzędzia, które udawało nam się znaleźć, nie odpowiadały na nasze potrzeby projektowe, ponieważ na co dzień rozwijaliśmy całe, zintegrowane, tworzone w różnych technologiach ekosystemy wymieniające się danymi osobowymi. Obsługa każdego przypadku, ręcznie i z osobna, była dla mnie nie do przyjęcia. Czułem się tak, jakbym cofnął się o dwie dekady.
Ostatecznie w firmie wyłoniła się grupa ludzi, która postawiła sobie za cel zmianę status quo. Wiedzieliśmy, czego potrzebujemy i jak możemy ten plan zrealizować. Z takim wyzwaniem nigdy wcześniej się nie mierzyliśmy. Wspólnie jednak udało nam się stworzyć zestaw narzędzi, który był dla nas wybawieniem.
Zaczęliśmy od anonimizacji danych na środowiskach testowych. Stworzyliśmy narzędzie, które było w stanie obsłużyć wiele aplikacji na raz, wziąć pod uwagę polską specyfikę i wykonać swoją pracę wydajnie.
Wytworzone rozwiązanie miało obsługiwać wszystkie nasze projekty, dlatego priorytetem była wysoka konfigurowalność i możliwość dostosowania do różnych wymogów. Anonimizację włączyliśmy w procesy Continuous Integration i szybko wdrożyliśmy je w naszych projektach. Okazało się, że te najbardziej bolesne dla nas aspekty RODO są obsługiwane automatycznie i przestały spędzać sen z powiek zespołowi developerskiemu. Zupełnie tak, jakby ten obszar RODO przestał nas dotyczyć.
Kolejnym krokiem była retencja danych osobowych, która jest niezbędna w prawie każdym systemie. Zadbanie o ten aspekt w pojedynczej aplikacji jest łatwe. Wykonanie retencji danych w dziesięciu zintegrowanych systemach jest znacznie trudniejsze, a przy stu – już praktycznie niemożliwe. Było dla nas jasne, że nie chcemy powtarzać tej samej funkcjonalności we wszystkich systemach, które wytwarzamy. W ten sposób narodziło się kolejne narzędzie, które zdejmowało z nas kolejny problem.
Wszystko wróciło na dobre tory, tak jak sobie wymarzyłem. Na szczęście RODO okazało się być jedynie wybojem na drodze w naszych projektach.
Z tą też myślą założyliśmy startup. Doszliśmy do wniosku, że problemy, z którymi borykaliśmy się do tej pory dotyczą wielu zespołów developerskich, a my mamy klucz do ich rozwiązania. Dlatego też postanowiliśmy stworzyć nocturno i oblivio, o których już wkrótce więcej przeczytacie m.in. na naszym firmowym profilu Wizards.
Artur Żórawski, Founder&CTO Wizards
Mało kogo ominęły przepastne artykuły na temat RODO i przeróżnych, często przerażających sankcji za jej nieprzestrzeganie. Niewielu za to zagłębia się w takie istotne szczegóły, jak znacznie anonimizacji czy retencji, które pozwalają uniknąć tych wyżej wspomnianych sankcji oraz znacząco ułatwić pracę deweloperów. Z tego też względu postanowiliśmy w przystępny sposób wyjaśnić, czym są anonimizacja i retencja danych osobowych oraz pokazać, dlaczego ich właściwe wykonanie ma takie znaczenie w procesie wytwarzania oprogramowania. Dzisiaj na warsztat bierzemy anonimizację.
Anonimizacja to proces pozwalający na trwałe usunięcie powiązań między danymi osobowymi, a osobą, której dotyczą. W ten sposób informacje, które przed anonimizacją były danymi osobowymi, przestają nimi być.
Powyższa definicja staje się mniej zagmatwana jeśli wesprzemy ją przykładem. Wyobraźmy sobie np. Supermana – komiksowego bohatera pochodzącego z Kryptonu, który chce ukryć swoją tożsamość i wtopić się w tłum.
Nazwa | Superman |
Zawód | Bohater |
Pochodzenie | Krypton |
Podczas procesu anonimizacji Superman wchodzi do budki telefonicznej, zakłada okulary, tweedowy garnitur i staje się w tym momencie Clarkiem Kentem, reporterem z Kansas.
Nazwa | Clark Kent |
Zawód | Reporter |
Pochodzenie | Kansas, USA |
W procesie anonimizacji dane Supermana zamieniły się na dane Clarka Kenta, co więcej nie ma żadnego powiązania między tymi dwiema osobami. To dane fikcyjne, które mogą być bezpiecznie wykorzystywane np. na środowiskach testowych.
Powyższy przykład obrazuje, na czym polega sam proces anonimizacji. Zastanówmy się teraz, dlaczego ważne jest, żeby anonimizacja była dobrej jakości.
Fundamentem anonimizacji jest jej nieodwracalność. Na podstawie zanonimizowanych danych nigdy nie powinniśmy dociec, jak wyglądały dane oryginalne. Współpracownicy Clarka nie powinni odkryć jego prawdziwej tożsamości.
Kiedy zbiór danych poddajemy anonimizacji, to zazwyczaj zmianie ulega jedynie fragment danych. Musimy jednak zadbać o to, aby dane niezanonimizowane nie pozwoliły na odwrócenie procesu anonimizacji dla całego zbioru. W naszym przykładzie nie musielibyśmy zmieniać ulubionego koloru Supermana. Jeżeli jednak nie anonimizujemy jego pochodzenia, to z pewnością wzbudzimy sensację.
Istotną miarą jakościową anonimizacji jest też jej realność i to, jak dobrze odwzorowuje rzeczywistość. Jeżeli Superman i wszystkie inne osoby w zbiorze danych zostaną zanonimizowane w następujący sposób:
Nazwa | X |
Zawód | Y |
Pochodzenie | Z |
to nie mamy wątpliwości, że proces jest nieodwracalny, jednak jego przydatność jest wątpliwa. Pan X nie wygląda na człowieka z krwi i kości, a charakter danych oryginalnych nie został zachowany. Długości nazw nie zostały zachowane, a same dane wyglądają na niewiarygodne i wszystkie osoby nazywają się tak samo. W przypadku systemów informatycznych tester wykorzystując takie dane miałby sporo problemów, nie byłby w stanie nawet rozróżnić osób.
Kolejną cechą dobrej anonimizacji jest jej powtarzalność. Anonimizując zbiór danych chcemy mieć pewność, że za każdym razem zbiór danych zostanie zanonimizowany w taki sam sposób. Chcemy, aby Superman zawsze stawał się Clarkiem Kentem, niezależnie czy jest to pierwsza, czy dziesiąta anonimizacja. Jest to szczególnie ważne z punktu widzenia Quality Assurance. Testerzy często tworzą przypadki testowe opierając się na konkretnych danych. Gdybyśmy je zmieniali za każdym razem, z pewnością praca testera byłaby trudniejsza!
Dzisiejszy świat informatyki to systemy połączone. Prawie żadna aplikacja nie jest samotną wyspą. Systemy łączą się ze sobą, wymieniają danymi, korzystają ze swoich usług. Z tego też względu podchodząc do anonimizacji, musimy myśleć o procesie nie dla jednego, ale dla wielu systemów na raz. Wyzwaniem jest, aby zanonimizowane dane były spójne w całym ekosystemie. Oznacza to, że jeżeli Daily Planet (miejsce pracy Clarka) posiada system kadrowy oraz bloga, to w obu tych aplikacjach Superman stanie się Kentem.
Ostatnim z mojego punktu widzenia, kluczowym parametrem mającym wpływ na jakość anonimizacji jest wydajność. Systemy informatyczne przetwarzają olbrzymie zbiory danych liczonych w gigabajtach czy terabajtach. Anonimizacja takich baz danych może być czasochłonna w związku z czym musimy zapewnić nie tylko bezpieczeństwo, ale również szybkość procesu anonimizacji. Jedną z rzeczy, którą nauczył się Superman po przybyciu na Ziemię, jest to, że czas to pieniądz. To powiedzenie jest jeszcze bardziej prawdziwe w przypadku nowoczesnego IT.
Wszystkich zainteresowanych tematem retencji danych zapraszam do przeczytania kolejnego mojego artykułu, który planuję opublikować już niedługo.
Artur Żórawski, Founder&CTO Wizards