ethical.blue Magazine

// Cybersecurity clarified.

Poznaj ponad 20 rodzajów wirusów komputerowych

03.01.2022   Dawid Farbaniec
...
Złośliwe programy są znacznie bardziej niebezpieczne niż wirusy komputerowe w cybernetycznym świecie. Te złe aplikacje mogą zdalnie kraść, szantażować, a nawet kontrolować zainfekowane maszyny.



Definicja wirusa (mikrobiologia)

Wirus w sensie mikrobiologicznym jest najmniejszym ze wszystkich drobnoustrojów. To stworzenie jest bardzo ciekawym zjawiskiem, ponieważ może żyć tylko wtedy, gdy jest przyczepione do innej żywej komórki. Najbardziej charakterystyczną cechą wirusów jest ich replikacja. Przyczepiają się do komórek żywych organizmów i replikują. Żywe organizmy zakażone wirusami nazywane są gospodarzami. Wirus składa się z materiału genetycznego (DNA lub RNA) otoczonego ochronną powłoką.



Definicja wirusa komputerowego

Chociaż temat wirusów komputerowych jest nieco owiany tajemnicą, nie ma w nim żadnej magii. Termin wirus komputerowy jest z pewnością naładowany negatywnymi emocjami. Zdarza się, że wirusom komputerowym przypisuje się praktycznie wszystko, od kradzieży środków z portfeli internetowych po usuwanie plików, a nawet uszkadzanie sprzętu. W rzeczywistości, tradycyjny wirus komputerowy, podobnie jak wirus w biologii, istnieje po to, by się replikować. Z drugiej strony programy komputerowe, które niszczą dane, kradną, szantażują lub szpiegują nas, powinny być określane jako malware.

Tradycyjny wirus komputerowy do replikacji wymaga „organizmu” gospodarza. Inne programy są właśnie takim hostem. Wirus komputerowy ma kod napisany przez programistę, który zazwyczaj składa się z mechanizmu wyszukującego obiekty, które mają być zainfekowane (pliki) oraz ładunku.

Przykładowy scenariusz może wyglądać tak: Uruchomiliśmy program będący wirusem komputerowym. Aplikacja przykleiła swój kod do plików znalezionych na dysku. Nieświadomy użytkownik kopiuje zainfekowane pliki na przykład na dysk flash USB lub wysyła je do innych nieświadomych osób. Kolejni użytkownicy uruchamiają następnie zainfekowane programy, które rozprzestrzeniają kod wirusa jeszcze bardziej. Wróćmy do pojęcia ładunku. Wirus może przenosić kod (ładunek), który jest uruchamiany po spełnieniu określonego warunku, na przykład odtworzenie melodii z głośników w określonym czasie lub coś bardziej złośliwego, na przykład usunięcie plików użytkownika.

Jak działa oprogramowanie antywirusowe?

Zadaniem oprogramowania antywirusowego jest wykrywanie zagrożeń i zapobieganie zainfekowaniu komputera wirusami lub złośliwymi aplikacjami. Aby zidentyfikować zagrożenie, program antywirusowy musi zawierać cechy złośliwej aplikacji. Antywirus może wywołać alarm, jeśli na przykład znajdzie w programie fragment kodu podobny do kodu znanego wirusa komputerowego. Istnieją również heurystyczne techniki analizy, które mają na celu rozpoznanie nieznanych zagrożeń. W tym celu program antywirusowy może np. wykonać symulację, która powie nam jakie zmiany zostały wprowadzone w systemie i na tej podstawie oznaczy program jako złośliwy lub nie. Niektórzy mogli napotkać fałszywe alarmy z oprogramowania antywirusowego. Jest to fałszywe wykrycie złośliwego oprogramowania w nieszkodliwym programie.

Śmieszne żarty i cyberprzestępczość

Wielu młodych ludzi jest zafascynowanych wirusami komputerowymi. W latach szkolnych lubiliśmy z przyjaciółmi testować różne programy hakerskie, takie jak generatory wirusów czy narzędzia do zdalnego sterowania. Nie było zamiaru zniszczenia czegoś lub nielegalnego zarabiania pieniędzy. Byliśmy po prostu szczęśliwi, gdy kolega mógł sterować moim komputerem, który zainfekowaliśmy w celach testowych. Niestety nie wszyscy pozostają etyczni. Wiele przestępstw popełnianych jest przez osoby związane z wirusami komputerowymi i złośliwym oprogramowaniem.

Oprogramowanie reklamowe (Adware)

Adware oznacza oprogramowanie reklamowe. Ten rodzaj oprogramowania zawiera reklamy, ale często te reklamy nie są subtelne. Tego rodzaju aplikacje można często zaliczyć do kategorii PUA (potencjalnie niechciana aplikacja). Czasami adware jest połączone z oprogramowaniem szpiegującym w celu rejestrowania działań użytkownika.


Adware wyświetla niepokojące reklamy i może uruchamiać również złośliwy kod

Backdoor

Atakujący może pozostawić w systemie ukryte wejście, które pozwoli mu w przyszłości uzyskać dostęp do skompromitowanego systemu lub aplikacji. Backdoora może też pozostawić autor programu, aby np. szpiegować użytkowników.


Program backdoor zapewnia atakującemu zdalny dostęp do zainfekowanej maszyny

Botnet (sieć komputerów zombie)

Termin botnet można najprościej zdefiniować jako sieć komputerów zainfekowanych złośliwym oprogramowaniem, która umożliwia złemu hakerowi (są też dobrzy hakerzy, etyczni) kontrolowanie zaatakowanych maszyn. Warto zauważyć, że jeśli ktoś zainfekował kilka komputerów, to nie jest to botnet. Mały botnet zaczyna się, gdy zainfekowanych jest kilkaset do kilku tysięcy maszyn. Historia mówi, że armia komputerów zombie rozrastała się do milionów botów. Na przykład botnet Bredolab skompromitował około 30 milionów maszyn. Następnie można wywnioskować, że intencje złego hakera są inne, gdy używany jest trojan zdalnego dostępu i mniej komputerów jest celem ataku niż podczas masowej infekcji. Jeśli zły haker przejmie kontrolę nad mniejszą liczbą komputerów, może sobie pozwolić na ręczne przeglądanie plików lub inne indywidualne działania. Jednak szkodliwe działania zmieniają się, jeśli chodzi o dziesiątki tysięcy lub więcej maszyn. Możliwe jest wtedy skuteczne przeprowadzenie ataku typu „rozproszona odmowa usługi” (DDoS), powodującego na przykład wyłączenie określonej witryny. Platforma sprzedażowa to najłatwiejszy do wyobrażenia przykład. Wyłączenie naszej strony oznacza zatrzymanie sprzedaży, co oznacza brak zysku.


Scentralizowana struktura botnetu

Crypter (Evader)

Programy szyfrujące to narzędzia do unikania wykrycia przez oprogramowanie antywirusowe. Na czarnych rynkach nieetycznych hakerów można znaleźć programy lub usługi, które próbują utrudnić życie analitykom szkodliwego oprogramowania. Programy tego typu, jeśli zostaną wykryte przez antywirusa, wymagają natychmiastowej aktualizacji. Jedno jest pewne w przypadku programów szyfrujących: opóźniają analizę.


Szyfratory plików wykonywalnych są wykorzystywane do złośliwych celów

Cryptojacking (Miner)

Kryptowaluta to w prostych słowach wirtualne pieniądze. Wraz z rosnącą popularnością kryptowalut pojawiło się złośliwe oprogramowanie, którego celem jest wykorzystanie mocy obliczeniowej zainfekowanej maszyny do wydobycia kryptowaluty. Ci złośliwi kopacze mogą pojawiać się jako pliki wykonywalne lub nawet jako skrypty na zainfekowanych stronach internetowych.


Złośliwy górnik kryptowalut

Downloader

Narzędzie Downloader pobiera dodatkowe moduły lub ładunki z Internetu. Aplikacje te są często używane, gdy atakujący potrzebuje na przykład małego pliku wykonywalnego, a duże złośliwe moduły są później pobierane.


Downloader uzyskuje złośliwe moduły z Internetu

Dropper (Loader)

Wyobraź sobie Dropper jako dostawcę, który niesie ładunek. Po uruchomieniu droppera w systemie zainstalowane są złośliwe moduły. Przenoszone ładunki są często szyfrowane lub zaciemniane (obfuscation), aby uniknąć wykrycia przez oprogramowanie antywirusowe.

Można wyróżnić dwa główne typy dropperów:
  • One stage – przenosi i wykonuje ładunek
  • Two stage – pobiera ładunek, a następnie go wykonuje


Dropper przenosi i wykonuje ładunek

Exploit

Exploity to programy, które łamią bezpieczeństwo systemu lub aplikacji poprzez błąd programistyczny. Istnieje wiele rodzajów błędów popełnianych przez programistów. Niektóre mogą dać dostęp do wykonania złośliwego kodu lub po prostu spowodować awarię podatnej aplikacji. Atakujący tworzą zestawy exploitów, aby atakować więcej luk w zabezpieczeniach. Dla bezpieczeństwa bardzo ważne jest, aby instalować aktualizacje oprogramowania i aktualizacje systemu. Warto zwrócić uwagę na termin zero day (dzień zerowy). Zero day to luka, dla której autor oprogramowania nie stworzył jeszcze poprawki (łatki).

Exploity to potężne narzędzia ataku, które mogą atakować systemy operacyjne, przeglądarki internetowe, czytniki dokumentów itp. Maszyny mogą zostać zainfekowane, na przykład otwierając złośliwy link w przeglądarce internetowej lub otwierając złośliwy dokument. Dotyczy to nie tylko plików wykonywalnych (*.exe).


Przykładowa infekcja przy użyciu zestawu exploit

Fileless malware

Bezplikowe złośliwe oprogramowanie może wykonać złośliwy kod bez dotykania dysku twardego. Ta technika może obejść oprogramowanie zabezpieczające. Całe wykonanie złośliwego kodu odbywa się w pamięci operacyjnej. Jak to się dzieje? Często za pomocą legalnych programów, takich jak na przykład PowerShell. PowerShell w systemach operacyjnych Windows został zaprojektowany, aby pomóc administratorom w ich zadaniach za pomocą skryptów. W przypadku typowego oprogramowania antywirusowego jest mniej podejrzane, gdy uruchamiany jest prawdziwy PowerShell (wbudowany system), niż uruchamiany jest plik wykonywalny upuszczony na dysk twardy.


Przykładowa bezplikowa infekcja złośliwym oprogramowaniem

Form grabber

Metoda zwana przechwytywaniem formularzy służy do pobierania danych logowania i innych poufnych danych z formularzy online. Zbieranie danych poprzez wstrzykiwanie kodu internetowego pozwala na kradzież wartości formularzy przed ich zaszyfrowaniem (HTTPS) i wysłaniem na serwer.


Przykład przechwytywania formularzy

Hoax

Fałszywe wiadomości to wiadomości o nowych niebezpiecznych wirusach lub innych sytuacjach emocjonalnych. Oszustwa mogą dotyczyć polityki, kary, poważnych chorób itp.


Fałszywa wiadomość z programu Hoax

Komputerowy żart

Żarty komputerowe związane są ze sceną VX i lekcjami informatyki w szkołach. Niektóre dowcipy są nieszkodliwe i naprawdę zabawne. Inny może być destrukcyjny lub bardzo irytujący.


Przykład programu żartów komputerowych

Keylogger

Do szpiegowania wykorzystywane są programy zwane keyloggerami. Istnieją keyloggery programowe (programy) i keyloggery sprzętowe (urządzenia). Podstawową funkcjonalnością tych aplikacji jest rejestrowanie naciśnięć klawiszy i tworzenie raportów. W ten sposób atakujący może uzyskać prywatne rozmowy ofiary, hasła i wszystko, co jest napisane na klawiaturze komputera. Zaawansowane keyloggery robią zrzuty ekranu, nagrywają dźwięk, nagrywają kamerę internetową, monitorują schowek systemowy itp. A co z keyloggerami sprzętowymi? Keylogger sprzętowy może być zainstalowany jako adapter pomiędzy klawiaturą a komputerem lub nawet wbudowany w naszą klawiaturę!


Przykładowy keylogger sprzętowy

Bomba logiczna

Bomby logiczne można sobie wyobrazić jako wyzwalacze. Program posiada warunek i gdy jest on spełniony, ładunek jest wykonywany. Te wyzwalacze mogą opierać się na dacie i godzinie systemowej, określonym naciśnięciu klawisza, istnieniu określonego pliku itp.

Przykładowe bomby logiczne:
  • Jeśli językiem systemu operacyjnego jest angielski, odtwórz zdefiniowaną melodię.
  • Jeśli w systemie są narzędzia do analizy wirusów komputerowych, nie uruchamiaj złośliwego kodu.
  • Jeśli nie ma połączenia z internetem, nie wysyłaj wiadomości.
  • Jeśli użytkownik otworzył witrynę z oprogramowaniem antywirusowym, zamknij proces przeglądarki.

Wniosek: bomby logiczne mogą być mylące i niebezpieczne.


Przykładowa bomba logiczna oparta na dacie systemowej

Potencjalnie niechciana aplikacja (PUA)

Programy sklasyfikowane jako PUA mogą instalować oprogramowanie reklamowe (adware), a nawet oprogramowanie szpiegujące (spyware). Aplikacje te mogą śledzić odwiedzane strony internetowe, wyświetlać niepokojące reklamy i pobierać inne śmieci.


Niechciane aplikacje podczas instalacji

Ransomware, scareware, doxware

Klasyczny program ransomware blokuje ważne pliki użytkownika i zmusza do zapłaty okupu. Scareware próbuje przestraszyć użytkownika. Doxware grozi użytkownikowi publikacją prywatnych danych, np. zdjęć. Gdy ransomware używa szyfrowania symetrycznego, do szyfrowania i odszyfrowywania używany jest ten sam klucz. Programy ransomware ewoluowały, aby używać szyfrowania asymetrycznego, w którym klucz publiczny służy do szyfrowania, a klucz prywatny do odszyfrowywania.


Przykładowy program ransomware

Trojan dostępu zdalnego

Narzędzia zwane trojanami zdalnego dostępu, w skrócie RAT (Remote Access Trojan), są swego rodzaju tylnymi drzwiami, ale potężnymi i zaawansowanymi.

Funkcjonalność typowych trojanów zdalnego dostępu:
  • Zarządzanie plikami, procesami, edycja rejestru systemowego
  • Podgląd ekranu, zrzuty ekranu
  • Logowanie naciśniętych klawiszy (tzw. keylogger)
  • Zdalny pulpit (np. VNC)
  • Zdalne wykonywanie poleceń (wiersz polecenia)
  • Prześlij i uruchom dowolny plik (prześlij i wykonaj)
  • Odzyskiwanie haseł z popularnych programów
  • ... i inne zależne od pomysłów deweloperów.


Przykładowy panel atakującego trojana zdalnego dostępu

Rootkit

Narzędzia oznaczone jako rootkit to mechanizmy ukrywania złośliwego kodu. Programy te mogą ukrywać procesy, pliki, wpisy rejestru i inne obiekty w zainfekowanym systemie. Istnieją rootkity trybu użytkownika i trybu jądra. Bardziej niebezpieczne i trudniejsze do wykrycia są moduły trybu jądra. Zauważ, że architektura systemu operacyjnego Windows wykorzystuje poziomy uprawnień zwane pierścieniami. Typowe programy działają w pierścieniu 3 (tryb użytkownika). Sterowniki urządzeń działają w pierścieniu 0 (tryb jądra). Kod w trybie jądra jest bardziej uprzywilejowany. Fałszowanie wyniku funkcji systemowych w trybie jądra spowoduje, że wynik programu trybu użytkownika będzie fałszywy. Na przykład menedżer zadań nie pokaże wszystkich uruchomionych procesów.




Rootkity to mechanizmy ukrywające

Oprogramowanie szpiegowskie (Spyware)

Aplikacje Spyware to rodzaj oprogramowania, które szpieguje użytkownika komputera. Programy te mogą zbierać informacje o odwiedzanych stronach internetowych, zbierać informacje o tym, czym interesuje się użytkownik, a nawet wykradać poufne dane, takie jak adresy e-mail, hasła czy dane bankowe.


Przykładowy program szpiegujący

Stealer

Żyjemy w cyfrowym świecie. Im bardziej wrażliwe dane, tym bardziej wartościowe dane. Programy zwane złodziejami informacji pobierają poufne dane z zainfekowanego komputera i przekazują je osobie atakującej. Typowy złodziej przeglądarki może po prostu zrzucić hasła z przeglądarki internetowej i wysłać te dane do atakującego za pośrednictwem różnych kanałów, takich jak e-mail, panel WWW, FTP itp.


Przykładowe programy do kradzieży

Robak (Worm)

Tradycyjny wirus komputerowy wykorzystuje pliki (inne programy) jako medium do replikacji. Z drugiej strony robak internetowy wykorzystuje sieć do replikacji i infekcji. Może skanować urządzenia pod kątem różnych luk w zabezpieczeniach lub wypróbowywać domyślne hasła, mając nadzieję, że użytkownik ma słabe hasło do określonej usługi.


Przykładowa infekcja robakiem sieciowym

Narzędzia hakerskie

W latach szkolnych miałem program antywirusowy, który uchronił mnie przed popełnieniem cyberprzestępstwa!

Tak, oprogramowanie antywirusowe może wykrywać narzędzia hakerskie jako złośliwe programy. Nawet jeśli uruchomienie narzędzia hakerskiego nie infekuje systemu lokalnego, program antywirusowy oznacza narzędzie hakerskie jako szkodliwe. Narzędzia hakerskie są również nazywane riskware. Moim zdaniem te ostrzeżenia to dobry pomysł.

Przykładowe narzędzia hakerskie:
  • Programy czytające hasła,
  • Generatory kluczy,
  • Zmieniacze kluczy produktu,
  • Cracki oprogramowania komercyjnego,
  • Generatory i panele złośliwego oprogramowania itp.


Przykładowe narzędzie do hakowania (generator kluczy)

Przykładowe scenariusze infekcji

W tym rozdziale przedstawiono przykładowe scenariusze infekcji, które mogły mieć miejsce. Zapoznanie się z nimi pomoże nam uniknąć tych niebezpiecznych sytuacji.

game_hack.exe

Dawid bardzo lubi gry komputerowe. Jego przyjaciel Dominik namówił go, by poszukał programu hakerskiego, który dawałby mu darmowe dodatkowe punkty w grze komputerowej.

Na stronie anonimowego hakera znaleźli program, który pozwala oszukiwać w grach komputerowych. Plik game_hack.exe został uruchomiony na komputerze Dawida. Program nie odpowiedział. Dawid uznał, że aplikacja jest zepsuta. Usunął plik i zapomniał o nim.

Po kilku dniach chciał otworzyć swoją skrzynkę e-mail, aby sprawdzić, czy są nowe wiadomości. Hasło, które wpisał i był pewien, że jest poprawne, nie działało.

Co się stało z komputerem Dawida?
Nieetyczni hakerzy często dodają tylne drzwi do swoich narzędzi. Powoduje to zarażenie początkujących hakerów. Czasami jest instrukcja z programem hakerskim, aby wyłączyć program antywirusowy, co ułatwia włamanie.

Wniosek
Nie każdy złośliwy program zostanie zidentyfikowany przez oprogramowanie antywirusowe. Nie ufaj plikom pobranym z Internetu. Ucząc się etycznego hakowania, korzystaj z narzędzi open source lub uruchamiaj podejrzane programy w odizolowanym środowisku (maszynie wirtualnej).

Nietypowy e-mail

Ewa jest pielęgniarką oraz szczęśliwą matką i żoną. Nie jest informatykiem. Pewnego dnia otrzymała wiadomość e-mail z informacją, że ze względów bezpieczeństwa musi zmienić hasło do portfela internetowego. E-mail zawierał link, za pomocą którego można zmienić hasło. Cała procedura zmiany hasła wydawała się poprawna. Jednak następnego dnia jej portfel internetowy został wyczyszczony z pieniędzy.

Co się stało z komputerem Ewy?
E-mail był próbą wyłudzenia informacji. Link prowadził do fałszywej strony internetowej, która przechwyciła login i hasło Ewy. Dodatkowo konto Ewy nie miało włączonego uwierzytelniania dwuskładnikowego.

Wniosek
Jeśli to możliwe, powinniśmy włączyć uwierzytelnianie dwuskładnikowe. Następnie, gdy spróbujemy się zalogować, za pośrednictwem innego medium otrzymamy specjalny kod, który zabezpiecza przed nieautoryzowanym logowaniem.

Złośliwe reklamy (Malvertising)

Dominik właśnie wrócił ze szkoły. Włączył komputer, żeby zagrać w jakąś grę komputerową. Jednak wszystkie zainstalowane przez niego gry były dla niego nudne. Zaczął pobierać świetną grę wyścigową. Po pomyślnym pobraniu gra się nie uruchamiała. Istniała ochrona antypiracka. Dominik zaczął szukać cracku (nielegalna łatka). Po uruchomieniu witryny z crackami na ekranie komputera wyświetlał się komunikat. Jego pliki zostały zaszyfrowane (zablokowane). Pojawiła się wiadomość, że musi zapłacić okup, aby odzyskać swoje dane. On myślał. W jaki sposób? Nie pobrałem żadnego złośliwego programu!

Co się stało z komputerem Dominika?
Na nielegalnej stronie internetowej znajdował się exploit, który uruchamiał szkodliwy kod. W ten sposób jego komputer został zainfekowany.

Wniosek
Reklamy na stronach internetowych zawierające złośliwe skrypty mogą zainfekować nasz komputer. Te złośliwe kampanie reklamowe nazywane są malvertising.

Pendrive

John był pracownikiem biurowym. Dzień jak każdy inny. Przyszedł do biura. Zostawił płaszcz w szatni i poszedł do kuchni napić się kawy.

Kawa się parzy.

John rozgląda się i zauważa na podłodze pendrive. Prawdopodobnie zgubił go jeden z pracowników.

Kawa była już zaparzona.

John poszedł do swojego biura i podłączył pamięć flash, aby sprawdzić dane.

Kilka tygodni później dane klientów wyciekły z firmowego serwera.

Co się stało z komputerem Johna?
John złamał przepisy bezpieczeństwa i podłączył nieznany dysk flash do komputera firmowego. Pendrive został tam celowo upuszczony, aby zainfekować sieć firmową.

Wniosek
Nieznane urządzenia mogą złamać zabezpieczenia naszego systemu lub nas szpiegować.

Podsumowanie

To tylko przykładowe scenariusze. Atakujący potrafią być naprawdę bardzo pomysłowi. Profesjonalne ataki są zaskakujące i dobrze zaplanowane.

Nie daj się zainfekować 🦠 i bądź bezpieczny! 🛡️

Wykaz literatury

https://microbiologysociety.org/why-microbiology-matters/what-is-microbiology/viruses.html  [access: 2022-01-03]
https://www.mcafee.com/enterprise/en-us/security-awareness/ransomware/what-is-fileless-malware.html [access: 2022-01-03]
Craig A. Schiller, Jim Binkley, David Harley, Gadi Evron, Tony Bradley, Carsten Willems, Michael Cross, 2007
— Botnets: The Killer Web App, ISBN: 9781597491358
Robert Slade, Urs Gattiker, David Harley, 2002 — Viruses Revealed, ISBN: 9780072228182