OWASP zasadniczo oznacza Open Web Application Security Project, jest to globalna społeczność online non-profit składająca się z dziesiątek tysięcy członków i setek rozdziałów, która tworzy artykuły, dokumentację, narzędzia i technologie w dziedzinie bezpieczeństwa aplikacji internetowych.
co trzy do czterech lat OWASP dokonuje przeglądu i publikuje listę 10 najlepszych luk w zabezpieczeniach aplikacji internetowych., Ta lista zawiera nie tylko najpopularniejsze 10 luk w zabezpieczeniach, ale także potencjalny wpływ każdej luki i sposoby ich uniknięcia. OWASP Top 10 security Risks został ostatnio zaktualizowany w 2017 roku i zasadniczo zawiera wskazówki dla programistów i specjalistów ds. bezpieczeństwa dotyczące najbardziej krytycznych luk w zabezpieczeniach, które są najczęściej spotykane w aplikacjach internetowych, a także są łatwe do wykorzystania. TOP 10 OWASP jest uważany za niezbędny przewodnik po najlepszych praktykach bezpieczeństwa aplikacji internetowych.,
10 najlepszych luk w zabezpieczeniach OWASP w 2020 roku to:
- Injection
- Broken Authentication
- Sensitive Data Exposure
- XML External Entities (XXE)
- Broken Access control
- błędne konfiguracje zabezpieczeń
- Cross-Site Scripting (XSS)
- niezabezpieczona Deserializacja
- używanie komponentów ze znanymi lukami
- niewystarczające rejestrowanie i monitorowanie.,
injection
luki w zabezpieczeniach Injection występują, gdy atakujący używa zapytania lub polecenia do wstawiania niezaufanych danych do interpretera za pomocą SQL, OS, NoSQL lub LDAP injection. Dane, które są wstrzykiwane przez ten wektor ataku sprawia, że aplikacja robi coś, do czego nie jest przeznaczona. Nie wszystkie aplikacje są podatne na ten atak, tylko aplikacje, które akceptują parametry jako dane wejściowe, są podatne na ataki iniekcyjne.,
atakom iniekcyjnym można zapobiec za pomocą
- za pomocą bezpieczniejszego API, które unika użycia interpretera
- za pomocą parametryzowanych zapytań podczas kodowania
- segregowanie poleceń od danych w celu uniknięcia narażenia na ataki
uszkodzone uwierzytelnianie
uszkodzone uwierzytelnianie jest luką, która pozwala atakującemu używać ręcznych lub automatycznych metod, aby spróbować uzyskać kontrolę nad dowolnym kontem, które chcą w systemie. W gorszych warunkach mogą również uzyskać pełną kontrolę nad systemem., Ta luka jest również bardziej niebezpieczna, ponieważ witryny z uszkodzonymi lukami uwierzytelniającymi są bardzo powszechne w Internecie. Złamane uwierzytelnianie zwykle występuje, gdy aplikacje nieprawidłowo wykonują funkcje związane z zarządzaniem sesją, umożliwiając intruzom naruszanie haseł, kluczy bezpieczeństwa lub tokenów sesji.,Złamane ataki uwierzytelniania można zapobiec przez
- Implementowanie uwierzytelniania wieloskładnikowego
- Ochrona poświadczeń użytkowników
- wysyłanie haseł przez szyfrowane połączenia
narażenie na wrażliwe dane
Ta luka jest jedną z najbardziej rozpowszechnionych luk na liście OWASP i ma miejsce, gdy aplikacje i interfejsy API nie chronią właściwie poufnych danych, takich jak dane finansowe, numery ubezpieczenia społecznego, nazwy użytkowników i hasła lub informacje zdrowotne.informacji i popełnienia oszustwa lub kradzieży tożsamości.,
atakom wrażliwych danych można zapobiec poprzez
- przy użyciu bezpiecznego adresu URL
- przy użyciu silnych i unikalnych haseł
- szyfrowanie wszystkich poufnych informacji, które muszą być przechowywane
XML External Entities (XXE)
Ta luka występuje w aplikacjach internetowych, które analizują dane wejściowe XML. Dzieje się tak, gdy źle skonfigurowane procesory XML oceniają odniesienia do zewnętrznych jednostek w dokumentach XML i wysyłają poufne dane do nieautoryzowanego podmiotu zewnętrznego, tj. jednostki pamięci, takiej jak dysk twardy., Domyślnie większość parserów XML jest podatna na ataki XXE.
XXE atakom można zapobiec za pomocą
- przy użyciu mniej złożonych formatów danych, takich jak JSON
- aktualizacja procesorów i bibliotek XML
- przy użyciu narzędzi SAST
złamana Kontrola dostępu
Ta luka występuje, gdy nie ma dostępu do zasobów, oznacza to, że istnieją pewne nieprawidłowo skonfigurowane brakujące ograniczenia uwierzytelnionych użytkowników, które umożliwiają im dostęp do nieautoryzowanych funkcji lub danych, takich jak dostęp do innych kont, poufnych dokumentów itp., W przypadku tego ataku atakujący korzystają z pomocy zarządzania sesją i próbują uzyskać dostęp do danych z niewygasłych tokenów sesji, co daje im dostęp do wielu ważnych identyfikatorów i haseł.,
złamanym atakom kontroli dostępu można zapobiec poprzez
- usunięcie kont, które nie są już potrzebne lub nie są aktywne
- wyłączenie niepotrzebnych usług w celu zmniejszenia obciążenia serwerów
- za pomocą testów penetracyjnych
błędna Konfiguracja zabezpieczeń
szacuje się, że do 95% naruszeń chmury jest wynikiem błędów ludzkich i fakt ten prowadzi nas do kolejna Luka zwana błędną konfiguracją zabezpieczeń. Luka ta odnosi się do niewłaściwego wdrożenia zabezpieczeń mających na celu zapewnienie bezpieczeństwa danych aplikacji., Jak wiemy, praca dewelopera polega w zasadzie na pracy nad funkcjonalnością stron internetowych, a nie nad bezpieczeństwem, a ta wada pozwala hakerom śledzić konfigurację zabezpieczeń i znaleźć nowe możliwe sposoby wchodzenia na strony internetowe. Najczęstszym powodem tej luki jest brak poprawek lub aktualizacji systemów, struktur i komponentów.,
atakom z błędną konfiguracją zabezpieczeń można zapobiec za pomocą
- za pomocą Dynamic application security testing (Dast)
- wyłączanie domyślnych haseł
- obserwowanie zasobów, aplikacji i serwerów w chmurze
Cross-Site Scripting (XSS)
jest to również powszechna luka, która dotyczy prawie 53% wszystkich aplikacji internetowych. Luka XSS pozwala hakerowi wprowadzić złośliwe skrypty po stronie klienta do witryny, a następnie użyć aplikacji internetowej jako wektora ataku do przejęcia sesji użytkownika lub przekierowania ofiary na złośliwe strony internetowe.,
atakom skryptów międzysystemowych można zapobiegać za pomocą
- przy użyciu odpowiednich nagłówków odpowiedzi
- filtrowanie wejścia i kodowanie wyjścia
- przy użyciu polityki bezpieczeństwa treści
- zastosowanie podejścia zerowego zaufania do wejścia użytkownika
niepewna deserializacja
niebezpieczna Luka deserializacji pozwala atakującemu zdalnie wykonać kod w aplikacji, manipulować lub usuwać serializowane (zapisane na dysku) obiektów, przeprowadza ataki iniekcyjne, powtarza ataki i podnosi przywileje. Atak ten jest również znany jako niezaufana Deserializacja., Jest to poważny problem bezpieczeństwa aplikacji, który dotyczy większości nowoczesnych systemów.,atakom alizacyjnym można zapobiec poprzez
- Implementowanie podpisów cyfrowych
- za pomocą testów penetracyjnych
- izolowanie kodu, który deserializuje i uruchamianie go w środowiskach o niskich przywilejach, aby zapobiec nieautoryzowanym działaniom
używanie komponentów ze znanymi lukami
obecnie istnieje wiele otwartych i swobodnie dostępnych komponentów oprogramowania (bibliotek, frameworków), które są dostępne dla programistów.może mieć wpływ na bezpieczeństwo całej aplikacji., Dzieje się tak również dlatego, że deweloperzy często nie wiedzą, które komponenty open source i innych firm są obecne w ich aplikacjach, a to utrudnia programistom aktualizowanie komponentów, gdy w ich obecnych wersjach zostaną wykryte nowe luki.,
temu atakowi można zapobiec poprzez
- usunięcie wszystkich niepotrzebnych zależności
- przy użyciu wirtualnych łatek
- przy użyciu komponentów tylko z oficjalnych i zweryfikowanych źródeł
niewystarczające rejestrowanie i monitorowanie
szacuje się, że czas od ataku do wykrycia może potrwać do 200 dni, a często dłużej. W międzyczasie atakujący mogą manipulować serwerami, uszkodzonymi bazami danych i wykradać poufne informacje. Niewystarczające rejestrowanie i nieskuteczna integracja systemów bezpieczeństwa umożliwiają atakującym przełączanie się na inne systemy i utrzymywanie trwałych zagrożeń.,
niewystarczające rejestrowanie i monitorowanie ataków można zapobiec poprzez
- wdrożenie oprogramowania do rejestrowania i audytu
- ustanowienie skutecznego systemu monitorowania
- myślenie jak atakujący i stosowanie podejścia do testowania pióra