Permissions-Policy jako użyteczny mechanizm zabezpieczania i unikania nadużyć
Ponieważ inżynieria prywatności staje się coraz bardziej dojrzała jako dziedzina i obszar prac, zwłaszcza w niektórych obszarach działalności, ekspertom zdarza się tworzyć tworzyć “listy rzeczy do sprawdzenia/wdrożenia” w kontekście prywatności i ustawień. To rzeczy, które muszą być. To przydatne w projektowaniu, w rozwoju i we wdrożeniach. Ale także w audytach bezpieczeństwa i prywatności. Są po prostu punkty, które trzeba sprawdzać. Do takiej listy można by dodać wiele rzeczy. Z pewnością Privacy Policy.
Szczególnie ważna jest konfiguracja uprawnień przeglądarek internetowych. Uprawnienia (Permissions) pozwalają stronie internetowej na dostęp do pewnych wrażliwych mechanizmów, takich jak geolokalizacja, kamera, zezwolenie na wyświetlanie powiadomień, itp. Jednak w miarę dodawania coraz bardziej zaawansowanych funkcji do przeglądarek, istnieje potrzeba skonfigurowania takiego dostępu w prosty i łatwy do zarządzania sposób.
Właśnie tego dotyczy mechanizm Polityki uprawnień (Permissions Policy). Jest to funkcja przeglądarki internetowej usprawniająca zarządzanie przepływem informacji. Na przykład może to być użyte do łatwego globalnego (w odwiedzanej witrynie) wyłączenia dostępu do wrażliwych rzeczy, takich jak geolokalizacja, dostęp do kamery, powiadomienia i tak dalej. To niezbędny element listy kontrolnej inżynierii prywatności. Konfiguracja jest prosta i może być zamieszczona w nagłówku HTTP:
Permissions-Policy: fullscreen=(), geolocation=()
Gdy zostanie to tak użyte przez dewelopera strony internetowej, strona internetowa nie będzie mogła uruchomić “trybu pełnego ekranu”, ani uzyskać dostępu do danych geolokalizacyjnych. Te określone funkcje zostaną wyłączone odgórnie. Można to skonfigurować też bardziej szczegółowo, np. by działało w pewnych ramkach.
Żaden “hakujący skrypt” lub “nadużywający” skrypt, ani złośliwe manipulowanie kodem strony (np. w ramach cyberataku) nie będzie w stanie ominąć takiego ograniczenia. Dlatego powinno to być uznane za dobrą praktykę, bezpieczeństwo w fazie projektowania, prywatność w fazie projektowania (privacy by design) i tak dalej.
Ta funkcja może również zgłaszać naruszenia, co jest przydatną funkcją. Jeśli coś zostało zdefiniowane do wyłączenia i pojawi się raport o naruszeniu, jaka jest możliwa przyczyna? Błąd w deweloperce, czy próba modyfikacji serwisu (nieuprawniona, jak np. w przypadku cyberataku/naruszenia bezpieczeństwa)? Na pewno warto wtedy sprawdzić!
Jest to zatem przydatne narzędzie do ulepszania technicznego projektu strony w warstwie bezpieczeństwa i prywatności. Z pewnością może również pomóc w uzyskaniu zgodności prawem ochrony danych. Polecam!