Een beveiligde verbinding met websites is van cruciaal belang om te garanderen dat gevoelige gegevens niet tijdens de overdracht worden gestolen. Dit proces wordt bereikt door: Secure Sockets Layer (SSL) via SSL-certificaten. Wat is een SSL-certificaat, vraagt u zich misschien af? Een SSL-certificaat verplaatst uw verbinding van een HTTP verbinding met een HTTPS-verbinding. HTTP, of Hypertext Transfer Protocol, is een onveilige verbinding tussen een webbrowser en een website. De reden dat HTTP zo onveilig is, is het gebrek aan encryptie van gegevens, wat HTTPS doet. HTTPS, of Hypertext Transfer Protocol Secure, implementeert encryptie van data-in-transit om ervoor te zorgen dat zelfs bij een Man-in-the-Middle (MITM)-aanval de gegevens niet leesbaar zijn voor de aanvaller. SSL-stripping omzeilt dit echter. Met SSL-stripping kunnen aanvallers een MITM implementeren aanvallen en verander de verbinding van een HTTPS-verbinding naar een onbeveiligde HTTP-verbinding. Voordat we kijken hoe een SSL-strip werkt, moeten we eerst een veelgestelde vraag beantwoorden: wat is SSL?
Inzicht in Secure Sockets Layer

Bron 1: www.cloudflare.com
SSL, beter bekend als Transport Layer Security (TLS) of SSL/TLS, is een methode om internetverkeer te versleutelen en de identiteit van een server te verifiëren. Deze versleuteling wordt bereikt door middel van de TLS-handshake. Wanneer een gebruiker via zijn browser verbinding probeert te maken met een webserver, initieert hij een TCP-handshake en vervolgens een TLS-handshake tussen de client en de server. Een TCP-handshake is vrij eenvoudig vergeleken met een TLS-handshake. De TCP-handshake begint met een SYN-bericht van de client naar de server, zoals u in het bovenstaande diagram kunt zien. Een SYN-bericht bevat een door de client ingesteld volgnummer, dat vervolgens door de server wordt bevestigd door het volgnummer te verhogen. Het verhoogde volgnummer wordt naar de client verzonden ter bevestiging dat de server het heeft ontvangen. Naast het verhoogde nummer verzendt de server ook een door de client gekozen volgnummer ter bevestiging. Het bevestigde volgnummer van de client en het volgnummer van de server worden verzonden in een bericht dat een SYN/ACK wordt genoemd. De laatste stap van een TCP-handshake vindt plaats wanneer de client het volgnummer van de server bevestigt, door middel van incrementering, in het ACK-bericht.
De TCP-handshake is ongecodeerd, omdat deze in eerste instantie alleen bedoeld is om de client en de server met elkaar te verbinden. Bij de TLS-handshake komt encryptie om de hoek kijken. Een TLS-handshake bestaat uit verschillende stappen, te beginnen met de Client Hello:
- Hallo-bericht van de klant: De Client Hello initieert het contact tussen de client en de server. De client stuurt een "hello"-bericht naar de server. Dit "hello"-bericht bevat SSL/TLS-informatie die nodig is voor een correcte TLS-verbinding, inclusief de SSL/TLS-versie en de coderingssuites die de client ondersteunt voor gebruik door de server, en een reeks willekeurige bytes, de zogenaamde "client random".
- Server Hallo bericht: De Server Hello wordt verzonden als reactie op de Client Hello. De Server Hello bevat het SSL-certificaat van de server, de gekozen coderingssuite van de server en de "server random". Net als de "client random" is dit wederom een willekeurige reeks bytes.
- Authenticatie van het SSL-certificaat van de server: De volgende stap in de TLS-handshake is dat de client bevestigt dat het SSL-certificaat van de server geldig is en eigendom is van de entiteit die de server beweert te zijn. Dit proces wordt uitgevoerd door de client te controleren met de Certificate Authority (CA) die de certificaat en deze informatie verifiëren.
- Het geheim van de premaster: De client stuurt vervolgens nog een willekeurige reeks bytes naar de server, versleuteld met de openbare sleutel van de server. Wanneer een sleutelpaar wordt aangemaakt, bevat het een openbare sleutel en een privésleutel, die respectievelijk iedereen kent en niemand kent behalve de maker. Omdat alleen de eigenaar van het sleutelpaar de privésleutel kent, kan alles wat met de openbare sleutel van de server is versleuteld, alleen worden gebruikt. gedecodeerd met de privésleutel van de server. Deze stap voegt een extra manier toe om de identiteit van de server te verifiëren.
- Premaster-geheimontcijfering: De persoonlijke sleutel van de server wordt gebruikt om het premastergeheim te decoderen en zo de identiteit van de server aan de client te verifiëren.
- Sessiesleutel aanmaken: Met behulp van de "client random", de "server random" en het premaster-geheim genereren zowel de client als de server een sessiesleutel. Als de server en de client beide de juiste sleutels hebben, wat betekent dat ze zijn wie ze zeggen dat ze zijn, zouden de gecreëerde sessiesleutels identiek moeten zijn.
- Bericht 'Klant voltooid': De client stuurt de server een bericht met de melding "Klaar", dat versleuteld is met de sessiesleutel. Als de server is wie hij zegt dat hij is, zou hij het bericht moeten kunnen ontsleutelen, aangezien hij dezelfde sessiesleutel zou moeten hebben gegenereerd.
- Bericht 'Server voltooid': De server stuurt de client een bericht met de melding "Klaar", dat versleuteld is met de sessiesleutel. Als de client is wie hij zegt dat hij is, zou hij het bericht moeten kunnen ontsleutelen, aangezien hij dezelfde sessiesleutel zou moeten hebben gegenereerd.
- Er wordt gebruik gemaakt van veilige symmetrische encryptie: Nu, met behulp van asymmetrische encryptie, wordt een symmetrische encryptieverbinding opgezet. Asymmetrische encryptie maakt gebruik van twee sleutels, terwijl symmetrische encryptie slechts één sleutel vereist. De client en server gebruiken nu de gegenereerde sessiesleutel om al hun communicatie symmetrisch te encrypteren.
Nu we de vraag hebben beantwoord wat SSL is, kunnen we zien hoe SSL-stripping plaatsvindt.
SSL-strippen
Het proces van SSL-stripping is een vrij eenvoudige MitM-aanval. Een SSL-stripping, zoals de naam al aangeeft, stript een verbinding van een HTTPS-verbinding naar een minder belangrijke HTTP-verbinding. De aanvaller doet dit door zich te positioneren in het midden van de verbinding tussen de client en de server. Dit stelt de aanvaller in staat om al het verkeer tussen de client en de server te onderscheppen. Omdat een verbinding wordt gestart met de ongecodeerde TCP-handshake, vindt hier de SSL-stripping plaats. Het werkt als volgt: de gebruiker stuurt een verzoek naar de server om toegang te krijgen tot een webpagina, zoals https://www.example.com. De aanvaller onderschept dat bericht, maar stuurt het toch door naar de ontvanger. De reden dat ze het naar de server sturen, is om de SYN/ACK te ontvangen. Deze wordt naar de client verzonden na ontvangst van het websiteverzoek. Nu stuurt de aanvaller de websiteverbinding terug naar de client, maar in plaats van de oorspronkelijk opgevraagde website, is het http://www.example.com.
Omdat de verbinding nu HTTP in plaats van HTTPS is, is elk bericht, inclusief gevoelige gegevens, dat via de verbinding wordt verzonden, zichtbaar voor de MitM. Dit omvat wachtwoorden, gebruikersnamen en bankrekeninggegevens die door de gebruiker worden meegestuurd. Kwaadwillenden zouden ook een proxyserver kunnen opzetten met een vergelijkbare naam als de gevraagde server, waardoor ze een slachtoffer verder kunnen infecteren met malware. Het opzetten van een proxyserver met SSL-stripping is een veel succesvollere manier om slachtoffers te volgen in vergelijking met phishingaanvallen. Phishingaanvallen zijn een methode om een slachtoffer te misleiden tot een bezoek aan een webpagina die er legitiem uitziet, waardoor de aanvaller gevoelige informatie kan stelen die door het slachtoffer in verschillende velden is ingevoerd. Met SSL-stripping weet een gebruiker mogelijk nooit dat hij aanvallers gevoelige informatie heeft verstrekt. Aanvallers kunnen SSL-stripping implementeren met ARP-spoofing, een proxyserver of door gebruik te maken van Hotspot. Nu we weten hoe SSL-stripping werkt, laten we eens kijken hoe we kunnen detecteren of SSL-stripping heeft plaatsgevonden en hoe we ons hiertegen kunnen beschermen.
Detectie en beste praktijken
SSL-stripping kan op verschillende manieren worden gedetecteerd. De meest voor de hand liggende manier om te controleren of uw verbinding SSL-stripping heeft ondergaan, is door te kijken naar het webadres in de zoekbalk. Als SSL-stripping heeft plaatsgevonden, staat er http naast het webadres, in plaats van https. Ook ziet u dat het hangslotje links in de zoekbalk ontgrendeld of rood is, wat betekent dat de verbinding niet in het door u gewenste HTTPS-formaat is. Een andere manier om te controleren of SSL-stripping heeft plaatsgevonden, is door te letten op eventuele ontwerpfouten op de website. Als u vermoedt dat SSL-stripping heeft plaatsgevonden, kunnen minuscule details op de webpagina die er heel anders uitzien dan de echte pagina, u waarschuwen. Dingen zoals licht aangepaste bedrijfslogo's, het ontbreken van meerdere pagina's binnen de website of zelfs spelfouten kunnen u laten weten dat dit niet de website is die u denkt dat het is.
Zodra SSL-stripping wordt gedetecteerd, is de volgende stap het tegengaan ervan, nu en in de toekomst. Een van de beste preventiemethoden om SSL-stripping te stoppen, is om in de eerste plaats onregelmatigheden in de zoekbalk of op een webpagina te noteren. Zodra u zich bewust bent van deze dreiging, kunt u constant alert zijn op SSL-strippingaanvallen. Teamleden binnen uw organisatie moeten zich ook bewust zijn van deze dreiging om zichzelf en het bedrijf te beschermen tegen SSL-stripping. Trainingen door ervaren teamleden of getrainde professionals helpen aanzienlijk bij het beschermen van gevoelige gegevens. Een andere manier om webbrowsers te beschermen tegen SSL-stripping is door handmatig de URL in de zoekbalk in te voeren. De meeste MitM-aanvallen beginnen via omleidingen van de ene website naar de doelwebsite. Met deze omleiding kan een aanvaller zich midden in een gegevensuitwisseling tussen een client en een server vestigen. Door zelf de URL in de zoekbalk in te voeren, kunt u de MitM-aanval in de eerste plaats stoppen.
Browserextensies zijn een andere krachtige methode om zowel MitM-aanvallen als SSL-stripping te stoppen. Extensies zoals HTTPS Everywhere gebruiken domein- en regellijsten om pagina-aanroepen via HTTPS-verbindingen af te handelen. Dit betekent dat alle aanroepen van webpagina's uitsluitend via HTTPS-verbindingen verlopen. Als websitebeheerder moet u ook bepaalde best practices volgen om ervoor te zorgen dat SSL-stripping op uw website niet kan plaatsvinden. De belangrijkste manier om dit te doen is door SSL sitewide in te schakelen. Veel kwaadwillenden maken misbruik van websites met SSL slechts op één webpagina ingeschakeld, maar door SSL sitewide in te schakelen, zullen aanvallers meer moeite hebben met het opzetten van een SSL-strippingbewerking. Zelfs afbeeldingen en links binnen webpagina's moeten worden beschermd met SSL-certificaten.
Een van de beste beschermingsmethoden tegen SSL-stripping is het gebruik van HTTP Strict Transport Security. HTTP Strict Transport Security, of HSTS, is een beleid waarbij websites alleen verbindingen via HTTPS toestaan. Dit voorkomt dat aanvallers SSL-stripping gebruiken om gebruikers via HTTP-verbindingen met websites te verbinden. Verzoeken die een HTTP-verbinding gebruiken, worden automatisch omgeleid naar een HTTPS-verbinding met HSTS. Zodra HTTP Strict Transport Security is ingesteld, kan uw domeinnaam worden toegevoegd aan de HSTS-preloadlijst. Deze lijst wordt door veel zoekmachines gebruikt, waaronder Google Chrome, Mozilla Firefox en andere grote zoekmachines, om HTTP-verbindingen met die browser te voorkomen. Naast de domeinnaam van uw webbrowser in de preloadlijst worden ook eventuele subdomeinen en topleveldomeinen opgenomen. Ook bepaalde topleveldomeinen (TLD's), zoals .APP, staan standaard op de preloadlijst. Dit betekent dat alle... De APP-website wordt automatisch versleuteld met HTTPS, en nooit met HTTP.
Hier volgen enkele laatste stappen die u in uw omgeving kunt gebruiken om uzelf te beschermen tegen SSL-stripping:
- Gebruik van virtuele privénetwerken: Virtual Private Networks, of VPN's, beschermen gebruikersgegevens op websites, ongeacht het verbindingstype. Als een gebruiker een VPN gebruikt bij het bekijken van een HTTP-website, blijven de gegevens versleuteld dankzij het Virtual Private Network. Deze extra beveiligingslaag kan een heel netwerk of één enkele gebruiker helpen.
- Vermijden van openbare wifi: Openbare wifi-hotspots, met name op luchthavens, zijn ideaal voor MitM-aanvallen. Gevoelige gegevens kunnen via openbare wifi gemakkelijk worden onderschept of een gebruiker kan worden doorgestuurd naar kwaadaardige websites.
Cookies en bladwijzers: Als u zich op een vertrouwd netwerk bevindt, sla dan uw websites op waar u gevoelige informatie invoert. Zodra u een website met HTTPS bereikt, zoals een bankwebsite, sla die beveiligde website dan op voor toekomstig gebruik. De opgeslagen website heeft namelijk altijd een HTTPS-verbinding. Door beveiligde cookies in te schakelen, zorgt u er bovendien voor dat alle cookiegegevens met veilige eigenschappen worden weergegeven.
-
Onbekende links en HTTPS: De meest voor de hand liggende, maar nog steeds veelvoorkomende, manier om SSL-stripping te voorkomen, is door nooit op verdachte links te klikken en nooit een verbinding met een website zonder HTTPS te accepteren. Als een website een HTTP-verbinding heeft, verlaat de website dan en typ de URL opnieuw.
Hoe encryptieconsultancy u kan beschermen
Een aantal van onze diensten bij Encryption Consulting kan uw organisatie helpen beschermen tegen aanvallen zoals SSL-stripping. Onze Encryptie Adviesdiensten kan uw bedrijf helpen beveiligingslekken in uw IT-infrastructuur te identificeren, waaronder ontbrekende of verlopen Secure Sockets Layer-certificaten. Vervolgens ontwerpen en implementeren we een plan om al uw beveiligingsproblemen op te lossen en zo uw gevoelige gegevens te beschermen tegen kwaadwillende aanvallers. Voor SSL/TLS-certificaatproblemen raden we het gebruik van certificaat levenscyclus beheertools of verplaatsing naar Cloud PKI-services. Het opzetten van een Public Key Infrastructure (PKI) op een cloudplatform, zoals Amazon Web Services, stelt u in staat om AWS SSL-certificaten te gebruiken voor een beter beheerde en beveiligde infrastructuur. Samen met uw teams helpen we u bij het ontwerpen van een strategie om data in elke fase te versleutelen, met name data-at-rest en data-in-motion, zoals data die via een HTTP-verbinding wordt verzonden. Ons deskundige team implementeert onze versleutelingsstrategie precies zoals uw bedrijf dat wenst, zodat u uw vereisten zo veel kunt aanpassen als u wilt.
Wij bieden ook onze Certificaat Levenscyclusbeheer Diensten aan klanten. Encryption Consulting biedt een breed scala aan diensten op het gebied van certificaatbeheer, van strategie tot implementatie en beheerde services. Encryption Consulting kan helpen bij het oplossen van de problemen en uitdagingen die gepaard gaan met certificaatlevenscyclusbeheer door:
- Het vaststellen van eisen en het ontwerpen van de architectuur
- Een netwerkdetectiescan uitvoeren
- Bestaande certificaten importeren
- Beleid en rapporten configureren
- Onboarding van een set pilot-applicaties
- Het voorbereiden van documentatie voor operaties en training
- Een plan ontwikkelen om hiaten aan te pakken
- Ontwikkelen van een handleiding voor processen/operaties en aanbieden van gecertificeerde trainingen
Met onze Certificate Lifecycle Management-services helpen we u bij het bewaken en beveiligen van SSL-certificaten, zowel on-premises als in de cloud. We ondersteunen cloudcertificaatservices op diverse platforms, waaronder AWS, Microsoft Azure en Google Cloud Platform (GCP).
Een laatste dienst die wij aanbieden en die u kan helpen beschermen tegen SSL-stripping-aanvallen is onze PKI-beoordeling, strategie en implementatiediensten. Met deze service helpen we u te beoordelen welke eisen uw organisatie moet stellen aan haar PKI om er de maximale bescherming en voordelen uit te halen. In onze strategiefase stellen we een stappenplan op om u te helpen begrijpen hoe u aan al uw PKI-vereisten kunt voldoen tegen de laagste kosten.
In de laatste fase, de implementatiefase, creëren we de PKI op basis van de roadmap die in de vorige fase is opgesteld. Onze PKI's worden ontwikkeld met uw eisen in gedachten, wat betekent dat ze voldoen aan alle standaarden, zoals FIPS 140-2 of PCI DSS, waaraan u mogelijk moet voldoen. Naast onze adviesdiensten bieden we onze klanten ook PKI-as-a-Service aan. PKI-as-a-Servicecreëren we een hybride PKI, waarbij de root-CA zich in ons datacenter in Dallas, Texas, of op uw eigen locatie bevindt. We kunnen uw organisatie ook zoveel of zo weinig rechten en beheertaken geven als u wenst. We kunnen de volledige PKI voor u beheren als u dat wenst.
Conclusie
In onze gids hebben we een aantal veelgestelde vragen beantwoord, zoals wat SSL is en wat een SSL-certificaat is. Door deze vragen te beantwoorden, hebben we beter inzicht gekregen in hoe een SSL-handshake tot stand komt en hoe kwaadwillenden de onbeveiligde TCP-handshake manipuleren die vóór de SSL/TLS-handshake plaatsvindt om gevoelige gegevens te onderscheppen die via een verbinding worden verzonden. We hebben ook geleerd hoe SSL-strippingaanvallen plaatsvinden en hoe ze informatie van gebruikers kunnen stelen. Zelfs met een AWS SSL-certificaat kunnen aanvallers nog steeds MitM-aanvallen opzetten om uw verbinding van een HTTPS-verbinding naar een HTTP-verbinding te verbreken. Aanvallers gebruiken redirect-links en openbare wifi-hotspots om uw verbinding met een legitieme website te verbreken en uw gegevens te stelen. Gelukkig zijn er een aantal best practices die u of uw organisatie kunt implementeren om u te verdedigen tegen SSL-strippingaanvallen. Virtual private networks (VPN's) zijn een uitstekende methode om SSL-verbindingen te beschermen, omdat ze een volledig netwerk bestrijken en uw gegevens versleuteld houden, ongeacht of u verbinding maakt met een website via HTTP of HTTPS. Andere, eenvoudigere methoden om SSL-stripping te voorkomen, zijn onder meer het gebruik van bladwijzers op HTTPS-verbonden websites, het inschakelen van beveiligde cookies, het vermijden van openbare wifi-hotspots, het nooit klikken op onbekende links en het nooit bezoeken van een website zonder HTTPS-verbinding. Een andere manier om uw organisatie te beschermen die we hebben besproken, is door de gegevensbeschermingsdiensten van Encryption Consulting in te schakelen. Zij helpen u bij het beheren van uw PKI en certificaatlevenscyclus en helpen u bij het vinden en verhelpen van eventuele hiaten in uw beveiligingsinfrastructuur.
Bezoek onze website op voor meer informatie over hoe Encryption Consulting uw gevoelige gegevens kan beschermen. www.encryptionconsulting.com/
