Zavedanje, da se je v vašem omrežju tik pred nosom izvajal vektor napada, je lahko šokantno. Odigrali ste svojo vlogo, tako da ste uvedli nekaj, kar se je zdelo učinkovita varnostna obramba, vendar jih je napadalec vseeno uspel obiti. Kako je bilo to mogoče?
Lahko bi uporabili vbrizgavanje procesov z vstavljanjem zlonamernih kod v vaše zakonite procese. Kako deluje procesno vbrizgavanje in kako ga lahko preprečite?
Kaj je procesno vbrizgavanje?
Vbrizgavanje procesa je postopek, pri katerem napadalec vstavi zlonamerno kodo v zakonit in živ proces v omrežju. Prevladujejo napadi zlonamerne programske opreme, omogoča kibernetskim akterjem, da okužijo sisteme na najbolj nezahtevne načine. Napredna tehnika kibernetskega napada, vsiljivec vstavi zlonamerno programsko opremo v vaše veljavne procese in uživa privilegije teh procesov.
Kako deluje Process Injection?
Najučinkovitejše vrste napadov so tiste, ki lahko potekajo v ozadju, ne da bi vzbujali sum. Običajno lahko grožnjo zlonamerne programske opreme odkrijete tako, da opišete in preučite vse procese v svojem omrežju. Toda odkrivanje vbrizgavanja procesov ni tako enostavno, ker se kode skrivajo pod sencami vaših zakonitih procesov.
Ker ste svoje pooblaščene postopke uvrstili na seznam dovoljenih, jih bodo vaši sistemi za odkrivanje potrdili, da so veljavni, brez znakov, da je nekaj narobe. Vstavljeni procesi tudi zaobidejo forenziko diska, ker se zlonamerne kode izvajajo v pomnilniku dovoljenega procesa.
Napadalec uporablja nevidnost kod za dostop do vseh vidikov vašega omrežja, do katerih lahko dostopajo zakoniti procesi, pod katerimi se skrivajo. To vključuje določene skrbniške pravice, ki jih ne bi podelili skoraj nikomur.
Čeprav lahko vbrizgavanje procesov zlahka ostane neopaženo, jih lahko napredni varnostni sistemi zaznajo. Kibernetski kriminalci torej dvignejo mejo, tako da ga izvajajo na najbolj nezahtevne načine, ki jih taki sistemi spregledajo. Uporabljajo osnovne procese Windows, kot so cmd.exe, msbuild.exe, explorer.exe itd. za izvajanje takšnih napadov.
3 Tehnike procesnega vbrizgavanja
Za različne namene obstajajo različne tehnike procesnega vbrizgavanja. Ker akterji kibernetskih groženj dobro poznajo različne sisteme in njihov varnostni položaj, uporabijo najprimernejšo tehniko za povečanje stopnje uspešnosti. Poglejmo si nekatere od njih.
1. Vbrizgavanje DLL
Vstavljanje DLL (Dynamic Link Library) je tehnika vbrizgavanja procesa, pri kateri heker uporablja dinamično povezovalno knjižnico, da vpliva na izvršljiv proces in ga prisili, da se obnaša na načine, ki jih niste nameravali oz. pričakovati.
Napad vbrizga kodo z namenom, da preglasi izvirno kodo v vašem sistemu in jo nadzoruje na daljavo.
Vstavljanje DLL, ki je združljivo z več programi, omogoča, da programi večkrat uporabijo kodo, ne da bi pri tem izgubili veljavnost. Da bi bil postopek vstavljanja DLL uspešen, mora zlonamerna programska oprema vsebovati podatke o okuženi datoteki DLL v vašem omrežju.
2. PE brizganje
Prenosna izvedba (PE) je metoda vbrizgavanja procesa, pri kateri napadalec okuži veljaven in aktiven proces v vašem omrežju s škodljivo sliko PE. Je enostavnejša od drugih tehnik procesnega vbrizgavanja, saj ne zahteva veščin kodiranja lupine. Napadalci lahko preprosto napišejo kodo PE v osnovnem C++.
Vbrizgavanje PE je brez diska. Zlonamerni programski opremi ni treba kopirati svojih podatkov na noben disk, preden se začne vbrizgavanje.
3. Proces Hollowing
Process Hollowing je tehnika vbrizgavanja procesa, pri kateri napadalec namesto obstoječega legitimnega procesa ustvari nov proces, vendar ga okuži z zlonamerno kodo. Napadalec razvije nov proces kot datoteko svchost.exe ali beležnico. Tako se vam ne bo zdel sumljiv, tudi če bi ga odkrili na seznamu postopkov.
Nov zlonamerni proces se ne začne izvajati takoj. Kibernetski kriminalec ga naredi neaktivnega, ga poveže z zakonitim procesom in zanj ustvari prostor v pomnilniku sistema.
Kako lahko preprečite procesno vbrizgavanje?
Vstavljanje procesa lahko uniči vaše celotno omrežje, saj bi lahko imel napadalec najvišjo raven dostopa. Njihovo delo zelo olajšate, če so vbrizgani procesi seznanjeni z vašimi najbolj cenjenimi sredstvi. To je en napad, ki si ga morate prizadevati preprečiti, če niste pripravljeni izgubiti nadzora nad svojim sistemom.
Tukaj je nekaj najučinkovitejših načinov za preprečevanje procesnega vbrizgavanja.
1. Sprejmite seznam dovoljenih
Bela lista je postopek seznam nabora aplikacij ki lahko vstopijo v vaše omrežje na podlagi vaše varnostne ocene. Zagotovo ste mislili, da so elementi na vašem seznamu dovoljenih neškodljivi, in če dohodni promet ne spada v pokritost vašega seznama dovoljenih, ne morejo iti mimo.
Če želite preprečiti vstavljanje postopka z belim seznamom, morate na svoj beli seznam dodati tudi uporabniški vnos. Obstajati mora niz vnosov, ki lahko prehajajo skozi vaša varnostna preverjanja. Torej, če napadalec naredi kakršen koli vnos zunaj vaše jurisdikcije, ga bo sistem blokiral.
2. Spremljajte procese
V kolikor lahko vbrizgavanje procesa obide nekatere varnostne preglede, ga lahko obrnete tako, da ste pozorni na vedenje procesa. Če želite to narediti, morate najprej opisati pričakovano zmogljivost določenega procesa in jo nato primerjati z njegovo trenutno zmogljivostjo.
Prisotnost zlonamernih kod v procesu bo povzročila nekatere spremembe, ne glede na to, kako majhne so za proces. Običajno bi te spremembe spregledali, ker so nepomembne. Ko pa želite odkriti razlike med pričakovano in trenutno zmogljivostjo prek spremljanja procesa, boste opazili anomalijo.
3. Kodiraj izhod
Akterji kibernetske grožnje pogosto uporabljajo Cross-Site Scripting (XSS) za vbrizgavanje nevarno kode v procesu vbrizgavanja. Te kode se spremenijo v skripte, ki se izvajajo v ozadju vašega omrežja brez vaše vednosti. To lahko preprečite tako, da preverite in očistite vse sumljive vnose. Po drugi strani pa bodo prikazani kot podatki in ne zlonamerne kode, kot je predvideno.
Izhodno kodiranje najbolje deluje s kodiranjem HTML – tehnika, ki vam omogoča kodiranje spremenljivega izhoda. Identificirate nekaj posebnih znakov in jih nadomestite z alternativami.
Preprečite vstavljanje procesov z varnostjo, ki jo vodi inteligenca
Vbrizgavanje procesa ustvari dimno zaveso, ki prikrije zlonamerne kode znotraj veljavnega in delujočega procesa. Kar vidite, ni tisto, kar dobite. Napadalci razumejo učinkovitost te tehnike in jo nenehno uporabljajo za izkoriščanje uporabnikov.
Za boj proti vbrizgavanju procesov morate napadalca prelisičiti tako, da s svojo obrambo niste tako očitni. Izvedite varnostne ukrepe, ki bodo na površini nevidni. Mislili bodo, da se igrajo z vami, a ne da bi vedeli, ste vi tisti, ki jih igrate.