Skip to main content

Themes

Cyber Security & Privacy
Digital / IT Transformation

Informatiebeveiliging versus open source software

Open source software is volwaardige software. De tijd is voorbij dat open source software het exclusieve domein was van enkele gedreven techneuten, academici en activisten. Steeds meer commerciële ondernemingen en publieke instellingen overwegen om over te stappen van hun vertrouwde Microsoft-, SAP- en Oracle-omgevingen naar open source alternatieven. De vraag die hierbij wordt gesteld door menig CIO en CISO luidt: ‘Is het gebruik van open source software veilig?’ In dit artikel geeft de kritische IT-auditor zijn antwoord op deze vraag.

Inleiding

Open source software groeit gestaag. Wat voorheen door het bedrijfsleven werd afgedaan als vrijblijvende initiatieven van hobbyisten is uitgegroeid tot een volwaardige tegenhanger van commerciële closed source software.[Dikwijls wordt ook de term proprietary (‘eigendoms-‘) software gebruikt. Aangezien ook open source software deels in eigendom kan zijn, wordt in dit artikel de term closed source software gehanteerd.] Inmiddels besturen verschillende soorten Linux gigantische serverparken van multinationale concerns, OpenOffice wedijvert steeds serieuzer met Microsoft Office, terwijl het merendeel van de websites op het internet gebruikmaakt van Apache Webserver.

Ogenschijnlijk lage investeringen die open source software vergt en krachtige stimulans vanuit de overheid effenen de weg voor de opmars. Waar veel organisaties al jaar en dag klagen over vendor lock-in, hoge licentiekosten en inflexibele software, lijkt open source software dé oplossing te bieden voor al deze problemen. Zowel analisten als IT-integrators zien open source software samen met SaaS/cloud computing als de belangrijkste trends voor de komende tijd. Forrester ziet zelfs open source software, mede door zijn lage aanschafkosten, als hét wondermiddel om de pijn van de financiële crisis bij de IT-afdeling te verzachten ([Hamm09]).

Met alle mogelijkheden die open source software biedt, kent open source software ook de nodige aandachtspunten ten aanzien van informatiebeveiliging. Ofschoon de discussie hierover in alle hevigheid woedt tussen ‘open source evangelisten’ en al dan niet partijdige ‘open source sceptici’, zal dit artikel een beeld geven van de risico’s van open source software.

Definitie van ‘open’

Wat is ‘open’ nu precies? Open source software wordt vaak in verband gebracht met open standaarden en open access. Ofschoon de term ‘open’ in dit geval openbaar of vrije toegang betekent, staan deze zaken grotendeels los van elkaar.

Open source software

Onder open source software wordt software verstaan die ontwikkeld is door een al dan niet op professionele basis opererende gemeenschap (open source community) waarvan de broncode openbaar is gesteld. Dit in tegenstelling tot closed source software waarvan de broncode geheim wordt gehouden en vrijwel altijd in beheer blijft van een commerciële softwareleverancier/softwareproducent. Bekende voorbeelden van open source software zijn de besturingssystemen Linux[Linux is een verzamelnaam voor verschillende Linux-distributies. Bekende distributies zijn RedHat, Suse, Ubuntu en Debian.] en Open Solaris, de veelgebruikte webserver Apache, het applicatieplatform JBoss, en OpenOffice, één van de open source tegenhangers van de Office-suite van Microsoft. Gewoonlijk wordt de software ontwikkeld in het kader van een zogenoemd open source project.

C-2009-4-Chung-t01

Tabel 1. Closed source versus open source.

Open standaarden

Open standaarden zijn door de ICT-markt algemeen geaccepteerde standaarden voor hard- en software. Deze kunnen door verschillende leveranciers en gebruikers worden ingezet en gebruikt. Bekende voorbeelden van open standaarden zijn ISA, TCP/IP, PDF en ODF.

Open access

Onder open access wordt vrije toegang tot (academische) publicaties op het internet verstaan. Voorbeelden van open access zijn Directory of Open Access Journals en BMC Journals.

Doorgaans maakt open source software gebruik van open standaarden en worden publicaties die door open source communities worden geproduceerd via het open access principe vrijelijk beschikbaar gesteld. Ook closed source software maakt in toenemende mate gebruik van open standaarden, al zijn sommige van deze standaarden zoals .Net sterk gelinkt aan bepaalde commerciële producten.

Ten aanzien van open source software moet echter worden opgemerkt dat open source software niet synoniem is aan freeware (gratis software). Weliswaar zijn veel open source producten kosteloos verkrijgbaar als downloads voor particuliere gebruikers, maar voor sommige open source software dient gewoon te worden betaald. Daarnaast wordt ook closed source software soms als freeware aangeboden.

Het gebruik van open source software

Buiten het terrein van enthousiaste computergebruikers en de academische wereld waar open source software reeds gemeengoed is, neemt het gebruik van open source software significant toe binnen de commerciële sector. Verschillende recente onderzoeken van Forrester en Gartner wijzen uit dat meer dan de helft van alle grote Amerikaanse en Europese ondernemingen gebruikmaakt van open source software voor één of meer toepassingen. Een aanzienlijk deel van deze ondernemingen geeft ook aan dat zij open source software willen inzetten voor bedrijfskritieke toepassingen zoals CRM, ERP en e-mail. Hierbij worden wel zorgen geuit over de eventuele risico’s van open source software ten aanzien van informatiebeveiliging ([Schi08], [Hamm09]).

In Nederland stimuleert de overheid sinds enkele jaren het gebruik van open source software binnen de (semi)publieke sector. Hiertoe is het Actieplan Nederland Open in Verbinding gepresenteerd waarbij de (semi)publieke sector wordt opgeroepen om indien mogelijk voor open source software en open standaarden te kiezen. Ook de Europese Unie heeft bij monde van Europees Commissaris Neelie Kroes bepaald dat open source software bij gelijke geschiktheid voorrang moet krijgen op closed source software ([Noiv07]).

Ondanks de interesse vanuit het bedrijfsleven en de krachtige aanzet vanuit de overheid bedraagt het aandeel van open source software in het totale softwareportfolio minder dan vijf procent. Wel wordt bij vervanging van oude, veelal closed source software, steeds vaker gekozen voor open source alternatieven. Dit percentage bedraagt volgens Forrester bijna vijfentwintig ([Hamm09]).

Twee aanvullende complicerende factoren zijn voorts van belang:

  • Steeds meer commerciële closed source software bevat onderdelen van open source software.
  • Op bescheiden schaal besluiten leveranciers van closed source software om delen van hun catalogus als open source software aan te bieden. Hierdoor is een strikte scheiding tussen open en closed source software in enkele gevallen lastig aan te geven.

Succes van open source software

De toenemende populariteit van open source software is met name te danken aan de volgende factoren:

Lagere aanschafkosten

Een zeer groot deel van open source software is gratis dan wel tegen geringe kosten verkrijgbaar. Veelal kunnen open source producten door individuele (thuis)gebruikers en non-profitorganisaties kosteloos worden gedownload van het internet. Zelfs voor de betaalde open source producten zijn de aanschafkosten fors lager dan voor closed source producten. Ter vergelijking: de licentiekosten voor functioneel volwaardige open source ERP-oplossingen (Compiere, PostBooks, Openbravo) bedragen minder één procent van de licentiekosten die betaald moeten worden voor bekende closed source ERP-oplossingen zoals SAP en PeopleSoft. Hierbij moet wel worden aangetekend dat de licentiekosten voor ondernemingen liggen tussen de vijf en tien procent van de totale ICT-kosten ([Meek08]).

Transparantie en aanpasbaarheid van de software

Niet alleen is de broncode van de open source software openbaar, in veel gevallen kan de gebruiker ook de code naar eigen inzichten en toepassingsdoeleinden wijzigen zonder tussenkomst van en/of financiële verplichtingen aan de softwareleverancier. Een voorwaarde is natuurlijk dat de kennis van de programmatuur beschikbaar is.[Veelgebruikte programmeertalen zijn C, C++, Java en PHP; Visual Basic en C# die veel worden gebruikt voor closed source producten zijn ondervertegenwoordigd.]

Onafhankelijkheid ten opzichte van de leverancier

De openheid van open source software zorgt in principe voor minder vendor lock-in. Verregaande onwenselijke afhankelijkheid van één leverancier en/of technologie is gemeengoed in de IT-wereld: veel ondernemingen zijn voor hun bedrijfsvoering volkomen hulpbehoevend geworden van de grillen van grote softwareleveranciers. Open source software daarentegen kent in de regel een grote mate van vrijheid – er zijn immers geen of nauwelijks licenties of langlopende contracten – en biedt door zijn gebruik van open standaarden diverse alternatieven voor specifieke toepassingen. Een migratie tussen open source databasesystemen zoals MySQL en PostgreSQL verloopt meestal soepeler dan tussen Oracle en IBM DB2.

Beveiligingsrisico’s van open source software

Open source in vergelijking tot closed source

Over de mate van beveiliging van open source software worden heftige debatten gevoerd door verstokte aanhangers en sceptici van het open source concept. Veelal worden hun stellingen gekleurd door ideologische en commerciële belangen. Waar menig open source adept wijst naar de talloze zwakheden en beveiligingslekken in de producten van Microsoft en Oracle, hekelen veel commerciële softwarebedrijven de vermeend amateuristische ontwikkel- en testpraktijken bij veel open source projecten.

In ieder geval geven veel potentiële klanten van open source software aan dat de beveiligingsrisico’s van open source software en de onbekendheid met dit onderwerp één van de belangrijkste barrières vormen tot het adopteren van (meer) open source software ([Suto08], [Schi08]).

Open source software is uiteraard niet vrij van zwakheden zoals beveiligingslekken, race conditions en bugs. Er bestaan specifieke wormen en exploits voor veelgebruikte systemen zoals Linux, Apache en Tomcat; sommige malwares zijn zelfs cross-platform waardoor zij zowel Windows als Linux kunnen besmetten. En net als closed source software kent open source software de nodige patches die deze zwakheden moeten verhelpen.

Het identificeren van de beveiligingsrisico’s van open source software zal in relatie moeten staan tot de beveiligingsrisico’s van de bestaande, veelal closed source software. Een eerlijke vergelijking tussen die twee is evenwel een lastige zaak aangezien het aandeel van open source software in het totale softwareportfolio van organisaties, ondanks de recente stijging van de populariteit, nog steeds zeer laag is ten opzichte van closed source software (minder dan vijf procent). Met name voor financiële toepassingen waar veel cybercriminelen hun aanvallen op richten, is het aandeel van open source software marginaal. Dit heeft tot gevolg dat het absolute én relatieve aantal inbraakpogingen op open source onevenredig laag is ([Hamm09]).

Hierbij moet wel worden opgemerkt dat het aantal malware dat misbruikt maakt van de zwakheden in de software voor Linux (enkele honderden), ook met het marktaandeel in ogenschouw genomen, in geen verhouding staat tot het aantal malware dat inmiddels voor Windows XP of Windows 2003 beschikbaar is (enkele tienduizenden). Ook is de populaire open source Apache Webserver beslist niet onveiliger dan een minder gebruikt closed source alternatief als IIS.

Vrije toegang tot de broncode

Een belangrijk theoretisch voordeel van open source software is de vrije toegang tot de broncode. In principe kunnen alle gebruikers en geïnteresseerden de broncode van de software op beveiliging controleren en eventuele beveiligingsissues oplossen of mitigeren. Ook kan de software zonder tussenkomst van de softwareleverancier naar eigen inzichten en noden van de organisatie worden aangepast. Waar gebruikers van closed source software zijn overgeleverd aan het beveiligingsbeleid van leveranciers, hebben gebruikers van open source software de vrijheid om hun eigen beleid hierop te voeren.

De meningen op dit vlak zijn echter verdeeld. Terwijl sceptici erop wijzen dat ook cybercriminelen en hackers de zwakheden in de open source software, zonder deze buiten eigen kring bekend te maken, ongehinderd kunnen exploiteren, onderstrepen gezaghebbende experts zoals Bruce Schneier en Eric Raymond dat juist openheid leidt tot beter beveiligde software. Helaas worden beide stellingen slechts sporadisch ondersteund met concrete cijfers. De praktijk van KPMG leert evenwel dat veel toegepaste open source producten zoals Apache en JBoss enerzijds bewijzen dat open source software niet is gevrijwaard van zwakheden, maar dat anderzijds de voortdurende open controle de software zeer solide heeft gemaakt ten opzichte van vergelijkbare alternatieven uit de closed source hoek. De realiteit leert ook dat zwakheden in closed source software via reverse engineering ontdekt kunnen worden. De vele aanvallen die Windows in haar bestaan hebben geteisterd, leveren hiervoor het bewijs ([Schn09], [Chun09]).

Daarentegen creëert die openheid van open source software ook een schijnveiligheid. Slechts een marginaal percentage van de gebruikers en softwarespecialisten van buiten het project levert daadwerkelijke bijdragen en patches aan. De beveiliging is dus hoofdzakelijk, net als bij closed source software, het domein van een select groepje ontwikkelaars ([Moha08]).

C-2009-4-Chung-t02

Tabel 2. Argumenten voor en tegen ten aanzien van beveiliging.

Aandacht voor informatiebeveiliging

In de regel is aandacht voor informatiebeveiliging bij softwareontwikkeling geen vanzelfsprekendheid. Vrijwel alle ontwikkelaars willen in de eerste plaats een goed werkend product opleveren, en hierbij is beveiliging eerder een hindernis dan een baat. Goede beveiliging verlengt immers de doorlooptijd van de ontwikkeling en kan bepaalde functionaliteiten in de software beperken.

Door de toegenomen aandacht voor cybercriminaliteit is informatiebeveiliging de laatste jaren nadrukkelijker op de kalender komen te staan bij de grote (closed source) softwareleveranciers. Er wordt een beroep gedaan op beveiligingsexpertise: beveiligingsprocessen worden geïmplementeerd ten aanzien van softwareontwikkeling en beheer, en gebruikers worden aangespoord om eventuele zwakheden te rapporteren. Deze maatregelen hebben ertoe geleid dat het aantal kritieke lekken in Windows, Oracle en SAP met de opeenvolgende releases (iets) is afgenomen.

Dezelfde trend lijkt niet te gelden voor open source projecten. Een onderzoek wijst uit dat het aantal zwakheden in de software voor enkele open source producten per release gelijk is gebleven of zelfs is toegenomen. Voorbeelden hiervan zijn Geronimo applicatieserver en Hipergate websuite. Bovendien was de aandacht voor informatiebeveiliging vrijwel afwezig bij deze projecten. Er werd geen beroep gedaan op beveiligingsexpertise, er was geen sprake van coherente ontwikkelprocessen en eventuele zwakheden konden niet via een specifiek adres worden gerapporteerd. Daarnaast werd de kennis van beveiliging slechts marginaal binnen de community geborgd ([Suto08]).

Een belangrijk punt in dit opzicht is het release-managementproces. Waar grote softwareleveranciers zoals Microsoft en Oracle zich bedienen van strakke releaseplanningen die centraal worden gecoördineerd, hebben veel open source projecten nog niet die mate van volwassenheid bereikt. Dit heeft uiteraard tot gevolg dat het aantal zwakheden bij de betreffende open source producten niet afneemt. De ontwikkeling van open source software mag dan wel ‘open’ zijn, in de praktijk blijft de ontwikkeling voorbehouden aan een select groepje ontwikkelaars dat zich nauwelijks gebonden voelt tot strakke processen. Het probleem doet zich ook voor dat verschillende patches en aanpassingen in de broncode door het ontbreken van een strakke releaseplanning en hiërarchie binnen de groep ongecontroleerd worden aangebracht. Hierdoor kunnen verschillende versies in omloop komen en goede patches onbedoeld door slechte aanpassingen worden overschreven. Release management blijft een issue in open source communities ([Meek08], [Moha08]).

Er blijkt tevens weinig gebruik te worden gemaakt van technologieën om softwarebugs en andere zwakheden in de software te detecteren. Veel bekende zwakheden zoals Cross-Site Scripting (XSS) en SQL-injecties die eenvoudig kunnen worden voorkomen, komen relatief vaak voor in open source software ([Suto08]).

Kennis van open source

Open source software vergt specifieke (programmeer) kennis en ervaring. Aangezien het gros van de open source software is ontworpen en gebouwd door techneuten, vergt het beheer beduidend meer technische kennis in vergelijking tot closed source software. Daarbij is de beschikbare expertise op open source software relatief schaars en losser georganiseerd.

Gezien het feit dat de sterkte van informatiebeveiliging in belangrijke mate wordt bepaald door het kennisniveau van applicatie- en systeembeheerders, kan zelfs een goed ontwikkeld open source product door onbekwame beheerders onveilig worden gebruikt. Relatief veilige Linux-systemen kunnen door slecht beheer vol met ongepatchte lekken en onveilige settings zitten, waardoor het voordeel inzake informatiebeveiliging ten opzichte van Windows volledig teniet wordt gedaan.[Enkele voorbeelden zijn SNMP met default community strings, onbeveiligde Samba-shares en anonieme FTP met toegang tot alle files.] Bovendien vergen populaire open source producten dikwijls een hoog aantal patches doordat veel, vaak kleine, verbeteringen worden aangebracht. Het is dan ook van belang om deze patches goed te testen en te installeren.

C-2009-4-Chung-t03

Tabel 3. Risicodiagram open source en closed source.

Mitigerende maatregelen

Gelet op de genoemde risico’s en aandachtspunten kunnen de volgende mitigerende maatregelen worden genomen:

Stel beveiligingsrichtlijnen op voor open source systemen en applicaties

Linux kent andere zwakheden dan Windows, en systemen en applicaties kennen hun eigen instellingen die bepalend zijn voor het beveiligingsniveau.

Het opstellen van beveiligingsrichtlijnen/standaarden voor open source software vergt evenwel specialistische technische kennis van de betreffende pakketten en is een zaak voor beveiligingsprofessionals.

Onderzoek de volwassenheid van de betreffende open source community en het project

Indien de community en het project kleinschalig en/of onbekend zijn, is het raadzaam om deze te (laten) onderzoeken. Hierbij dient in ieder geval te worden gekeken naar de volgende elementen:

  • Gehanteerde ontwikkelmethodiek. Worden gestructureerde, gecontroleerde ontwikkelmethodieken ingezet met voortdurende aandacht voor informatiebeveiliging?
  • Verbeterproces. Kunnen zwakheden in de software worden aangemeld? Onderneemt de community actie voor verbeteringen? Is er voldoende kennis aanwezig? Staat de community open voor adviezen?
  • Release management. Worden patches en upgrades periodiek en gecontroleerd uitgebracht? Doet de community aan versiebeheer?
  • Inzet van geautomatiseerde tools. Worden tools gebruikt voor broncode checks?

Voer een broncodereview uit

Waar closed source softwareleveranciers zich kunnen verschuilen achter juridische procedures, kan open source software door de openbaarheid van de broncode relatief eenvoudig door specialisten worden onderzocht op zwakheden en fouten.

Zorg voor gekwalificeerde beheerders

Systeem- en applicatiebeheerders dienen voldoende gekwalificeerd en ervaren te zijn. Inmiddels kennen grote open source oplossingen zoals Linux, JBoss, Geronimo en Apache hun eigen opleidingstrajecten voor beheerders. Het is van belang dat de benodigde kennis wordt gewaarborgd binnen de organisatie.

Conclusie

Net als closed source software kent open source software zwakheden in de programmatuur en is de ontwikkeling afhankelijk van de beschikbare kennis, aandacht en ervaring.

Open source software kent evenwel door zijn openheid en betrekkelijke onafhankelijkheid van commerciële partijen enkele specifieke aandachtspunten ten aanzien van informatiebeveiliging. Openheid betekent dat meerdere ogen naar de broncode kunnen kijken en sneller de zwakheden worden opgespoord en opgelost. Dit kan ook betekenen dat criminelen en hackers de zwakheden kunnen exploiteren voordat de benodigde patches beschikbaar zijn. Daarnaast kampen met name kleinere open source projecten met onvolwassen processen voor beveiliging waardoor zwakheden in hun software niet methodisch en gecontroleerd worden aangepakt.

Desalniettemin wijzen beschikbare cijfers uit dat bekende open source producten zoals Linux en Apache wat betreft beveiliging verrassend goed scoren in vergelijking tot de closed source tegenhangers. Dit geeft aan dat er serieus moet worden gekeken naar open source oplossingen om het niveau van informatiebeveiliging te verhogen.

Een groot voordeel van open source software vanuit auditperspectief is dat de broncode eenvoudiger door specialisten, zonder omslachtige juridische procedures, kan worden beoordeeld. Voor auditors is open source software een godsgeschenk!

Literatuur

[Beav09] Kevin Beaver, Five common Linux security vulnerabilities you may be overlooking; A look at real-world exploits of Linux security vulnerabilities, Searchenterpriselinux.com, 2009.

[Chun09] Mike Chung, Open Source, mogelijkheden en aandachtspunten van open source, KPMG ITA ISC, april 2009.

[Gart08] Hype Cycle for Open Source Software, Gartner, 2008.

[Gruh08] Martin Gruhn, Security Engineering and Open Source Software Development, Freie Universität Berlin, 2008.

[Hamm09] Jeffrey S. Hammond, Open Source Software Goes Mainstream, Forrester, 2009.

[Hein05] Gary Hein, Open Source Software: Risks and Rewards, Burton Group, 2005.

[Meek08] Heather Meeker, The Open Source Alternative: Understanding Risks and Leveraging Opportunities, 2008.

[Moha08] Arif Mohamed, Open Source Software Security, Computerweekly.com, 2008.

[Noiv07] NOiV, Actieplan Nederland Open in Verbinding, Ministerie van Economische Zaken, 2007.

[Schi08] Esther Schindler, Survey: Open Source is Entering the Enterprise Mainstream, Network World, 2008.

[Schn09] Bruce Schneier, Schneier on Security, 2009.

[Suto08] Larry Suto, Open Source Security Study, How are Open Source Development Communities Embracing Security Best Practices?, Fortify Security Research Group, 2008.

[Webe05] Steven Weber, The Success of Open Source, 2005.