Szczególne praktyki dotyczące zabezpieczeń systemów IT

Oprócz wytycznych normy ISO 27001 warto też sięg­nąć do innych dobrych praktyk. Rozwijając aplikacje on-line, aplikacje mobilne, można kierować się wskazówkami przygotowanymi przez organizację OWASP. Dobrze też poznać dziesięć największych ryzyk dla prywatności występujących w aplikacjach oraz kierować się radami przygotowanymi przez Microsoft. Są one bardzo praktyczne i przez ostatnie lata nic nie straciły na swojej aktualności.

OWASP Top 10 Privacy Risks Project

Organizacja OWASP (The Open Web Application Security Project) przygotowała dokument opisujący 10 największych ryzyk dla prywatności (Top 10 Privacy Risks Projects)1 występujących w aplikacjach on-line. Dokument opisuje też środki, jakie można zastosować, aby zmniejszyć te ryzyka. Wymagania bazują na dokumencie OECD Guidelines on the Protection of Privacy and TransborderFlows of Personal Data2, który swoim zakresem znacznie przypomina normę ISO 29100 obejmującą ramy prywatności.

 

Top 10 ryzyk dla prywatności:

1)  podatności (słabości) aplikacji,

2)  wyciek po stronie operatora,

3)  niewystarczająca odpowiedź na naruszenie bezpieczeństwa,

4)  niekompletne usunięcie danych osobowych,

5)  niejasne polityki i/lub warunki korzystania z aplikacji,

6)  zbieranie danych nadmiarowych/zbędnych dla głównego celu przetwarzania,

7)  nieaktualne dane,

8)  brak lub niecałkowicie wygasające sesje,

9)  niezabezpieczona transmisja danych.

 

Poniżej zostały opisane niektóre z nich.

 

P1 – Podatności

Podatnością jest słabość aplikacji, którą można wykorzystać, aby uzyskać nieuprawniony dostęp do danych (i nie tylko). Za podatność uznaje się też występowanie ryzyk w aplikacji opisanych w „OWASP Top 10 Application Security Risks”3, który jest (a przynajmniej powinien być) swojego rodzaju biblią wymagań dla tworzących aplikacje on-line.

Środki zapobiegawcze:

  • regularne testy bezpieczeństwa aplikacji, najlepiej przeprowadzane przez niezależnych ekspertów (testerów),
  • przeszkolenie programistów z zasad bezpiecznego programowania,
  • regularne instalowanie aktualizacji, poprawek,
  • niekorzystanie z nieaktualnego oprogramowania.

 

P2 – Wyciek po stronie operatora

W tym ryzyku chodzi o wycieki danych po stronie operatora aplikacji (upraszczając – po stronie organizacji, która administruje aplikacją).

Środki, jakie mogą minimalizować to ryzyko:

  • odpowiednie zarządzanie prawami dostępu, włączając w to zasadę wiedzy koniecznej,
  • szyfrowanie danych na nośnikach mobilnych (USB, dyski w laptopach, pamięć w telefonach komórkowych i tabletach),
  • program budowania świadomości bezpieczeństwa wśród pracowników,
  • monitorowanie wycieków danych (np. z pomocą oprogramowania DLP),
  • implementacja zasad privacy by design,
  • korzystanie z anonimizacji, jeśli prawdziwe dane nie są konieczne,
  • stosowanie pseudonimizacji danych.

 

P4 – Niepełne usunięcie danych

Ryzyko w tym obszarze wiąże się z niepełnym i/lub nieterminowym usunięciem (lub anonimizacją) danych osobowych.

Środki zmniejszające ryzyko:

  • usuwanie danych osobowych po zakończeniu korzystania przez osobę z rozwiązania (np. po miesiącu, ale ten czas jest do indywidualnego oszacowania),
  • dane osobowe powinny być usuwane, jeśli zażąda tego osoba (klient, użytkownik),
  • blokowanie dostępu do danych, jeśli nie można ich usunąć (RODO określa to mianem ograniczenia przetwarzania do przechowywania danych),
  • przygotowanie polityk retencji danych (przechowywania), ich archiwizacji i usuwania,
  •  dokumentowanie przypadków usuwania danych,
  • wzięcie pod uwagę danych osobowych, które mogą znaleźć się w kopiach zapasowych,
  • usuwanie profilu/konta użytkownika po określonym czasie braku aktywności (np. po trzech miesiącach – przykładowo Hotmail usuwa konto użytkownika po roku, jeśli nie było używane, Microsoft robi to po 270 dniach).

 

P5 – Niejasne polityki i warunki korzystania

Zgodnie z RODO należy informować o tym, kto jest administratorem danych, w jakim celu dane osobowe są przetwarzane, jakie są prawa osób itd. Brak wystarczających i łatwo dostępnych informacji o tym, jak dane osobowe są przetwarzane, stanowi ryzyko, które można zmniejszyć poprzez:

  • udostępnienie warunków korzystania z aplikacji, napisanych przystępnym językiem, tak aby zrozumiały je osoby bez przygotowania prawniczego,
  • udostępnienie „normalnej” wersji tych warunków oraz ekstraktu (wyciągu), który łatwo pozwoli zorientować się w sprawie,
  • publikowanie informacji o wersjach aplikacji wraz z informacją, co się zmieniło,
  • rejestrowanie zgody na przetwarzanie danych osobowych w związku z korzystaniem z aplikacji, odnotowywanie, której wersji aplikacji zgoda dotyczyła (zgody mogły się zmienić, podobnie jak warunki korzystania z aplikacji czy też treść polityki prywatności).

OWASP rekomenduje korzystanie ze strony http://www.big­gestlie.com/, na której znajduje się wiele praktycznych porad, jak przygotować przyjazny regulamin strony.

 

P8 – Nieaktualne dane użytkownika

Wagę aktualności danych podkreśla rozporządzenie unijne, wskazując, że „dane osobowe muszą być (…) prawidłowe i w razie potrzeby uaktualniane; należy podjąć wszelkie rozsądne działania, aby dane osobowe, które są nieprawidłowe w świetle celów ich przetwarzania, zostały niezwłocznie usunięte lub sprostowane (»prawidłowość«)”.

OWASP rekomenduje, aby:

  • wdrożyć procedury uaktualniania danych co jakiś czas,
  • udostępnić formularz/formatkę do aktualizowania danych,
  • jeśli dane są dalej powierzane do przetwarzania – uaktualnione dane należy także przesłać do podmiotów przetwarzających (aby uniknąć sytuacji, w której dane u administratora różnią się od tych, które są u podmiotów przetwarzających).
     

P9 – Niewygasające sesje użytkownika

Sesja użytkownika to (w dużym uproszczeniu) stan bycia przez niego zalogowanym do aplikacji. Przykładowo, gdy użytkownik zaloguje się do Facebooka, ten pamięta go i przy następnym wejściu na stronę nie trzeba się logować. Oznacza to, że sesja użytkownika jest wciąż aktywna i jest ona zazwyczaj aktywna do momentu, kiedy użytkownik wybierze opcję „Wyloguj się”. W systemach bankowości elektronicznej sesje wygasają same po kilku minutach nieaktywności. W tym obszarze OWASP rekomenduje:

  • sesje powinny wygasać, a to, jak szybko, powinno zależeć od tego, jak istotne (z punktu widzenia prywatności) są dane osobowe użytkownika,
  • użytkownicy powinni mieć możliwość ustalania, jaki jest czas wygasania sesji,
  • dostępny powinien być przycisk do wylogowania (zakończenia sesji) z aplikacji.

Projektując mechanizmy zarządzania sesjami, warto skorzystać ze ściągawki OWASP – „Session Management Cheat­Sheet”4.

 

P10 – Niezabezpieczona transmisja danych

Wszystkie dane przesyłane przez sieci publiczne powinny korzystać z bezpiecznych protokołów albo być przesyłane w formie zaszyfrowanej. Tak samo powinno to dotyczyć danych służących do uwierzytelniania (nazwa użytkownika, hasło itp.). Jako środki zaradcze (zmniejszające ryzyko) należy:

  • stosować bezpieczne protokoły do przesyłania danych osobowych (HTTPS, SFTP, SSH) i unikać tych, które bezpieczne nie są (HTTP, FTP, TELNET),
  • unikać przesyłania danych osobowych w URL-ach, np. w taki sposób: http://strona.pl/send?nazwisko=kepa&imie=leszek&miasto=warszawa
  • unikać przestarzałych protokołów i algorytmów (np. stosować TLS/DTLS zamiast SSLv3).

20 niezmiennych praw Microsoftu

Niektóre prawa niewiele się zmieniają, dlatego warto je zaadaptować i włączyć do dobrych praktyk zarządzania bezpieczeństwem, a tym samym wykorzystywać do zabez­pieczania danych osobowych.

10 niezmiennych praw bezpieczeństwa

 

Prawo #1. Jeśli osoba o złych zamiarach potrafi zmusić użytkownika do uruchomienia jej programu na jego komputerze, to komputer ten przestaje być jego komputerem

Użytkownik uruchamiający jakiś program, podejmuje decyzję o oddaniu mu pewnej kontroli nad komputerem, zazwyczaj w zakresie posiadanych uprawnień (a czasami nawet dalej), a program komputerowy może monitorować naciśnięcia klawiszy, otworzyć dowolny dokument i zastąpić wybrane wyrazy, wysyłać niecenzuralne maile do osób z książki adresowej użytkownika. Może zarazić komputer wirusem, umożliwić zdalne kontrolowanie komputera z zewnątrz, skasować lub uszkodzić dowolne dane.

 

Prawo #2. Jeśli osoba o złych zamiarach może zmienić system operacyjny w komputerze użytkownika, to komputer ten przestaje być jego komputerem

Plikom i programom systemu operacyjnego ufa się najbardziej i generalnie działają one z uprawnieniami systemu operacyjnego. A więc mogą zrobić absolutnie wszystko – zarządzać kontami, zmieniać hasła, modyfikować zasady zarządzania komputerem. Jeśli osoba nieuprawniona może je zmienić, to te zaufane pliki przestają być zaufane. Aby temu zapobiec, należy pracować na co dzień na „zwykłym” koncie, a konta z przywilejami używać tylko wtedy, gdy to konieczne.

 

Prawo #3. Jeśli osoba o złych zamiarach miała nieograniczony dostęp fizyczny do komputera użytkownika, to komputer ten przestaje być jego komputerem

Wiele osób myśli, że zabezpieczenie hasłem jest wystarczające. Otóż nie! Osoba, która ma fizyczny dostęp do komputera, może go ukraść, sformatować dysk komputera, podmienić BIOS, zamontować urządzenie, które będzie nagrywać wszystko, co się dzieje na komputerze, zrobić kopie dysku i dane odczytać później u siebie w domu. Mając dostęp do komputera, można zrobić bardzo dużo, dlatego warto dbać o ochronę fizyczną. Przykładowo, obudowy komputerów stacjonarnych warto zamykać na kłódkę.

Laptopy są bardziej narażone na kradzież. Nie należy pozostawiać ich bez nadzoru, zostawiać ich w samochodzie, nawet w bagażniku. Dobrze też uruchomić szyfrowanie dysku za pomocą takich rozwiązań, jak BitLocker5 (Windows) lub FileVault6(Mac OS).

 

Prawo #4. Jeśli pozwolisz osobie o złych zamiarach uruchomić aktywną zawartość w witrynie lub aplikacji on-line, to nie jest to już witryna organizacji

Jeśli osoba o złych zamiarach wgra złośliwy kod do firmowej witryny, można powiedzieć, że wirtualnie stanie się jej właścicielem i może podszywać się pod firmę, czym zaskoczy użytkowników witryny. Co gorsze, może uzyskać dalsze dostępy, będąc już prawie wewnątrz sieci. Dlatego uruchamianie kodu w witrynie powinno być ograniczone, a każda witryna powinna przejść testy bezpieczeństwa (tzw. testy penetracyjne).

 

Prawo #5. Słabe hasła niszczą mocne zabezpieczenia

Proces logowania do systemu służy głównie ustaleniu tożsamości użytkownika. Z chwilą gdy system operacyjny zna tożsamość użytkownika, może przyznać (lub zabronić) dostęp do określonych zasobów. Jeśli ktoś pozna hasło użytkownika, będzie działał w jego imieniu. Cokolwiek zrobi, będzie to robił jako dany użytkownik, tak jakby posługiwał się czyimś identyfikatorem czy dowodem osobistym.

Dlatego zawsze trzeba używać dobrych haseł do komputera. A dobre hasło to takie, którego łatwo nie da się odgadnąć lub złamać. Poniżej podano przykłady haseł, które są „złe” i których nie należy stosować:

  • Leszek1! (wyraz ze słownika, jedna cyfra, jeden znak specjalny – łatwe do złamania),
  • 20050731 (data urodzin, same cyfry),
  • qwerty123 (ciąg mnemoniczny, łatwy do odgadnięcia),
  • 123456 (nie trzeba komentować).

Przykładem może być wyciek haseł z serwisu autocentrum.pl7 – najpopularniejsze hasła to ciągi cyfr (123456, 12345), imiona lub nicki osób (monika, marcin, michal, bartek, misiek), ciąg mnemoniczny (zaq12wsx) oraz nazwa serwisu – autocentrum. To pokazuje, jak ważna jest umiejętność tworzenia dobrych haseł.

Haseł nie powinno się udostępniać, tak jak nikt nie dzieli się dowodem osobistym czy kartą płatniczą.

Tam, gdzie jest to możliwe, warto używać uwierzytelniania wieloskładnikowego (ang. multi-factor authentication, MFA), na które mogą składać się następujące składniki:

  • wiedza – coś, co użytkownik zna, wie (hasło, PIN),
  • stan posiadania – coś co użytkownik ma (token bezpieczeństwa, certyfikat, określone urządzenie)
  • czynnik ludzki – kim jest użytkownik (biometria dłoni, palców, twarzy, oka itd.),
  • lokalizacja – gdzie użytkownik się znajduje.

Najczęściej spotykane metody użycia uwierzytelniania wieloskładnikowego:

  • przeciągnięcie karty dostępowej (coś co ma) i podanie PIN (coś, co wie),
  • logowanie się do strony internetowej, podanie nazwy użytkownika, hasła oraz dodatkowego kodu przesłanego za pomocą SMS,
  • zdalne połączenie do sieci firmowej za pomocą nazwy użytkownika, hasła oraz kodu wygenerowanego przez token sprzętowy.

 

Prawo #6. Komputer jest bezpieczny w takim stopniu, w jakim można zaufać jego administratorowi

Każdy komputer ma jakiegoś administratora – kogoś kto może instalować programy, zmieniać konfigurację itd. W przypadku komputerów firmowych jest to wyznaczony pracownik lub zespół, który musi być godny zaufania. Organizacja powinna wdrożyć takie reguły zatrudnienia, aby móc „prześwietlić” potencjalnych kandydatów na tyle, na ile się da (zgodnie z RODO). Warto sprawdzić wiarygodność informacji z życiorysu i referencje.

Wiadomo, że okazja czyni złodzieja, dlatego uczciwym trzeba pomagać, by mogli być uczciwi. Trzeba kontrolować to, co robią, logować dostęp do pomieszczeń, takich jak serwerownia (która jest zamykana; jeśli nie, to trzeba ponownie przeczytać Prawo #3). Może w niektórych przypadkach warto zastosować zasadę czterech oczu, dzięki której niektórych wyjątkowo ważnych czynności nie da się wykonać w pojedynkę (np. zmiana konfiguracji systemu bankowego).

Warto też pomyśleć nad rozwiązaniami, które uniemożliwią „złośliwym” administratorom zatarcie śladów, przykładowo logi aktywności powinny być gromadzone przez systemy klasy SIEM, zaś zdarzenie wyczyszczenia logów powinno generować alarm.

 

Prawo #7. Zaszyfrowane dane są bezpieczne jedynie w takim stopniu, w jakim jest bezpieczny klucz do ich odszyfrowania

Nawet najmocniejsze drzwi z niemożliwym do złamania zamkiem są tak bezpieczne, jak klucz do ich otworzenia. Jeśli ten klucz będzie chowany pod wycieraczką przed tymi drzwiami, to jaki jest sens inwestować w takie drzwi?

Szyfrowanie działa dokładnie tak samo – jakkolwiek mocny jest algorytm szyfrujący, bezpieczeństwo danych będzie głównie zależeć od bezpieczeństwa klucza szyfrującego.

Przykładowo, jeśli dokument został zabezpieczony hasłem (czyli w istocie zaszyfrowany) i ma być przesłany mailem, klucz do odszyfrowania należy przesłać innym kanałem, np. za pomocą SMS-a.

 

Prawo #8. Nieaktualizowane programy antywirusowe są tylko trochę lepsze od ich całkowitego braku

Programy antywirusowe rozpoznają wirusy poprzez tzw. sygnatury. Każda sygnatura skojarzona jest z określonym złośliwym oprogramowaniem. Gdy program antywirusowy znajdzie taki wzorzec w pliku lub pamięci komputera, uzna, że znalazł wirusa. Jeśli nie będzie miał sygnatur nowych wirusów, to nie będzie ich wykrywał. Aktualizowanie sygnatur to sprawa podstawowa.

 

Prawo #9.Pełna anonimowość jest nieosiągalna. Zarówno w życiu jak i on-line

Pełna anonimowość w dzisiejszych czasach jest niemożliwa. Każda interakcja, zarówno w rzeczywistości, jak i w sieci, wymaga pewnej wymiany danych o charakterze osobowym. Im więcej komunikujemy się, tym więcej informacji o sobie pozostawiamy. Oczywiście, prywatność nie jest stracona, świadczy o tym rozwój przepisów o ochronie danych osobowych. Niezależnie od tego warto chronić własną prywatność w Internecie w podobny sposób, jak robi się to w świecie rzeczywistym. Warto czytać regulaminy, a informacje publikować ostrożnie, pamiętając o tym, że informacja raz wrzucona do Internetu pozostanie w nim na zawsze. Nawet już od dawna nieistniejące strony internetowe są wciąż w Internecie – przykładowo można je znaleźć, korzystając ze strony web.archive.org.

 

Prawo #10. Technologia nie jest „lekiem na całe zło”

Technologia i zabezpieczenia techniczne nie są „lekiem na całe zło”. Technologia nie rozwiąże wszystkich problemów. Trzeba podkreślić, że nic nie jest ważniejsze dla bezpieczeństwa niż ludzie, którzy używają systemów komputerowych i którzy tymi systemami administrują. Nie ma też technologii bezpieczeństwa, która po zainstalowaniu będzie sprawnie służyła przez lata. Dopiero łącząc technologię z dobrym zarządzaniem bezpieczeństwem, można mówić o bezpieczeństwie.

10 niezmiennych praw administrowania bezpieczeństwem

 

Prawo #1. Nikt nie wierzy, że może (mu) się stać coś złego – do chwili, aż się stanie

Zawsze trzeba być przygotowanym na każdą możliwość. W branży bezpieczeństwa już nie rozważa się, czy firma zostanie „zhakowana”, a raczej – kiedy to nastąpi, bo to, że kiedyś to się stanie, jest pewne. Dlatego już dzisiaj należy zadbać o kopie zapasowe i procedury, które pozwolą przetrwać trudne sytuacje.

 

Prawo #2. Zabezpieczenia działają tylko wtedy, gdy nie są zbyt uciążliwe

Jeśli użytkownik zostanie zmuszony do utworzenia hasła w stylu A@18&zrqy{, to bardziej niż pewne, że gdzieś je zapisze, bo takiego hasła nie da się zapamiętać. Zabezpieczenia utrudniają nieco pracę, ale nie mogą utrudniać jej tak znacząco, aby użytkownicy je omijali. Jeśli łatwo się stosuje zabezpieczenia, to użytkownicy chętnie będą je stosować.

 

Prawo #3. Jeśli nie instalujesz aktualizacji bezpieczeństwa, sieć szybko wymknie się spod kontroli

Większość incydentów to wynik braku zainstalowanych poprawek bezpieczeństwa. Gdyby poprawki były instalowane na bieżąco, incydentów byłoby znacznie mniej.

 

Prawo #4. Instalowanie poprawek zabezpieczeń w komputerze, który od początku był źle zabezpieczony, niewiele mu pomoże

Komputer, który nie został poddany tzw. hardeningowi, z wieloma domyślnymi ustawieniami, jest dziurawy jak ser szwajcarski i instalowanie aktualizacji niewiele mu pomoże. Domyślne hasła trzeba zmienić, usunąć zbędne oprogramowanie i usługi, wzmocnić konfigurację. W Internecie jest wiele poradników na temat hardeningu. Najpopularniejsze publikuje Center for Internet Security (CIS)8.

 

Prawo #5. Konieczność zachowania czujności jest ceną bezpieczeństwa

W sprawie bezpieczeństwa trzeba być czujnym 24 godziny na dobę, 7 dni w tygodniu, przez cały rok.

 

Prawo #6: Naprawdę jest ktoś, kto chce włamać się do danej sieci!

Wiele organizacji myśli, że nie jest łakomym kąskiem dla włamywaczy. Ale to nieprawda – zawsze znajdzie się ktoś, kto będzie chciał zrobić danej organizacji krzywdę.

 

Prawo #7. Bezpieczna sieć – to taka, która jest dobrze administrowana

W dobrze administrowanej sieci znajdzie się wszystko, co niezbędne do jej zabezpieczenia – instalowane na bieżąco poprawki, prawidłowa konfiguracja, ciągłe monitorowanie, zapisywanie zdarzeń w logach i wysyłanie do SIEM, dokumentowanie wszystkich zmian, administratorzy znający się na pracy i poczuwający do odpowiedzialności. Dobrezarządzanie jest podstawą bezpiecznych systemów komputerowych!

 

Prawo #8. Trudność ochrony sieci jest zależna od jej złożoności

Im większa sieć, tym bardziej jest skomplikowana, a tym samym trudniej nią zarządzać, a w konsekwencji zarządzać bezpieczeństwem.

 

Prawo #9. Bezpieczeństwo nie jest unikaniem ryzyka, jest związane z zarządzaniem ryzykiem

Bezpieczeństwo – to nic innego jak zarządzanie ryzykiem. Nie pozostaje nic innego, jak zarządzać ryzykiem – zmniejszać je do poziomu akceptowalnego i regularnie kontrolować.

 

Prawo #10. Technologia nie jest lekiem na wszystko

To prawo pojawiło się już wcześniej – w 10 niezmiennych prawach bezpieczeństwa.