uredi› krajšaj› T:694 M:812 Z:10 [×]
Kdo vzdržuje odprtokodno programsko opremo?
Volkan Yazici je sodelavec projekta Log4J, odprtokodnega orodja v splošni uporabi za beleženje dejavnosti znotraj različnih tipov programske opreme. Pomaga tudi pri delovanju precejšnjih odsekov interneta, vključno z aplikacijami, od iClouda do Twitterja, s kolegi pa si trenutno na vso moč prizadevajo odpraviti hudo ranljivost, zaradi katere je ogroženih na milijarde naprav. Trenutno 22 ur na dan dela brezplačno.

Patrick Howell O'Neill, MIT Technology Review
Ranljivost v Log4J je mogoče izkoristiti brez težav. Hekerji ranljivi napravi pošljejo zlonameren niz znakov, nato pa lahko izvajajo poljuben kod. Nekatere prvih napadov je izpeljal podmladek, in sicer je škodljivi kod kopiral na Minecraftove strežnike. Hekerji, nekateri povezani s Kitajsko in z Iranom, zdaj poskušajo izrabiti ranljivost v vseh napravah, ki jih le najdejo in jih poganja kod z napako.
Nič ne kaže, da bi lahko kmalu odnehali. Težava Log4J se je razmahnila v dolgoročno varnostno krizo, ki bi lahko trajala mesece ali celo leta. Jen Easterly, direktorica ameriške varnostne agencije za kibernetično varnost in infrastrukturo, je poudarila, da je to ena najhujših pomanjkljivosti, kar jih je videla.
Ker gre za zelo pomembno vprašanje, bi pričakovali, da bodo največje tehnološke družbe in države najele na stotine odlično plačanih strokovnjakov, ki bi hitro odpravili napako.
A ni tako. Log4J, ki že dolgo velja za kritični segment ključne internetne infrastrukture, so ustanovili kot prostovoljni projekt in ga še vedno vodijo večinoma brezplačno, čeprav so od njega odvisne številne milijonske in milijardne družbe ter na njegovi podlagi vsak dan kujejo dobiček. Yazici in člani njegove ekipe ga poskušajo pokrpati tako rekoč za drobiž.
Takšno nenavadno protislovje je v svetu odprtokodne programske opreme, programov, ki vsem uporabnikom omogočajo preverjanje, spreminjanje in uporabo koda, nekaj običajnega. Izhodišče je desetletja stara zamisel, ki je postala ključna za delovanje interneta. Ko gre vse kot po maslu, je odprtokodni sistem skupinska zmaga, ko se kaj zalomi, pa postane daljnosežno tveganje.
»Internet in s tem gospodarstvo delujeta na podlagi odprtokodnega sistema,« je poudaril Filippo Valsorda, razvijalec, ki se pri Googlu ukvarja z odprtokodnimi projekti. Kljub temu se zelo pogosto zgodi, da celo za ključne infrastrukturne projekte skrbi majhna ekipa vzdrževalcev ali celo samo en sam, ki sploh ni plačan za to, je pojasnil.
Brez zahvale
»Ekipa dela 24 ur na dan,« je Yazici odgovoril v elektronskem sporočilu, ko sem navezal stik z njim. »Moja izmena od šestih zjutraj do štirih zjutraj (ne, nisem se zatipkal) se je ravno zaključila.«
Sredi tega dolgega delovnika si je Yazici vzel čas in s prstom pokazal na kritike. Na Twitterju je zapisal, da se vzdrževalci Log4J brez počitka trudijo z ukrepi ublažiti težave: popravki, pogoste ranljivosti in izpostavljenosti, odgovori na vprašanja in tako dalje. Kljub temu ljudje udrihajo po njih zaradi dela, za katero niti niso plačani, in zaradi lastnosti, ki je nihče ne mara, a jo je treba ohraniti zaradi morebitnih zapletov pri združljivosti s starejšimi sistemi.
Preden so zaradi ranljivosti Log4J pisali na naslovnicah o tej čudni, vendar razširjeni programski opremi, je vodja projekta Ralph Goers pritegnil cele tri manjše sponzorje, ki so podprli njegovo delo. Goers, ki ima redno službo in se z Log4J ukvarja v prostem času, je zadolžen za popravke pomanjkljivega koda in gašenje požara, ki je povzročil na milijone dolarjev škode. To je huda obremenitev za popoldansko dopolnilno dejavnost.
Pičlo financiranje odprtokodne programske opreme predstavlja sistematično tveganje za Združene države Amerike, ključno infrastrukturo, bančništvo in finance, je izpostavil Chris Wysopal, tehnološki direktor v varnostnem podjetju Veracode. »Ta odprtokodni sistem se po pomembnosti kosa z drugo ključno infrastrukturo, kot so Linux ter Windows in temeljni internetni protokoli. Ti predstavljajo največje sistemsko tveganje za internet.«
Skorajda pravilo je, da si razvijalci z odprtokodnim delom ustvarijo portfelj, na podlagi katerega dobijo dobro plačano delo.
Kako je prišlo do tega? Odgovorimo lahko z drugim vprašanjem: Zakaj bi tehnološke družbe plačevale za nekaj, kar dobijo brezplačno? A zaradi ogromnega pomena odprtokodne programske opreme takšen status quo ni več vzdržen.
»Prostovoljstvo ni primerno za ključno infrastrukturo, saj imajo prostovoljci vso pravico, da se ukvarjajo samo z zabavnimi in zanimivimi opravili,« je poudaril Valsorda. »V odprtokodnem projektu so nujni tudi skrbno testiranje, programski inženiring, obravnava težav, preverjanje varnosti, preverjanje prispevkov h kodu – in vzdrževalcu se vsi ti vidiki sami po sebi morda ne zdijo zanimivi.«
Med stopnjevanjem pritiska in kritik na račun ekipe Log4J se postavlja staro vprašanje o pravičnosti v odprtokodnem svetu.
»Pravičnost res predstavlja problem,« je priznal tudi ustanovitelj Log4J Ceki Gülcü. »Vzpostavilo se je čudno neravnovesje – podjetja imajo koristi od nečesa, vendar ničesar ne dajo v zameno.«
Javnost se večinoma ne zaveda ključne vloge – in pasti – odprtokodne programske opreme, ki poganja internet in za katero skrbijo neplačani strokovnjaki. OpenSSL omogoča šifriranje, na primer, Linux pa stoji tudi za najbolj razširjenim operacijskim sistemom na svetu, Androidom.
Gülcü je izpostavil tudi težave pri pridobivanju in ohranjanju zanesenjakov pri odprtokodnih sistemih. Nadarjene ljudi je težko pritegniti in zadržati celo pri večjih projektih, če v zameno dobijo le drobiž v primerjavi s plačo v podjetju ali celo nič. To bi lahko imelo nepredvidljive posledice za državno varnost.
Leta 2018 je odpoved dal razvijalec, duša in srce priljubljenega odprtokodnega projekta, imenovanega ua-parser-js, ker se je naveličal delati brezplačno. To programsko opremo uporabljajo velika tehnološka podjetja, vključno z Googlom, Amazonom in s Facebookom. Oseba, ki je prevzela nadzor nad ua-parser-js, je nato programsko opremo ugrabila in projektu dodala zlonameren kod, da je kradla kriptovalute. Ameriško ministrstvo za domovinsko varnost je naposled izdalo opozorilo uporabnikom, da je na delu heker. Čeprav programsko opremo uporablja na tisoče razvijalcev, je projektu uspelo zbrati le sramotnih 41,61 dolarja za financiranje. Prvi razvijalec, ki je brezplačno predal nadzor svojemu anonimnemu nasledniku, je vse skupaj označil za »noro«.
A vrhunski programski razvijalci so včasih za svoje dolgoletno prostovoljno delo kljub vsemu nagrajeni. Gülcü, na primer, je svoje prostovoljstvo pri Log4J unovčil v več donosnih pogodbah za razvoj programske opreme v finančni panogi.
Pravzaprav je skorajda pravilo, da si razvijalci z odprtokodnim delom ustvarijo portfelj, na podlagi katerega dobijo dobro plačano delo. Takšen princip po svoje spominja na neplačano pripravništvo v drugih panogah, kar po novem vse pogosteje velja za neetično izkoriščanje in nepošteno prednost za ljudi, ki si lahko privoščijo brezplačno delo na račun tistih, ki tega ne morejo. Tako skromno financiranje odprtokodnega dela morda povzroča več kot le tehnične težave.
Kako izboljšati trenutne razmere
Javnost se je končno začela zavedati težav, povezanih s takšnimi razmerami.
»Tehnološke družbe, podjetja in vsi, ki pišejo programe, so odvisni od odprtih kod,« je poudaril Wysopal. »Zdaj so se začeli tudi na najvišji politični ravni zavedati, da to predstavlja hudo tveganje.«
Easterly in drugi strokovnjaki menijo, da bi tehnološke družbe morale povečati transparentnost. Uvedba seznama sestavnih delov, kot ga je lani z odlokom o kibernetični varnosti predpisal ameriški predsednik Joe Biden, bi tako razvijalcem kot uporabnikom pomagala razumeti, kateri deli programske opreme so dejansko ranljivi za vdore, ko se odkrijejo njene napake.
Valsorda, ki mu je svoje odprtokodno zanesenjaštvo prav tako uspelo unovčiti v odmevni karieri, poudarja, da bi formalna in poklicna podlaga za odnos med razvijalci in velikimi podjetji, ki uporabljajo njihove storitve, lahko pripomogla k izboljšavam. Zagovarja, da bi delo pri odprtokodnih sistemih iz hobija spremenili v poklicno računalniško pot, saj tako ključna infrastruktura ne bi bila več odvisna od prostega časa razvijalca, ki že ima zaposlitev za polni delovni čas. Dodaja, da bi podjetja morala razviti sistem za pošteno, tržno plačevanje strokovnjakov, ki vzdržujejo odprtokodne projekte.
Nekatera podjetja se že zavedajo, da je to nujno. Google se je nedavno zavezal, da bo s sto milijoni dolarjev podprl razvoj odprte kode in odpravo pomanjkljivosti.
Wysopal pa pravi, da bi se bilo treba bolj potruditi pri preverjanju čilosti odprtokodnih projektov. Se je zadnja nadgradnja zgodila pred tednom dni ali več leti? Nato bi morali sistematično podpreti dobre projekte in ugasniti tiste, katerih vzdržnosti ni mogoče zagotoviti. Drugi Googlov projekt, sklad za izboljšave odprtokodne tehnologije, naj bi preverjal in izboljševal odprtokodne projekte.
Neprijetne posledice ranljivosti Log4J so zelo dober primer splošnejše težave. Napake so v zasnovi programske opreme in odkrije jih lahko le nekdo, ki odlično razume to zasnovo. Trenutni tako imenovani modeli bug bounty, modeli poročanja o hroščih, po katerih spletne strani, organizacije in razvijalci plačujejo posameznikom, ki odkrijejo napake, ne zadoščajo, saj nekdo od zunaj preprosto ni finančno zainteresiran, da bi se poglobil v program.
»To je nesporno tržni fiasko,« je prepričan Wysopal. »Uporabljamo kakovostni del skupnega koda, odgovornost za šibke točke pa je prisiljen prevzeti nekdo drug. V iskanje in odpravo napak bi morali vložiti več denarja.«
Copyright Technology Review, distribucija Tribune Content Agency
Zakup člankov
Za plačilo lahko uporabite plačilno kartico, PayPal, Apple Pay ali Google Pay:
Najprej se morate prijaviti.
V kolikor še nimate svoje prijave, se lahko registrirate.


