Blog 24/7

skaner złośliwego oprogramowania (malware scanner)

TAB. 1Hasłoobie formy
Po angielskumalware scanner
Którą formą pisaćobie formy Obie formy są w obiegu. Przy pierwszym wystąpieniu pisz „polski termin (english term)”, dalej sam polski.
Inne formyskaner malware'u · skaner antywirusowy dla strony · narzędzie do wykrywania złośliwego kodu
KategoriaStrony WWW, WordPress i hosting

Skaner złośliwego oprogramowania (malware scanner) to narzędzie, które przeszukuje pliki, a w przypadku stron internetowych także bazę danych, w poszukiwaniu znanego złośliwego oprogramowania i podejrzanych wzorców kodu. NIST nazywa oprogramowanie antywirusowe najczęściej stosowanym technicznym środkiem ograniczania zagrożeń ze strony malware [1]. Skaner wykrywa infekcję i często potrafi ją usunąć. Nie zamyka jednak drogi, którą napastnik wszedł, i nie zastępuje dochodzenia po incydencie.

Jak działa

Podstawą większości skanerów są sygnatury. Dokumentacja ClamAV wyjaśnia, że program odróżnia pliki czyste od złośliwych na podstawie sygnatur, zapisanych głównie jako tekst w ustalonych formatach [2]. Sygnatura może opisywać fragment treści pliku albo skrót całego pliku [2]. Takie podejście opisuje hasło wykrywanie sygnaturowe i heurystyczne; heurystyka szuka cech podejrzanych, a nie konkretnych próbek.

NIST opisuje zalecane funkcje oprogramowania antywirusowego [1]:

  • skanowanie przy dostępie (on-access), czyli sprawdzanie każdego pliku przy pobraniu, otwarciu albo uruchomieniu;
  • skanowanie na żądanie (on-demand), uruchamiane ręcznie przez użytkownika, oraz regularne skanowanie całych dysków;
  • leczenie plików, czyli usuwanie malware z wnętrza pliku, oraz kwarantanna, czyli przechowywanie zainfekowanych plików w izolacji.

NIST zaznacza, że leczenie jest zwykle lepsze od kwarantanny, bo przywraca oryginalny plik, ale wielu zainfekowanych plików nie da się wyleczyć [1]. Skaner działa najlepiej, gdy jego sygnatury są w pełni aktualne [1].

Typowy cykl pracy skanera na serwerze pokazuje schemat poniżej.

RYS. 1Cykl pracy skanera

Rodzaje

Dokumentacja WordPressa dzieli skanery stron na dwie grupy: działające w aplikacji, czyli wtyczki, oraz zdalne, które przeglądają stronę z zewnątrz [4]. Każda grupa szuka czego innego i zgłasza co innego; dokumentacja uznaje, że żadne rozwiązanie nie jest najlepsze samo, a razem zwiększają szansę wykrycia [4].

RodzajGdzie działaCo sprawdza
wtyczka skanująca [4]w WordPressiestronę od wewnątrz aplikacji
skaner zdalny [4]poza serweremstronę tak, jak widzi ją przeglądarka
skaner serwerowy, np. ClamAV [3]w systemie serwerapliki według sygnatur
sumy kontrolne rdzenia [5]WP-CLI na serwerzepliki rdzenia względem WordPress.org

Od skanera złośliwego oprogramowania trzeba odróżnić skanowanie podatności. System Artemis CERT Polska regularnie skanuje strony w poszukiwaniu podatności i błędów konfiguracji [7]. Sprawdza między innymi, czy pod znanymi ścieżkami nie leżą kopie zapasowe, oraz aktualność systemów takich jak WordPress [7]. Szuka więc otwartych drzwi, a nie kodu, który już wszedł do środka.

W WordPressie

Pierwszym krokiem jest porównanie rdzenia z oryginałem. Polecenie wp core verify-checksums pobiera z WordPress.org sumy MD5 dla zainstalowanej wersji i porównuje je z plikami na serwerze [5]. Ze względów bezpieczeństwa nie ładuje przy tym WordPressa [5]. Zmieniony plik rdzenia oznacza ingerencję albo ręczną modyfikację.

Dokumentacja WordPressa o przejętej stronie wskazuje, że katalogi /wp-admin i /wp-includes można bezpiecznie zastąpić oryginalnymi [4]. Instalator zwykle tylko nadpisuje istniejące pliki, a włamania często dodają nowe [4]. Szczególnej uwagi wymaga plik .htaccess, jeden z najczęściej zmienianych przy infekcjach, oraz pliki index.php, header.php, footer.php i plik funkcji motywu [4].

Skanery szukają w plikach PHP między innymi webshelli i tylnych furtek (backdoor). Sekurak opisuje, że administratorzy często piszą własne reguły dla grep i find, szukając funkcji takich jak exec, base64 czy eval [3]. Takie proste reguły pokrywają zwykle tylko najpopularniejsze funkcje, a zaciemnianie kodu pozwala je obejść.

Dokumentacja WordPressa zaleca też skanowanie komputera administratora. Według niej źródłem infekcji bywa lokalny komputer, na którym konie trojańskie przechwytują dane logowania do FTP i panelu [4].

Znaczenie i ograniczenia

Skaner wykrywa skutek, a nie przyczynę. Sekurak w podsumowaniu zaznacza, że wgranie webshella to jeden z pierwszych kroków atakującego po znalezieniu luki. Oprócz usunięcia zagrożenia trzeba też zapobiec ponownemu przejęciu serwera [3]. Dlatego skan jest etapem procesu czyszczenie przejętej strony, a nie jego końcem.

Druga granica to skuteczność. W teście opisanym przez Sekuraka ClamAV sprawdził 237 próbek webshelli i oznaczył 113 plików jako zainfekowane [3]. Maldetect na tym samym zbiorze zgłosił 137 trafień [3]. Webshelli napisanych w Java Server Pages i Adobe ColdFusion ClamAV nie wykrył [3]. Brak trafień nie dowodzi więc, że strona jest czysta.

Trzecia granica to fałszywe alarmy (false positive). NIST wymienia poprawę dokładności wykrywania, czyli mniej fałszywych alarmów i mniej przeoczeń, wśród zmian konfiguracji po incydencie [1].

Dobre praktyki

  • Łącz skaner z monitorowaniem integralności plików. Dokumentacja WordPressa zauważa, że atak zawsze zostawia ślady w logach albo w systemie plików, na przykład nowe i zmienione pliki [6].
  • Utrzymuj aktualne sygnatury i skanuj według harmonogramu [1].
  • Przy trafieniu traktuj zdarzenie jak incydent. Dokumentacja WordPressa zaleca między innymi zapisanie przebiegu zdarzenia, zmianę haseł i aktualizację WordPressa po oczyszczeniu [4]. Pomaga w tym reagowanie na incydenty.
  • Nie polegaj na jednym narzędziu; dokumentacja WordPressa zaleca łączenie skanerów w aplikacji i zdalnych [4].
TAB. 2

Przypisy

7
  1. [1] NIST SP 800-83 Rev. 1: Guide to Malware Incident Prevention and Handling for Desktops and Laptops · NIST
  2. [2] Creating signatures for ClamAV · ClamAV (Cisco Talos)
  3. [3] Jak wykrywać backdoory (webshelle) w aplikacjach webowych? · Sekurak
  4. [4] FAQ My site was hacked · WordPress.org
  5. [5] wp core verify-checksums — WP-CLI Commands · WordPress.org
  6. [6] Hardening WordPress — Advanced Administration Handbook · WordPress.org
  7. [7] Artemis: sprawdzamy bezpieczeństwo polskiego internetu · CERT Polska
TAB. 3

Hasła w tym artykule

12
TAB. 4

Linkują tutaj

24

Wszystkie kategorie → · Hasło w słowniku →

Blog 24/7
05.11CISA i FBI wzywają do zabezpieczenia sterowników chłodzenia po atakach w Europietherecord.media05.11Midnight Blizzard atakowała iPhone'y i Androidy przez zainfekowane strony w Europie i USAsecurityweek.com05.11APT29 kradła dane z iPhone'ów i Androidów przez przejęte i podrobione stronytherecord.media05.11Grupa APT29 przejęła skrypt Plerdy i atakowała niezałatane iPhone'y i Androidythehackernews.com05.11Microsoft wykrył 7,3 mld wiadomości phishingowych w III kwartale 2026microsoft.com05.11DigiCert ujawnia wyciek danych klientów i skanów dokumentów tożsamościbleepingcomputer.com05.11CWPdoor podmienia serwer cwpsrv w Control Web Panel i otwiera tylne wejście do Linuksableepingcomputer.com05.11Brytyjskie NCSC ostrzega, że narzędzia AI zwiększyły liczbę wykrywanych luk zero-daythehackernews.com05.11Skaner RootEvidence sprawdza starą lukę w Cisco IOS i dodaje nagłówki Opt-Outisc.sans.edu05.11Włamanie do portalu grantowego Norad, zagrożone dane 20 614 użytkownikówhelpnetsecurity.com