OWASP TOP 10 2021 to dostępny dla wszystkich raport z 10 najistotniejszych kategorii problemów bezpieczeństwa w aplikacjach webowych. The Open Web Application Security Project jest organizacją non-profit , która zajmuje się badaniem podatności. Co cztery lata publikuje raport, będący jednocześnie również poradnikiem, jak uchronić się przed najbardziej powszechnymi sposobami ominięcia zabezpieczeń. Zdecydowanie warto poświęcić chwilę na zapoznanie się z tegorocznym raportem i oszczędzić sobie wielu kłopotów w przyszłości.

Ostatnie wydanie raportu OWASP miało miejsce w 2017 roku. Od tamtego czasu dużo się jednak zmieniło, zarówno w świecie oraz IT. Sam raport również musiał doczekać się zmian. W tegorocznej edycji, twórcy wprowadzili trzy nowe kategorie podatności: Insecure Design, Software and Data Integrity Failtures, Server-Side Request Forgery (SSRF).

Kategorie podatności.

Kategorie w raporcie OWASP TOP 10 ustalone są w kolejności od, zdaniem twórców, najistotniejszych. Należy jednak zaznaczyć, że każda z wymienionych w raporcie kategorii podatności prowadzić może do ominięcia lub złamania zabezpieczeń i dalszych tego konsekwencji. Przy każdej kategorii analizowane są konkretne podatności z bazy Common Weaknes Enummeration (CWE). Znaleźć tam można wszystkie zaraportowane sposoby na złamanie lub ominięcie zabezpieczeń.

Na pierwszym miejscu znaleźć możemy kategorie związane z uwierzytelnianiem oraz autoryzacją. ’Broken Access Control’ to podatność, która występowała najczęściej w testowanych przez OWASP aplikacjach. 94% z nich była narażona na tego rodzaju podatność. Polega ona na tym, że użytkownik, może zrobić w pewnych sytuacjach więcej, niż zezwalają mu na to uprawnienia. Konsekwencje tego mogą być poważne, przeważnie jednak wynikają one ze złej konfiguracji i dość łatwo można się przed nimi zabezpieczyć. Podobnie sytuacja ma się w przypadku ’Cryptographic Failures’, która wynika z używania za słabych algorytmów szyfrujących lub ich braku.

Na trzecim miejscu znalazły się wszystkie podatności z kategorii ’Injection’. Razem z ’Broken Access Control’ jest to jeden z najczęściej występujących rodzajów podatności. Do tej kategorii zaliczono zarówno CWE-89: SQL-Injection, CWE-79: Cross-site Scripting czy CWE-73: External Control of File Name or Path. W gruncie rzeczy wszystkie opierają się na podobnym sposobie działania. Polegają na przekazaniu od użytkownika danych, które zawierać mogą znaki ucieczki, przekazywać polecenia bezpośrednio do bazy SQL itp. Można temu zapobiec poprzez używanie klucza API, lepszą walidację danych i kilku innych zabiegach o których więcej w raporcie.
Pozostałe kategorie dotyczą błędów w konfiguracji, przedawnionych wersji oprogramowania, na które występują już powszechnie znane podatności, czy problemy z autentykacją i integracją danych.

Nowe kategorie

W tegorocznej edycji OWASP TOP 10, twórcy wprowadzili również trzy nowe kategorie. ’Insecure Design’ skupia się na podatnościach związanych z błędami będącymi efektem złego zaprojektowania aplikacji. Istotne jest tutaj rozróżnienie pomiędzy niebezpiecznym designem a błędną implementacją. Błędy tego typu zdecydowanie trudniej jest później naprawić, dlatego warto wiedzieć czego uniknąć już na etapie planowania.

Do nowych kategorii należą również ’Software and Data Integrity Failures’ oraz ’Server Side Request Forgery (SSRF)’. Ta pierwsza dotyczy korzystania przez aplikacje z bibliotek czy pluginów lub używania repozytoriów z niesprawdzonych źródeł, zezwalanie na automatyczne updaty bez wcześniejszego sprawdzenia itp. SSRF natomiast w raporcie z 2017 roku był częścią kategorii ’Injection’ jednak twórcy stwierdzili, że podatność ta zasługuje na osobną kategorię. Po części mają rację, gdyż SSRF jest nieco innym atakiem niż ataki ’Injection’, pomimo znaczących podobieństw. Ogólnie mówiąc, atakujący jest w stanie przy pomocy spreparowanego URL’a 'przymusić’ aplikację do wykonania jakiegoś żądania. Może też spróbować uzyskać dostęp do danych z sieci lokalnej.

Podsumowanie

Pełen raport znaleźć możecie na stronie OWASP. Zdecydowanie warto jest poświęcić mu chwilę i ustrzec się przed wieloma, często bardzo prostymi błędami. W raporcie dokładnie opisane są wszystkie rodzaje podatności, odnośniki do bazy CWE oraz przykłady ataków i sposoby ich uniknięcia.
Na każdym etapie tworzenia aplikacji powinniśmy myśleć o bezpieczeństwie co pozwoli zaoszczędzić nam dużo czasu i nerwów w przyszłości, a także ułatwi wprowadzanie kolejnych zmian. Bądźcie czujni i bezpieczni!

Jeśli interesuje Cię ten temat, sprawdź inne artykuły:

logo IT-Leaders

IT-Leaders.pl to pierwsza w Polsce platforma łącząca Specjalistów IT bezpośrednio z pracodawcami. Anonimowy, techniczny profil i konkretnie określone oczekiwania finansowe to tylko niektóre z cech wyróżniających platformę. Zarejestruj się i zobacz jak Cię widzi pracodawca.