Harmonogram zadań - ulubione narzędzie cyberprzestępców
- Dariusz Niedzielewski,
- Roger Grimes,
- 28.10.2011, godz. 08:38
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.
Co zrobić jeśli w oczyszczonym już systemie pojawia się ponownie złośliwy kod? Zajrzeć do harmonogramu zadań.
Zobacz również:
- Co trzecia firma w Polsce z cyberincydentem
- Złośliwe oprogramowanie Qbot - czy jest groźne i jak się chronić?
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ć.