Škodlivý softvér: Odstránenie infekcie

1.1   Informácie k cvičeniu

Cvičenie má predpripravený virtuálný stroj Ubuntu, ktorý si študent spustí cez VMware.

      • Ubuntu – verzia 22.04.2 64bit, user:tuke, password secret, viac info. -> úvodné cvičenie
      • Python 3.10.6 – nainštalovaný v OS ubuntu
      • pip 22.0.2 – nainštalovaný v OS ubuntu
      • ClamAV 0.103.8/26936/ – nainštalovaný v OS ubuntu
      • Git version 2.34.1
      • 2 repozitáre s vírusmi (linky v zdrojoch) – predpripravené v OS ubuntu v adresári: ~/viruses/
      • Nainštalované všetky balíčky z requirement.txt file vo ~/viruses/malware_showcase , kde cached property trebalo nainštalovať manualne „sudo pip install cached-property“

1.2   Motivácia

Na tomto cvičení sa študent oboznámi s malvérom a funkčnosťou antívurového programu. Následne si podrobne preskúma vírus na infekciu súborov. Nakoniec si vyskúša nástroj ClamAV v prostedí Linux na identifikáciu a odstránenie hrozieb. 

1.3   Ciele cvičenia

  1. Študent sa oboznámi s teóriou k malvéru a antivírusovému programu
  2. Študent pochopí prečo je OS Linux odolnejší voči hrozbám než OS Windows
  3. Študent z-analyzuje vírus na infikáciu súborov a použije ho na testovacom súbore
  4. Študent si prakticky vyskúša nástroj ClamAV na identifikáciu a odstránenie malvéru

1.4   Malvér

Malvér v skratke „malicious software“ je softvér ktorý je navhrnutý tak aby spôsobil škodu v zariadeniach, sieťach alebo samotným používateľom. Typy malvéru su rôzne. Niektoré sú navrhnuté tak aby získali od obete peniaze, iné zas špehujú aktivitu používateľa, a niektoré znemožnia používanie zariadenia. V predošlom cvičení boli spomenuté aj DDoS útoky, a teda aj proces spustený na pozadí bez vedomia používateľa, ktorý aktívne čaká na spustenie útoku na iné zariadenie je malvér. Medzi základné druhy malvéru patria:

  • Vírusy
  • Červy
  • Spyware
  • Adware
  • Trojské kone
  • Ransomware
  • A iné

Zaujímavosť: Cryptojacking je druh malvéru, ktorý je spustený v zariadení obete, bez jej vedomia a vyčerpáva zdroje zariadenia na ťaženie kryptomien.

Na tomto cvičení si v praktickej časti opíšeme vírus na infekciu súborov.

    1.5   Antivírus

    Antivírusový softvér, ďalej Antivírus, je druh softvéru, ktorý slúži na aktívne skenovanie, detekciu a odstránenie malvéru. V dnešnej dobe je Antivírus dôležitou súčasťou každého zariadenia pretože pomáha chrániť používateľov pred rôznymi hrozbami.

    Poznámka: Už od verzie Windows 10, je zabudovaný Windows Defender ako minimálna ochrana voči hrozbám, pretože OS windows je cieľom väčšiny útokov.

     

    1.5.1    Ako antivírus identifikuje a predchádza malvéru

    Antivírusy ponúkajú viacero metód na identifikáciu hrozieb. Medzi základné patria:

    Detekcia na základe signatúr – Táto metóda je pomerne známa a aj jedna z najstarších. Pri odhalení vírusu sa signatúra (identifikačný vzor) uloží do databázy „známych vírusov“. Antivírusové programy si pravidelne aktualizujú svoju lokálnu databázu. Ak používateľ importuje do svojho zariadenia nejaký program alebo súbor, tak Antivírus porovnáva jeho signatúru so signatúrou hrozieb z databázy. V prípade zhody je hrozba odstránená alebo uložená do karantény.

    Poznámka: Karanténa je izolované prostredie, v ktorom sa potencionálne hrozby nedokážu dostať k ostatným súborom operačného systému, toto prostredie sa využíva na následnú analýzu alebo odstránenie hrozieb.

    Detekcia na základe heuristiky – táto metóda je podobná metóde na základe signatúr, nehľadá priame zhody, ale skôr vyhľadáva podobné vzory napr. v zdrojových kódoch. Výsledkom je, že dokáže odchytiť hrozby ktoré priama signatúra nedokázala identifikovať. Nevýhodou môže byť označenie normálneho bezpečného programu ako hrozbu – falošne pozitívny výsledok.

    Zaujímavosť: Microsoft Defender identifikoval aktualizáciu prehliadača Chrome ako malvér a tým odosielal správy používateľom aby si prehliadač odinštalovali. Viac info: makeuseof.com

    Detekcia na základe správania – táto metóda detekuje ako sa programy a súbory správajú. V prípade neobvyklého správania sa súbor označí ako nebezpečný.

     

    1.5.2    Výhody využitia antivírusového programu

    Antivírusové programy ponúkajú množstvo výhod pre zariadenia používateľa a medzi základné patria:

    • Ochrana proti malvéru
    • Ochrana proti spamu
    • Ochrana pred krádežou identity
    • Skenovanie externých súborov (USB, CD, externé HDD)
    • Zakomponovaný firewall
    • Ochrana voči nebezpečným webovým stránkam
    • Rodičovské kontroly
    • Ochrana hesiel – password manager

    1.6   Prečo je OS Linux odolnejší voči malvéru než OS Windows

    V prvom rade si treba uvedomiť, že Linux nie je imúnny voči bezpečnostným hrozbám. V prostredí Linux sa nevyhnete útokom ako je napr. social engineering, brute force útoky, využitie zraniteľnosti nasadenej aplikácie, DOS útok a iné.

    Najdôležitejším faktorom je, že architektúra OS Linux je viac modularizovaná s jasnou separáciou oprávnení medzi používateľmi a procesmi. Manažment pamate je  tiež dôležitý faktor pretože, každý proces má prístup len k svojej pridelenej pamäti a nemôže sa priamo vmiešať do pamäte iných procesov. Ďalšou výhodou je, že Linux je open-source, a teda mnoho vývojárov prispieva k zvýšenej bezpečnosti tohto softvéru.

    Bežne škodlivý kód potrebuje byť spustený so „super-user“ právami aby mal dostatočné oprávnenia na vykonanie nežiadúcich akcií v systéme. Je dôležité dodržiavať bezpečnostné opatrenia a pravidelne si aktualizovať systém.

    1.7   ClamAV

    ClamAV je populárny multiplatformový antivírusový softvér. Pôvodne bol vyvinutý pre OS Linux, avšak neskôr vývoj dospel do prostredia macOS a Windows. Je open-source a voľne dostupný. Jeho hlavným účelom je detekovať a odstrániť malvér zo zariadenia. Je založený na detekcii škodlivého softvéru na základe signatúr heuristiky. Nevýhodou je, že nie je schopný detekovať neobvyklé správanie programu. Na takéto účely je odporúčané používať komerčné riešenia. V rámci tohto cvičenia bude tento nástroj postačujúci na ukážku odstránenia rôznych hrozbieb.

     

    ClamAV sa používa prostredníctvom rozhrania príkazového riadku. Obsahuje základné intuitívne „commandy“:

    • clamscan <file> – sken súbora alebo adresára
    • freshclam – aktualizácia databázy signatúr
    • sigtool – nástroj na vytváranie signatúr

    ClamAV taktiež ponúka grafické používateľské rozhranie. V prostredí Linux to je aplikácia ClamTk, toto rozhranie je založené na knižnici Tkinter.

    1.8   Vírus na infekciu súborov

    Vírus označuje špecifickú triedu malvéru, ktorá infikuje zariadenie, replikuje sa a útočí na iné programy vkladaním svojho vlastného zdrojového kódu do nich. Zvyčajne to zmení spôsob, akým sa programy správajú.

    Zaujímavosť: Pomenovanie „vírus“ bol inšpirovaný biologickým termínom a jeho účinkom. Teda podobne ako keď človek ochorie z vírusu tak aj zariadenie je infikované vírusom.

    V tejto časti si opíšeme vírus na infikovanie súborov dopodrobna od tvorcu: Patrik Holop. V readme nájdete podorbný popis vírusu.

    Otvorte a analyzujte vírus na infekciu súborov v adresári: ~/viruses/malware_showcase/file_infection/infector.py

    Viete vysvetliť ako sa tento vírus bude správať?

    Vysvetlenie: infector.py infikuje všetky súbory v aktuálnom adresári vložením svojho zdrojového kódu do nich. Nakazené súbory dokážu škodlivý kód šíriť ďalej, pretože sa budu správať rovnako ako infector.py. V tejto ukážke vírus nevykonáva nič fatálne, pokiaľ nepočítame to, že zmení správanie všetkých súborov.

    Viete vysvetliť ako sa tento vírus šíri, resp. ako zistí či je súbor infikovaný ?

    Vysvetlenie: Všimnite si, že kontrola, či súbor je infikovaný spočíva v jednoduchom overení reťazca „INJECTION SIGNATURE“, ktoré je v podstate súčasťou zdrojového kódu.

    Teraz si ho vyskúšajme prakticky vo VM ubuntu. V adresári ~/viruses/malware_showcase/file_infection si vytvorte súbor a naplnte ho nejakým reťazcom:

    $ echo "hello world" > file2beinfected.txt

    Následne spustite vírus:

    Poznámka: pre spustenie infikácie musíme použiť práva „super-usera“. Bez príkazu sudo by program nemal dostatočné oprávnenia na zmenu práv súborov alebo vykonanie iných privilegovaných operácií v systéme.

     

    $ sudo python3 infector.py

    Upozornenie: Ako používateľ si vždy skontrolujte, či máte istotu spúšťať programy tretích strán so „super-userom“.

    Analyzujte infikovaný súbor.

    Teraz presuňte infikovaný súbor presuňte do podadresára target_folder:

    $ mv file2beinfected.txt target_folder/

    Vytvorte si v tomto adresári 2 ďalšie súbory:

    $ touch file-A && touch file-B

    Spustite infikovaný súbor, ktorý ste presunuli do tohto adresára:

    $ sudo python3 file2beinfected.txt
    

    Všimnite si, že infikovaný súbor sa správa rovnako ako pôvodný vírus.Teda infikoval súbory adresára target_folder:   file-A a file-B.

    Skúsme na tento vírus použiť antivírus ClamAV:

    $ clamscan --verbose /home/tuke/viruses/malware_showcase/file_infection/infector.py

    Nepodarilo sa nám tento vírus odhaliť. Pokúsme sa urobiť sken na základe heuristiky:

    $ clamscan --verbose --allmatch --detect-pua --scan-archive /home/tuke/viruses/malware_showcase/file_infection/infector.py

     

    Kedže tento vírus je „custom“, nástroj ClamAV nám nepomohol tento vírus identifikovať. Ak by sa signatúra tohto vírusu dostala do databázy signatúr, ClamAV by tento vírus odstránil. Poďme si to predviesť na zopár známych vírusoch z iného repozitára v nasledujúcej sekcii.

    1.9   Odstraňovanie vírusov

    V tejto sekcii si v krátkosti ukážeme, koľko vírusov dokáže detekovať a odstrániť nástroj ClamAV. Našli sme si jeden repozitár od tvorcu: Da2dalus, ktorý obsahuje zopár vírusov.

    Upozornenie: Nespúšťajte tieto vírusy v žiadnej sieti alebo zariadení, v ktorom nemáte povolenie takúto akciu vykonať.

    V adresári ~/viruses/ /The-MALWARE-Repo sa nachádza zopár vírusov. Vačšina týchto škodlivých programov je vytvorená pre OS windows. ClamAV dokáže odhaliť signatúry vírusov aj z OS windows.

    Skúsme urobiť klasický sken (potrvá to cca 5 min):

    $ clamscan --verbose --remove -r /home/tuke/viruses/The-MALWARE-Repo

     

     

    Poznámka: Po detekovaní malvéru sme ho automaticky dali odstrániť.

    Taktiež skúsime sken s heuristikou, či sa nám podarí odhaliť viac hrozieb:

    $ clamscan --heuristic-scan-precedence --allmatch --detect-pua --scan-archive --verbose --remove -r  /home/tuke/viruses/The-MALWARE-Repo/

     

     

    Heuristika nám pomohla odhaliť ešte 12 ďalších hrozieb.  ClamAV je považovaný za spoľahlivý nástroj na detekciu škodlivého kódu, ale jeho použitie na produkčných serveroch môže byť nedostačujúce. Práve preto odporúčame sa obrátiť na modernejšie riešenia.

    1.10   Zdroje

    1.11  Dotazník / Kvíz

    Dotazník resp. kvíz je hodnotený 0.5 bodom k zápočtu. Na jeho vyplnenie máte čas do 19. novembra. Odkaz na dotazník nájdete tu.