Što je open source?

Softver otvorenog koda softver je čiji je izvorni kod nositelj autorskih prava javno učinio dostupnim. Pod istinskom licencom otvorenog koda, softver se razvija kolaborativno, a ostali programeri mogu pogledati, mijenjati ili koristiti kôd u vlastite svrhe. Ovaj „čisti“ model otvorenog koda često se naziva i FOSS (besplatni i otvoreni izvorni softver).


Varijanta otvorenog koda je "izvor dostupan", što znači da nije dozvoljeno mijenjati ili na drugi način koristiti kod, ali je dostupan za uvid. Iz sigurnosnih razloga ovo je podjednako dobro kao i pravi otvoreni izvor, tako da kad u ovom članku mislim na „otvoreni izvorni kod“ uključim kôd koji je „izvor dostupan“.

Što je zatvoreni izvor?

Većinu softvera pišu i razvijaju komercijalne tvrtke. Razumljivo je da te tvrtke ne žele da im drugi kradu težak posao ili poslovne tajne, pa skrivaju svoj kod daleko od znatiželjnih očiju pomoću enkripcije, a svaki pokušaj upotrebe ili izmjene koda bez dozvole rezultirat će tužbama ili još gore.

Pa u čemu je problem?

Kao što kažem, sve je to sasvim razumljivo, ali kad je riječ o sigurnosti, to predstavlja veliki problem. Ako nitko ne može vidjeti detalje o tome što program čini, kako možemo znati da ne čini nešto zlonamjerno? U osnovi ne možemo, pa jednostavno moramo vjerovati uključenoj tvrtki, što je nešto što nam paranoične vrste sigurnosti odvratno čine (s dobrim razlogom).

Zašto je open source najbolje rješenje?

Ako je kôd otvorenog koda, onda ga može neovisno pregledati i revidirati sva osoba koja je kvalificirana za to, kako bi se provjerilo da nema zaledja, ranjivosti ili drugih sigurnosnih problema. Otvoreni izvor nije savršeno rješenje (vidi dolje), ali to je jedini način da se provjeri da softver radi upravo ono što treba raditi.

Čak i ako kôd nije revidiran, sama činjenica da je on dostupan za reviziju daje jasan pokazatelj da mu se može vjerovati, jer je malo vjerovatno da bi programeri uključili zlonamjerni kod i ostavili ga otvorenim da ga otkrije bilo tko briga za izgled.

Nije savršeno rješenje ...

Nažalost, postoji ograničen broj pojedinaca koji imaju i vještine i vrijeme za reviziju softvera otvorenog koda (obično besplatno), što znači da velika većina programa otvorenog koda nije izvršena revizija.

Ovaj problem se nadovezuje na činjenicu da su mnogi programi otvorenog koda izuzetno složeni i sadrže tisuće i tisuće redaka koda, pa čak i ako su provedeni reviziji, posve je moguće da su revizori propustili problem (pogotovo ako je zlonamjeran kod bio namjerno prikriveno).

Ali…

Otvoreni izvor, dakle, ne jamči da je program "čist", ali je ipak najbolje jamstvo da imamo (ili možemo imati) da je to tako. Alternativa je zatvoreni izvor, koji ne daje nikakva jamstva.

Uvijek provjeravajte programe otvorenog koda

Dakle, otvoreni izvor je sjajan za sigurnost. Yay! Ali kako možete sa sigurnošću znati da program otvorenog koda koji ste upravo preuzeli nije na neki način ugrožen?

To možda zvuči kao fantastično razmišljanje o paranoičnoj zavjeri, ali u veljači 2016. web stranica jedne od najpopularnijih verzija operativnog sustava otvorenog koda Linux, Linux Mint, hakirana je, a komplicirana verzija OS-a dostupna je preuzimačima,

"Hakeri su napravili modificirani Linux Mint ISO sa stražnjim dijelom u njemu i uspjeli hakirati našu web stranicu kako bi ukazali na to."

Zaražene Linux slike ISO-a instalirale su kompletni OS sa stražnjim tsunamijem (Relay Chat (IRC)), koji je napadačima omogućio pristup korisnikovom sustavu putem IRC servera. Dakle, prijetnja je vrlo stvarna.

U ovom slučaju, preuzimači koji su se trudili provjeriti zbirku MD5 hash-a datoteke (pogledajte ovdje kako to učiniti) primijetili bi zabludu, ali takvi hash-ovi provjere nisu pouzdana zaštita, jer ako web mjesto može biti hakirano prije svega, to je trivijalno zamijeniti objavljeni kontrolni zbroj s lažnim koji provjerava sačinjenu datoteku.

Puno je bolje da programeri digitalno potpišu svoj softver tako da korisnici mogu provjeriti podrijetlo datoteke (programeri Mint-a su u tom pogledu bili vrlo slab, jer njihov softver nije digitalno potpisan, a poznata je čak i MD5 hash funkcija koja je korištena da se razbije!)

Pogledajte moj članak o Digitalni potpisi - zašto i kako biste ih trebali koristiti za više informacija. Nažalost, provjera digitalnih potpisa nešto boli, ali je neophodna ako vam je stalo do sigurnosti.

Također bih trebao napomenuti da bi, u idealnom slučaju, sav softver trebao biti digitalno potpisan i ovjeren, ali s obzirom da otvoreni izvorni kod svatko može slobodno mijenjati, lakše je mijenjati, nego zatvoreni izvorni kod. Stoga je posebno važno provjeriti programe otvorenog koda.

Otvoreni izvor: zaključak

Otvoreni izvor nije savršeno rješenje, ali pruža najbolje (i jedino!) Jamstvo da je softveru moguće vjerovati. Alternativa je zatvoreni izvor, koji ne daje nikakvo jamstvo (osim slijepe vjere u tvrtku, što je vjera koju tvrtke ne zaslužuju).

Brayan Jackson
Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me