Neviđeno masovno objavljivanje

GitHub račun pod imenom "bikini" objavio je u jednom izdanju 204 proof-of-concept exploita za ranjivosti nultog dana, prema izvješću Cyber Security Newsa. Objava navodno zahvaća desetke projekata otvorenog koda i, što je ključno, dogodila se prije nego što su pogođeni dobavljači imali priliku izdati zakrpe. Upravo taj trenutak ovaj incident izdvaja od uobičajenih objava ranjivosti: kôd potreban za iskorištavanje tih propusta postao je javno dostupan u istom trenutku, ili čak prije nego što su programeri uopće znali da te ranjivosti postoje.

Ranjivosti nultog dana po definiciji su sigurnosni propusti koje dobavljači još nisu ispravili. Istraživači koji pronađu takve propuste obično slijede postupak poznat kao koordinirana objava: privatno upozore proizvođača softvera, daju mu vremena da pripremi ispravak i tek kad zakrpa bude dostupna objavljuju tehničke detalje. Objavljivanje 204 exploita odjednom, bez tog vremenskog razmaka, napadačima zapravo predaje gotov alat dok se obrambene strane još trude shvatiti što je uopće puknulo.

Zašto je ovo izbacivanje zero-day exploita drugačije

Većina izvještaja o pojedinačnim ranjivostima nultog dana usredotočena je na jedan propust u jednom proizvodu. Ovaj slučaj izdvaja se svojim golemim opsegom. Umjesto jedne visokoprofilirane ranjivosti, objava navodno pokriva širok spektar softvera otvorenog koda – one biblioteke i alate koji tiho leže u pozadini bezbrojnih web stranica, aplikacija i internih poslovnih sustava, a da većina korisnika uopće ne zna da postoje.

To je dio onoga što sigurnost otvorenog koda čini tako zahtjevnom. Jedna popularna biblioteka može biti ugrađena u tisuće proizvoda nizvodno, pa jedan nezakrpani propust ne prijeti samo jednom dobavljaču, već svima koji su gradili na tom kôdu. Kad se istovremeno pojavi 204 takvih problema, sigurnosni timovi u mnogim međusobno nepovezanim organizacijama odjednom moraju vršiti trijažu, određivati prioritete i odgovarati – bez prethodne obavijesti i bez provjerenog ispravka koji bi mogli primijeniti.

Rasprava između "potpune objave" (odmah objavljivanje detalja ranjivosti) i "odgovorne objave" (davanje dobavljačima vremena da prvo pripreme zakrpe) nije nova. Ono što je ovdje neobično jest razmjer i anonimnost osobe koja to radi. Bez saznanja o tome tko stoji iza imena "bikini" ili zašto su odlučili sve objaviti odjednom, teško je reći je li riječ o namjernom stavu o etici objavljivanja, prosvjedu zbog sporog odgovora dobavljača ili nečemu posve drugom.

Implikacije za privatnost običnih korisnika

Većina ljudi ne komunicira izravno s repozitorijima otvorenog koda, no to ne znači da su od ovakvih događaja zaštićeni. Komponente otvorenog koda ugrađene su u preglednike, aplikacije za razmjenu poruka, usluge pohrane u oblaku i bezbroj alata na koje se ljudi svakodnevno oslanjaju. Ako neka od 204 objavljene ranjivosti utječe na softver koji koristite, makar i neizravno, vaši podaci mogli bi biti izloženi napadačima koji su brži od ciklusa izdavanja zakrpa.

To je posebno važno za svakoga čiji osobni, financijski ili komunikacijski podaci prolaze kroz pogođene usluge dok zakrpa još nije dostupna. Napadači koji prate ovakve objave često u roku od nekoliko sati, a ne dana, počinju s naoružavanjem javno dostupnog kôda za iskorištavanje ranjivosti. Dok dobavljači ne isporuče zakrpe i korisnici ih ne instaliraju, postoji stvarni vremenski prozor u kojem osjetljivi promet može biti presretnut ili sustavi kompromitirani.

Iako ne postoji alat koji u potpunosti uklanja ovakav rizik, dodatni slojevi zaštite mogu smanjiti izloženost dok se ekosustav ne oporavi. Primjerice, multi-hop VPN usmjerava promet kroz više poslužitelja i enkripcijskih slojeva, što može znatno otežati napadaču koji iskorištava mrežnu ranjivost da aktivnost poveže s određenom osobom, čak i ako uspije presresti neke podatke na putu.

Što ovo znači za vas

Ako vodite ili održavate softver koji se oslanja na komponente otvorenog koda, ovo je signal da sljedećih dana pomno pratite obavijesti dobavljača i primijenite zakrpe čim budu objavljene, umjesto da čekate redovni ciklus ažuriranja. Ako ste običan korisnik, praktična pouka je još jednostavnija: neka su vam aplikacije, preglednici i operativni sustavi postavljeni na automatsko ažuriranje jer će zakrpe za pogođene komponente vjerojatno stići kroz uobičajena ažuriranja softvera, bez potrebe za vašim izravnim djelovanjem.

Također valja imati na umu da masovna izbacivanja zero-day ranjivosti poput ovoga obično pokreću val oportunističkog skeniranja i pokušaja iskorištavanja diljem interneta. Čak i ako niste izravna meta, loša higijena zakrpa bilo gdje u mreži može stvoriti ulaznu točku čije se posljedice šire dalje.

Provedivi savjeti

  • Ažurirajte sav softver, preglednike i aplikacije čim zakrpe postanu dostupne; nemojte odgađati redovita ažuriranja tijekom razdoblja aktivnog objavljivanja zero-day ranjivosti.
  • Ako upravljate poslužiteljima ili aplikacijama izgrađenima na komponentama otvorenog koda, svakodnevno pregledavajte sigurnosne obavijesti dobavljača dok se situacija ne stabilizira.
  • Razmislite o dodatnim zaštitnim slojevima, poput multi-hop VPN-a, za osjetljivo pregledavanje ili komunikaciju dok poznate ranjivosti ostanu nezakrpane.
  • Izbjegavajte preuzimanje ili pokretanje objavljenog proof-of-concept kôda iz znatiželje; time možete vlastite sustave izložiti nepotrebnom riziku.

Ova objava zero-day exploita podsjetnik je da je sigurnost softvera zajednička odgovornost. Dobavljači moraju brzo izdavati zakrpe, ali i korisnici i administratori moraju brzo djelovati čim ispravci postanu dostupni. Održavanje softvera ažurnim i dalje je najučinkovitija obrana od ovakvih prijetnji.