Reklama

Social media

#CyberMagazyn: Przestańmy obwiniać użytkowników. Róbmy bezpieczne cyfrowe produkty

Fot. papazachariasa / Pixabay
Fot. papazachariasa / Pixabay

Kiedy rozmawiamy o cyberbezpieczeństwie, bardzo często pojawia się temat odpowiedzialności za to, że doszło do incydentu. Kto ją ponosi? Kto jest winny temu, że zabezpieczenia zostały przełamane, dane wykradzione, a straty poniesione? Najczęściej - to użytkownik  - błąd ludzki to najczęstszy powód skutecznych działań cyberprzestepczych. Właśnie dlatego pora przestać mówić o winie użytkowników, a skupić się na projektowaniu bezpiecznych produktów.

O tym, jak groźna potrafi być inżynieria społeczna, która dziś wykorzystywana jest w ogromnej części cyberataków, w serwisie CyberDefence24.pl pisałam już wcześniej.

Na naszych łamach można przeczytać również tekst o wykorzystaniu socjotechniki w kontekście zagrożeń dla państwa. To właśnie w działaniach opartych na wykorzystaniu technik manipulacyjnych człowiek okazuje się najsłabszym ogniwem i ulega cyberprzestępcom - warto jednak pamiętać, że wina użytkownika końcowego nie może być argumentem tłumaczącym fakt, że doszło do incydentu.

Podatności oprogramowania są faktem

Użytkownicy końcowi nie są za nie odpowiedzialni. Odpowiedzialne są za nie firmy, które dostarczają oprogramowanie i świadczą usługi jego utrzymania. 

Jak powstają podatności? W wyniku błędów lub zaniedbań programistów, testerów, ich przełożonych. Warto powtórzyć zatem, że odpowiadają za nie firmy dostarczające produkty cyfrowe - aplikacje, systemy, rozwiązania.

Tak, zapewnienie bezpieczeństwa na etapie projektowania produktu nie jest łatwe. Jest to jednak droga, która pozwala zminimalizować ryzyko wystąpienia incydentu i jest etyczna - nie zrzuca bowiem całej odpowiedzialności za bezpieczeństwo na użytkownika końcowego, który nie musi mieć fachowych, technicznych umiejętności, ani nawet rozumieć, jak działa technologia, z której korzysta.

Użytkownicy mają prawo korzystać z oprogramowania, które jest domyślnie bezpieczne.

Bezpieczeństwo na etapie projektu

Myślenie o bezpieczeństwie już na etapie projektu (security by design) zakłada, że opracowywane rozwiązania wyposażone są w pewne fundamenty, które mają decydować o bezpieczeństwie całego systemu w kwestiach takich, jak np. uwierzytelnianie, autoryzacja dostępu do danych, ich poufność, integralność, prywatność. 

Projektowanie uwzględniające bezpieczeństwo na etapie projektu opiera się na wykorzystaniu pewnych strategii, taktyk i wzorców, które można adaptować zgodnie z potrzebami architektury. To, co jest zasadniczo istotne w projektowaniu opartym o tę metodologię, to przejrzystość - system, który działa w oparciu o wbudowane w niego bezpieczeństwo, jest zrozumiały w swojej logice dla każdego, kto będzie z nim pracował.

Dlaczego? Bo bezpieczeństwo nie polega na ukrywaniu tego, jak coś działa, tylko na takiej konstrukcji, która przy maksymalnej przejrzystości będzie gwarantowała w dalszym stopniu maksymalną możliwą ochronę przed niechcianą ingerencją. 

Jak zbudować podstawy?

Jedną z najciekawszych interpretacji metodologii projektowania z uwzględnieniem bezpieczeństwa prezentuje międzynarodowa organizacja OWASP (Open Web Application Security Project), założona w 2001 roku przez specjalistę z branży bezpieczeństwa informacji - Marka Curpheya, która swoją działalność koncentruje wokół spraw takich, jak bezpieczeństwo webowe, bezpieczeństwo aplikacji i ocena podatności. 

Według OWASP, podstawą dla myślenia o bezpieczeństwie na etapie projektu powinna być właściwa ocena i klasyfikacja danych, które mają być przetwarzane w ramach projektowanego rozwiązania. Istotne jest również przemyślenie i stworzenie strategii ich ochrony. Organizacja uważa, że odpowiednie środki zabezpieczenia danych są proporcjonalne względem ich wartości; znacznie bardziej rozbudowany będzie system zabezpieczający dane medyczne i finansowe, niż np. te, które znajdują się na dyskusyjnym forum ogrodniczym.

Eksperci organizacji wskazują, że jednym z kluczowych aspektów jest analiza i ocena zagrożeń, a także jak najpełniejsze zrozumienie mechanizmów działania potencjalnych atakujących dany system. Kto będzie zainteresowany naruszeniem jego bezpieczeństwa? Jakie będą jego motywacje? Jak uderzy? Czy wykorzysta do tego słabości pracowników? Jak duże będą szkody dla każdego z możliwych scenariuszy?

OWASP wskazuje, że fundamenty bezpieczeństwa powinny opierać się o podstawowe zasady bezpieczeństwa informacji, które regulują dostępność danych przetwarzanych w ramach systemu. To ich poufność, która zapewnia dostęp dla użytkownika jedynie wtedy, gdy ma on odpowiednie uprawnienia, integralność - jej celem jest zapewnienie, że dane nie będą mogły być zmodyfikowane przez nieuprawnionych użytkowników, a ostatecznie - dostępność, która ma gwarantować, że dostęp do danych i systemów jest możliwy dla wszystkich autoryzowanych użytkowników wtedy, kiedy tego potrzebują. 

Architektura projektowanych rozwiązań ma być według organizacji projektowana tak, by odpowiadać na wszystkie możliwe rodzaje ryzyka, takie jak np. przypadkowe usunięcie danych przez użytkownika, jak i cyberataki (np. z wykorzystaniem iniekcji kodu). 

Minimalizacja powierzchni ataku - kluczowa 

Im bardziej skomplikowane są projektowane systemy czy aplikacje, tym więcej mają powierzchni ataku, które mogą wykorzystać cyberprzestępcy. 

Minimalizacja powierzchni ataku - według OWASP - polega na ograniczeniu dostępności funkcji oprogramowania dla użytkowników, którzy dysponują odpowiednimi uprawnieniami - niezalogowany do systemu użytkownik nie może np. skorzystać z funkcji wyszukiwania w aplikacji, która jest podatna na atak z wykorzystaniem iniekcji skryptu. 

Bezpieczeństwo na etapie projektu gwarantuje również, że użytkownik nie będzie mógł samodzielnie eskalować posiadanych przez siebie uprawnień systemowych. Bezpieczne muszą być zatem procesy takie, jak rejestracja, regulacja haseł, ich kompleksowość, a także częstotliwość zmiany. Użytkownicy powinni również zawsze mieć minimum uprawnień, których potrzebują, by móc efektywnie korzystać z systemu i wykonywać na nim zadania. 

Cyberbezpieczeństwo to proces, który powinien być wielowarstwowy - wskazuje OWASP. Zamiast ściśle kontrolować użytkowników, w ramach systemu powinny działać różne warstwy logowania, walidacji i audytowania zdarzeń. 

Nieufność wobec zewnętrznych aplikacji jest uzasadniona

Systemy, z których korzystamy, bardzo często oferują nam dodatkowe funkcje z wykorzystaniem zewnętrznych usług. Według OWASP, nigdy nie powinniśmy im ufać, gdy mowa o bezpieczeństwie - ich dostęp do danych powinien być ograniczony. 

Krytycznie ważny jest również proces utrzymania, naprawiania i testowania wykorzystywanego oprogramowania, szczególnie, gdy jest ono oparte o powtarzalne schematy - wtedy błąd może występować w wielu miejscach jednocześnie. Wracamy tym samym do początku tekstu, w którym napisałam, że bezpieczeństwo zależy w ogromnej mierze od twórców oprogramowania. Przestańmy zatem za wszystkie klęski i niedociągnięcia producentów obciążać użytkowników.


Chcemy być także bliżej Państwa – czytelników. Dlatego, jeśli są sprawy, które Was nurtują; pytania, na które nie znacie odpowiedzi; tematy, o których trzeba napisać – zapraszamy do kontaktu. Piszcie do nas na: [email protected]. Przyszłość przynosi zmiany. Wprowadzamy je pod hasłem #CyberIsFuture. 

image
Fot. Reklama

Reklama

Komentarze

    Reklama