Open source is een godsgeschenk voor ontwikkelaars, maar soms ook een vloek. Hoe veilig is open source-code vandaag?
We keren terug naar eind 2021. De wereld stond toen even stil, en dat kwam niet alleen door covid-19. Log4j, een systeem dat logs bijhoudt en door miljoenen Java-gebaseerde systemen wordt gebruikt, bevatte een kwetsbaarheid. “Door een programmeerfout konden hackers via Log4j eigen malafide code uitvoeren en zelfs verbinding maken met een externe server om van daaruit malware binnen te halen”, zegt Dirk Deridder, Director IT Infrastructure, Systems, Services & Support bij Smals.
Bijna niemand was immuun. Onder andere iCloud van Apple, diensten van Cloudflare, Amazon, VMware en IBM, Twitter en spelletjesdienst Steam waren onderhevig aan de bug. Let wel: dankzij bijkomende beveiligingsstappen konden aanvallen gelukkig nog worden gestopt.
Wat maakte dit complex? Apache rolde als Log4J-ontwikkelaar een patch uit voor de zero-day, maar dat was niet genoeg. Heel veel organisaties gebruiken immers software van derden waarin Log4j zit ingebakken. Zij moesten wachten tot al hun softwareleveranciers de patch van Apache implementeerden om vervolgens zelf de update uit te rollen.
Het geval Log4j was een worst-case scenario, waar open source met de billen bloot ging. Deridder: “Wie met open source werkt, heeft een krachtige tool in handen. Zolang je zelf goed genoeg op de hoogte bent van die kracht.”
Transparantie
Een open source-omgeving is gebaseerd op transparantie: de code die je deelt is voor iedereen zichtbaar. Dat heeft een positieve invloed op de kwaliteit van de code. Ontwikkelaars zullen niet snel onnauwkeurige code delen, met het risico dat deze gecorrigeerd of overspoeld wordt door kritiek. Het open karakter zorgt voor kwaliteit.
“Bij open source werk je samen met verschillende mensen, maar niet binnen één bedrijf. Hierdoor ben je verplicht om bepaalde standaarden te volgen, zodat vendor lock-in geen kans maakt”, vertelt Deridder. Die open standaarden leveren een hoge mate van overdraagbaarheid op waarbij ontwikkelaars dezelfde code op verschillende platformen kunnen inzetten.
Veiligheid
Hoewel open source een community is, gevuld met ontwikkelaars die hetzelfde doel voor ogen hebben, impliceert dit niet dat het immuun is voor gevaren van buitenaf. De eindverantwoordelijkheid van de code ligt niet bij de persoon die de code deelt, maar bij de eindgebruiker die de code overneemt.
“Van een vrijwillige ontwikkelaar die in zijn vrije tijd codes met anderen deelt, kan je niet verwachten dat die de middelen heeft om malafide code of praktijken op te sporen”, vertelt Deridder. Het is dus aan de eindgebruiker om de overgenomen code te inspecteren op malafide zaken, al is dit niet altijd haalbaar wanneer het om tienduizenden lijnen code gaat.
Open Source is zo common sense geworden, dat er te weinig over gepraat wordt.
Dirk Deridder, Director IT Infrastructure, Systems, Services & Support bij Smals
Deridder ziet grote uitdagingen voor open source als concept naarmate het aantal cyberdreigingen toeneemt. Hackers richten zich steeds meer op open source-projecten, wat nieuwe uitdagingen met zich meebrengt. “Maar ik bekijk het positief, dit kan wel eens de elektroshock zijn die nodig is om open source terug op de radar te zetten”, vertelt Deridder.
SBOM
Bij Smals hamert Deridder altijd op de SBoM, de ‘Software Bill of Materials’. “Je kan dit zien als een software-ingrediëntenlijst. Het is een lijst van alle componenten, bibliotheken en frameworks die worden gebruikt in een specifiek softwareproduct.”
De SBoM bevat ook vaak belangrijke informatie zoals versies van componenten, licenties en eventuele gekende beveiligingsproblemen. “Een SBoM is waardevol omdat je weet wat je in huis hebt aan software.”
lees ook
Zwitserland maakt alle overheidssoftware verplicht opensource
Door hiermee te werken, zullen organisaties volgens Deridder automatisch beter hun producten beheren en beveiligen. Verschillende regelgevingen en normen vereisen vaak zo’n SBoM. Een finaal extra voordeel is betere kostenefficiëntie, omdat je weet wat waar aanwezig is. Een beter overzicht zorgt voor snellere oplossingen, wat kostenbesparend is.
Nano-communities
“Open source is in theorie de veiligste code, want de hele wereld kan meekijken. Dat is helaas een droom. De realiteit is dat voor de honderden miljoenen pakketten er niet genoeg mensen zijn in de open source-community om alles rigoureus te doorgronden”, aldus Deridder.
Hij wijst op Linux als een bastion met sterke leiders. “Daar klopt het verhaal, maar tegelijk zijn er tienduizenden anderen die ook iets bouwen, de code droppen in open source omdat het voor hen dienst heeft gedaan, en met de noorderzon vertrekken. Je hebt vaak met nano-communities te maken. Daar zit de achilleshiel van open source.”
Deridder ademt open source en wil die boodschap zo breed mogelijk in de markt zetten. “Bij Smals moedigen we het gebruik van open source aan en ontwikkelden we een eigen micro-community onder de naam ReUse.” Daar wordt veelgebruikte code voor overheidsinstanties ‘gerecycleerd’. Recent lanceerde Smals een verbeterde website waar je een voortdurend bijgewerkte catalogus vindt dat honderd herbruikbare componenten bevat: API’s, systemen, libraries en producten.