| Termin | Definicja |
|---|---|
| malware szyfrowany | ![]() Malware szyfrowany to złośliwy kod ukryty w postaci zaszyfrowanej, rozpakowywany dopiero w pamięci po uruchomieniu. Jak działa szyfrowanie złośliwego koduMalware szyfrowany to złośliwe oprogramowanie, którego część wykonywalna została przekształcona do postaci nieczytelnej dla prostych analiz. W pliku znajduje się zaszyfrowany albo zakodowany fragment programu oraz procedura uruchomieniowa, nazywana często stubem lub loaderem. Po uruchomieniu loader odtwarza właściwy kod w pamięci procesu, a następnie przekazuje mu sterowanie. Dzięki temu zawartość pliku może wyglądać jak przypadkowy ciąg bajtów, mimo że po rozpakowaniu staje się normalnym kodem wykonywalnym. W tym znaczeniu określenie „szyfrowany” nie oznacza programu żądającego okupu za odszyfrowanie dokumentów. To odmienny mechanizm, którego celem jest ukrycie kodu przed analizą statyczną i utrudnienie dopasowania przez ochronę antywirusową. Autorzy malware mogą stosować szyfrowanie symetryczne, proste operacje arytmetyczne, kodowanie oraz wielowarstwowe pakowanie. Sam fakt zastosowania takiej techniki nie przesądza jeszcze o rodzaju zagrożenia: zaszyfrowany może być trojan, downloader, spyware albo inny typ złośliwego programu. Rozpakowanie w pamięci i zmienność próbkiPodczas startu złośliwy loader może przydzielić obszar pamięci, zapisać w nim odszyfrowany kod, zmienić uprawnienia tego obszaru na wykonywalne i rozpocząć wykonanie. W systemie Windows takie zachowanie może wiązać się między innymi z użyciem mechanizmów alokacji pamięci procesu, kopiowania danych oraz tworzenia wątku. Konkretne funkcje systemowe nie są jednak dowodem infekcji, ponieważ podobne operacje wykonują również legalne instalatory, narzędzia ochronne i programy korzystające z kompilacji just-in-time. Istotną cechą malware szyfrowanego jest różnica między obrazem zapisanym na dysku a kodem działającym w pamięci. Skaner analizujący wyłącznie plik może nie zobaczyć pełnej logiki programu. Analiza pamięci pozwala natomiast znaleźć odszyfrowane moduły, ciągi znaków, adresy wywołań i instrukcje, których nie było w pierwotnej postaci pliku. Próbka może również odszyfrowywać kolejne fragmenty dopiero wtedy, gdy są potrzebne, a następnie usuwać je lub ponownie zacierać. Z tego powodu dwie kopie tego samego zagrożenia mogą mieć różne sygnatury plikowe, choć po uruchomieniu wykonują podobne czynności. Ślady pomocne przy rozpoznaniu infekcjiRozpoznanie takiego zagrożenia wymaga połączenia kilku rodzajów obserwacji. W analizie statycznej zwraca się uwagę na nienaturalnie wysoką entropię danych, małą liczbę czytelnych napisów, nietypowy punkt wejścia programu, sekcje o podejrzanych uprawnieniach oraz obecność krótkiego kodu inicjującego przed większym zaszyfrowanym blokiem. Wysoka entropia sama w sobie nie potwierdza złośliwości, ponieważ występuje także w plikach skompresowanych i prawidłowo zaszyfrowanych. W analizie dynamicznej obserwuje się zachowanie procesu po uruchomieniu: tworzenie nowych procesów, modyfikowanie pamięci, próby uruchamiania kodu z obszarów wcześniej zapisanych jako dane, dostęp do autostartu systemu, połączenia sieciowe oraz odczyt plików użytkownika. Szczególne znaczenie ma porównanie obrazu procesu z jego pamięcią po zakończeniu fazy rozpakowywania. Pomocne są także informacje z systemowego dziennika zdarzeń, alerty ochrony punktu końcowego, hasze plików, ścieżka uruchomienia i czas pojawienia się podejrzanego procesu. Pojedynczy objaw nie wystarcza do pewnej diagnozy, ponieważ legalne oprogramowanie może korzystać z kompresji, ochrony kodu lub dynamicznego ładowania bibliotek. Bezpieczne postępowanie po wykryciuPo podejrzeniu obecności malware szyfrowanego nie należy uruchamiać podejrzanego pliku ponownie ani próbować go otwierać w celu sprawdzenia działania. Jeżeli zagrożenie jest aktywne, rozsądne jest odłączenie komputera od sieci, aby ograniczyć możliwość dalszej komunikacji, pobierania modułów i rozprzestrzeniania się na inne urządzenia. Nie powinno się jednak pochopnie usuwać wszystkich plików ani czyścić dzienników, ponieważ może to utrudnić ustalenie źródła problemu i zakresu zmian w systemie. Diagnostyka może obejmować sprawdzenie procesów, elementów autostartu, harmonogramu zadań, ostatnio pobranych plików, rozszerzeń przeglądarki oraz komunikacji sieciowej. Następnie stosuje się skanowanie z aktualnymi bazami ochrony, a w trudniejszych przypadkach analizę obrazu pamięci lub uruchomienie systemu z zaufanego nośnika. Samo usunięcie pliku nie zawsze usuwa mechanizm ponownego uruchamiania. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i ich podzespołów, w tym diagnostyką problemów związanych z podejrzanym oprogramowaniem. Zakres czynności powinien wynikać z ustalonego stanu urządzenia, a przed ingerencją w pliki warto zabezpieczyć potrzebne dane w sposób, który nie kopiuje aktywnego zagrożenia. |