| Termin | Definicja |
|---|---|
| brak kontroli dostępu do list mailingowych | Brak kontroli dostępu do list mailingowych to luka bezpieczeństwa umożliwiająca nieautoryzowaną modyfikację grup docelowych. Na czym polega nieautoryzowana modyfikacja listy mailingowejBrak kontroli dostępu do list mailingowych oznacza, że aplikacja nie sprawdza prawidłowo, czy osoba wykonująca operację ma uprawnienia do konkretnej grupy odbiorców. Problem może dotyczyć tworzenia list, dodawania i usuwania adresów, zmiany nazwy grupy, edycji filtrów oraz uruchamiania wysyłki. Sam fakt zalogowania do systemu nie powinien oznaczać prawa do zarządzania wszystkimi listami. Autoryzacja musi uwzględniać zarówno tożsamość użytkownika, jak i zakres przypisanych mu uprawnień. Podatność może wystąpić także wtedy, gdy interfejs użytkownika ukrywa niedostępne przyciski, ale backend nie wykonuje tej samej kontroli. W takiej sytuacji użytkownik może wysłać bezpośrednie żądanie HTTP do znanego adresu endpointu, zmienić identyfikator listy w parametrze albo wywołać metodę API poza aplikacją webową. Jeżeli serwer przyjmie takie żądanie bez sprawdzenia uprawnienia do wskazanego zasobu, występuje błąd kontroli dostępu, a nie tylko problem z wyglądem interfejsu. Typowe ścieżki powstawania błędu w aplikacjiJednym ze źródeł problemu jest autoryzacja oparta wyłącznie na roli, bez sprawdzenia własności lub zakresu zasobu. Przykładowo rola „redaktor” może pozwalać na edycję treści wiadomości, ale nie powinna automatycznie umożliwiać modyfikacji list odbiorców. W poprawnym modelu aplikacja rozdziela uprawnienia, takie jak odczyt listy, edycja jej składu, eksport adresów i rozpoczęcie wysyłki. Każda operacja powinna być sprawdzana po stronie serwera, niezależnie od tego, czy została wywołana przez panel administracyjny, formularz, skrypt czy publicznie dostępne API. Innym przykładem jest podatność typu IDOR, czyli dostęp do obiektu na podstawie zmienionego identyfikatora. Jeżeli żądanie zawiera parametr wskazujący listę, na przykład jej numer w bazie danych, samo odczytanie tego numeru z sesji nie stanowi kontroli dostępu. Serwer musi ustalić, czy aktualny użytkownik ma prawo do operacji na właśnie tej liście. Niebezpieczne są również nadmierne uprawnienia kont technicznych, domyślne konta administratorów, wspólne dane logowania oraz tokeny API bez ograniczenia zakresu działania i terminu ważności. Skutki błędnej ochrony grup odbiorcówNieautoryzowana zmiana listy może spowodować dodanie niepożądanych adresów, usunięcie prawidłowych odbiorców albo skierowanie wiadomości do niewłaściwej grupy. W systemie wysyłkowym zmiana samego składu listy może być równie istotna jak modyfikacja treści komunikatu, ponieważ wpływa na to, kto otrzyma określoną informację. Błąd może również zaburzyć harmonogram wysyłek, segmentację odbiorców i wyniki raportów, jeśli system zapisuje statystyki dla zmienionej grupy. Podczas analizy należy sprawdzić logi uwierzytelnienia, historię zmian list, adresy źródłowe żądań, identyfikatory użytkowników oraz wynik autoryzacji dla każdej operacji. Ważne jest rozróżnienie udanego logowania od udanej modyfikacji zasobu. Rejestr powinien wskazywać, kto próbował zmienić listę, jaki obiekt wskazano, jakie pola zmieniono i czy operacja zakończyła się powodzeniem. Brak takich danych utrudnia ustalenie zakresu błędu. Należy też zweryfikować, czy błędne żądania kończą się odpowiedzią 403 Forbidden, gdy użytkownik jest rozpoznany, lecz nie ma uprawnień, oraz 401 Unauthorized, gdy brakuje prawidłowego uwierzytelnienia. Kontrola uprawnień i bezpieczna weryfikacjaNaprawa powinna rozpocząć się od opisania operacji wykonywanych na listach i przypisania ich do konkretnych ról. Sprawdzenie dostępu powinno znajdować się w warstwie obsługującej żądanie, przed odczytem lub zapisem danych. Nie wystarczy ograniczyć widoku w panelu. Trzeba także zabezpieczyć endpointy przed żądaniami bezpośrednimi, sprawdzać zakres tokenów, unieważniać nieaktualne sesje i unikać przekazywania uprawnień w parametrach kontrolowanych przez klienta. Dodatkową ochronę zapewniają wieloskładnikowe uwierzytelnianie dla kont uprzywilejowanych, ochrona przed fałszowaniem żądań oraz zasada najmniejszych uprawnień. Test powinien obejmować co najmniej konto bez uprawnień, konto z prawem odczytu, konto mogące edytować jedną listę oraz konto administracyjne. Dla każdej roli należy sprawdzić próby odczytu, dodania, usunięcia i zmiany odbiorcy na liście należącej do innego zakresu. Wynik powinien być przewidywalny: operacje dozwolone są wykonywane, a pozostałe odrzucane bez ujawniania danych chronionego obiektu. Warszawskie Pogotowie Komputerowe wykonuje profesjonalną naprawę laptopów i komputerów PC, dlatego w przypadku problemów z działaniem aplikacji biurowej na stanowisku roboczym można rozpocząć od sprawdzenia systemu, połączenia sieciowego i konfiguracji urządzenia. |