| Termin | Definicja |
|---|---|
| brak zabezpieczeń przeciw floodowaniu | Brak zabezpieczeń przeciw floodowaniu to luka bezpieczeństwa dopuszczająca zalewanie systemu nadmierną liczbą żądań. Na czym polega brak zabezpieczeń przeciw floodowaniuBrak zabezpieczeń przeciw floodowaniu oznacza, że system, usługa sieciowa albo aplikacja nie ogranicza skutecznie liczby żądań napływających od jednego adresu IP, konta, urządzenia lub innego źródła. Floodowanie polega na wysyłaniu dużej liczby żądań w krótkim czasie. Mogą to być zapytania HTTP, próby logowania, żądania DNS, pakiety kierowane do usługi sieciowej albo komunikaty obsługiwane przez aplikację. Sama duża liczba żądań nie zawsze oznacza włamanie, ponieważ podobny obraz może powstać wskutek błędnej konfiguracji, zapętlonego programu, wadliwego skryptu lub intensywnego, ale prawidłowego użycia. Problem bezpieczeństwa pojawia się wtedy, gdy odbiorca przyjmuje każde żądanie i wykonuje pełną operację bez sprawdzenia częstotliwości, kosztu obliczeniowego oraz źródła ruchu. W takiej sytuacji napastnik może zużywać przepustowość łącza, czas procesora, pamięć operacyjną, liczbę dostępnych połączeń albo limity narzucone przez bazę danych i system operacyjny. W przypadku formularza logowania dodatkowym skutkiem może być generowanie wielu kosztownych prób uwierzytelnienia, natomiast przy publicznym endpointcie aplikacji obciążenie może dotyczyć każdej warstwy obsługującej żądanie. Jak floodowanie wpływa na działanie laptopa i komputeraObjawy zależą od miejsca, w którym powstaje przeciążenie. Gdy komputer jest celem ruchu, mogą pojawić się opóźnienia w otwieraniu stron, zrywanie połączeń, wysokie użycie procesora, zajęta pamięć oraz duża liczba aktywnych połączeń sieciowych. W skrajnym przypadku aplikacja przestaje odpowiadać, a system odrzuca nowe połączenia, ponieważ wyczerpaniu ulegają dostępne zasoby. Jeżeli komputer wysyła floodowanie, objawem może być nietypowo duży ruch wychodzący, spowolnienie innych programów korzystających z sieci oraz przeciążenie domowego routera. Ważne jest odróżnienie floodowania od awarii sprzętowej. Wysoka temperatura procesora, uszkodzona pamięć RAM albo problemy z dyskiem mogą powodować zawieszanie komputera, lecz nie wyjaśniają same przez się nagłego wzrostu liczby żądań lub połączeń. Analiza powinna obejmować jednocześnie monitor zasobów systemowych, statystyki karty sieciowej, listę procesów, dzienniki zapory i informacje o aplikacji. Przydatne są także dane czasowe: moment rozpoczęcia przeciążenia, czas trwania, adresy źródłowe, port docelowy, typ protokołu oraz liczba odrzuconych i zaakceptowanych połączeń. Mechanizmy ograniczające liczbę żądańPodstawową ochroną jest rate limiting, czyli limitowanie częstotliwości żądań. Limit może być liczony dla adresu IP, konta, klucza aplikacyjnego, sesji, urządzenia lub kombinacji tych identyfikatorów. Po przekroczeniu progu system powinien odrzucić żądanie, opóźnić jego obsługę albo zwrócić odpowiedź informującą o czasowym ograniczeniu. W protokole HTTP często stosuje się kod 429 Too Many Requests, opcjonalnie z informacją Retry-After określającą, kiedy klient może ponowić próbę. Sam kod nie chroni jednak przed przeciążeniem, jeśli aplikacja wykonuje kosztowną operację zanim go zwróci. Próg powinien uwzględniać charakter konkretnej operacji. Wyszukiwanie, logowanie, przesyłanie pliku i odczyt statycznego zasobu mają różny koszt obliczeniowy, dlatego jeden wspólny limit może być niewystarczający. Stosuje się między innymi okno stałe, okno przesuwne, token bucket oraz leaky bucket. Potrzebne bywają również limity równoległych połączeń, maksymalnego rozmiaru żądania, czasu oczekiwania i liczby prób logowania. Zapora sieciowa może filtrować część ruchu wcześniej, ale nie zastępuje ograniczeń w samej aplikacji, ponieważ legalnie wyglądające żądania również mogą wyczerpywać zasoby. Rozpoznanie i usunięcie luki w środowisku komputerowymDiagnostykę rozpoczyna się od ustalenia, czy przeciążenie dotyczy ruchu przychodzącego, wychodzącego, konkretnego programu czy całego połączenia internetowego. Należy sprawdzić aktywne procesy, autostart, reguły zapory, konfigurację routera, aktualność systemu i aplikacji oraz dzienniki zabezpieczeń. Warto porównać obciążenie podczas normalnej pracy z obciążeniem występującym w czasie problemu. Jeżeli jeden proces generuje nietypowy ruch, trzeba zweryfikować jego pochodzenie, podpis cyfrowy, lokalizację pliku i powiązane zadania automatyczne. Nie należy usuwać plików wyłącznie na podstawie nazwy, ponieważ podobne nazwy mogą mieć składniki systemowe i programy użytkowe. Usunięcie luki polega na zastosowaniu ograniczeń na właściwej warstwie, aktualizacji podatnego oprogramowania, wyłączeniu niepotrzebnej usługi oraz skonfigurowaniu rejestrowania zdarzeń pozwalającego wykryć ponowne przeciążenie. Po zmianach trzeba sprawdzić, czy prawidłowi użytkownicy nadal mogą korzystać z aplikacji i czy limit nie blokuje wspólnego adresu IP używanego przez kilka urządzeń. Warszawskie Pogotowie Komputerowe wykonuje profesjonalną diagnostykę i naprawę laptopów, komputerów PC oraz ich podzespołów, gdy problem z przeciążeniem sieciowym wymaga sprawdzenia systemu, konfiguracji lub oprogramowania na konkretnym urządzeniu. |