II.

Een korte blik op de protocol stack

Er zijn verschillende ‘lagen’ van verantwoordelijkheid om een netwerk te laten functioneren, en deze worden weergegeven in het OSI (Open Systems Interconnection)-model. Deze lagen omvatten:

  • De fysieke netwerklaag, die onderaan het netwerk zit. Deze laag zorgt voor de eigenlijke fysieke transmissie van gegevens, d.w.z. dat zij ervoor moet zorgen dat als de zender een 1 zendt, de ontvanger ook een 1 ontvangt. De fysieke laag kan bijvoorbeeld gegevens verzenden over lichte (optische) kabels. Zij moet bepalen of verkeer tegelijkertijd in beide richtingen kan worden verzonden, hoe de verbinding tot stand wordt gebracht, enzovoort.

  • De datalinklaag is verantwoordelijk voor foutdetectie en -correctie, en voor het verpakken van de gegevens in pakketten die frames worden genoemd. Het is een poortwachter voor de gegevens om het eigenlijke netwerk binnen te komen. Hij bepaalt ook voor welk hardware-adres de gegevens bestemd zijn. Dit kunnen bijvoorbeeld verschillende netwerkinterfaces in dezelfde computer zijn.

  • De netwerklaag is de laag die verantwoordelijk is voor het routeren van de gegevens naar de doelmachine in het netwerk. Vergeet niet dat het netwerk verbonden kan zijn met een ander netwerk en misschien niet eens hetzelfde communicatieprotocol gebruikt. De netwerklaag geeft de gegevens door aan de transportlaag.

  • De transportlaag beheert de verbindingen tussen het startknooppunt (de fysieke stukken waaruit een netwerk bestaat) en het eindknooppunt. Zij bepaalt ook hoe de verbinding wordt afgehandeld, of verwacht wordt dat de pakketten in volgorde aankomen en of gevraagd wordt een pakket opnieuw te verzenden als het wordt gemist. De transportlaag regelt ook de verwerkingscapaciteit, zodat snellere knooppunten de langzamere niet overstemmen.

  • De sessielaag beheert het tot stand brengen van verbindingen en onderhoudt de verbindingen.

  • De presentatielaag beheert bijvoorbeeld de codering zodat computers die verschillende manieren hanteren om gegevens intern weer te geven, kunnen communiceren op een manier die voor beide knooppunten begrijpelijk is. De presentatielaag zorgt in sommige gevallen ook voor de encryptie, bijvoorbeeld bij het surfen op internet op een beveiligde site.

  • De toepassingslaag bedient de eigenlijke protocollaag. In een webbrowser bijvoorbeeld bepaalt het HTTP-protocol hoe de toepassing een webpagina opvraagt.

Zeven lagen van het OSI (Open Systems Interconnection)-model
Zeven lagen van het OSI (Open Systems Interconnection)-model

Elk bit van verzonden gegevens, bijvoorbeeld de webpagina van deze cursus, gaat door de netwerklagen (een ‘protocol stack’). De cursussite gebruikt TLS (transport layer security) (SSL in bovenstaande afbeelding is grotendeels vervangen door TLS): een manier om de data te versleutelen om te voorkomen dat de lagere lagen in de pakketjes kunnen gluren om de data te observeren. Als de cursus-site geen TLS zou gebruiken, zouden uw gegevens in zuivere tekst door alle lagen en alle computers die deelnemen aan de transmissie van de gegevens worden gestuurd. In het ergste geval kunnen dit tientallen nodes zijn. Al die computers zouden in theorie de gegevens kunnen observeren en stelen.

Note

Het is leuk om te weten dat deze cursussite TLS gebruikt om de veiligheid te garanderen, maar wat als de gegevens in kwestie niet de cursusinhoud waren, maar eerder gevoelige persoonlijke bank- of gezondheidsgegevens? Hoe kunt u de knooppunten vertrouwen waar uw gegevens doorheen worden gestuurd als u niet eens weet wie ze bedient? Dat gaan we nu te weten komen.

Het beveiligen van webverbindingen

Wanneer u gegevens verstuurt en ontvangt via het internet, doet u dat heel vaak via een webbrowser. Beveiligde browsers maken gebruik van een protocol genaamd TLS (transport layer security) om het verkeer te beschermen tussen de browser die u gebruikt om toegang te krijgen tot het internet (de client), en de server waarnaar u gegevens verzendt of waarvan u gegevens ontvangt (bv. een webserver).

U kunt controleren of u beschermd bent met TLS door in de adresbalk van de browser die u gebruikt te kijken of daar een hangslotje te zien is met de juiste domeinnaam. Als u geen hangslotje naast de URL ziet, bent u niet beveiligd met encryptie.

Vergrootglas dat een hangslot weergeeft in de adresbalk van een browser
Vergrootglas dat een hangslot weergeeft in de adresbalk van een browser

Als netwerkbeveiligingslaag gebruikt TLS cryptografische protocollen om te authenticeren, verifiëren en een veilige uitwisseling van versleutelde communicatie te bieden van het punt van de browser naar de doelserver, waarbij de inhoud van de gegevenspakketten wordt beschermd tegen blootstelling aan lagere netwerklagen en knooppunten van derden die de gegevens onderweg verzenden.

TLS-protocollen behandelen de uitwisseling van de eigenlijke encryptie sleutels op een veilige manier. Denk eraan: de encryptiesleutel is wat de vertrouwelijkheid beschermt en de integriteit verifieert van de communicatie (bericht) die wordt verzonden.

Browsers die TLS gebruiken proberen u te beschermen door de geldigheid van het servercertificaat van de website te controleren en na te gaan of het certificaat overeenstemt met de domeinnaam van de website (de URL). Als het certificaat van de server niet geldig is of als het op een andere site wordt gebruikt, waarschuwt de browser dat u niet beschermd bent. In dat geval waarschuwt een bericht op uw scherm voor een ongeldige certificaatautoriteit, wat bijvoorbeeld kan betekenen dat een aanvaller zijn eigen certificaat invoegt in plaats van dat van Google.

Sommige sites laten nog steeds verbindingen toe met het onveilige HTTP-protocol. Dit betekent dat alle gegevens die tussen uw browser en de server van die site worden verzonden, kunnen worden afgeluisterd door iedereen die de knooppunten controleert waar de gegevens doorheen worden geleid.

Aanvallen tegen TLS

Vertrouwen op het hangslotpictogram alleen is echter niet voldoende. Iedereen kan een certificaat maken dat wordt gebruikt om browsers te vertellen welke encryptie ze voor de verbinding moeten gebruiken.

Een aanvaller kan proberen u voor de gek te houden door zijn site te gebruiken in plaats van het origineel, door eenvoudige trucs zoals het veranderen van het URL-adres van de site zodat die sterk lijkt op het origineel. Dit kan bijvoorbeeld worden gedaan door de kleine letter L te vervangen door het cijfer 1. In de meeste lettertypes lijken ze dicht genoeg bij elkaar om de gebruiker voor de gek te houden als hij niet oppast. Deze sites kunnen ook encryptie gebruiken, dus als u het hangslotpictogram ziet, betekent dat niet dat u veilig bent. Als u een bericht met een link ontvangt, kunt u voor de gek worden gehouden door op deze manier toegang te krijgen tot een site. Een goede manier om dit soort URL-substitutie te voorkomen, is het adres zelf in te typen in plaats van op de ontvangen link te klikken.

Een MITM (man-in-the-middle)-aanval is een aanval waarbij de aanvaller tussen u en de server in zit en uw verkeer ontcijfert, opslaat en opnieuw versleutelt alvorens het naar de server door te sturen. Dit soort aanval is vrij eenvoudig uit te voeren als u geen encryptie gebruikt. De manier waarop TLS sleutels uitwisselt en de server verifieert, is bedoeld om u tegen deze aanvallen te beschermen. Als u echter de waarschuwingen over onveilige sites negeert, is een MITM-aanval nog steeds mogelijk.

Note
Handen die een tablet vasthouden met een onveilig website-icoon
Handen die een tablet vasthouden met een onveilig website-icoon

Tips voor het controleren van de beveiliging van het browser- en websitenetwerk:

Controleer altijd de geldigheid van het certificaat door te zoeken naar het hangslotje in de adresbalk. Zorg ervoor dat u de waarschuwingen die de browser u laat zien, niet overslaat. Als de browser zegt dat het servercertificaat niet kan worden vertrouwd, gebruik de site dan niet.

Het is belangrijk op te merken dat TLS en andere beveiligingsprotocollen zoals SSL niet alleen bedoeld zijn voor communicatie tussen webbrowsers en webservers. Ze kunnen nu ook worden gebruikt in andere soorten toepassingen zoals e-mailclients, clouddiensten en mobiele apps. Dit is belangrijk omdat steeds meer gegevens die we op het internet verzenden en ontvangen, via mobiele apps en de cloud gaan. Bepalen of deze communicatie veilig is, is echter een beetje ingewikkelder, zoals we later in dit hoofdstuk zullen zien.

Het gebruik van VPN ter bescherming

Hoe kunt u zich beschermen tegen afluisteren via internet of MITM-aanvallen? Een heel goede oplossing is het gebruik van een VPN (VPN (virtual private network). Een VPN versleutelt uw gegevens en routeert ze van uw computer naar een bekend en vertrouwd tussenliggend knooppunt dat de gegevens decodeert en doorgeeft om de reis naar het bestemmingsknooppunt voort te zetten.

Zie een VPN als een soort extra enveloppe die de inhoud (de oorspronkelijke gegevensenveloppe) van het knooppunt van uw computer versleutelt, en dan, eenmaal bij het uitgangsknooppunt, de versleuteling van de buitenste enveloppe decodeert en de oorspronkelijke gegevens gewoon door laat gaan. Dit kan bijvoorbeeld voorkomen dat vijandige wifinetwerken uw communicatie kunnen afluisteren.

Note

Hoewel het niet wordt aanbevolen vanwege de inherente onveiligheid ervan, is een VPN een cruciale aanvulling op de beveiliging als u gebruikmaakt van een openbare wifiverbinding. Als algemene regel geldt: als u ooit inlogt op openbare wifi, zoals gratis internet in een café, zorg er dan voor dat u bestandsdeling op uw apparaat uitschakelt en ‘vergeet het netwerk’ in uw netwerkinstellingen zet bij uw vertrek. Dit voorkomt onbedoelde automatische herverbindingen met deze netwerken, die kunnen gebeuren wanneer u onbeschermd bent of wanneer u zich hier niet van onbewust bent.

Een voorbeeld van een VPN-oplossing is een app op uw mobiele telefoon of geïnstalleerd op een fysiek apparaat aan de rand van uw vertrouwde netwerk (zoals een bedrijfsinterne netwerkrouter). Wanneer ze geactiveerd zijn, beveiligen en verbergen beide implementaties de communicatie voor de onderliggende netwerklagen en daarmee ook voor de knooppunten die het verkeer afhandelen

Een netwerk dat een door VPN beschermde verbinding toont
Een netwerk dat een door VPN beschermde verbinding toont

Waar u zich echter bewust van moet zijn, is dat zodra het versleutelde VPN-verkeer het serverknooppunt van de VPN-service provider verlaat, het zijn reis naar het doel knooppunt als normaal voortzet. Als u dus geen gebruik maakt van een beveiligd netwerkprotocol zoals TLS of end-to-end encryptie (zie hoofdstuk 3.1), dan is het verkeer beschikbaar voor elk knooppunt op de rest van de route.

Een VPN kan ook gebruikt worden om de oorsprong van uw verkeer te verbergen en het te laten lijken alsof het van het VPN-uitgangsknooppunt komt. Deze functie kan worden gebruikt om geografische beperkingen te omzeilen of uw verkeer te verbergen voor mogelijk vijandige netwerken. VPN's kunnen ook worden gebruikt om de communicatie te verbergen van vijandige regeringen die proberen de burgers van hun land af te luisteren. Een VPN doet dit door het doel van de communicatie te versleutelen en te maskeren totdat de verbinding wordt beëindigd in een exitknooppunt dat zich in een ander land kan bevinden.

Een VPN-oplossing wordt vaak gebruikt om afzonderlijke netwerken met elkaar te verbinden. Dit wordt vaak gedaan om een netwerk uit te breiden tussen meerdere vestigingen van een bedrijf. Hoewel de afzonderlijke netwerken niet fysiek met elkaar verbonden zijn, kan een VPN ervoor zorgen dat het lijkt alsof de netwerken één geheel vormen. Verkeer dat bedoeld is als intern netwerkverkeer wordt via de versleutelde VPN-verbinding naar het exitknooppunt geleid, dat zich in dit geval aan de rand van het andere netwerk bevindt.

Note

Een VPN is niet in alle gevallen een oplossing. Als er VPN op uw mobiele telefoon draait en u deze gebruikt om een verbinding met uw laptop te tetheren, wordt de verbinding vanaf uw laptop, in tegenstelling tot wat u zou verwachten, niet beveiligd door de VPN. De telefoon fungeert als een router en zal de VPN-tunnel niet gebruiken voor tethered verbindingen, ook al gebruiken alle applicaties op de mobiele telefoon de VPN wel.

In zo’n geval is kan best de VPN op de laptop worden ingeschakeld.

Beveiliging in apps en clouddiensten

Traditioneel worden gegevens gehost door iemand met een computer die een server wordt genoemd, en is er een persoon die de server en de beveiliging ervan beheert. De oorsprong van veel cyberbeveiligingspraktijken, zoals toegangscontrole en logboekregistratie, ligt in de begindagen van de informatica, toen alle apparaten eenvoudiger waren en alle gegevens zich lokaal bevonden.

In de jaren tachtig en negentig bracht de commercialisering en consumerisatie van personal computing een persoonlijke verantwoordelijkheid voor consumenten met zich mee om hun computers - ‘endpoints’ zoals ze in bedrijfsomgevingen meestal worden genoemd - te beveiligen. Doorgaans betekende dit het installeren van een antivirusprogramma. Vandaag weten we dat dit nauwelijks volstaat, zeker niet voor cyberbeveiliging op bedrijfsniveau. Het is op zijn minst een goede gewoonte om regelmatig opleidingen te organiseren over elementaire cyberbeveiligingsprotocollen als werknemers van een bedrijf op afstand werken, ook als ze reizen voor het werk.

Tegenwoordig zijn endpoints zoals werkstations, mobiele telefoons en tablets niet strikt alleen voor werk- of privégebruik bestemd. In plaats daarvan is er een kruisbestuiving tussen deze doeleinden met het gebruik van de apparaten en de inhoud die erop is opgeslagen. Het is ook minder duidelijk geworden waar de gegevens zich bevinden. Dit maakt het moeilijk om te achterhalen waar de beveiligingscontroles voor uw dagelijkse apps zich bevinden.

Gewoon ‘cloud’, of IaaS, PaaS of SaaS?

Misschien hebt u wel eens de uitdrukking gehoord ‘de cloud is standaard veilig’. Anderen beweren dan weer dat ‘de cloud gewoon de computer van iemand anders is’.

Hoewel ze soms bijna waar zijn, behoren beide tot de vele moderne mythes over cyberbeveiliging. Om de aard van de ‘cloud’ te begrijpen, moeten we nog een paar vragen stellen. Afhankelijk van de antwoorden wordt ook de aard van de cyberbeveiligingscontroles en -praktijken bepaald.

De cloud is bijna een synoniem geworden voor elke gegevensverwerking die door iemand anders wordt verzorgd. Er bestaan echter verschillen tussen de soorten cloud, IaaS, PaaS en SaaS:

  • IaaS (infrastructure as a service) betekent dat een hostingprovider zoals AWS, Azure of GCP virtuele servers host in een schaalbare omgeving. Hier moet de klant nog steeds zelf de beveiliging van de besturingssystemen en diensten onderhouden.

  • PaaS (platform as a service) wordt door dezelfde providers aangeboden als hierboven, maar biedt bijvoorbeeld ook database- of data intelligence-software als dienst aan. Hier kan de klant zich concentreren op de functie van het platform en het tevens beveiligen door middel van een juiste configuratie.

  • SaaS (software as a service) omvat diensten als Salesforce, Office365 en Gmail. Hier heeft de klant het minst te zeggen over de beveiliging van de dienst. Het is echter nog steeds de verantwoordelijkheid van de klant om zijn identiteiten voor de dienst te beheren en een goede netwerkbeveiligingshygiëne te hanteren, zoals we in deze cursus hebben geleerd.

‘Is het veilig om deze app te installeren?’

Dit is een veel gestelde vraag. Kennisnemen van de informatie die samen met de app wordt gepubliceerd, geeft nauwelijks informatie over hoe veilig de gegevens in de app of in de backend van de app worden verwerkt.

Om de cyberveiligheid van een app te analyseren, moet u nadenken over de volgende vragen:

  • Wie publiceert de app? De winkel van de fabrikant of een onbekende entiteit? App stores (Google Play, Apple store) hebben een bepaald niveau van doorlichting voor apps op schadelijke functionaliteiten (zoals stalkerware, malware en achterdeurtjes).

  • Welke informatie verzamelt de app van de gebruiker, met of zonder toestemming?

  • Hoe wordt informatie beveiligd tussen de app en de backend? (Voor meer informatie, zie hoofdstuk 3.)

  • Hoe wordt informatie beveiligd tussen de verzender en de ontvanger (end-to-end encryptie)?

  • Wat is de beveiliging van de encryptieprotocollen en hun sleutelbeheer? - Heeft de app bijvoorbeeld een TLS-certificaat?

  • Hoe kan de uitgever van de app uw informatie technisch verwerken?

  • Werkt de uitgever binnen een wetgeving waar het wettelijk verplicht is om uw informatie te overhandigen aan plaatselijke overheid (bijvoorbeeld China)?

  • Onderschept en wijzigt de uitgever de inhoud van de informatie in transit (ook bijvoorbeeld WeChat in China)?

Het verifiëren van feiten zou zelfs voor een professional een grote inspanning zijn, dus u kunt kijken wat anderen hebben gedaan om erachter te komen. U kunt beginnen met te vragen of er recent een code-audit en een onafhankelijke veiligheidsanalyse is geweest.

De beste openbaar toegankelijke analyse is misschien wel de vergelijking van de beveiligings- en privacykenmerken van de verschillende chatapplicaties (Signal, Telegram, WhatsApp en Facebook Messenger).

Neem er, om verschillende applicaties te vergelijken, bijvoorbeeld de vergelijking bij van de EEF (Eletronic Frontier Foundation). Deze is echter verouderd, dus een recentere en veel gedetailleerdere versie vindt u hier: Securemessagingapp.com.

Note

Het is belangrijk om te onthouden dat als het gaat om elk type software - van de systeemsoftware van uw apparaat, tot antivirale en VPN-software, tot toepassingssoftware, het belangrijk is om de nieuwste updates te installeren (waarbij u ervoor zorgt dat de update-prompt afkomstig is van een vertrouwde en veilige bron). Deze software-updates kunnen triviaal lijken en gemakkelijk worden genegeerd, maar ze bevatten heel vaak kritieke beveiligingspatches, zonder dewelke uw apparaat en communicatie kwetsbaar kunnen worden voor aanvallen.

Next section
III. Jouw cybersecurity-actieplan