Tag Archives: security

“Het PRISM dilemma”

De onthullingen rond PRISM doen ons geloven dat ook op internet het “recht van de sterkste” geldt. In dit voorbeeld is het de Amerikaanse NSA die massaal telefoongesprekken en internet communicatie tapt en opslaat. Andere geheime diensten doen dit ongetwijfeld eveneens. Dit voorval staat niet op zichzelf, er zijn vele voorbeelden waarin de security van computersystemen in het geding is. Wat kan je hier als bedrijf of individu aan doen? Kan Linux / Open Source Software ons hierbij behulpzaam zijn?

Geen eigenaar, geen bedrijf, geen deals

Commerciële software bedrijven hebben twee nadelen, ten eerste zijn ze gevestigd in een specifiek land en ten tweede worden ze (deels) “geregeerd” door commercie. Doet een Europees bedrijf zaken met een Amerikaans bedrijf dan is de kans groot dat Amerikaanse geheime diensten toegang hebben tot hun systemen en data. Zou het uitmaken dat de specifieke vestiging van dit Amerikaanse bedrijf zich op Europees grondgebied bevind? PRISM leert ons dat de Patriot Act voor alle Amerikaanse bedrijven geldt, waar zij zich ook vestigen. Men kan zich terecht afvragen of dit wenselijk is voor (o.a.) Europese overheidsdiensten. Stellen zij hiermee gegevens van hun burgers aan de Amerikaanse overheid ter beschikking?Prism

Een ander nadeel is het commerciële karakter van veel software bedrijven. Naast – voordelen – strookt de aandacht (en prioriteit) voor security niet altijd met de commerciele belangen van deze bedrijven. Zo worden exploits liefst niet meteen bekend gemaakt. Naast dat bedrijven niet graag “de vuile was” buiten hangen kan een fix meestal niet snel worden gemaakt. De rechtvaardiging hiervan is vaak dan ook dat de onbekendheid van een exploit voorkomt dat daarvan misbruik wordt gemaakt. In de “Open Source wereld” weten we dat deze “Security through obscurity” niet werkt. Mensen die misbruik willen maken van computer systemen zijn gewoon op de hoogte van deze exploits. Microsoft bijvoorbeeld, informeert de NSA over dergelijke exploits zo blijkt nu. Eindgebruikers zijn zo niet in staat hiertegen maatregelen te treffen omdat de exploits voor hen wel onbekend zijn. In tegenstelling, binnen de communities van Open Source Software worden exploits onmiddellijk bekend gemaakt zodat gebruikers maatregelen kunnen treffen en er snel een patch / fix gemaakt kan worden.

Community development

Open Source Software, zoals Linux bijvoorbeeld, kent geen eigenaar die in een specifiek land is gevestigd. Hierdoor is het lastig voor een nationale overheid – Amerikaans of anderzins – hierop grip te krijgen. Bovendien zijn de mensen die aan deze software programmeren vaak wars van dergelijk invloed en zullen zij om die reden daartegen verzetten. Ook is de bron code inzichtelijk voor iedereen die dat wil en vormt daarmee een extra zekerheid dat daarin geen opzettelijke “achterdeurtjes” gemaakt zijn. Het is geen garantie, maar waar zou je voorkeur naar uitgaan?

De bovenstaande punten betekenen niet dat commerciële software slecht is, 
dergelijke bedrijven niet te vertrouwen zijn of dat Open Source Software 
geen exploits zou bevatten. Er zijn voldoende legitieme redenen om wel 
commerciële software te gebruiken. Het is geen argument waarom het 
produceren van commerciële software illegaal of immoreel zou zijn. 
Het is dan ook geen onwil bij commerciële software bedrijven, maar 
eerder een "handicap".

Eerste-hulp

Wanneer bedrijven en eindgebruikers eenmaal met Linux / Open Source Software aan de slag gaan, dan blijkt dat daarvoor een eindeloze hoeveelheid tools (hulpprogramma’s) beschikbaar zijn. De toegankelijkheid is groot omdat ze makkelijk geïnstalleerd kunnen worden (via internet) en er (meestal) geen kosten aan verbonden zijn. Een aanzienlijk deel van deze tools kunnen gebruikt worden om de security van systemen, communicatie en data te verhogen.

Om een indruk te geven, OpenVPN kan gebruikt worden om VPN tunnels te bouwen, iptables is een standaard firewall in Linux, SELinux is een (overigens door de NSA ontwikkelde) methodiek om het security niveau van Linux te verhogen. Mail systemen kunnen beveiligd worden met ClamAV (een virusscanner) en Spamassassin (Spam filter).

Maar ook zijn er: Tripwire (een systeem waarmee wijzigingen van configuratiebestanden gedetecteerd kan worden), Snort (een intrusion detection system) en Fail2ban (een systeem waarmee onterechte inlogpogingen op systeem processen geweerd kunnen worden).

Bovenstaande producten zijn kosteloos te gebruiken, op een paar is commerciële (betaalde) support te verkrijgen en de meesten zijn prima gedocumenteerd. Ze zijn vaak onderling te combineren en deze lijst is verre van compleet!

Ladder en breekijzer

Linux / Open Source Software “gedraagt” zich eerder als een gereedschapskist met onderdelen, dan een “kant en klaar product”. Het nadeel hiervan is dat er meer kennis en ervaring nodig is om daarmee te bereiken wat je wil. Daar staat tegenover dat systemen volledig naar behoefte te configureren zijn. Dit stelt bedrijven en gebruikers in staat bijvoorbeeld alle potentiële hulpmiddelen voor hackers te verwijderen. Een systeem kan worden teruggebracht tot de basisonderdelen die echt nodig zijn. Alle overbodige software en services voor het specifieke toepassingsgebied zijn te verwijderen. In vergelijk, wie laat er een ladder en breekijzer bij zijn voordeur liggen?

Wie niet sterk is…

Voorbeelden zoals PRISM kunnen ons het gevoel geven dat het “recht van de sterkste” geldt. Wie kan er op tegen de financiële kracht en kennis van de NSA? Linux / Open Source Software geeft ons gelukkig de mogelijkheden daar het “recht van de slimste” tegenover te zetten. Het is aan ons eindgebruikers (en bedrijven / zakelijke gebruikers) om deze handschoen op te pakken of ervoor te kiezen ons over te geven aan een ieder die misbruik wil maken van onze systemen.

update d.d. 26-08-2013

Interessant AIVD rapport over dit onderwerp… AIVDrapport2013

Open source software helpt lekken voorkomen

Het zal je niet zijn ontgaan dat veel overheidsinstanties en gemeenten onder vuur liggen vanwege gebrekkige ict-beveiliging. Verschillende websites blijken gevoelig te zijn voor kwetsbaarheden en onvolkomenheden in de software waardoor de controle over sites kan worden overgenomen. Ook kunnen er gegevens buit gemaakt worden. Voor bedrijven en overheden levert dit imagoschade op.

In de media worden deze beveiligingslekken uitvoerig beschreven en naar buiten gebracht. Maar wat kan aan aan de beveiligingslekken gedaan worden. En, in relatie tot dit expert topic, welke rol kan open source software hierbij spelen?

Laat het duidelijk zijn, ict-security is iets dat niet alleen in de software kan geregeld kan worden. Security moet je op alle vlakken aanpakken, zowel procedureel, fysiek, op hardware als in de software (hierbij kan de software zelfs nog gesplitst worden in de applicatie en systeemsoftware zoals operating systeem, database en webserver). Zo’n integrale aanpak zorg ervoor dat je niet alleen de voordeur dichttimmert, maar ook de achterdeur goed vergrendeld.

In de meeste voorbeelden in de media zijn websites het doelwit. In mijn ogen is dit niet schokkend. In de meeste gevallen betreft het informatie die toch al met de buitenwereld gedeeld wordt. Ik zou het veel kwalijker vinden wanneer er informatie verkregen wordt die de betreffende organisatie of het bedrijf niet wilde delen. Het lijkt me dat je daarom data zou moeten classificeren, bijvoorbeeld in drie niveaus van vertrouwelijkheid. Op elk niveau kunnen passende maatregelen getroffen worden. Daarnaast zou bij zelfbouw van applicaties security in het design mee genomen moeten worden. Strikte regels en afspraken tijdens het programmeren helpen security risico’s te verkleinen of ze (later) eenvoudiger te verhelpen.

Wat mij in de meeste berichten opvalt is dat de sites al zo’n lange tijd ‘lek’ blijken te zijn. Dat suggereert dat de sites niet of niet goed beheerd worden. Of in ieder geval dat de beheerder niets in de gaten heeft gehad. Goed beheer is dan ook een erg belangrijke voorwaarde voor security. Een goede beheerder weet wat er zich op de systemen afspeelt. Hij (of zij) heeft bijvoorbeeld een adequate update policy. Software wordt regelmatig van updates voorzien en security updates worden met voorrang doorgevoerd. Het spreekt vanzelf dat kennis en ervaring noodzakelijk zijn voor goed beheer.

Maar kan open source software helpen? Voor wat betreft het software-deel kan dat naar mijn idee zeker. Er zijn verschillende open source softwaretools beschikbaar die gebruikt kunnen worden om de mate van security te verhogen. Nu zal je misschien denken, zijn dat niet dezelfde tools die ook door de hackers gebruikt worden? Dat zou best kunnen, maar in mijn ogen is dat juist een extra reden er kennis van op te doen en ze te gebruiken.

Prijskaartje

Vanwege de vaak lagere kosten kan open source software de financiële bezwaren wegnemen om dergelijke tools te gaan gebruiken. Geen aanschafprocedure en niet-techneuten die daarover moeten beslissen, gewoon downloaden. Open source-software is daardoor laagdrempelig. Veel van de tools maken ook nog standaard deel uit van een (Linux) distributie en dat maakt het gebruik nog eenvoudiger. Voorbeelden hiervan zijn Linux gebaseerde firewalls zoals Shorewall en bijvoorbeeld tcpdump waarmee het netwerkverkeer van een interface kan worden bekeken. In het verleden heb ik daar veel gebruik van gemaakt. Naar verloop van tijd wordt je handig in het gebruik ervan. Een ander mooi voorbeeld is SELinux. Dit is een systeem dat in veel Linux distributies aanwezig is en waarmee het systeem veiliger kan worden gemaakt. Met SELinux kunnen bijvoorbeeld de mogelijkheden van een server proces, zoals de webserver, om het filesysteem te benaderen geminimaliseerd worden. Indien de webserver gehackt zou worden, blijven de mogelijkheden dit te misbruiken beperkt. Ook denk ik aan Nessus, een open source netwerkscanner die het netwerk doorlicht op bekende kwetsbaarheden. Wat weerhoudt organisaties ervan dergelijk producten te gebruiken?

Is open source software zelf ook veiliger? Mogelijk, maar natuurlijk bevat ook open source software bugs en kwetsbaarheden, het is en blijft software. Wel weten we inmiddels dat ‘security by obscurity’ zoals in de commerciële software wereld gehanteerd wordt niet werkt. Juist openheid over security problemen leidt tot oplossingen en dus tot een veiliger systeem. Bovendien, al zou een oplossing (nog) niet beschikbaar zijn, zodra bekend is dat er een security probleem is, kan je als klant, eindgebruiker of beheerder maatregelen nemen. In het meest extreme geval sluit je een systeem van internet af. Je hebt in ieder geval de keuze.

Ook biedt open source software de mogelijkheid zelf het heft in handen te nemen. Zo werkt een collega van me aan Handshake, een sms-authenticatie portal dat gebruik maakt van OpenVPN. De portal regelt de ‘two factor security’ en OpenVPN de beveiligde netwerkverbinding. OpenVPN is open source software en Handshake wordt dat in de nabije toekomst. De combinatie van beiden is een goed alternatief voor commerciële software die het ‘thuiswerken’ ondersteunen.

Terug naar de vraag, kan open source software mijn ict-security helpen te vergroten? Ik ben van mening dat het dat zeker kan. Toch zal een goede aanpak zich niet beperken tot de software. Een beheerder die van mening is dat de webserver niet gehackt zal worden leeft in een fantasiewereld. Ga ervan uit dat het gebeurd en kijk dan nogmaals naar het systeem, neem security serieus en gebruik de goede tools. En als laatste, zorg voor een calamiteitenprocedure. Welke maatregelen ga jij nemen als je gehackt bent? Wie gaat de communicatie voor zijn rekening nemen? Denk hier goed over nu je daar nog rustig de tijd voor hebt.

Wat ik echter niet begrijp is dat er nog steeds bedrijven zijn die hacks ontkennen en eromheen draaien. Is het inmiddels niet duidelijk dat zoiets niet meer kan? Of vinden we security gewoon niet belangrijk?

Dit artikel is verschenen op de site van Computable op 10-11-2011