Ko se ljudje odločajo za programsko opremo, je varnost pogosto na vrhu njihovih prednostnih seznamov. In če ni, bi moralo biti! Vendar se običajno sprašujejo o razlikah med zaprto in odprtokodno programsko opremo.
Kakšna je torej razlika med odprto in zaprto kodo? Ali je odprtokodna programska oprema res varna?
Odprtokodni vs. Programska oprema zaprtega vira
Ljudje dajo odprtokodno programsko opremo na voljo vsem. Javnost jo lahko uporablja, kopira, spreminja in distribuira. Poleg tega, kot že ime pove, lahko kdo vidi izvorno kodo.
Programska oprema z zaprtimi viri vsebuje strogo varovano kodo, ki jo lahko vidijo ali spremenijo samo pooblaščeni ljudje. Stroški zajemajo pravico ljudi do uporabe, vendar le v mejah licenčne pogodbe za končnega uporabnika.
Odprtokodna vidnost ima varnostne prednosti in slabosti
Sposobnost vsakogar, da vidi izvorno kodo, prinaša velike prednosti za odprtokodno varnost. Razvoj postane prizadevanje skupnosti, pri katerem sodelujejo ljudje z vsega sveta.
To pomeni, da se napake pogosto odkrijejo in odpravijo hitreje, kot če bi kodo pregledala le veliko manjša skupina posameznikov.
Vendar hekerji izkoristijo dostopnost odprtokodne kode. Lahko ga uporabljajo za načrtovanje napadov ali zaznavanje ranljivosti.
Razvijalci, ki se resnično zanimajo za izboljšanje odprtokodne programske opreme, naslavljajo težave, ki jih najdejo, ali pa vsaj poročajo o težavah nekomu, ki ima veščine, kako se z njimi spoprijeti. Vsakdo z zlonamernimi nameni upa, da bodo stvari čim dlje neopažene.
Zaradi teh okoliščin strokovnjaki za kibernetsko varnost opozarjajo, da lahko odprtokodna programska oprema ogrozi organizacije. Eno vprašanje je, da bi kriminalci lahko videli kodo in vanjo vbrizgali nevarno vsebino. Te stranke bi lahko bile usmerjene tudi na podjetja ki nimajo strogih praks za prenos pogostih popravkov programske opreme.
Ker odprtokodna programska oprema nima osrednjega organa, ki bi jo upravljal, težko kdo ve, katere različice se najpogosteje uporabljajo. Naslove bi lahko posodabljali tako pogosto, da informacijske ekipe organizacije ne vedo, da imajo staro različico s hudimi varnostnimi težavami.
Neposredne knjižnice programske opreme predstavljajo odprtokodna varnostna tveganja
Razvijalci pogosto prihranijo čas s programskimi knjižnicami drugih proizvajalcev. So sestavni deli za večkratno uporabo, ki jih je razvil subjekt, ki ni prvotni ponudnik. Ena od prednosti je, da omogočajo uporabo predhodno preizkušene kode.
Popularne knjižnice so preizkušene v številnih okoljih za široko paleto primerov uporabe. Naravna pogostost uporabe pomeni, da se o napakah pogosto poroča. To pa ne pomeni nujno, da imajo knjižnice programske opreme drugih proizvajalcev vrhunsko varnost, tudi če razpravljajo o tistih, povezanih z odprtokodno programsko opremo.
Ena študija ugotovili, da se v skoraj 80 odstotkih knjižnic drugih proizvajalcev za odprtokodno programsko opremo ne posodobi, potem ko jih razvijalci dodajo v kodne baze. Raziskovalci, vključeni v študijo, so opozorili, kako bi lahko pomanjkanje posodobitev vplivalo na to.
Nekateri najnovejši in pogosto uporabljani naslovi programske opreme se med razvojem zanašajo na neodvisne knjižnice programske opreme. Ena napaka bi lahko vplivala na vse izdelke, povezane s problematično knjižnico. Zaskrbljujoča je tudi ugotovitev, da več kot četrtina anketiranih razvijalcev ni poznala ali ni bila prepričana o nobenem formalnem postopku, ki se uporablja za izbiro neodvisnih knjižnic.
Sorodno: Kaj je Zero Day Exploit in kako delujejo napadi?
Pozitiven zaključek študije pa je bil, da posodobitve programske opreme odpravijo 92 odstotkov napak v knjižnicah programske opreme drugih proizvajalcev. Poleg tega 69 odstotkov posodobitev zahteva le manjšo spremembo različice ali kaj še manj obsežnega.
Še bolj obetavno je bilo, da so razvijalci lahko v eni uri odpravili 17 odstotkov teh napak. To pomeni, da reševanje teh vprašanj odprtokodne knjižnice ni vedno izjemno dolgotrajno ali zapleteno.
Kako hitrost reševanja napak vpliva na odprtokodno varnost
Eden od glavne težave z zastarelo programsko opremo je, da uporabnike ogroža zaradi morebitnih varnostnih napak. V idealnem svetu bi razvijalci opazili in odpravili vse napake, preden programska oprema pride v javnost. To pa je nerealen cilj.
Naslednja najboljša možnost je izdati popravke programske opreme kmalu po tem, ko se ranljivosti pokažejo. Raziskovalci varnosti pogosto opozarjajo ponudnike zaprtokodne programske opreme na težave, ki jih je treba hitro odpraviti. Vendar ljudje, ki razvijajo te izdelke, sledijo urnikom izdaj, ki so jih izbrali nadrejeni.
Tudi tisti, ki odločajo, ne dajejo vedno prednost vsem ranljivostim. Nekateri ostanejo brez naslova mesece ali leta po začetni identifikaciji. S tem povezano vprašanje je, da se mnogi razvijalci spopadajo s čezmernimi ali neuravnoteženimi delovnimi obremenitvami, ki lahko močno omejijo njihovo sposobnost hitrega odpravljanja napak, tudi z najboljšimi nameni.
Še ena raziskava ugotovili, da 38 odstotkov razvijalcev porabi četrtino razpoložljivega časa za odpravljanje napak v programski opremi. Približno 26 odstotkov vprašanih je reklo, da jim naloga traja polovico delovnih dni. Druga odkrita ugotovitev je bila, da 32 odstotkov razvijalcev nameni pisanju kode porabi do 10 ur na teden za odpravljanje napak.
Razvijalci sprejemajo številne previdnostne ukrepe, da se izognejo izdaji problematične kode. Na primer pokritost z Modra straža razpravljali o tem, kako baza podatkov peskovnika daje zrcalno različico produkcijskega okolja in vse trenutne spremembe uvajalnega cikla.
Strokovnjaki za spletni razvoj se lahko stvari naučijo in preizkusijo brez večjih škodljivih posledic, ki vplivajo na celotno ekipo. Toda napake se še vedno dogajajo.
Ker si odprtokodna programska oprema prizadeva za izboljšanje celotne razvojne skupnosti, je veliko možnost, da lahko nekdo s pravimi znanji in razpoložljivostjo razporedi tarčo napake in jo dobi določen. To lahko pomeni, da znane ranljivosti ne ostanejo nerešene tako dolgo, kot bi lahko z naslovom zaprte kode programske opreme.
Odvisnosti programske opreme obstajajo, kadar en operacijski sistem deluje na drugega. Ko gre za odprtokodno programsko opremo, hitri tempo sprememb pogosto razvijalcem oteži razumevanje, ali katera od njihovih odvisnosti zadeva zastarele različice.
Vendar je Google pred kratkim izdal spletno orodje za vizualizacijo, imenovano Odprtokodni vpogledi za reševanje tega problema. Uporabnikom daje pregled komponent, povezanih s programskim paketom.
Ker informacije vključujejo podrobnosti o odvisnostih in njihovih lastnostih, razvojni strokovnjaki dobijo jasnejšo predstavo o tem, ali lahko zastarela odprtokodna programska oprema kasneje povzroči težave.
Poleg pogleda grafov odvisnosti lahko ljudje uporabljajo orodje za primerjavo, ki prikazuje, kako lahko različice paketov vplivajo na odvisnosti. Včasih novejša obravnava varnostno težavo. S tem orodjem želi Google razvijalcem olajšati boljše ozaveščanje o uporabi odprtokodne programske opreme.
To novo znanje bi lahko izboljšalo varnost in splošno uporabnost.
Odprtokodna programska oprema: ni popolna varnostna rešitev
Ta pregled prikazuje, zakaj odprtokodna programska oprema ni vedno najbolj varna izbira v primerjavi z zaprtokodno programsko opremo. Kljub temu je tudi pri odprtokodni programski opremi veliko dobrih stvari.
Ljudje, ki ga nameravajo uporabljati iz osebnih razlogov ali znotraj svojih organizacij, bi morali pretehtati prednosti in slabosti, da bi lahko sprejeli odločitev.
Iščete brezplačne odprtokodne aplikacije za Windows? Tu je nekaj najboljše programske opreme, ki jo lahko namestite.
Preberite Naprej
- Varnost
- Spletna varnost
- Odprtokodno
Shannon je ustvarjalec vsebin s sedežem v Phillyju, PA. Na področju tehnike piše približno 5 let po diplomi iz informatike. Shannon je odgovorna urednica revije ReHack in pokriva teme, kot so kibernetska varnost, igre na srečo in poslovna tehnologija.
Naročite se na naše novice
Pridružite se našemu glasilu za tehnične nasvete, preglede, brezplačne e-knjige in ekskluzivne ponudbe!
Še en korak…!
Potrdite svoj e-poštni naslov v e-poštnem sporočilu, ki smo vam ga pravkar poslali.