| Termin | Definicja |
|---|---|
| brak kontroli dostępu do kampanii | Brak kontroli dostępu do kampanii to luka bezpieczeństwa umożliwiająca nieautoryzowaną edycję lub uruchomienie wysyłki. Na czym polega brak kontroli dostępu do kampaniiBrak kontroli dostępu do kampanii oznacza sytuację, w której system zarządzający kampaniami nie sprawdza poprawnie, czy osoba wykonująca daną operację ma do tego uprawnienia. Kampanią może być zestaw wiadomości, reklam, powiadomień, zadań automatycznych albo inny zaplanowany proces realizowany przez aplikację. Luka występuje wtedy, gdy użytkownik może otworzyć, zmienić, zatwierdzić lub uruchomić kampanię bez odpowiedniej roli albo bez potwierdzenia tożsamości. Problem nie musi wynikać z całkowitego braku logowania. Użytkownik może być poprawnie uwierzytelniony, ale system może pominąć autoryzację, czyli sprawdzenie zakresu dozwolonych działań. Przykładem jest możliwość przejścia do adresu URL znanej kampanii po zmianie jej identyfikatora w żądaniu HTTP. Jeżeli serwer zwróci dane lub wykona operację bez sprawdzenia właściciela i roli użytkownika, powstaje podatność typu broken access control. Jak luka wpływa na przebieg kampaniiNieautoryzowana edycja może zmienić treść komunikatu, grupę odbiorców, harmonogram, kanał wysyłki albo parametry automatyzacji. W praktyce oznacza to, że osoba pozbawiona uprawnień może przygotować kampanię w sposób odmienny od zatwierdzonego przez operatora. Szczególnie istotne jest rozróżnienie uprawnień do odczytu, edycji, zatwierdzania i uruchamiania. Sam dostęp do podglądu nie powinien automatycznie pozwalać na modyfikację ani publikację. Ryzyko powstaje również wtedy, gdy interfejs ukrywa przycisk uruchomienia, ale endpoint API nadal przyjmuje żądanie od użytkownika bez właściwej roli. Ochrona wyłącznie po stronie przeglądarki nie jest wystarczająca, ponieważ żądania mogą być wysyłane bez użycia interfejsu, na przykład za pomocą narzędzi deweloperskich lub klienta HTTP. Kontrola musi być wykonywana po stronie serwera dla każdej operacji i każdego obiektu kampanii. Objawy i metody weryfikacji uprawnieńDo sygnałów ostrzegawczych należy możliwość otwarcia kampanii należącej do innego konta, wyświetlenie przycisków administracyjnych osobie z ograniczoną rolą albo skuteczne wykonanie żądania po ręcznej zmianie identyfikatora zasobu. Nieprawidłowości mogą ujawnić się także w dziennikach aplikacji: operacja aktualizacji lub uruchomienia może nie zawierać identyfikatora użytkownika, nadanej roli, identyfikatora kampanii ani wyniku kontroli dostępu. Weryfikacja powinna obejmować macierz uprawnień, w której osobno sprawdza się odczyt, tworzenie, modyfikację, usuwanie, zatwierdzanie i uruchamianie kampanii. Testy należy wykonać dla użytkownika anonimowego, zwykłego użytkownika, operatora oraz administratora, a także dla kampanii należących do różnych zespołów lub kont. Należy sprawdzić odpowiedzi API, nie tylko zachowanie formularza. Odmowa powinna być jednoznaczna, a serwer nie powinien ujawniać danych kampanii w komunikacie błędu. Kontrolę warto powiązać z logowaniem zdarzeń, aby można było ustalić, kto próbował wykonać operację i czy została ona odrzucona. Naprawa mechanizmu autoryzacji i kontrola urządzeniaUsunięcie problemu wymaga wprowadzenia kontroli dostępu w warstwie serwera oraz konsekwentnego stosowania jej przy każdym endpointcie obsługującym kampanię. Reguła powinna sprawdzać jednocześnie tożsamość użytkownika, jego rolę, przynależność do zespołu lub konta oraz zakres operacji. Identyfikator kampanii przesłany przez klienta nie może być traktowany jako dowód prawa dostępu. Po zmianie uprawnień należy ponownie przetestować wszystkie ścieżki, w tym żądania bezpośrednie, wygasłe sesje i próby użycia starego tokenu. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i podzespołów, dlatego w przypadku podejrzenia problemów z działaniem aplikacji można rozpocząć od sprawdzenia systemu operacyjnego, przeglądarki, połączenia sieciowego oraz lokalnych objawów awarii. Sama naprawa mechanizmu uprawnień wymaga jednak zmiany konfiguracji lub kodu aplikacji po stronie jej producenta albo administratora. Na komputerze użytkownika można natomiast zweryfikować, czy problem występuje tylko w jednej przeglądarce, na jednym profilu, po konkretnym rozszerzeniu lub przy określonej konfiguracji sieci. |