Tudi v Sloveniji je v procesu celovitega upravljanja s kibernetsko varnostjo že uveljavljeno varnostno testiranje, ki je ključno za izbiro pravih potez za izboljšanje ravni kibernetske varnosti v podjetju. Varnostno testiranje je teoretično smiselno po vsaki spremembi, ki bi lahko vplivala na skupno varnost vseh informacijskih sredstev.
Smo v obdobju, ko se informacijski sistemi bolj kot kdajkoli prej prilagajajo poslovnim potrebam. Dodajamo nove uporabnike, jim menjamo vloge (pravice), priključujemo nove naprave, tudi mobilne. Nastavitve imenikov, avtentikacijskih sistemov, požarnih pregrad in drugih naprav so podvržene stalnim spremembam, ki jih zahteva posel. Na drugi strani pa se pojavljajo vedno nove in nove ranljivosti, ki jih moramo odpravljati. Zato je vse bolj prisotna potreba po stalnem oz. kontinuiranem in konsistentnem varnostnem preverjanju.
Stalno varnostno testiranje je velik izziv
Stalno varnostno testiranje ni mogoče zaradi vsaj naslednjih dveh vzrokov:
- Da bi vsem podjetjem lahko zagotovili stalno varnostno testiranje, bi potrebovali ogromno število usposobljenih pentesterjev ali ekvivalentnih varnostnih strokovnjakov. Ne le v Sloveniji, tudi drugod takih profilov zaposlenih bistveno primanjkuje in stanje se v bližnji prihodnosti ne bo izboljšalo.
- Takšno izvajanje varnostnih testov bi bilo zelo drago.
Zagotavljanje konsistentnosti storitve pa je že tako vsesplošni problem. Ko sklepamo posle z gradbeniki, običajno raje izberemo izvajalca z referencami in izkušnjami ter na račun boljše kakovosti plačamo nekoliko več. V svetovalni dejavnosti je razlika v kakovosti in konsistenci opravljene storitve še večja. Tudi če izberemo najboljšega izvajalca, so dodatna pomanjkljivost omejitve, ki so vnaprej dogovorjen kompromis z naročnikom in so pogosto povezane tudi s ceno storitve.
Ena takšnih omejitev je tudi izvajanje varnostnega testiranja med 8. in 16. uro. Hekerji se nikakor ne ozirajo na vaš delovnik. Zelo verjetno bodo napad izvedli takrat, ko ga boste najmanj pričakovali. Zato je testiranje bolje izvajati ob neobičajnih urah. Velika prednost testiranja ponoči je običajno tudi to, da se takrat izvajajo avtomatska opravila (npr. varnostno kopiranje) ter se po omrežju pošiljajo pomembna gesla, ki omogočajo delovanje teh opravil. Nenazadnje pa moramo upoštevati tudi dejstvo, da je lahko konsistentnost opravljene storitve nekoliko odvisna od ‘dnevne forme’ izvajalca, v zadnjem času pa tudi omejitev, povezanih z ukrepi za zajezitev pandemije Covid-19.
Večina podjetij danes že izvaja stalno varnostno testiranje. To običajno počnejo z orodji za odkrivanje ranljivosti programske opreme (angl. vulnerability scanner), ki so zelo enostavna za uporabo. Ta orodja odkrite ranljivosti z uporabo CVSS tudi rangirajo po stopnjah, zato jih podjetja običajno tako tudi odpravljajo — najprej kritične, nato visoke in tako naprej, dokler je odprava ranljivosti stroškovno upravičena.
Odpravljanje ranljivosti po stopnjah ni najbolj ustrezno
Ob ročnem pregledu se včasih izkaže, da kakšne kritične ranljivosti ni mogoče izrabiti. Po drugi strani pa je nemalokrat kakšna zelo pomembna ranljivost rangirana s stopnjo info. Dogaja se tudi, da je dve nižje rangirani ranljivosti skupaj mogoče zlorabiti, ne pa vsake posebej — temu rečemo veriženje ranljivosti (angl. vulnerability chaining). Za take primere model odpravljanja ranljivosti po stopnjah ni več ustrezen, saj ne odpravimo vseh ranljivosti, ki jih je mogoče izrabiti. Celo nasprotno, zmotno odpravljamo ranljivosti, ki jih ni mogoče izrabiti.
Zato bi bilo bolje, če bi namesto z ranljivostmi upravljali z možnimi vdori (angl. exploits). Orodje, ki takšne teste omogoča, je v panogi relativna novost, njegova prednost pa je, da poleg odkrivanja ranljivosti tudi preizkuša dejanske možnosti vdora. In najpomembnejše — z njim odkrijemo izvorno ranljivost (angl. root vulnerability), z odpravo katere lahko prekinemo verigo ranljivosti. Tako tem onemogočimo možnost vdora, čeprav v verigi obstajajo še druge ranljivosti. To je pravzaprav tisto, kar želimo: preprečevanje možnosti izrab in vdorov. Primer takšne verige ranljivosti smo predstavili na konferenci Infosek.
Zaščitite se z močnimi gesli
Poudaril bi še ranljivost, ki obstaja v večini omrežij, vendar je ne odkrije nobeno orodje za odkrivanje ranljivosti. To so šibka gesla. Gesla, skladna z zastarelimi smernicami glede dolžine, kompleksnosti, pogostosti menjav ipd., so pogosto šibka, ker jih lahko najdemo v slovarjih v preteklosti razkritih gesel (angl. dictionary attack). Zato je zelo pomembno da bi tudi takšne ranljivosti preverjali z avtomatiziranim lovljenjem in/ali razbijanjem gesel (angl. password cracking).
Katera varnostna testiranja lahko popolnoma avtomatiziramo?
Avtomatizacija je smiselna in tudi mogoča za tehnologije, ki so enake v večini podjetij. To so domenske tehnologije; tipično je uporabljena Windows domena. Tam se uporabljajo protokoli, kot so NetBIOS, SMB, LDAP, NTLM različnih verzij ipd. Zlorabe ranljivosti omenjenih tehnologij so zelo podobne ali identične v vseh podjetjih, zlasti če so uporabljene privzete nastavitve. Za prikaz možnih posledic kibernetskega vdora je smiselna tudi avtomatizacija bočnih (angl. lateral movement) ali vertikalnih (angl. vertical movement) premikov, ki pokaže, kako lahko heker iz ene zlorabljene naprave zlorabi še druge v omrežje povezane naprave ter s tem prodre do najbolj zaupnih podatkov. Prav tu ročna varnostna testiranja, ki jih izvajajo pentesterji, naletijo na pomembno oviro — čas za izvedbo projekta. Bočne premike večina pentesterjev zna izvesti, vendar največkrat za to zmanjka časa.
Kako naj poteka avtomatizirano varnostno testiranje?
Tako, kot to počnemo pentesterji: zelo metodološko. Ena od priznanih metodologij PTES predvideva 7 ključnih korakov. Izkaže se, da je vse korake mogoče avtomatizirati tam, kjer se ugotovitve predhodnega koraka uporabi v nadaljnjih korakih. Zaradi celovitosti je zelo smiselno vključiti vse tehnike okvira MITRE ATT&CK.
Veliko jih dvomi v realnost avtomatizacije. Dokaz, da je res možna, najdemo v škodljivi programski kodi (angl. malware). Na spletu je mogoče najti forenzično analizo izsiljevalskih virusov, kjer so prikazane uporabljene tehnike okvira MITRE ATT&CK. Če znajo to avtomatizirati zlonamerni hekerji, zakaj ne bi znali dobronamerni?
Tehnološko se avtomatizacijo varnostnih testov lahko izvede na dva načina. Z ali brez agenta. Rešitev brez agenta izvaja pravi avtomatizirani pentest in lahko testira vse naprave v vašem omrežju. Rešitev z agentom izvaja simulacije napadov na napravah, ki imajo nameščenega agenta, in med njimi. Vsaka rešitev ima svoje prednosti ter kakšno slabost v primerjavi z drugo.
Takšne podrobnosti bomo pojasnili v seriji webinarjev, ki jih načrtujemo v oktobru in novembru. Ključna pa je skupna lastnost obeh tipov orodij, in sicer, da ne javljata lažnih alarmov (ang. false positive). To je mogoče izključno zato, ker ta orodja ne le odkrivajo ranljivosti, temveč na varen način preverijo možnost izrabe teh ranljivosti.
1000 pentesterjev med jutranjo kavo
Rezultati avtomatiziranih varnostnih testov pri strankah so do zdaj vedno presenetili tako stranko kot tudi nas. Ko smo še skupaj pili jutranjo kavo, je računalnik z nameščeno rešitvijo PcySys PenTera že razbil več domenskih gesel ter pridobil privilegije domenskega administratorja. Pridobil je popoln nadzora nad domeno Windows. Še najbolj pomembno pa je, da tak varnostni test lahko po začetni integraciji enostavno izvede vsak. Kot da bi imel s klikom na gumb na voljo 1000 pentesterjev … kadar koli.
Kakšno je torej optimalno varnostno testiranje?
V podjetju Carbonsec vidimo prihodnost varnostnih testiranj v pravem razmerju avtomatizacije in ročnega testiranja. Avtomatizacija je smiselna in mogoča ob izbiri pravih orodij. To je edini način, da lahko stalno in konsistentno izvajamo varnostna testiranja, ki dajo relevantne rezultate — kateri vdori so dejansko mogoči v vašem omrežju. Vendar z avtomatizacijo ne moremo pokriti popolnoma vseh tehnologij. Tipično namenske aplikacije (spletne, mobilne ter tudi klientske) moramo še vedno testirati ustrezno kvalificirani pentesterji. Podobno velja za zahtevne analize arhitektur omrežij ter druge oblike svetovanj s področja kibernetske varnosti.
Nova orodja nam torej omogočajo, da lahko svoje delo še bolj intenzivno usmerimo na testiranje tistih segmentov omrežja, kjer je naše delo nenadomestljivo.