Introductie
Eerder dit jaar was de Payment Card Industry (PCI) Standards Security Council (SSC) verouderd TLS versie 1.0 in hun Data Security Standard (DSS) [01]. Als gevolg hiervan mogen vanaf de zomer van 2018 alle PCI-DSS-compatibele e-commercesites deze vroege, onveilige versie van TLS. Deze beslissing is vergelijkbaar met andere stappen om te versterken TLS - bijvoorbeeld het National Institute of Standards and Technology (NIST) is verouderd (sinds 2014) TLS 1.0 in hun richtlijnen van de overheid [02], en samen hebben dit verschillende organisaties gemotiveerd om ondersteuning voor versies vóór 1.2 uit hun systemen te verwijderen.
TLS is een zeer technisch onderwerp. Dit artikel legt de redenen achter deze beslissingen uit en laat zien hoe ouder worden wordt beëindigd TLS versies is een stap naar een veiliger en beter internet.
Transportlaagbeveiliging (TLS)
TLS is een cryptografisch protocol dat gegevens beschermt tegen het lezen of wijzigen tijdens verzending via een computernetwerk. TLS is de opvolger van en bouwt voort op het vorige Secure Sockets Layer (SSL) protocol. Sinds 1999 [03], toen het werd gepubliceerd, TLS is gebruikt door een verrassend diverse en wijdverbreide reeks toepassingen en kan worden gebruikt in bijna elke toepassing die de communicatie tussen twee uiteinden wil beschermen. (In tech talk worden deze vaak genoemd klant en server.)
Het meest bekende gebruik voor TLS is om verbindingen tussen browsers en HTTPS-websites te beschermen (zoals dit artikel dat u leest op de servers van SSL.com). Het wordt ook gebruikt door point-of-sale (POS) -terminals die communiceren met hun back-endservers (om creditcardinformatie te beschermen) en door instant messaging-applicaties, e-mailclients, Voice-over IP (VoIP) -software en nog veel meer .
Momenteel zijn er vier versies van TLS beschikbaar:
- TLS 1.0 (uitgebracht in 1999) was de eerste versie en wordt nu beëindigd.
- TLS 1.1 (uitgebracht in 2006) is nooit door de industrie overgenomen. Het werd grotendeels overgeslagen ten gunste van zijn opvolger 1.2.
- TLS 1.2 (uitgebracht in 2008) wordt het meest gebruikt TLS versie. Bijna alle services ondersteunen TLS 1.2 als standaard.
- TLS 1.3 (uitgebracht in 2018) is een experimentele versie van de TLS protocol dat meer prestaties en beveiliging biedt dan oudere versies. Hoewel nog in onderzoek en nog niet officieel gestandaardiseerd [04], moet worden opgemerkt dat de industrie begint met het implementeren van ondersteuning voor haar conceptversies.
Modern versus vroeg TLS
Kwetsbaarheden op zijn vroegst TLS Het 1.0-protocol had betrekking op de cyberveiligheidsgemeenschap van de afgelopen jaren, en exploits als POODLE, CRIME en BEAST hebben genoeg impact gehad om zelfs de reguliere media te bereiken. Echter, TLS evolueert voortdurend om nieuwe bedreigingen het hoofd te bieden; inspanningen om de eerste versie van TLS, uitgevoerd door de Internet Engineering Task Force (IETF) Network Working Group (NWG), hebben geresulteerd in de betere en veiligere huidige standaard, TLS 1.2.
TLS 1.2 maakt gebruik van moderne cryptografie en biedt betere prestaties en beveiliging dan zijn voorgangers. Tegelijkertijd is het niet vatbaar voor een van de bovengenoemde kwetsbaarheden, wat het een ideale keuze maakt voor elke toepassing in beveiligde communicatie. De meeste bedrijven en organisaties hebben hun servers geüpgraded ter ondersteuning TLS 1.2.
Niet alle clientsoftware kan echter worden geüpgraded naar nieuwere versies van TLS. Een nieuwswebsite moet bijvoorbeeld toegankelijk zijn voor zowel moderne als oudere browsers, simpelweg omdat er nog steeds lezers zijn die ze gebruiken. Dit omvat Android-apparaten vóór versie 5.0, Microsoft's Internet Explorer vóór 11, Java-programma's vóór Java-versie 1.7 en zelfs enkele externe betaalterminals of bewakingsapparatuur die kostbaar zijn om te upgraden. Bovendien vereist compatibiliteit met oudere configuraties dat zelfs moderne clientsoftware ook moet kunnen communiceren met verouderde servers.
Volgens SSL Pulse [05], een service die statistieken rapporteert over Alexa's Top 500-sites TLS ondersteuning, vanaf januari 2018, 90.6% van de servers die door host gecontroleerde websites hosten, worden ondersteund TLS 1.0, terwijl 85% wordt ondersteund TLS 1.1. Bovendien ondersteunen bijna alle browsers (en veel niet-browser-clients) nog steeds oudere TLS versies. Dus terwijl TLS 1.2 heeft de voorkeur, de meeste clients en servers ondersteunen nog vroeg TLS.
TLS veiligheidsoverwegingen
Aangezien de meeste moderne browsers en clients worden geïmplementeerd TLS 1.2 zou een niet-technische gebruiker kunnen denken dat ze veilig moeten zijn (en dat die systemen die niet zijn geüpgraded, moeten zijn geaccepteerd als bedrijfsrisico's). Helaas is dit niet waar - alleen ondersteuning voor eerdere versies van TLS vormt een beveiligingsrisico voor gebruikers van zelfs moderne clients en servers.
TLS biedt netwerkbeveiliging en heeft als primaire doel te voorkomen dat een aanvaller gegevens leest die worden uitgewisseld tussen knooppunten van een netwerk. Daarom beperkt het netwerkaanvallen, zoals Man-in-the-Middle (MITM) -aanvallen [05]. Een MITM-aanval maakt gebruik van het feit dat een computernetwerk kan worden gemanipuleerd zodat alle knooppunten van een netwerk hun verkeer naar de aanvaller sturen in plaats van naar de verwachte router of andere knooppunten. De aanvaller kan vervolgens de onderschepte inhoud lezen of wijzigen voordat deze wordt doorgestuurd naar het beoogde doelwit. TLS beschermt tegen MITM-aanvallen door de gegevens te versleutelen met een geheime sleutel die alleen bekend is bij de oorspronkelijke client en server. Een MITM-aanvaller zonder kennis van deze geheime sleutel kan de versleutelde gegevens niet lezen of ermee knoeien.
Echter, TLS versies tussen clients en servers moeten overeenkomen, en aangezien ze vaak meerdere ondersteunen TLS versies, ze onderhandelen welke versie te gebruiken via een protocol genaamd a handdruk. In deze handdruk stuurt de klant een eerste bericht met de hoogste TLS versie die het ondersteunt. De server reageert dan met de gekozen TLS versie of een fout als er geen algemene versie wordt gevonden. Houd er rekening mee dat de handshakeberichten onversleuteld worden uitgewisseld, omdat deze informatie wordt gebruikt om het beveiligde datakanaal te configureren.
Downgrade aanvallen
De oplettende lezer kan al vermoeden dat, aangezien de handdruk niet versleuteld is, een aanvaller die een MITM-aanval uitvoert, de gevraagde TLS versie naar een eerdere, kwetsbare zoals TLS 1.0. Ze kunnen dan doorgaan met het gebruik van een van de bovengenoemde TLS 1.0 kwetsbaarheden (zoals POODLE of CRIME) om de verbinding in gevaar te brengen.
In softwarebeveiliging worden aanvallen genoemd die slachtoffers dwingen oudere, meer kwetsbare versies van software te gebruiken downgraden van aanvallen. Aanvallers die misbruik maken van een protocolkwetsbaarheid hebben in wezen hetzelfde doel: de netwerkbeveiliging in gevaar brengen en toegang krijgen tot uitgewisselde gegevens. De technische nuances van deze kwetsbaarheden zijn niet relevant voor de beëindiging van TLS 1.0 (en het verstrekken van details over dergelijke aanvallen valt buiten het bestek van dit artikel), maar de auteur wil benadrukken dat er openbaar beschikbare tools zijn waarmee zelfs niet-technische aanvallers downgrade-aanvallen kunnen uitvoeren. Stelt u zich eens voor dat u uw up-to-date mobiele telefoon gebruikt om uw e-mail te lezen voordat u naar de luchthaven vliegt of wanneer u uw saldo controleert in een online bankiertoepassing in een café. Een voorbereide aanvaller met deze tools kan uw informatie onderscheppen of zelfs ermee knoeien als de browser van uw telefoon of uw bankapplicatie verbindingen met oudere versies van TLS.
In feite, zolang servers en clients in uw netwerkverbinding ouder ondersteunen TLS versies zij (en jij) zijn kwetsbaar.
Ben ik getroffen?
Om dit risico te beperken, zijn PCI SSC en NIST beëindigd TLS 1.0 in systemen die voldoen aan hun normen. Terwijl TLS 1.1 is niet kwetsbaar voor alle ontdekte kwetsbaarheden, het is nooit echt in de markt overgenomen en veel bedrijven en organisaties hebben onlangs de ondersteuning voor TLS 1.1 ook. Nogmaals, kijkend naar SSL Pulse-gegevens, vanaf juli 2018, na de beëindiging van TLS 1.0, ondersteunt slechts 76.6% van de gecontroleerde websites nog steeds TLS 1.0 en slechts 80.6% ondersteuning TLS 1.1. Dat betekent dat de wijzigingen die in deze normen zijn doorgevoerd effect hebben gehad en dat ongeveer 16,000 grote sites zijn gedaald allen ondersteuning voor vroege TLS versies.
Downgrade-aanvallen zijn van toepassing op zowel clients als servers. Bezorgde lezers kunnen gebruiken ssltest, een openbaar beschikbare toolkit die hun software op deze kwetsbaarheden kan controleren, met een browser-tool [07] en een webserver-tool [08], die gratis kan worden gebruikt.
Als uw servers nog steeds kwetsbaar zijn TLS versies, kijk alstublieft voor SSL.com's aankomende gids voor het configureren van webservers voor naleving van de meest veilige standaarden.
Digitale certificaten uitgegeven door SSL.com werken met alle versies van TLS, dus er is geen actie vereist.
Conclusie
TLS biedt veiligheid en privacy aan internetgebruikers. In de loop der jaren hebben onderzoekers aanzienlijke protocolkwetsbaarheden ontdekt, wat de meeste bedrijven heeft gemotiveerd om hun systemen te upgraden naar moderner gebruik TLS versies. Ondanks de aangetoonde beveiligingsproblemen blijft ondersteuning voor oudere klanten een zakelijke vereiste. Hopelijk kunnen PCI SSC en NIST, samen met andere organisaties die ervoor hebben gekozen om vroegtijdig te beëindigen TLS, zal anderen inspireren om zich bij hen en SSL.com aan te sluiten bij het promoten van een veiliger, beter en veiliger internet.