Waarom is open source belangrijk?

Wat is open source?

Open source software is software waarvan de broncode openbaar is gemaakt door de auteursrechthebbende. Onder een echte open source-licentie wordt de software in samenwerking ontwikkeld en kunnen andere programmeurs de code voor hun eigen doeleinden bekijken, wijzigen of gebruiken. Dit 'pure' open source-model wordt vaak FOSS genoemd (gratis en open source software).


Een variant van open source is "source available", wat betekent dat er geen toestemming wordt verleend om de code te wijzigen of anderszins te gebruiken, maar dat deze beschikbaar is voor inspectie. Om veiligheidsredenen is dit net zo goed als echte open source, dus als ik in dit artikel naar 'open source' verwijs, neem ik code op die 'source available' is.

Wat is een gesloten bron?

De meeste software is geschreven en ontwikkeld door commerciële bedrijven. Het is begrijpelijk dat deze bedrijven niet willen dat anderen hun harde werk of handelsgeheimen stelen, dus verbergen ze hun code voor nieuwsgierige blikken met behulp van codering, en elke poging om de code zonder toestemming te gebruiken of te wijzigen zal leiden tot rechtszaken of erger.

Dus wat is het probleem?

Zoals ik al zei, dit is allemaal heel begrijpelijk, maar als het op beveiliging aankomt, levert dit een groot probleem op. Als niemand de details kan zien van wat een programma doet, hoe kunnen we dan weten dat het niet iets kwaadaardigs doet? In principe kunnen we dat niet, dus we moeten gewoon vertrouwen op het betrokken bedrijf, wat iets is dat paranoïde beveiligingstypes niet graag doen (met goede reden).

Waarom is open source de beste oplossing?

Als code open source is, kan deze onafhankelijk worden onderzocht en gecontroleerd door iemand die hiervoor bevoegd is om te controleren of er geen achterdeurtjes, kwetsbaarheden of andere beveiligingsproblemen zijn. Open source is geen perfecte oplossing (zie hieronder), maar het is de enige manier om te verifiëren dat software alleen precies doet wat het zou moeten doen.

Zelfs als de code niet is gecontroleerd, geeft het feit dat het vrij beschikbaar is om te worden gecontroleerd, een sterke indicatie dat het kan worden vertrouwd, omdat het onwaarschijnlijk is dat ontwikkelaars schadelijke code bevatten en het vervolgens open laten staan ​​om te worden ontdekt door iedereen die geeft om te kijken.

Geen perfecte oplossing ...

Helaas is er een beperkt aantal personen met zowel de vaardigheden als de tijd om open source-software te controleren (meestal gratis), wat betekent dat de overgrote meerderheid van open source-programma's niet is gecontroleerd.

Dit probleem wordt verergerd door het feit dat veel open source-programma's extreem complex zijn en duizenden tot duizenden regels code bevatten, dus zelfs als ze zijn gecontroleerd, is het heel goed mogelijk dat de auditors een probleem hebben gemist (vooral als kwaadaardige code is opzettelijk verborgen).

Maar…

Open source garandeert daarom niet dat een programma 'schoon' is, maar het is niettemin de beste garantie die we hebben (of kunnen hebben) dat dit zo is. Het alternatief is een gesloten bron, die geen enkele garantie biedt.

Controleer altijd open source-programma's

Dus open source is geweldig voor beveiliging. Yay! Maar hoe weet je zeker dat met het open source-programma dat je zojuist hebt gedownload, op geen enkele manier is geknoeid?

Dit klinkt misschien als whacko paranoïde samenzweringsfantasie, maar in februari 2016 werd de website van een van de meest populaire versies van het Linux open source besturingssysteem, Linux Mint, gehackt en werd een gecompromitteerde versie van het OS beschikbaar gesteld aan downloaders,

"Hackers hebben een aangepaste Linux Mint ISO gemaakt, met een achterdeur erin, en zijn erin geslaagd onze website te hacken om ernaar te verwijzen."

De geïnfecteerde Linux ISO-images installeerden het complete besturingssysteem met de Internet Relay Chat (IRC) achterdeur Tsunami, die de aanvallers via IRC-servers toegang tot het systeem van gebruikers gaf. Dus de dreiging is heel reëel.

In dit geval zouden downloaders die de controles van de MD5-hash van het bestand hebben uitgevoerd (zie hier hoe dit te doen) de misleiding hebben opgemerkt, maar dergelijke hash-controles zijn geen betrouwbare bescherming, want als een website in de eerste plaats kan worden gehackt, is triviaal om de gepubliceerde controlesom te vervangen door een valse die het bestaande bestand verifieert.

Veel beter is dat ontwikkelaars hun software digitaal ondertekenen, zodat gebruikers de oorsprong van een bestand kunnen verifiëren (de Mint-ontwikkelaars waren in dit opzicht erg laks, omdat hun software niet digitaal was ondertekend en zelfs de gebruikte MD5-hashfunctie bekend is gebroken zijn!)

Raadpleeg mijn artikel over digitale handtekeningen - waarom en hoe u ze moet gebruiken voor meer informatie. Helaas is het controleren van digitale handtekeningen lastig, maar het is noodzakelijk als u om veiligheid geeft.

Ik moet er ook op wijzen dat alle software idealiter digitaal moet worden ondertekend en geverifieerd, maar omdat open source-code door iedereen vrij kan worden gewijzigd, is het gemakkelijker om ermee te knoeien dan gesloten source-code. Het is daarom bijzonder belangrijk om open source-programma's te verifiëren.

Open source: conclusie

Open source is geen perfecte oplossing, maar het biedt de beste (en enige!) Garantie die mogelijk is dat software kan worden vertrouwd. Het alternatief is een gesloten bron, die geen enkele garantie biedt (anders dan blind vertrouwen in het bedrijf, dat is een geloof dat techbedrijven niet verdienen).

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