kwarantanna
| Po angielsku | quarantine (malware) |
|---|---|
| Którą formą pisać | po polsku Polska nazwa przyjęła się w tekstach i w wyszukiwarce — używaj jej samodzielnie. |
| Inne formy | przeniesienie do kwarantanny · izolacja pliku |
| Kategoria | Złośliwe oprogramowanie |
Kwarantanna to odizolowanie pliku, który program ochronny uznał za zainfekowany. Plik zostaje przeniesiony albo zablokowany tak, żeby nie mógł się wykonać, ale da się go później przywrócić lub zbadać. NIST definiuje kwarantannę jako przechowywanie plików zawierających złośliwe oprogramowanie w izolacji, do późniejszego wyleczenia lub analizy [1]. Jest to więc stan pośredni między pozostawieniem pliku a jego usunięciem: zagrożenie przestaje działać, a decyzja o losie pliku zostaje odłożona.
Jak działa
Kwarantanna jest jedną z kilku akcji, które skaner złośliwego oprogramowania (malware scanner) wykonuje po wykryciu zagrożenia. NIST wymienia dwie podstawowe: leczenie, czyli usunięcie złośliwego kodu z wnętrza pliku, oraz kwarantannę [1]. Leczenie jest według NIST zwykle lepsze, bo usuwa zagrożenie i przywraca oryginalny plik. Wielu zainfekowanych plików nie da się jednak wyleczyć, dlatego program antywirusowy powinien najpierw próbować leczenia, a pliki nieuleczalne poddawać kwarantannie albo usuwać [1].
Kaspersky opisuje kwarantannę jako specjalny obszar, w którym przechowywane są kopie zapasowe plików usuniętych lub zmodyfikowanych podczas leczenia [2]. Głównym celem jest możliwość przywrócenia oryginalnego pliku w dowolnym czasie [2]. Ma to znaczenie, gdy leczenie uszkodzi ważny plik: producent zaznacza, że podczas leczenia część danych może zostać utracona [2].
Typowy przebieg obsługi wykrycia pokazuje schemat poniżej.
Samo wykrycie powstaje zwykle przez wykrywanie sygnaturowe i heurystyczne. Heurystyka chwyta nowe zagrożenia, ale częściej się myli, więc możliwość cofnięcia decyzji jest dla niej szczególnie cenna.
Akcje wobec wykrytego pliku
Programy ochronne różnie nazywają swoje akcje, ale sprowadzają się one do kilku wariantów. Poniższa tabela zestawia statusy stosowane przez Imunify360 na hostingu z definicjami NIST.
| Akcja | Co dzieje się z plikiem | Czy da się cofnąć |
|---|---|---|
| leczenie (cleanup) | złośliwa część usunięta, plik zostaje [3] | tak, z kopii sprzed czyszczenia [4] |
| kwarantanna | plik odizolowany [1] | tak, status Restored [3] |
| usunięcie | plik skasowany z serwera [3] | tylko z kopii zapasowej |
| zignorowanie | plik uznany za bezpieczny mimo podejrzeń [3] | tak, ręcznie |
Imunify360 prowadzi historię działań. Każdy wpis zawiera status operacji, na przykład oczyszczony, usunięty albo przeniesiony do kwarantanny, datę działania i dokładną ścieżkę pliku [3]. Status Restored oznacza, że plik przywrócono z kwarantanny do oryginalnej lokalizacji [3].
W WordPressie
Na stronach WordPress kwarantanna działa zwykle na poziomie serwera, a nie samej aplikacji. Na hostingu współdzielonym robi to najczęściej skaner zainstalowany przez dostawcę, taki jak Imunify360 [3]. Część wtyczek bezpieczeństwa też oferuje izolację plików zamiast natychmiastowego usuwania.
W WordPressie kwarantanna całego pliku ma istotną wadę. Złośliwy kod często nie jest osobnym plikiem, lecz wstrzyknięciem w plik prawidłowy: w motyw, wtyczkę albo plik rdzenia. Odizolowanie takiego pliku usuwa zagrożenie, ale może zatrzymać stronę. Dokumentacja hostingu ostrzega wprost, że zbiorcze czyszczenie wszystkich wykrytych plików może uszkodzić pliki strony, jeśli złośliwy kod wgrano do oryginalnego pliku witryny [3]. Dlatego moduł czyszczący Imunify360 przed czyszczeniem robi kopię zainfekowanego pliku i przycina go zamiast usuwać [4]. Kopia pozwala przywrócić plik do stanu sprzed czyszczenia; kopie są przechowywane poza katalogami domowymi użytkowników, domyślnie przez 14 dni [4].
Ta sama zasada dotyczy bazy danych, w której WordPress trzyma treści i ustawienia. Skaner baz Imunify360 w trybie czyszczenia tworzy plik kopii, z którego można cofnąć wszystkie zmiany [5]. Wstrzyknięty skrypt w treści wpisu albo w opcjach nie trafia więc do kwarantanny jako plik, tylko jest usuwany z możliwością odwrotu.
Czyszczenie nie zawsze się udaje. CloudLinux podaje jako częstą przyczynę zabezpieczenie pliku lub katalogu przed zapisem [4], a wtedy potrzebne są poprawione uprawnienia plików albo interwencja administratora serwera.
Fałszywe alarmy
Kwarantanna istnieje w dużej mierze po to, żeby łagodzić skutki pomyłek. Fałszywy alarm (false positive) na stronie WordPress bywa częsty, bo prawidłowe wtyczki używają tych samych funkcji PHP co złośliwy kod. Sucuri wymienia wśród typowych funkcji złośliwych eval, base64_decode i gzinflate, ale od razu ostrzega, że wtyczki używają ich także w uzasadnionych celach [7]. Pochopne usunięcie takiego pliku może zepsuć stronę [7].
Przywrócenie z kwarantanny jest przewidziane właśnie na taki przypadek. Microsoft opisuje je wprost: jeśli masz pewność, że plik w kwarantannie nie jest zagrożeniem, możesz go przywrócić [6]. W Windows służy do tego aplikacja Zabezpieczenia Windows albo narzędzie MpCmdRun [6]. Przywracać należy dopiero po weryfikacji, na przykład po porównaniu pliku z oryginałem z repozytorium wtyczki.
Dobre praktyki
- Nie traktuj kwarantanny jako końca incydentu. Izolacja pojedynczego pliku zatrzymuje objaw, ale nie wyjaśnia, jak plik powstał. Pełne reagowanie na incydent obejmuje znalezienie wektora wejścia, na przykład podatności we wtyczce.
- Szukaj reszty infekcji. Jeden plik w kwarantannie często towarzyszy webshellowi albo tylnej furtce (backdoor) w innym miejscu. Pomaga monitorowanie integralności plików.
- Przy rozległej infekcji odbuduj system. NIST wskazuje, że gdy host był zainfekowany wielokrotnie, przez długi lub nieznany czas albo zainstalowano na nim tylne furtki, najpewniejsza jest odbudowa ze sprawdzonej kopii zapasowej (backup) [1].
- Uważaj na przywracanie z kopii. Dokumentacja hostingu ostrzega, że przywrócenie pliku z kopii, która zawiera już zainfekowaną wersję, przywróci właśnie ją [3].
- Sprawdzaj historię działań skanera. Dziennik akcji z datami i ścieżkami [3] pozwala zauważyć, że ten sam plik wraca po czyszczeniu, co wskazuje na aktywny mechanizm ponownej infekcji. Szerszy proces opisuje czyszczenie przejętej strony.
Przypisy
7- [1] SP 800-83 Rev. 1: Guide to Malware Incident Prevention and Handling for Desktops and Laptops · NIST
- [2] Kwarantanna — Kaspersky Internet Security for Mac · Kaspersky
- [3] Obsługa Imunify360 · UTI — pomoc hostingu
- [4] Imunify360 Malware Cleanup FAQ (Admin Part) · CloudLinux
- [5] Imunify360 — Features: Malicious Database Scanner · CloudLinux
- [6] Restore quarantined files in Microsoft Defender Antivirus · Microsoft Learn
- [7] How to Clean a Hacked WordPress Site · Sucuri
Hasła w tym artykule
13- skaner złośliwego oprogramowania (malware scanner)
- wykrywanie sygnaturowe i heurystyczne
- hosting współdzielony
- wtyczka bezpieczeństwa
- uprawnienia plików
- fałszywy alarm
- reagowanie na incydenty
- podatność we wtyczce
- webshell
- tylna furtka
- monitorowanie integralności plików
- kopia zapasowa
- czyszczenie przejętej strony