Patch the Planet: globalno usklajevanje odziva na kritične ranljivosti, ki jih odkrivajo agenti
V zadnjih dveh mesecih smo vodili skupino vzdrževalcev, raziskovalcev in ponudnikov varnostnih rešitev pri odpravljanju kritičnih ranljivosti v PHP, odprtokodnem programskem jeziku za spletna mesta in aplikacije. Calif je z modelom GPT‑5.6 Sol v okviru naše pobude Patch the Planet(odpre se v novem oknu) odkril kritično napako, Wiz pa je neodvisno odkril in prijavil obe ranljivosti. Vzdrževalci PHP so vodili pripravo in izdajo popravkov, naše ekipe ter partnerji, kot so Wiz, Cloudflare in drugi, pa so z raziskavami, tehnično podporo in usklajevanjem pomagali pripraviti zaščito pred razkritjem.
Za organizacije, ki uporabljajo PHP, je zdaj najpomembnejša namestitev popravkov. Objavljamo preverjevalnik različic PHP kot veščino za Codex(odpre se v novem oknu) , ki upravljavcem pomaga prepoznati morebitno ranljive različice PHP ter ob upoštevanju navodil PHP in svojih ponudnikov določiti potrebne posodobitve.
Zaradi resnosti teh napak in razširjenosti PHP to štejemo za eno najvplivnejših varnostnih težav v zadnjem času. Primer kaže, kako lahko umetna inteligenca odkrije varnostne napake z vplivom na ves internet, vendar lahko iste zmogljivosti tudi napadalcem pomagajo hitro razviti napadalna orodja in kodo za izkoriščanje ranljivosti.
Kolikor vemo, je prelomna umetna inteligenca te ranljivosti odkrila pred napadalci in tako odprla časovno okno za branilce, v katerem so lahko vzdrževalci in ponudniki varnostnih rešitev pred razkritjem pripravili popravke in zaščito.
Da bi te zmogljivosti lahko uporabljalo več branilcev, smo v okviru programa Daybreak za branilce v prvih vrstah namenili milijardo dolarjev za subvencioniran dostop do Daybreak, predvsem za organizacije, ki z omejenimi varnostnimi viri varujejo ključne storitve.
Kljub svoji resnosti sta ti napaki le dve od več pomembnih ranljivosti, ki smo jih že odkrili in jih odpravljamo. V prihodnjih mesecih pričakujemo strm porast podobnih odkritij. Na podlagi dosedanjih izkušenj predstavljamo predlog pristopa k odzivanju na kritične ranljivosti v razširjeni programski opremi, prilagojen dobi umetne inteligence, in varnostno skupnost prosimo za pomoč pri izboljšanju tega okvira. Povezuje naše modele, varnostno znanje in vzdrževalce, da bi odkritja pretvorili v zaščito ter vzpostavili odziv, ki ga bo mogoče širiti z napredkom zmogljivosti umetne inteligence.
Uvedba popravka lahko zahteva prilagoditev starejšim izdajam, pripravo blažilnih ukrepov pri ponudnikih in posodobitev sistemov v številnih organizacijah. Ponovljiv postopek tem ekipam pomaga hitro ukrepati ob vse več odkritih ranljivostih.
V okviru pobude Patch the Planet smo odziv na ranljivosti PHP podprli z varnostnim znanjem in dostopom do modelov ter z vzdrževalci in raziskovalnimi partnerji sodelovali pri preizkušanju popravkov in pripravi navodil. Pomagali smo tudi usklajevati zaščito prizadetih sistemov s ponudniki infrastrukture ter vključili državne agencije za kibernetsko varnost, da bi navodila dosegla ključne organizacije. S tem smo podprli odziv, ki so ga vodili vzdrževalci, in pomagali drugim branilcem pri pripravah.
Pri nekaterih odkritjih lahko raziskovalci težavo raziščejo in popravek razvijejo neposredno z vzdrževalci programske opreme. Druga zahtevajo širši odziv, ker vplivajo na številne izdelke ali ker distributerji in ponudniki storitev potrebujejo čas za pripravo posodobitev in zaščite. Tega časa lahko primanjkuje, če prelomne zmogljivosti ne prehitevajo bistveno tistih, ki so splošno dostopne. V teh primerih lahko predlagani okvir vzdrževalcem pomaga določiti, koga je treba vključiti, in uskladiti delo. Odziv lahko vključuje pet faz:
Potrditev in odprava ranljivosti v izvornem projektu. Vzdrževalec, raziskovalci in ključni tehnični partnerji potrdijo odkritje, ocenijo njegov vpliv ter razvijejo in preizkusijo popravek. Postopek vključuje preizkušanje z vidika napadalca s prelomnimi modeli, da bi odkrili načine za obhod popravka in sorodne različice ranljivosti.
Zagotovitev časa za ukrepanje prizadetim organizacijam. Predlagamo okvir za presojo, katere organizacije potrebujejo predhodne informacije za pripravo zaščite, o tem, koga vključiti, pa odločajo vzdrževalci. Pomagamo pri navezovanju stikov, sporazumih o izmenjavi informacij in usklajevanju ekip. Distributer lahko popravek prilagodi starejši izdaji, ponudnik gostovanja preizkusi blažilni ukrep, ponudnik varnostnih rešitev pa pripravi ukrepe za zaznavanje ali preprečevanje, vključno s pravili požarnega zidu za spletne aplikacije (WAF).
Usklajevanje z državnimi partnerji za zaščito kritičnih sistemov. Državne agencije imajo ključno vlogo pri usklajevanju širšega odziva in posredovanju varnostnih navodil organizacijam, odgovornim za kritično infrastrukturo in druge ključne storitve. V primeru PHP smo skupaj s partnerji v ta prizadevanja vključevali več organov ameriške vlade, med njimi enoto Bele hiše za superinteligenco, urad nacionalnega direktorja za kibernetsko varnost (ONCD) in agencijo za kibernetsko varnost in varnost infrastrukture (CISA), ter mednarodne partnerje.
Priprava posodobitev za prizadete izdelke. Ko so popravek, navodila in načrti razkritja dovolj dodelani, lahko vzdrževalci vključijo dodatne distributerje, ponudnike gostovanja in storitev, odzivne skupine ter upravljavce, da pripravijo posodobitve in zapolnijo vrzeli v zaščiti.
Objava navodil in podpora pri uvajanju, ko je popravek na voljo. Javna navodila pomagajo oceniti izpostavljenost, najti uradne posodobitve ali začasne blažilne ukrepe in preveriti, ali je popravek dejansko v uporabi. Odziv se nadaljuje, ko upravljavci uvajajo posodobitve in sporočajo, kje potrebujejo pomoč.
Predlagani okvir upošteva zaščitno vlogo organizacije, vključno z varovanjem lastnih sistemov in strank, čas, potreben za ukrepanje, ter njeno sposobnost ravnanja z občutljivimi informacijami. Za primerljive organizacije bi veljala ista merila, vzdrževalci pa bi odločali, koga vključiti pred razkritjem.
Vsak udeleženec prejme informacije, potrebne za zaščitno delo, od omrežnih dnevnikov s kazalniki ogroženosti do občutljivejše delujoče kode za dokaz izkoristljivosti ranljivosti. Že malo podrobnosti lahko razkrije ranljivost, zato tveganje njihovega posredovanja tehtamo glede na zaščito, ki jo omogočajo.
Ekipe bi po tem okviru z vzdrževalci branilcem zagotovile čas za pripravo in ponovno ocenile časovnico ob aktivnem izkoriščanju v praksi, uhajanju informacij, javnem popravku, ki razkrije ranljivost, ali večjem tveganju za uporabnike zaradi zastoja pri odpravljanju težave.
Spletno mesto Patch the Planet(odpre se v novem oknu) združuje javna razkritja in navodila, da bi upravljavcem pomagalo prepoznati prizadete sisteme, najti ustrezno posodobitev in preveriti pravilno delovanje posodobljene programske opreme. Za PHP ponuja povezave do uradnega popravka in navodil za nadgradnjo, ki so jih pripravili vzdrževalci, ter do tehničnih raziskav naših partnerjev. Navodila zajemajo tudi začasne blažilne ukrepe, primere, ko je treba vključiti ponudnika ali strokovnjaka, ter varnostno kopiranje in obnovitev. Začasna zaščita lahko zmanjša tveganje, vendar bomo jasno predstavili njene omejitve in vpliv na delovanje.
Upravljavci lahko z navodili agencije CISA za določanje prednostnih nalog in odpravljanje ranljivosti(odpre se v novem oknu) ocenijo nujnost ukrepanja glede na izpostavljenost, izkoriščanje in morebitni vpliv. To lahko pomeni nujno nameščanje popravkov, takojšnje blažilne ukrepe ali načrtovano posodobitev, po potrebi pa tudi začetno forenzično analizo za ugotavljanje, ali so bili sistemi že kompromitirani. Ob spremembah razmer je treba prednostne naloge ponovno oceniti in ohraniti jasno pot do trajne odprave težave.
Globalno usklajevanje je odvisno od ljudi, ki vzdržujejo programsko opremo. Številne projekte vodijo majhne ekipe, ki varnostna poročila pregledujejo poleg rednega razvojnega dela. Te ekipe potrebujejo pomoč pri ločevanju novih težav od podvojenih prijav, ocenjevanju vpliva in preizkušanju popravkov v podprtih izdajah. To delo podpiramo s financiranjem, dostopom do zmogljivih modelov in neposredno inženirsko pomočjo.
Napredne zmogljivosti umetne inteligence se razvijajo po vsej panogi. Pričakujemo, da bo umetna inteligenca branilcem vse bolj pomagala iskati ranljivosti, spremljati sisteme in se odzivati na grožnje. Vlagamo v modele, orodja in partnerstva, da bi branilcem pomagali te zmogljivosti uporabiti v praksi.
Naše naložbe vključujejo naročnine za vse vzdrževalce prek programa Codex za odprtokodno programsko opremo in neposredno sponzoriranje projektov, kot je fundacija Rust(odpre se v novem oknu), za podporo vzdrževalcem in tehničnemu delu. Vsak projekt sam določa svoje prednostne naloge. Preizkusi za večkratno uporabo in varnostni delovni postopki lahko zmanjšajo obseg dela pri obravnavi prihodnjih odkritij. Odprtokodni projekti se lahko za neposredno pomoč prijavijo v pobudo Patch the Planet(odpre se v novem oknu).
Za Daybreak umerjamo tudi dodatne klasifikatorje za blokiranje, da bi zmanjšali možnosti zlorabe. Pri tem so potrebni težki kompromisi: varovala za preprečevanje zlorab lahko blokirajo tudi legitimno varnostno delo. Ključna sta tako širok dostop do zmogljivih modelov kot učinkovita zaščita pred zlorabami. Naš cilj je ohraniti zmogljivosti, ki jih branilci potrebujejo za odkrivanje in odpravljanje ranljivosti, hkrati pa omejiti škodljivo uporabo. To ravnovesje bomo še naprej izpopolnjevali z napredkom zmogljivosti in novimi spoznanji o uporabi teh orodij.
Z vse zmogljivejšimi modeli se priložnosti širijo onkraj odkrivanja in odpravljanja posameznih ranljivosti. Inženirjem želimo pomagati razvijati varnejšo programsko opremo že od začetka. Izboljšave široko uporabljene komponente lahko preprečijo napake ali omejijo njihov vpliv v številnih izdelkih in storitvah.
Umetna inteligenca lahko inženirjem pomaga razumeti obstoječo kodo, pripraviti spremembe in razviti preizkuse, vzdrževalci in varnostni strokovnjaki pa preverijo, ali te spremembe ohranjajo delovanje, na katero se zanašajo uporabniki. Priložnosti vidimo na več področjih:
Varna koda že od začetka. Modeli za programiranje lahko razvijalcem pomagajo izbrati varnejše privzete nastavitve, pravilno uporabljati varnostne knjižnice in prepoznati tvegane vzorce že med pisanjem kode. Preprečevanje ranljivosti med razvojem pomeni manj nujnih popravkov za vzdrževalce in uporabnike.
Pomnilniško varna programska oprema. Prenos kritičnih komponent v pomnilniško varne jezike lahko odpravi pogoste razrede pomnilniških napak. Umetna inteligenca lahko pomaga pri migracijah, s preizkusi in strokovnim pregledom pa preverimo delovanje in združljivost.
Formalno preverjanje. Z matematičnimi dokazi lahko pokažemo, da kritične komponente ob navedenih predpostavkah izpolnjujejo določene varnostne lastnosti. Uporaba teh metod pri široko uporabljenih komponentah bi lahko izključila cele razrede ranljivosti v storitvah in kritični infrastrukturi, ki so odvisne od njih.
Močnejša izolacija. Sistemi potrebujejo zaščito pred ranljivostmi, ki še niso odkrite ali odpravljene. Izvajanje programske opreme, ki obdeluje nezaupanja vredne datoteke, slike ali medijske vsebine, v strogo omejenih peskovnikih lahko omeji škodo, če pride do vdora vanjo. Umetna inteligenca lahko inženirjem pomaga preizkusiti in okrepiti razširjene tehnologije peskovnikov ter tako izboljša zaščito številnih aplikacij.
Svoj pristop predstavljamo zato, da nam ga vzdrževalci, raziskovalci, odzivne skupine, ponudniki in upravljavci pomagajo prilagoditi za uporabo v praksi. Razumeti želimo, kje bi pomagal, kje bi lahko povzročil zamude ali dodatne obremenitve in kaj smo spregledali. Posebej koristni bi bili primeri preteklih razkritij.
Zanima nas predvsem:
Čas do razkritja. Koliko časa potrebujejo vzdrževalci, upravljavci in branilci za pripravo in uvedbo zanesljivih popravkov? Kateri dokazi bi morali sprožiti zgodnejše razkritje, zlasti kadar je nekatere uporabnike mogoče zaščititi prej kot druge?
Nujno nameščanje popravkov. Kdaj, če sploh, naj vlade ali drugi upravljavci po izgubi skrbniškega dostopa izkoristijo ranljivost za namestitev popravkov v sisteme, ki jih imajo v lasti ali so jih pooblaščeni upravljati? Katera varovala bi morala pri tem veljati? Lahko si predstavljamo končno stanje, v katerem bi po vsem internetu neprestano iskali znane ranljivosti ter ob odkritju obvestili lastnike spletnih mest ali namestili popravek v sistem.
Zgodnje obveščanje. Kdo potrebuje vnaprejšnje opozorilo, da lahko izvede koristen zaščitni ukrep, vključno z branilci, ki bi jih lahko spregledali? Kdaj je postopno obveščanje učinkovitejše od hkratnega obveščanja širše skupine in kako naj tehtamo obseg zaščite glede na tveganje uhajanja informacij?
Privzeto varni programski paketi. Kako lahko pomagamo prepoznati in odpraviti ranljivosti v izpeljanih paketih, medtem ko čakamo na popravke v izvornih projektih, ali popravke prenesti v starejše različice, ki ne prejemajo več varnostnih posodobitev? S kakšnim preizkušanjem in vzdrževanjem bi ti paketi postali zanesljiva možnost, kadar pravočasna nadgradnja ni izvedljiva?
Veseli bomo tudi priporočil neodvisnih varnostnih strokovnjakov, ki lahko pregledajo pristop, preverijo utemeljenost njegovih predpostavk in odkrijejo vrzeli. Vaši predlogi nam bodo pomagali izpopolniti odziv in določiti prednostne naloge pri podpori. Tukaj nam sporočite svoje mnenje(odpre se v novem oknu).


