Ukratko: Upravljanje ranjivostima u srednjim tvrtkama i malim i srednjim poduzećima uredan je, ponavljajući krug: poznavati sustave, ciljano pratiti obavijesti, procijeniti prema riziku, odlučiti, provesti i dokazati. Odlučujući nisu skupi alati, nego jasne odgovornosti i određivanje prioriteta koje uzima u obzir dostupnost, podatke i stanje napada. PHP2Shell dobar je primjer za vježbu jer se u njemu pojavljuju svi koraci.
Stotine obavijesti, malo osoblja
Svaki se tjedan objavljuju nove sigurnosne ranjivosti, u operacijskim sustavima, programskim jezicima, aplikacijama i dodacima. Koncern za to ima tim. Srednja tvrtka često ima voditelja IT-a, jednog ili dva administratora i nekoliko vanjskih pružatelja usluga. Nitko ne može pročitati svaku obavijest, a to nitko ni ne mora.
Potreban je filtar: koje se obavijesti odnose na naše sustave, koje su od njih hitne i tko se time bavi? Ako filtra nema, događa se jedno od dvoje. Ili se sve ignorira dok se nešto ne dogodi, ili svaka obavijest izaziva uzbunu pa stvarno kritična nestane u šumu.
Krug upravljanja ranjivostima
Održiv postupak za mala i srednja poduzeća može se opisati u šest koraka:
- Evidentirati što radi. Bez popisa nema usporedbe. Koje web-stranice, poslužitelje, verzije PHP-a i aplikacije pokrećete i gdje? Kako to uspijeva, pokazuje Znati što radi: popis svih web-stranica i poslužitelja.
- Pratiti obavijesti. Pretplatite se na nekoliko pouzdanih izvora: upozorenja BSI-ja, obavijesti proizvođača Vašeg softvera, sigurnosne stranice Vaše Linux distribucije, a za PHP početnu stranicu php.net-a.
- Procijeniti. Odnosi li se obavijest na nas? Ako da, koliko je hitna? O tome više u nastavku.
- Odlučiti. Otkloniti, privremeno zaštititi, izolirati sustav ili svjesno preuzeti rizik. Tko smije što odlučivati?
- Provesti. Instalirati ažuriranje, postaviti prijelaznu mjeru, angažirati pružatelja usluga.
- Dokazati i pratiti. Je li ranjivost doista zatvorena? Kada se prijelazno rješenje zamjenjuje?
Nakon toga krug počinje iznova. Dolaze novi sustavi, stari otpadaju i pojavljuju se nove obavijesti.
Kod koraka 2 pomaže jednostavno pravilo: bolje je redovito čitati nekoliko izvora nego povremeno mnogo njih. Za tipično web-okruženje srednje tvrtke najčešće su dovoljna upozorenja CERT-Bunda pri BSI-ju (BSI je njemački Savezni ured za informacijsku sigurnost, a CERT-Bund njemački državni CERT), sigurnosne obavijesti korištene Linux distribucije, stranice proizvođača CMS-a i shop sustava te početna stranica php.net-a. Odredite tko čita te izvore i za to postavite zajednički poštanski sandučić ili kanal koji ne ovisi o jednoj osobi.
Korisno je i dopunski pogledati izvana. Redoviti sken ranjivosti javno dostupnih sustava pokazuje je li vidljiv zastarjeli softver ili nepotrebno otvorene usluge. Ne zamjenjuje ni popis ni ažuriranja, ali otkriva sustave koji nisu ni na jednom popisu.
Procjena: što je na redu prvo
CVSS ocjena, standardizirano razvrstavanje težine, dobra je polazna točka. Za redoslijed u vlastitoj kući ipak nije dovoljna. Odlučuju još tri pitanja:
| Pitanje | Povećava hitnost | Smanjuje hitnost |
|---|---|---|
| Je li sustav dostupan s interneta? | javna web-stranica, web-shop, portal | samo interno, iza VPN-a |
| Treba li prijava da bi se ranjivost iskoristila? | ne, bez autentifikacije | da, samo za administratore |
| Koje podatke sustav obrađuje? | podatke o kupcima, plaćanja, pristupne podatke | javne sadržaje bez računa |
| Postoje li izvješća o napadima? | prijavljeni pokušaji napada | nema poznatih pokušaja |
| Postoji li prijelazna mjera? | ne | da, s dokazanim učinkom |
PHP2Shell pokazuje kako to zajedno djeluje. Obje ranjivosti imaju CVSS v4.0 ocjenu 9.2, omogućuju izvršavanje koda bez prijave i pogađaju javno dostupne web-poslužitelje. Cloudflare i Patchstack prema medijima izvijestili su o pokušajima napada, a BSI je stanje svrstao u razinu upozorenja 3. Prijelazne mjere php.net-a izričito ne pružaju potpunu zaštitu. Sva pitanja upućuju u istom smjeru: djelovati odmah. Što je BSI konkretno preporučio, nalazi se u članku Što BSI preporučuje o PHP2Shellu.
Odluka i dokumentacija
Svaka se ranjivost ne može odmah zatvoriti. Stari sustav radi na PHP-u 8.1, za koji više nema službenih ažuriranja (vidi PHP 8.1 i stariji: što sada vrijedi), a stručna aplikacija još ne podnosi ažuriranje. Tada je potrebna odluka, a ona ne pripada samo tehnici.
Dobra bilješka o odluci sadrži pogođeni sustav, ranjivost, procjenu, odabranu opciju, prijelazne mjere, odgovornu osobu i rok za ponovnu provjeru. Ako se rizik svjesno preuzima, odlučuje rukovodstvo, a ne administrator sam. OWASP Cheat Sheet o postupanju s ranjivim ovisnostima također preporučuje da se prihvaćanje rizika izričito smjesti na razinu rukovodstva.
Vodite jedan jedini popis otvorenih ranjivosti sa statusom, odgovornom osobom i rokom. Dovoljna je tablica. Važno je da se redovito pregledava, primjerice na mjesečnom sastanku s upravom.
Kakve veze imaju NIS2 i pružatelji usluga
Za tvrtke koje spadaju pod NIS2 postupanje s ranjivostima dio je obveza upravljanja rizicima. Pojedinosti opisuje NIS2 i sigurnost web-poslužitelja. No i bez zakonske obveze dokumentiran postupak je prednost, primjerice prema kupcima, osigurateljima i vlastitoj upravi.
Mnogi se koraci mogu povjeriti drugima, primjerice praćenje obavijesti ili instaliranje ažuriranja. Odluka o rizicima i cjelokupni pregled trebaju ipak ostati u kući. Tko krug u potpunosti preda pružatelju usluga, u kritičnom trenutku više ne zna koje sustave uopće ima. Kako se provedba organizira kao rutina, opisuje Upravljanje zakrpama kao proces umjesto gašenja požara.
Kako PHP SOS konkretno pomaže?
- S Vama izrađujemo popis Vaših web-stranica i poslužitelja kao osnovu za svaku usporedbu.
- Za Vaše sustave pratimo relevantne obavijesti i dostavljamo procjenu jasnim riječima s preporukom.
- Pripremamo bilješke o odlukama za slučajeve u kojima ažuriranje nije odmah moguće.
- Putem sigurnosnog nadzora kontinuirano provjeravamo postaju li sustavi sumnjivi dok je ranjivost još otvorena.
Zaključak: Upravljanje ranjivostima u srednjim tvrtkama ne mora biti veliko, ali mora biti obvezujuće. Tko poznaje svoje sustave, čita nekoliko dobrih izvora i bilježi odluke, brzo i ispravno reagira na sljedeću kritičnu obavijest.
Česta pitanja
Što je upravljanje ranjivostima?
To je ponavljajući postupak kojim tvrtka saznaje za sigurnosne ranjivosti u svojim sustavima, procjenjuje ih, otklanja ili svjesno prihvaća te bilježi rezultat. Ne radi se o alatu, nego o odgovornostima i odlukama.
Je li CVSS ocjena dovoljna za određivanje prioriteta?
Dobra je polazna točka, ali nije dovoljna. Uz nju je odlučujuće je li pogođeni sustav dostupan s interneta, koje podatke obrađuje i opažaju li se napadi već sada. Ranjivost s visokom ocjenom na internom testnom sustavu može pričekati, ona na web-shopu ne može.
Treba li maloj tvrtki za to poseban alat?
Za početak ne. Dovoljni su održavan popis sustava, pretplaćene sigurnosne obavijesti i tablica otvorenih točaka. Skeneri ranjivosti isplate se kad broj sustava raste ili kad se provjere moraju redovito dokazivati.
Smije li se ranjivost svjesno ne otkloniti?
Da, ako je rizik procijenjen, ako odluku donese nadležno rukovodstvo i ako je ona zabilježena u pisanom obliku, idealno s prijelaznim mjerama i rokom za ponovnu provjeru.