OWASP Top 10 to szeroko przywoływana lista najważniejszych kategorii ryzyka bezpieczeństwa aplikacji internetowych, publikowana przez Open Worldwide Application Security Project. Duże przedsiębiorstwa wykorzystują ją do kształtowania programów bezpiecznego wytwarzania oprogramowania, ale jest ona równie przydatna dla małych i średnich firm, które prowadzą portal klienta, sklep internetowy lub produkt SaaS. Ten przewodnik przekłada kategorie na proste pytania, które MŚP może zadać w odniesieniu do własnych aplikacji i dostawców.
Co to jest
Top 10 to dokument podnoszący świadomość, który pomaga zespołom skupić się na najczęstszych zagrożeniach aplikacji webowych. Każda kategoria grupuje powiązane słabości. Aktualna edycja z 2025 roku, która zastąpiła listę z 2021 roku, obejmuje: błędy kontroli dostępu (obejmujące teraz także fałszowanie żądań po stronie serwera, SSRF); błędy konfiguracji zabezpieczeń; błędy w łańcuchu dostaw oprogramowania; błędy kryptograficzne; wstrzykiwanie (injection); niebezpieczny projekt; błędy uwierzytelniania; błędy integralności oprogramowania lub danych; błędy rejestrowania zdarzeń i alertowania; oraz niewłaściwą obsługę sytuacji wyjątkowych. Wiele kwestionariuszy i umów nadal odwołuje się do edycji z 2021 roku, dlatego przy ustalaniu wymagań warto potwierdzić, której wersji oczekuje klient lub partner. Dla MŚP wartość polega nie tyle na zapamiętaniu listy, ile na wykorzystaniu jej jako listy kontrolnej pytań: kto co widzi, jak obsługiwane są hasła i sesje, które komponenty są nieaktualne i czy ktokolwiek zauważyłby trwający atak.
Dla kogo
Ta lista kontrolna jest przeznaczona dla:
- MŚP, które prowadzą aplikację internetową, portal lub sklep internetowy dla klientów
- Założycieli i menedżerów, którzy zlecają rozwój oprogramowania agencji lub freelancerowi i muszą zadawać przemyślane pytania
- Małych zespołów wewnętrznych bez dedykowanej roli ds. bezpieczeństwa
- Firm przygotowujących się do kwestionariusza bezpieczeństwa klienta, który odwołuje się do OWASP
Co pomaga wyjaśnić
Przejście przez kolejne kategorie pomaga wyjaśnić:
- Czy użytkownicy mogą wyświetlać i zmieniać wyłącznie dane, na które pozwala ich rola
- Które biblioteki, wtyczki i frameworki stron trzecich są nieaktualne lub nierozwijane
- Czy konfiguracja, sekrety i komunikaty o błędach ujawniają więcej, niż powinny
- Czy rejestrowanie zdarzeń pozwoliłoby zauważyć i zbadać podejrzaną aktywność
Co jest zawarte
- Kontrola dostępu: sprawdzić, czy użytkownik nie może wyświetlić ani edytować rekordów innego klienta przez zmianę identyfikatora w adresie URL lub żądaniu, oraz ograniczyć, do jakich adresów wewnętrznych lub zewnętrznych aplikacja może zostać skłoniona do wysyłania żądań
- Kryptografia: potwierdzić stosowanie HTTPS wszędzie, nowoczesnego TLS oraz przechowywanie haseł z użyciem silnego algorytmu skrótu
- Wstrzykiwanie: sprawdzić, czy dane wejściowe są walidowane, a zapytania do bazy danych parametryzowane
- Projekt: udokumentować, jak powinny działać wrażliwe procesy, takie jak resetowanie hasła, płatności i zwroty, w tym scenariusze nadużyć
- Błędy konfiguracji: usunąć konta domyślne, wyłączyć komunikaty debugowania i przejrzeć nagłówki bezpieczeństwa
- Łańcuch dostaw: prowadzić spis bibliotek, wtyczek i narzędzi do budowania, instalować poprawki według określonego harmonogramu i usuwać nierozwijane komponenty
- Uwierzytelnianie: zapewnić uwierzytelnianie wieloskładnikowe dla administratorów i ograniczyć powtarzane próby logowania
- Integralność: chronić potoki budowania i wdrażania oraz weryfikować, czy aktualizacje pochodzą z zaufanych źródeł
- Rejestrowanie zdarzeń i alertowanie: rejestrować logowania, zmiany uprawnień i działania administracyjne oraz zadbać, aby alerty trafiały do osoby, która je analizuje
- Sytuacje wyjątkowe: zadbać, aby błędy, przekroczenia czasu i nieoczekiwane dane wejściowe kończyły się bezpiecznie, bez ujawniania śladów stosu i bez pomijania kontroli bezpieczeństwa
Co nie jest uwzględnione
- Stwierdzenia, że uwzględnienie Top 10 czyni aplikację bezpieczną; to przydatny punkt wyjścia do szerszego pokrycia
- Certyfikacji ani formalnego zatwierdzenia zgodności
- Technik wykorzystania podatności krok po kroku
- Ryzyk wykraczających poza aplikacje internetowe, takich jak sieci wewnętrzne czy bezpieczeństwo fizyczne
Kiedy to wybrać
Z listy kontrolnej warto korzystać przy planowaniu nowych funkcji, przy rozpoczynaniu współpracy z dostawcą oprogramowania oraz przed wdrożeniem lub dużym wydaniem. Jeśli kilka odpowiedzi brzmi „nie wiemy”, jest to sygnał, by zlecić niezależny przegląd zamiast polegać na założeniach. Jeśli klient lub partner prosi o dowód testów zgodnych z OWASP, udokumentowany przegląd bezpieczeństwa aplikacji lub test penetracyjny będzie zwykle bardziej przekonujący niż samoocena.
Nasze podejście
Należy zacząć od kontroli dostępu i uwierzytelniania, ponieważ to tam w aplikacjach biznesowych często pojawiają się poważne problemy. Warto poprosić programistów lub dostawcę o pokazanie, jak każda rola jest egzekwowana po stronie serwera, a nie tylko ukryta w interfejsie. Następnie należy spisać komponenty i uzgodnić tryb aktualizacji. Trzeba upewnić się, że sekrety nie są przechowywane w repozytoriach kodu, a strony błędów nie ujawniają śladów stosu. Dla niezależnego spojrzenia nasza usługa Application Security Review bada uzgodnione aplikacje internetowe i API pod kątem typowych ryzyk aplikacyjnych, w tym kategorii OWASP, i dostarcza znaleziska ocenione według istotności wraz z zaleceniami naprawczymi. Jeśli obawy dotyczą głównie strony opartej na CMS, bardziej proporcjonalnym krokiem może być utwardzenie strony internetowej. Niezależnie od wyboru warto wbudować listę kontrolną w proces wydawniczy, tak aby każda zmiana była z nią porównywana, zamiast traktować bezpieczeństwo jako jednorazowe wydarzenie przed uruchomieniem.
Często zadawane pytania
Artykuły pokrewne
Zacznij
Potrzebują Państwo niezależnego spojrzenia na aplikację internetową?
Proszę opisać aplikację, jej role użytkowników oraz planowane uruchomienie lub prośbę klienta. Zaproponujemy przegląd o określonym zakresie.
Poproś o pisemny zakres