Objavljeno: 25.2.2025 | Avtor: Matjaž Jeruc | Monitor Marec 2025

Briljantni škodljivci

Odkar obstajajo računalniki, obstaja tudi zlonamerna programska koda; odkar so računalniki vpeti v vse pore našega življenja, najdemo tudi računalniške viruse tako rekoč vsepovsod. A če menite, da je prav vsak virus, črv, trojanski konj ali druga »golazen« izdelan/-a in namenjen/-a zgolj krajam podatkov in denarja, se motite.

O zlonamerni programski kodi smo prelili že nemalo črnila; navsezadnje so prav računalniški virusi dokaz iznajdljivosti in genialnosti posameznikov ali skupin, ki izkoriščajo raznolike pomanjkljivosti tako strojne kot programske opreme, nenazadnje pa tudi predvsem naivnost in nerazumevanje nas, ljudi. Morda komu napisano ne bo všeč, a tudi zlonamerna in neželena programska koda sta gonilo tehnološkega razvoja in nas nenehno opominjata na to, da ljudje navdih iščemo tako rekoč povsod in so omejitve pravzaprav le v našem lastnem razumevanju in dojemanju (predvsem tehnološkega, ne pa nujno) sveta. Tokrat se bomo bolj posvetili tisti zlonamerni kodi, ki kaže tehnično briljantnost avtorjev in izkorišča manj očitne napake v tehnoloških zasnovah naprav.

Zakup člankov

Izbirate lahko med:

Za plačilo lahko uporabite plačilno kartico ali PayPal ali Google Pay:

 

Najprej se morate prijaviti.
V kolikor še nimate svoje prijave, se lahko registrirate.

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!

Komentirajo lahko le prijavljeni uporabniki

Objavljeno: 25.2.2025 | Avtor: Matjaž Jeruc | Monitor Marec 2025

Odkar obstajajo računalniki, obstaja tudi zlonamerna programska koda; odkar so računalniki vpeti v vse pore našega življenja, najdemo tudi računalniške viruse tako rekoč vsepovsod. A če menite, da je prav vsak virus, črv, trojanski konj ali druga »golazen« izdelan/-a in namenjen/-a zgolj krajam podatkov in denarja, se motite.

O zlonamerni programski kodi smo prelili že nemalo črnila; navsezadnje so prav računalniški virusi dokaz iznajdljivosti in genialnosti posameznikov ali skupin, ki izkoriščajo raznolike pomanjkljivosti tako strojne kot programske opreme, nenazadnje pa tudi predvsem naivnost in nerazumevanje nas, ljudi. Morda komu napisano ne bo všeč, a tudi zlonamerna in neželena programska koda sta gonilo tehnološkega razvoja in nas nenehno opominjata na to, da ljudje navdih iščemo tako rekoč povsod in so omejitve pravzaprav le v našem lastnem razumevanju in dojemanju (predvsem tehnološkega, ne pa nujno) sveta. Tokrat se bomo bolj posvetili tisti zlonamerni kodi, ki kaže tehnično briljantnost avtorjev in izkorišča manj očitne napake v tehnoloških zasnovah naprav.

Skrij me »nežno«

Najboljši virus je tisti, ki je zelo dobro skrit tam, kjer ga sploh ne bi iskali. Še boljši je tisti, ki ga je zelo težko odstraniti in se obnovi celo ob novi namestitvi operacijskega sistema. Taki »bootkit« virusi merijo na tisti del programske kode, ki se v računalniku izvrši še pred operacijskim sistemom. »Bootkiti« obstajajo že dolgo vrsto let, osnovna ideja pa se vedno nekoliko dodela in spremeni. Nedavno se je pojavil virus Bootkitty (kako pomenljivo), katerega avtorji so virus »prilepili« na vmesnik UEFI matične plošče (naslednik BIOS). Ker se virus skrije v čip na matični plošči, formatiranje, ponovna namestitev operacijskega sistema ali menjava diska ne pomaga. Virus so ustvarili korejski študentje v okviru nekega tekmovanja, zato neke posebne škode (k sreči) ne povzroča. Od tod tisti kitty oziroma mucek v imenu.

Povsem drugačne namene ima z vašimi podatki TrickBoot. Virus je bil zasnovan s krajo podatkov v mislih; čeprav v osnovi izkorišča ranljivost UEFI na podoben način kot Bootkitty, je osnovni namen nabiranje potencialnih kandidatov za dobičkonosne napade. V samem virusu so implementirane skripte za pridobivanje informacij o omrežjih, strojni in programski opremi, kar pomaga tako pri izbiri žrtve kot pri samem napadu z ransomware virusi (s programsko opremo, ki zaklepa podatke in zahteva odkupnino).

Računalniški virus lahko skrijemo povsod, kamor lahko zapisujemo podatke. Če so diski, diskete, cedeji, USB-diski in ključki zelo očiten primer, pa hitro najdemo tudi nekaj manj očitnih. Večina povprečnih uporabnikov hitro pozabi, da ima praktično vsaka malce bolj kompleksna naprava svoj krmilnik, ki ga prav tako poganja strojna programska koda. Ta programska koda ali firmware se shranjuje v pomnilniška vezja. Ker se firmware ravno tako nadgrajuje, to seveda pomeni, da je shranjen v vezjih, na katera lahko zapisujemo. Ko ugotovimo, kako, je krog sklenjen.

Najbrž ste na tem mestu že začeli preštevati, kam vse se potemtakem virusi lahko namestijo. Poleg vseh mogočih naprav USB (ne pozabimo na miške) in Thunderbolt, omrežnih kartic, krmilnikov SATA, grafičnih kartic, brezžičnih in »modrozobih« vmesnikov, ne smemo pozabiti na nabore čipovja (chipset) in seveda procesor, o čemer več pišemo v okvirčku.

Brezžična grožnja

Da se večina računalniških virusov dandanes širi prek interneta, ni večje presenečenje, a napadov prek brezžičnih in bluetooth omrežij ne štejemo v isto kategorijo, kot je okužba z virusi na okuženih spletnih straneh oziroma pri e-poštnih priponkah. Večina takih napadov se začne s postavitvijo lažne dostopne Wi-Fi ali bluetooth točke: v svetu, kjer nam brez interneta ni živeti, se prej ali slej nič hudega sluteči uporabnik s svojo napravo priključi tudi na katero od teh točk. Brez vednosti uporabnika se na njegovo napravo potisne zlonamerno programsko opremo, ki se nato razširi bodisi sama bodisi jo nevede širi uporabnik. Čeprav povezavo z lažno dostopno točko prekinemo, lahko okužene naprave nato širijo zlonamerno programsko opremo naprej, pri čemer je to lahko računalnik, telefon, tablica ali druga dostopna točka.

Med prvimi tovrstnimi odkritimi zlonamernimi primerki je bil črv po imenu Cabir, ki se je širil prek pametnih mobilnih telefonov z operacijskim sistemom Symbian. (Še pomnite Nokio?). Črv se je poskusil razposlati na vse naprave, ki podpirajo bluetooth in tako imenovani Object Push Profile, v obliki datoteke s končnico .sis. Cabir se je širil le ob pogoju, da je uporabnik potrdil prenos datoteke in se strinjal z namestitvijo, kar sploh ne bi predstavljalo neke resnejše grožnje, če ne bi bil vmesnik v operacijskem sistemu zaradi neštetih pojavnih oken povsem neuporaben, zato je uporabnik prej ali slej kapituliral in privolil v prenos. Kmalu se je pojavil tudi »duhovni« naslednik virusa, ki se je s podobnim principom in podobnim imenom Mabir širil tudi prek sporočil MMS.

Če sta ta dva virusa zahtevala interakcijo uporabnika, pa je BlueBorne izkoriščal številne ranljivosti »modrozobe« tehnologije povsem brez interakcije uporabnika (in to prek različnih operacijskih sistemov). Če res zelo poenostavimo celotno delovanje te zlonamerne programske opreme, potem zapišimo, da virus lahko odkrije, prestreže ali preusmeri promet med napravami in s tem seveda dostopa tudi do podatkov na njih. Leta 2017 je bilo prek osem milijard naprav tako ali drugače izpostavljenih BlueBornu in to varnostno tveganje je v naslednjih letih odločilno vplivalo na razvoj standarda bluetooth.

Virus KrØØk (pomenljivo in predvsem večplastno ime) se je širil prek različnih brezžičnih naprav s čipovjem Broadcom ali Cypress. Osnovna premisa virusa je izkoriščanje šifrirnih ključev, ki jih je mogoče prisilno nastaviti na same ničle, kar napadalcu omogoči dešifriranje informacij, poslanih v brezžične naprave oziroma iz njih. Po ocenah strokovnjakov je virus prizadel več kot milijardo različnih naprav, od bralnikov, mobilnih telefonov, tablic do pametnih gospodinjskih aparatov in še bi lahko naštevali. Ranljivost se sicer lahko odpravi z nadgradnjo strojne programske opreme prej omenjenih proizvajalcev, a nekaj je nadgradnja na računalnikih in tablicah, nekaj povsem drugega pa jo je pripraviti in opraviti na pametnem hladilniku, ki na prvi pogled ne more bistveno prispevati k širjenju zlonamerne programske opreme. Ali pač?

Ugrabljeni dom

Kako učinkovite so lahko preproste napravice IoT (internet of things ali internet stvari), nam pričajo številni virusi, ki jim je uspelo razmeroma nezmogljivo strojno opremo spremeniti v orodje skorajda ultimativne katastrofe. Mirai Botnet je naprave IoT, kot so usmerjevalniki in IP-kamere, »premagal« z izkoriščanjem privzetih poverilnic za prijavo. (Koliko ljudi poznate, ki uporabljajo privzeto uporabniško ime in geslo na takih napravah?). Njihovo računsko moč je uporabil za sprožitev množičnih napadov DDoS (Distributed Denial of Service ali porazdeljeno zavrnitev storitev), vključno z napadom na Dyn, večjega ponudnika DNS-storitev, kar je motilo delovanje interneta tako v ZDA kot v Evropi.

BrickerBot je, že po imenu sodeč, ubral drugo pot: namesto prevzema nadzora nad napravo je raje okvaril pomnilnik naprave do te mere, da je bil le še kup neuporabne elektronike (ali če hočete, neuporaben zidak). Silex je brisal oziroma spreminjal vdelano programsko opremo naprav in omrežno konfiguracijo, Amnesia in Mozi pa sta okužila številne naprave IoT, med drugim video snemalnike, tudi prek P2P (peer-to-peer) omrežij, in jih spreminjala v pravo »zombi« vojsko botov za napade DDoS.

Ob omembi napadov na naš ljubi pametni dom se je treba zavedati, da se škoda oziroma prava vrednost neke naprave ne meri le v nabavni in montažni ceni. Celota se pokaže šele takrat, ko naprava ne deluje, in ob izpadih delovanja, pa naj gre za varnostne kamere, ki ne snemajo nepridipravov, ali pametna stikala, ki ne odpirajo rolet ali prižigajo luči. Ali, bognedaj, ne prožijo požarnega alarma.

Ugrabljena družinska podjetja in intelektualna lastnina

Nevšečnosti se lahko pripetijo tudi podjetjem, ki povsem nevede širijo zlonamerno programsko kodo. Zloglasen primer je virus NotPetya, ki je zgolj ime dobil po zloglasnem ugrabiteljskem virusu Petya, a je daleč presegel njegov uničujoči domet. NotPetya je bil podtaknjen v majhno, družinsko podjetje za programsko opremo v Kijevu, ki je izdajalo in posodabljalo računovodske programe. Pravi avtorji virusa so bili v resnici ruski hekerji Sandworm, ki so kibernetsko vojno s sosedi vodili že skoraj desetletje pred dejanskim fizičnim spopadom med Rusijo in Ukrajino. Sandworm naj bi namestil stranska vrata na strežnike podjetja, s katerih so namestili programsko opremo po vsej Ukrajini in nato po vsem svetu.

Obseg okužb, predvsem pa hitrost širjenja virusa, je šokiral celo same avtorje. Okužba z virusom je prikazala sporočilo z besedilom, da je računalnik ugrabljen, a v sporočilu ni bilo nikakršnih navodil za plačilo. Računalnik se je nenadoma ponovno zagnal, glavni zagonski zapis (MBR) je bil nepovratno šifriran, ključ za odklep pa ni obstajal, čeprav je virus ves čas pošiljal zavajajoča sporočila, da bo ob plačilu odkupnine to mogoče.

Virus je izkoriščal dve že poznani varnostni luknji v starejših operacijskih sistemih Windows, EternalBlue in Mimikatz, ki sta omogočili oddaljeni dostop in poganjanje vrstic lastne programske kode zunanjim uporabnikom. Naknadno je bilo ugotovljeno, da so uporabniška gesla ostajala v pomnilniku in da jih je bilo mogoče uspešno odkriti ter uporabiti za posamezne ali avtomatizirane napade na druge uporabnike in naprave. Vse operacije so potekale brez uporabnikovega vedenja in posredovanja, zato je bila hitrost okužb naravnost zastrašujoča: omrežja posameznih podjetij so bila onemogočena v manj kot minuti, nastala škoda pa je bila ocenjena med štiri in osmimi milijardami dolarjev.

Drug primer ugrabitve, ki ni tako na prvo žogo, je primer virusa/simulacijskega orodja Cobalt Strike, ki je svojo življenjsko pot začel kot orodje za simulacijo in preprečevanje nepooblaščenih vdorov v računalniške sisteme. Programska oprema je bila tako zelo prepričljiva, da so jo nekateri zares začeli uporabljati. Pravzaprav je, upoštevaje zasnovo osnovnega simulacijskega orodja, programska oprema vsebovala vse potrebno za dober ugrabiteljski virus: skrivni komunikacijski kanal, beleženje pritiskanja tipk, vdiranja v spletno kamero in še bi lahko naštevali. Vsa orodja so nastala kot simulacija napredne nenehne grožnje (Advanced Persistent Threat ali APT) in so bila v osnovi mišljena kot peskovnik za iskanje načinov vdiranja v sisteme. Povsem nedoumljivo pa je, da je uporaba Cobalt Strika plačljiva, tako za varnostna podjetja kot za kriminalna združenja.

Brezdatotečna grožnja

Če smo na samem začetku napisali, da virus lahko skrijemo povsod, kamor lahko zapisujemo podatke, pa to še ne pomeni, da se vsi virusi nekam tudi trajno zapišejo. Nekateri ostajajo zgolj v sistemskem pomnilniku, kjer jih je mnogo težje odkriti, da o izkoriščanju uradnih programskih rešitev za širjenje zlonamerne programske opreme niti ne razpredamo naprej.

PowerGhost je virus, ki krade procesorsko moč okuženih naprav za rudarjenje kriptovalut. Ideja nikakor ni nova in poznamo primere, ko so nekateri posamezniki rudarili za kriptovalutami v lastnih službah, a to bi le stežka šteli za računalniški virus. Prava posebnost PowerGhosta je v tem, da vsebuje zakrito PowerShell skripto, ki vključuje različne dodatne module od rudarjenja kriptovalut, že omenjene Mimikatz varnostne luknje do različnih knjižnic, ki so potrebne za samo rudarjenje in delovanje posameznih delcev virusa. Ta se je širil po strežnikih, osebnih računalnikih in celo POS-terminalih in prisilil naprave, da so vsak dan generirale košček kriptovalute. Več kot je bilo okuženih naprav, večji dobiček so hekerji lahko pričakovali; prava zlata jama pa so bile okužbe celotnih strežniških farm.

Et tu, CPU?

Praktično ne mine mesec, da ne bi brali o novoodkritih ranljivostih v različnih napravah ali v tokratnem konkretnem primeru, procesorjih. Strežniški procesorji podjetja AMD Epyc po novih odkritjih omogočajo nalaganje neuradne mikrokode. To je zelo specifična programska koda, s katero proizvajalec procesorja dejansko »sprogramira« delovanje strojnih ukazov, ki jih na koncu programske verige v resnici vedno (in edino) izvaja procesor. Spremenjena programska koda torej pomeni spremenjeno delovanje samega procesorja! Kot dokaz so Googlovi raziskovalci, ki so omenjeno ranljivost odkrili, objavili, procesorski ukaz RDRAND, ki naj bi odgovoril z naključnim številom, tako spremenili, da vedno odgovori z zelo predvidljivim številom štiri.

In kako je to lahko varnostni problem, povprašate? Generiranje naključnih števil se v programski opremi zelo pogosto uporablja kot osnova za varno šifriranje in drugo kriptografijo. Če je procesor »popravljen« na način, da naključno število ni več naključno, ampak celo vedno isto, potem je zaščita podatkov najmanj vprašljiva, da ne rečemo praktično nična. A ne skrbite preveč, popravek je že pripravljen. Ironično, v obliki popravka mikrokode, ki pa je, seveda, uradna.

Rudarjenje PowerGhosta se je izvajalo neposredno iz pomnilnika naprave, fizičnih datotek virus ni uporabljal. Poleg rudarjenja se je uspešno samodejno širil po omrežjih in napadal druge naprave, ki jih je našel; napadi so potekali predvsem prek izkoriščanja nezakrpanih varnostnih lukenj in oddaljenih administrativnih orodij. Kako učinkovit je lahko tak prijem ob vsem znanem dejstvu, da so strežniki pravzaprav računalniki, ki se naj ne bi nikdar ugašali in se čim bolj poredko ponovno zaganjali, prepuščamo vaši domišljiji.

In domišljija ne pozna meja

Ob zgoraj opisanih virusih obstaja še cel spekter računalniških, ki se poleg tehnološke dovršenosti zanašajo tudi na dobro staro človeško naivnost. QRat je virus, ki računa na človeško radovednost in vabi k skeniranju zlonamernih QR-kod, BadUSB vabi k uporabi USB-ključkov, ki reprogramirajo vdelano programsko opremo USB-naprav tako, da delujejo kot tipkovnica ali omrežna kartica, kar jim omogoča izvajanje zlonamernih ukazov. LightNeuron ciljno napada izbrana podjetja tako, da spremlja spletni promet zaposlenih v podjetju in na najbolj obiskane spletne strani namešča zlonamerno programsko opremo. Mnogih variacij virusov, ki izkoriščajo naivnost uporabnikov različnih družabnih omrežij ali spletnih strani, da bodo dobili brezplačen nov telefon ali avto, pa niti ne bomo omenjali, ker jih je preprosto preveč.

Svet računalniških virusov je tehnološko raznolik in pester, iz zgoraj opisanih primerov pa je razvidno, da se pot prav vsakega začne z neko varnostno luknjo ali napako v izvrševanju programske kode. Sledi bitka s časom, kako hitro je mogoče take luknje izkoristiti na eni strani ali pokrpati na drugi. Varnostni popravek še ne pomeni tudi konca življenjske dobe virusa, saj je veliko odvisno tudi od zaposlenih v IT v podjetjih in lastnega znanja doma. Vsako tako razkritje prinese stroške na eni strani in napredek na drugi, čeprav je težko v vsakem trenutku z gotovostjo trditi, kdo pije in kdo plača. Prepričani pa smo, da na dolgi rok vsaka šola nekaj stane in vsaka prinese napredek, če smo se iz lastnih napak pripravljeni učiti in kaj tudi naučiti.

 
  • Polja označena z * je potrebno obvezno izpolniti
  • Pošlji