SMBv3 vulnerability CVE 2020 0796
11.3.2020

O ranljivosti v SMBv3 protokolu in kako se obraniti pred povezanimi napadi

V času, ko se države in prebivalci spopadajo z obvladovanjem virusa COVID19 iz družine korona virusov, je v svetu informacijske varnosti odjeknila novica o ranljivosti v protokolu Server Message Block 3.0 (SMBv3). Po naključju ravnokar minevajo tri leta od zlorabe starejše verzije protokola SMB in porajajo se strahovi, da bi se zgodba ponovila in tudi v kibernetski svet vnesla negotovost in dodatna tveganja. Pred tremi leti je namreč skupina ShadowBrokers razkrila ranljivost EternalBlue v SMBv1 (pri čemer je bil popravek s strani ponudnika programske opreme Microsoft na voljo že en mesec), ki je bila potem izkoriščena v nekaj najbolj uničujočih napadih zlonamerne programske opreme v zgodovini (WannaCry, NotPetya ipd.). V nadaljevanju si bomo pogledali kaj je ranljivost SMBv3, kakšna je verjetnost ponovitve scenarija z verzijo v1 ter kakšne ukrepe izvesti, da bodo vaši IT-sistemi in posel varnejši.

Kaj je ranljivost SMBv3?

Ranljivost je razkrita pod kodnim imenom CVE-2020-0796, opisuje pa potek napada, ki izkorišča t.i. “buffer overflow” ranljivost v SMB protokolu na novejših sistemih Microsoft Windows. Ranljivost je posledica načina obravnave določenega tipa paketov, ki uporabljajo kompresijo in je zasnovana tako, da povzroči napako v delovanju programske opreme. Oddaljeni napadalec lahko izkoristi ranljivost tako, da na napadenem računalniku izvede poljubno škodljivo kodo znotraj aplikacije.

Za razliko od ranljivosti izpred treh let, kjer so bile prizadete skoraj vse stare verzije sistemov Microsoft Windows, so tukaj prizadete novejše verzije in še to v omejenem obsegu - prednjačijo namizni Windows sistemi, strežnikov je manj.

Zakaj je razkritje ranljivosti pomembno?

V času nastajanja tega prispevka za ranljivost ni popravka, ker je prišlo do objave po pomoti. Microsoft naj bi namreč v okviru rednih posodobitev objavil tudi popravek za ranljivost SMBv3, kar pa se ni zgodilo. To jo zato uvršča med t.i. ranljivosti prvega dne (ang. “zero-day exploit). To je nevarno, še posebej če se spomnimo zlorab SMBv1 v primeru EternalBlue.

Kako se lahko zaščitite?

Dokler ne bo na voljo varnostnega popravka, vam svetujemo, da izvajate splošne ukrepe za zviševanje kibernetske obrambe ter specifične ukrepi za zmanjševanje ranljivosti. Splošni ukrepi so zelo pomembni, saj vam zmanjšujejo potencialno škodo tudi v primeru drugih podobnih ranljivosti, zlonamernih aktivnosti hekerjev ali izsiljevalske programske opreme. Med splošne ukrepe spadajo:

1. Omejevanje omrežnega prometa za SMB in RDP na končnih delovnih postajah

TCP omrežna vrata 445 se uporabljajo za vzpostavljanje povezave po protokolu SMB, ki je v tem primeru prizadeta komponenta. Zapiranje povezav na teh vratih na zunanji požarni pregradi je že samoumeven ukrep, ker tako preprečimo, da bi se ranljivost razširila v naše okolje. Večina organizacij pa ne izvaja omejevanja SMB-protokola v internih omrežjih. Običajno ni poslovnih potreb, da je na končnih delovnih postajah omogočeno deljenje po protokolu SMB, ker se deljenje datotek med uporabniki varneje uredi na drugačne načine. Dobra praksa je, da se na končnih delovnih postajah na požarni pregradi omeji komunikacija preko vrat za SMB in RDP protokola. Na ta način namreč zelo omejimo in otežimo razširjanje črvov, lateralno gibanje hekerjev in večino izsiljevalske programske opreme.

2. Čim prej namestite varnostne popravke

Ena najbolj očitnih in morda najmanj uporabljenih tehnik je sprotno nameščanje varnostnih popravkov. Tudi če za konkretno ranljivost še ni popravka, obstajajo za druge ranljivosti. V napadih ali zlonamerni programski opremi se večkrat pojavi zloraba več ranljivosti hkrati. Vsekakor se zavedamo, da je za določene organizacije s kompleksnimi okolji nalaganje varnostnih popravkov v kombiniranih IT/OT okoljih precejšen izziv. Podatkih različnih raziskav nakazujejo, da od pojava varnostnih popravkov do same namestitve v večini organizacij preteče nekaj mesecev. V tem času je okolje ranljivo. Še huje je, da se na nekatere sisteme varnostnih popravkov sploh ne namešča, ker je organizacije in sistemske administratorje strah, da sistem ne bo več ustrezno deloval. V takšnih primerih je potrebno uporabiti drugačne pristope omejevanja potencialne škode ob zlorabi ranljivosti. Za ranljivost SMBv3 popravek še ne obstaja.

3. Segmentacija omrežja in uvedba politik dostopa

Večina poslovnih omrežij ima bolj ali manj dolgo zgodovino, tipično pa so bili sprva strežniki in končne delovne postaje v enem omrežnem segmentu. Takrat to ni bila posebna težava, v modernih omrežjih pa je strežnikov veliko. Hkrati se v poslovno omrežje dodajajo razne IoT naprave, ki prinašajo vanj dodatne ranljivosti. Segmentacija omrežja je zato eden najpomembnejših korakov, ki bi ga morala izvesti vsaka organizacija. S segmentacijo naprave ločite v skupine, med katere lahko kasneje uvedete požarne pregrade ter ustrezno nadzorujete dostope med posameznimi segmenti in omrežnimi viri. Na ta način precej zmanjšate nevarnost tako notranjih kot zunanjih groženj. Večina organizacij ima trenutno enostavno segmentacijo, kjer dostop do požarne pregrade omejujejo samo med poslovnim in DMZ omrežjem. Nekatere že imajo logično segmentirana omrežja, vendar ne uporabljajo požarne pregrade za omejevanje prometa. Pravilno je, da dovolite dostop do omrežnih virov samo skupinam, ki ga potrebujejo (npr. ne dovolite dostopa do strežnika z ERP-sistemov tistim, ki ga na potrebujejo). V primeru, da pride do zlorabe končne delovne postaje, bo lateracija do drugih postaj in kritičnih podatkov omejena in precej otežena. Omrežja brez ustrezne segmentacije, so “nevarnost, ki preži za vogalom”, ker se bodo težave izrazile pri praktično vsakem vdoru ali okužbi z izsiljevalsko programsko opremo. Za nameček pa se prepogosto zgodi, da administratorji strežnikov za potrebe razreševanj tehničnih težav začasno izklopijo požarno pregrado na strežniku in jo pozabijo vklopiti nazaj po odpravi težave, kar je brez ustreznega preverjanja ranljivosti težko odkriti.

4. Omejevanje izrabe ranljivosti v SMBv3 protokolu

Konkretno ranljivost lahko po priporočilih proizvajalca omejimo tako, da onemogočimo kompresijo. Na ta način bomo onemogočili ne-overjenim uporabnikom, da zlorabijo ranljivost v SMBv3 protokolu. To storite s s sledečim PowerShell ukazom:

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" DisableCompression -Type DWORD -Value 1 -Force
  • Po izvedbi ni potreben ponovni zagon sistema.
  • Omejitev ne deluje za SMB odjemalce.

Nastavitev lahko po potrebi povrnete v prvotno stanje s sledečim ukazom:

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" DisableCompression -Type DWORD -Value 0 -Force

Koliko smo zares v nevarnosti?

V NIL-ovem varnostno operativnem centru (SOC) smo z orodji za odkrivanje varnostnih ranljivosti preverili nekaj poslovnih okolij ter ocenili prisotnost protokola SMBv3. To nam pomaga določiti stopnjo tveganja za posamezna okolja, v primeru da se zloraba ranljivosti razširi. V korporativnih okoljih tipično svetujemo onemogočanje SMBv1, glede na naše podatke pa kaže, da je danes raba protokola SMBv3 prisotna v manj kot 10% organizacij.   

To pomeni, da za tipično organizacijo tveganje ni veliko, je pa še vseeno vredno vse pozornosti. Obstaja namreč možnost, da bi prišlo do uspešne lateracije hekerjev z uporabo omenjene ranljivosti. Trenutno namreč še ni informacije, da bi se omenjena ranljivost uspešno zlorabljala.

Še nekaj dobrih novic

Čeprav popravek za ranljivost trenutno še ni na voljo, pa se nadejamo, da kmalu bo. Prav tako naši podatki kažejo, da glede na razširjenost SMBv3 ni za pričakovati napadov in zlorab takšnih razsežnosti, kot so se dogajale pred tremi leti. Upamo pa tudi, da so se organizacije v teh letih že marsikaj naučile.

Če še ne izvajate splošnih varnostnih ukrepov vam svetujemo, da se tega lotite čim prej, saj ne zahtevajo praktično nobenih investicij.

Avtor: David Kasabji, Boštjan Žvanut