GDPR.pl – ochrona danych osobowych w UE, RODO, IOD

Programowanie zgodne z privacy by design według Norweskiego Organu

Programowanie zgodne z privacy by design według Norweskiego Organu

Na stronie Norweskiego Organu Ochrony Danych znajdują się Wytyczne w sprawie rozwoju oprogramowania zgodnie z zasadami ochrony prywatności w fazie projektowania oraz domyślnej ochrony danych.

Poniżej znajduje się tłumaczenie jednego z rozdziałów dotyczące zasad programowania zgodnego z ww. zasadami.

Programowanie

Poniższa lista kontrolna jest dynamiczna i będzie regularnie uaktualniana.

Możliwe środki bezpiecznego programowania

Należy korzystać z zatwierdzonych narzędzi oraz ram

Należy ustalić listę:

Należy ustalić listę do czego będą wykorzystywane różne narzędzia oraz komponenty pomocnicze, która obejmuje nowe analizy bezpieczeństwa, funkcjonalności oraz ochronę. Narzędzia oraz komponenty pomocnicze powinny być poddane ocenie ryzyka oraz przeanalizowane pod kątem podatności w obszarach prywatności oraz bezpieczeństwa.

Listę należy aktualizować zgodnie z wytycznymi danej organizacji. Oznacza to, że nowe narzędzia oraz wersje oprogramowania muszą być ocenione oraz tam gdzie to możliwe, wykorzystane.

Należy korzystać jedynie z zatwierdzonych narzędzi oraz komponentów pomocniczych z listy. Wszelkie wyjątki powinny być dokumentowane oraz zatwierdzone przez inspektora ds. bezpieczeństwa.

Przykłady: wzorce projektowe oraz szablony dotyczące szeroko stosowanej funkcjonalności powinny być uogólnione, sprawdzone pod kątem jakości oraz udokumentowane jako obecnie stosowane wzorce/ szablony. Przykłady obejmują określenie w jaki sposób informacje z bazy danych powinny być wywoływane oraz ustrukturyzowane.

Przykłady zatwierdzonych narzędzi oraz komponentów wspierających, które muszą znajdować się na liście:

Praktyczne przykłady:

Organizacja podjęła decyzję dotyczącą metody programowania w odniesieniu do początkowego oraz dalszego rozwoju aplikacji. W związku z tym, musi być ona stosowana zarówno do wszystkich projektów, jak i w odniesieniu do menadżerów projektów. Korzystają oni z systemów zarządzania zadaniami, takich jak Jira lub Confluence. Wszystkie zadania mają dedykowanego właściciela, który jest również odpowiedzialny za ochronę danych oraz bezpieczeństwo zadania.

Status wszystkich aktywnych zadań jest określany na porannym spotkaniu zespołu, na którym mogą być również przedyskutowane wątpliwości, np. dotyczące ochrony danych. Sprawdzeniu kodu musi być przeprowadzone przez innego programistę. Jest to ważne w celu uniknięcia zależności programu od pracowników, jak również po to aby poprawić jego jakość.

Jednakże równie ważne jest, aby dodatkowa osoba sprawdziła kod oraz upewniła się czy zapewniono należytą ochronę danych oraz bezpieczeństwo. Należy stworzyć wersje testowe aplikacji oraz ustanowić właściciela programu (w ramach procesu).

Należy unieważnić niebezpieczne funkcje oraz moduły

Statyczna analiza kodu oraz jego sprawdzenie

Przykłady narzędzi do statycznej analizy kodu:

Przykłady jak przeprowadzić statyczną analizę kodu:

Cechy, których należy szukać wybierając narzędzie do analizy kodu:

Dlaczego programować w sposób bezpieczny?