top of page

Śledź nasze wpisy w social media

  • Instagram
  • Facebook
  • Twitter
  • LinkedIn
  • YouTube
  • Zdjęcie autoraPiotr Kośka

OWASP Top 10 luk w zabezpieczeniach na rok 2022

Listę 10 najpopularniejszych podatności



1. Broken Access Control


Nieprawidłowa kontrola dostępu to słabość, dzięki której atakujący uzyskują dostęp do kont użytkowników. Haker podszywa się tutaj pod użytkownika lub administratora w systemie i uzyskuje dostęp do danych oraz wrażliwych plików. Źle skonfigurowana kontrola dostępu może umożliwić atakującemu zmiany na przykład w panelu administracyjnym, panelu sterowania strony internetowej, dostępie przez FTP / SFTP / SSH.


Tej luce można zaradzić na następujące sposoby:


  • Wdrożyć interaktywne rozwiązanie do testowania bezpieczeństwa aplikacji w celu wykrywania fałszerstw między witrynami lub niezabezpieczonego przechowywania poufnych danych

  • Przeprowadzić testy penetracyjne w celu uzupełnienia działań IAST

  • Usunąć konta, które nie są już aktywne

  • Przeprowadzać regularne audyty i kontrole dostępu

  • Używać właściwej metody zarządzania sesją i zarządzania dostępem


2. Cryptographic Failures


Błędy kryptograficzne występują, gdy przechowywane lub przesyłane dane są w jakiś sposób zagrożone i możliwe do odczytania.


Oszustwa związane z kartami kredytowymi lub kradzież tożsamości są często wynikiem błędów kryptograficznych. Takie problemy występują, gdy dane są przesyłane w postaci jawnego tekstu lub używane są przestarzałe algorytmy szyfrujące. Niepoprawne zarządzanie kluczami i techniki rotacji również bywają odpowiedzialne za tego typu luki.


Rozwiązania mające na celu usunięcie tej podatności są następujące:


  • Wyłączyć autouzupełnianie w formularzach, które zbierają dane

  • Zmniejszyć rozmiar obszaru powierzchni danych

  • Korzystać z szyfrowania danych podczas przesyłania i przechowywania

  • Korzystać z najbardziej zaawansowanych metod szyfrowania

  • Dezaktywować buforowanie w formularzach zbierających dane


3. Injection


Luki w zabezpieczeniach polegające na wstrzykiwaniu odnoszą się do wstrzykiwania wrogich danych do interpretera za pośrednictwem SQL, OS, NoSQL lub LDAP. Ataki wstrzykujące oszukują silnik przetwarzania kodu, aby skłonił aplikację do wygenerowania niezamierzonych poleceń lub wykazał zachowania, dla których aplikacja nie została pierwotnie zaprojektowana. Aplikacje przyjmujące parametry jako dane wejściowe są podatne na ataki iniekcyjne. Aby zapobiec takim atakom, można zastosować następujące podejścia:


  • Dołączyć narzędzia SAST i IAST do strumienia CI/CD

  • Oddzielić polecenia od danych, aby uniknąć niepotrzebnego wykonywania poleceń wynikającego z narażenia na ataki

  • Używać zapytań sparametryzowanych

  • Używać bezpiecznego API zamiast eliminatora

  • Zastosować sprawdzanie poprawności po stronie serwera i system do wykrywania włamań, aby identyfikować podejrzane zachowania po stronie klienta


4. Insecure Design


Odnosi się to do wszystkich wad związanych ze złym projektem technicznym aplikacji. Ta kategoria obejmuje modelowanie zagrożeń, bezpieczne wzorce projektowe i architektury referencyjne.


Rozwiązania dotyczące zwiększenia bezpieczeństwa w tym zakresie:


  • Zastosować bezpieczny, kontrolowany cykl rozwoju produktu

  • Stworzyć bibliotekę gotowych do użycia bezpiecznych wzorców projektowych

  • Zintegrować kontrole wiarygodności na każdym poziomie aplikacji

  • Wdrożyć modelowanie zagrożeń na potrzeby kluczowego uwierzytelniania, kontroli dostępu, logiki biznesowej i przepływów kluczy

  • Ograniczyć zużycie zasobów użytkowników i usług


5. Security Misconfiguration


Błędna konfiguracja zabezpieczeń wśród 10 największych luk w zabezpieczeniach jest luką najczęstszą. Akceptowanie niezabezpieczonych ustawień domyślnych, niekompletnych konfiguracji, rozwlekłych komunikatów o błędach zawierających poufne informacje oraz źle skonfigurowanych odbiorców HTTP są odpowiedzialne za błędną konfigurację zabezpieczeń.


Rozwiązania dotyczące błędnej konfiguracji zabezpieczeń:


  • Korzystać z szablonów zgodnych z zasadami bezpieczeństwa organizacji

  • Używać architektury aplikacji podzielonej na segmenty, aby zmniejszyć ryzyko

  • Wyeliminować nieużywane funkcje i usługi

  • Przeprowadzać ciągłe monitorowanie zasobów chmury, serwerów i aplikacji w celu wykrycia błędnych konfiguracji zabezpieczeń


6. Vulnerable and Outdated Components


Komponenty open source mogą zawierać luki stanowiące poważne zagrożenie dla bezpieczeństwa aplikacji. Wrażliwe komponenty są często główną przyczyną naruszenia bezpieczeństwa danych.


Rozwiązania minimalizujące ryzyko związane z wrażliwymi i przestarzałymi komponentami:


  • Komponenty będące częścią firmowych frameworków powinny podlegać zarządzaniu konfiguracją

  • Skaner aplikacji powinien być w stanie zidentyfikować wszystkie komponenty, które należy monitorować

  • Automatyzacja przepływu pracy związanej z zarządzaniem poprawkami

  • Cykliczne skanowania w oparciu o bazę danych luk w zabezpieczeniach wzbogaconą o dane analizy zagrożeń


7. Identification and Authentication Failures


Atakujący przechwytują hasła, tokeny sesji lub klucze bezpieczeństwa, gdy aplikacje nieprawidłowo wykonują funkcje związane z zarządzaniem sesją lub uwierzytelnianiem użytkownika. Prowadzi to do kradzieży tożsamości. Błędy identyfikacji i uwierzytelniania mogą również zagrażać bezpieczeństwu innych zasobów w tej samej sieci.


Rozwiązania problemów z kradzieżą tożsamości:


  • Zastosować uwierzytelnianie wieloskładnikowe

  • Użytkownicy z uprawnieniami administratora nie powinni używać poświadczeń domyślnych

  • Monitorować i korelować wszystkie nieudane próby logowania

  • Wdrożyć bezpieczny menedżer sesji i nie umieszczać identyfikatorów sesji w adresach URL


8. Software and Data Integrity Failures


Błędy w integralności oprogramowania i danych mają miejsce, gdy kod i infrastruktura nie są w stanie chronić przed naruszeniami integralności. Złośliwy kod i nieautoryzowany dostęp do kodu to zagrożenia związane z tą luką. Programy zawierające wtyczki, biblioteki lub moduły z niezaufanych źródeł są podatne na zmiany w integralności. Możliwości automatycznej aktualizacji powodują, że aktualizacje są wdrażane bez niezbędnych kontroli integralności.


Rozwiązania dotyczące problemów z oprogramowaniem i integralnością danych:


  • Implementacja podpisów cyfrowych, aby upewnić się, że program nie został zmanipulowany

  • Wdrożenie procedury przeglądu modyfikacji kodu i konfiguracji

  • Weryfikacja, czy biblioteki i zależności korzystają z zaufanych repozytoriów

  • Weryfikacja, czy strumień CI/CD obejmuje odpowiednią segregację, konfigurację i kontrolę dostępu


9. Security Logging and Monitoring Failures


Niepowodzenia w rejestrowaniu i monitorowaniu narażają aplikację na ataki. Sesje i nieudane logowania, jeśli nie są monitorowane, czynią aplikację podatną.


Rozwiązania zapobiegające błędom rejestrowania i monitorowania pod kątem bezpieczeństwa:


  • Przeprowadzenie testów penetracyjnych, aby przestudiować raporty i wykryć ewentualne niedociągnięcia

  • Tworzenie logów w formacie, który mogą z łatwością wykorzystywać rozwiązania do zarządzania i wykrywania zdarzeń

  • Implementacja mechanizmu ostrzegania i monitorowania w celu wykrywania podejrzanych działań


10. Server-Side Request Forgery


Jest to często wynikiem pobierania przez aplikację zdalnego zasobu bez sprawdzania poprawności adresu URL podanego przez użytkownika. Złożone architektury i coraz częstsze korzystanie z usług w chmurze doprowadziły w ostatnich latach do fałszowania żądań po stronie serwera.


Rozwiązania dotyczące fałszowania żądań po stronie serwera:


  • Egzekwować zasadę firewall „deny by default”.

  • Ustalić własność i cykl życia reguł zapory w oparciu o aplikacje

  • Rejestrować wszystkie zaakceptowane i zablokowane przepływy sieciowe na zaporach

  • Oczyścić dane wejściowe dostarczone przez klienta

  • Zapewnić spójność adresów URL

A jakie są Twoje topowe podatności w roku 2022 - daj znać w komentarzach.


Źródło:


56 wyświetleń0 komentarzy

Ostatnie posty

Zobacz wszystkie

Śledź nasze wpisy w social media

  • Instagram
  • Facebook
  • Twitter
  • LinkedIn
  • YouTube

Poznaj terraform jedno z najepszych narzedzi do zarządzania infrastrukturą w kodzie (IaC) - w kursie tym przeprowadzam Cię przez proces instalacji i konfiguracji tego narzędzia.

bottom of page