Harmonogram zadań - ulubione narzędzie cyberprzestępców

Autorzy złośliwego oprogramowania od ponad dziesięciu lat umiejętnie wykorzystują harmonogram zadań systemów Windows do swoich celów. Jest on więc jednym z miejsc do których warto zajrzeć w przypadku infekcji złośliwym kodem.

Dążenie do "integracji" z harmonogramem zadań systemu Windows to cecha wspólna wielu złośliwych kodów, które w ten sposób mogą się rozprzestrzeniać bez wiedzy użytkownika lub uruchamiać procesy przypominające nazwą standardowe usługi, a mające na celu utrzymanie wirusa w pamięci operacyjnej komputera. Przy pomocy popularnej funkcji "okienek" szkody wyrządzają m.in. najbardziej znane i niebezpieczne konie trojańskie (Zlob, Bamital) oraz robaki (w tym okryty złą sławą Stuxnet). Ten ostatni wykorzystywał go w sposób dotychczas nieznany - był to prawdziwy "zero-day exploit".

Co zrobić jeśli w oczyszczonym już systemie pojawia się ponownie złośliwy kod? Zajrzeć do harmonogramu zadań.

Zobacz również:

Polecamy: Debugger - lekarstwo na niebieski ekran

W większości przypadków nie potrzeba aż tak sprawnie napisanych kodów, aby doszło do ich niepożądanego zaistnienia w systemowym harmonogramie zadań. Zidentyfikowanie wirusa lub robaka w ogromie standardowych procesów Windows, które są uruchamiane podczas zwykłego użytkowania komputera, wymaga nie tylko wiedzy i uwagi, ale również dużej dozy cierpliwości.

Rzut oka na harmonogram zadań

Usługi planowania zadań w systemach Windows ewoluowały na przestrzeni ostatnich lat. Prekursorem obecnej wersji harmonogramu było polecenie AT.exe, dostępne wyłącznie z linii komend i bazujące na ręcznym ustalaniu kolejności uruchamianych procesów. Począwszy od Windows XP i Windows Server 2003, AT.exe zostało zastąpione przez narzędzie schtasks.exe. Dla zachowania wstecznej kompatybilności polecenie AT.exe pozostało jednak w systemie. Wraz z premierą Windows 95 Plus Pack harmonogram zadań zyskał na funkcjonalności dzięki zastosowaniu interfejsu graficznego.

Polecamy: Problemy z Windows - jak sobie z nimi radzić?

Narzędzie planowania zadań może pracować w dwóch trybach: lokalnie lub zdalnie (zarządzać procesami na odległym komputerze). W przypadku pracy zdalnej AT.exe korzysta z RPC (Remote Procedure Calls) przez SMB (Server Message Blocks). Polecenie schtasks.exe i Harmonogram Zadań Windows wykorzystują natywny RPC. W trybie zdalnym host docelowy tworzy, planuje i uruchamia zadanie, zaś zdalny komputer tylko zleca mu tą operację. Starsze wersje narzędzi wymagają do tego podwyższonych uprawnień, ale zadania niewymagające wyższych praw mogą zostać stworzone z poziomu standardowego konta.

Wszystkie zadania, które mają zostać uruchomione, zapisywane są w oddzielnych plikach. Ich oznaczenia generowane są za pomocą identyfikatora zabezpieczeń (Security Identifier Description - SID), nawiązują do nazwy określonej przez użytkownika lub nadanej przez system. Zadania, domyślnie, znajdują się w %Windir%\Tasks lub %Windir%\System32\Tasks i mogą mieć rozszerzenie .job. Pliki z rozszerzeniem .job są binarne, ale istnieje sposób na ich zdekodowanie. W systemach Windows Vista, Windows 7 i Windows Server 2008 zadania są umieszczane w plikach XML i są łatwe do odczytania.

Poszczególne procesy mogą być teoretycznie przeanalizowane przez użytkownika komputera, ale w praktyce często się zdarza, że właścicielem plików jest konto systemowe i są one niedostępne nawet dla administratorów. Zwykle są one zamieszczane w katalogu "%Windir%\System32\Tasks" i dodatkowo chronione atrybutem "ukryty". W ten sposób mniej zaawansowani użytkownicy mogą do nich w ogóle nie dotrzeć.


TOP 200