Varför är öppen källkod viktigt?

Vad är öppen källkod?

Öppen källkodsprogramvara är programvara vars källkod har gjorts offentligt tillgänglig av dess copyrightinnehavare. Under en riktig öppen källkodslicens utvecklas programvaran i samarbete, och andra programmerare kan titta på, ändra eller använda koden sina egna syften. Denna "rena" öppen källkodsmodell benämns ofta FOSS (gratis och öppen källkodsprogramvara).

En variant av öppen källkod är "tillgänglig källa", vilket innebär att ingen behörighet ges för att ändra eller på annat sätt använda koden, men att den är tillgänglig för inspektion. Av säkerhetsskäl är detta lika bra som sann öppen källkod, så när jag hänvisar till “öppen källkod” i den här artikeln, inkluderar jag kod som är ”källa tillgänglig”.

Vad är sluten källa?

De flesta programvaror är skrivna och utvecklade av kommersiella företag. Förståeligtvis är dessa företag angelägna om att inte andra ska stjäla deras hårda arbete eller affärshemligheter, så de döljer sin kod bort från nyfikna ögon med hjälp av kryptering, och alla försök att använda eller ändra koden utan tillstånd kommer att leda till stämningar eller värre.

Så vad är problemet?

Som jag säger, det här är helt förståeligt, men när det gäller säkerhet utgör det ett stort problem. Om ingen kan se detaljerna om vad ett program gör, hur kan vi veta att det inte gör något skadligt? I grund och botten kan vi inte, så vi måste helt enkelt lita på det involverade företaget, vilket är något som paranoida säkerhetstyper är avskyvärda (med goda skäl).

Varför är öppen källkod den bästa lösningen?

Om koden är öppen källkod kan den självständigt granskas och granskas av alla som är behöriga att göra det för att kontrollera att det inte finns några bakdörrar, sårbarheter eller andra säkerhetsproblem. Open source är inte en perfekt lösning (se nedan), men det är det enda sättet att behöva verifiera att programvara bara gör exakt vad den ska.

Även om koden inte har granskats, ger faktumet att den fritt tillgängliga att granskas ger en stark indikation på att den kan lita på, eftersom det är osannolikt att utvecklare skulle inkludera skadlig kod och sedan lämna den öppen för att upptäckas av någon som bryr sig om att titta.

Inte en perfekt lösning ...

Tyvärr finns det ett begränsat antal individer med både färdigheter och tid att granska open source-programvara (vanligtvis gratis), vilket innebär att de allra flesta open source-program inte har granskats..

Detta problem förvärras av det faktum att många öppna källkodsprogram är extremt komplexa och innehåller tusentals på tusentals rader kod, så även om de har granskats är det helt möjligt att revisorerna missade ett problem (särskilt om skadlig kod har varit medvetet dold).

Men…

Open source garanterar därför inte att ett program är "rent", men det är ändå den bästa garantin att vi har (eller kan ha) att detta är så. Alternativet är en sluten källa, som inte ger några garantier överhuvudtaget.

Verifiera alltid öppna källkodsprogram

Så open source är bra för säkerhet. Jippie! Men hur kan du säkert veta att det öppna källkodsprogrammet som du just har laddat ner inte har manipulerats på något sätt?

Detta kan låta som whacko paranoid konspirationsfantasi-tänkande, men i februari 2016 hackades webbplatsen för en av de mest populära versionerna av Linux open source operativsystem, Linux Mint, och en kompromitterad version av OS ställdes tillgänglig för nedladdare,

"Hackare skapade en modifierad Linux Mint ISO med en bakdörr i den och lyckades hacka vår webbplats för att peka på den."

De infekterade Linux ISO-bilderna installerade det kompletta operativsystemet med Internet Relay Chat (IRC) bakdörr Tsunami, som gav angriparna tillgång till användares system via IRC-servrar. Så hotet är mycket verkligt.

I det här fallet skulle nedladdare som brytt sig om att kontrollera filens MD5-hash (se här för hur du gör detta) ha upptäckt bedraget, men sådana haschkontroller är inte ett tillförlitligt skydd eftersom om en webbplats kan hackas i första hand, är trivialt att ersätta den publicerade kontrollsumman med en falsk fil som verifierar den sammansatta filen.

Mycket bättre är för utvecklare att digitalt signera sin programvara så att användare kan verifiera ursprunget till en fil (Mint-utvecklarna var mycket slappa i detta avseende, eftersom deras programvara inte var digitalt signerad, och även MD5-hashfunktionen som användes är känd att vara trasig!)

Se min artikel om digitala signaturer - varför och hur du ska använda dem för mer information. Tyvärr är det svårt att kontrollera digitala signaturer, men det är nödvändigt om du bryr dig om säkerhet.

Jag bör också notera att idealiskt sett bör all programvara signeras och verifieras digitalt, men eftersom öppen källkod fritt kan ändras av någon, är det lättare att manipulera med än stängd källkod. Det är därför särskilt viktigt att verifiera open source-program.

Open Source: Slutsats

Open source är inte en perfekt lösning, men den ger den bästa (och bara!) Garantin som möjligt för att programvara kan lita på. Alternativet är en sluten källa, som inte ger någon garanti överhuvudtaget (annat än blind tro på företaget, som är en tro som teknikföretag inte förtjänar).

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