Beskrivning
Tidigare i år försvann betalningskortsindustrin (PCI) Standards Security Council (SSC) TLS version 1.0 i deras Data Security Standard (DSS) [01]. Som ett resultat från och med sommaren 2018 får alla PCI-DSS-kompatibla e-handelswebbplatser inte längre använda denna tidiga, osäkra version av TLS. Detta beslut liknar andra åtgärder för att stärka TLS - till exempel försvagades National Institute of Standards and Technology (NIST) (sedan 2014) TLS 1.0 i sina regeringsriktlinjer [02], och tillsammans har detta motiverat flera organisationer att släppa stöd för versioner före 1.2 från sina system.
TLS är ett mycket tekniskt ämne. Den här artikeln förklarar orsakerna bakom dessa beslut och visar hur avskrivning äldre TLS versioner är ett steg till ett säkrare och bättre internet.
Transportlager säkerhet (TLS)
TLS är ett kryptografiskt protokoll som skyddar data från att läsas eller ändras under transport via ett datornätverk. TLS är efterträdaren till och bygger på grunden för det tidigare Secure Sockets Layer (SSL) -protokollet. Sedan 1999 [03], när den publicerades, TLS har antagits av en överraskande mångfaldig och utbredd mängd applikationer och kan användas i nästan vilken applikation som helst som vill skydda kommunikationen mellan två ändar. (I teknisk samtal kallas dessa ofta klient och server.)
Den mest kända användningen för TLS är att skydda anslutningar mellan webbläsare och HTTPS-webbplatser (till exempel den här artikeln du läser på SSL.coms servrar). Den används också av POS-terminaler som kommunicerar med sina back-end-servrar (för att skydda kreditkortsinformation) och av snabbmeddelandeprogram, e-postklienter, Voice-over IP (VoIP) -programvara och många fler .
För närvarande finns det fyra versioner av TLS tillgängliga:
- TLS 1.0 (släpptes 1999) var den första versionen och avskrivs nu.
- TLS 1.1 (släpptes 2006) antogs aldrig av branschen. Det hoppades till stor del till förföljare 1.2.
- TLS 1.2 (släpptes 2008) är den mest använda TLS version. Nästan alla tjänster stöder TLS 1.2 som standard.
- TLS 1.3 (släpptes 2018) är en experimentell version av TLS protokoll som erbjuder mer prestanda och säkerhet än äldre versioner. Även om det fortfarande är under forskning och ännu inte officiellt standardiserat [04], bör det noteras att industrin börjar implementera stöd för sina utkast till versioner.
Modern vs tidigt TLS
Sårbarheter tidigast TLS 1.0-protokollet har berört cybersäkerhetsgemenskapen under de senaste åren, och sådana exploater som POODLE, Crime och BEAST har haft tillräckliga effekter för att även nå mainstream-medierna. I alla fall, TLS utvecklas ständigt för att möta nya hot; ansträngningar för att förbättra den första versionen av TLS, utförd av Internet Engineering Task Force (IETF) Network Working Group (NWG) har resulterat i en bättre och säkrare nuvarande standard, TLS 1.2.
TLS 1.2 använder modern kryptografi och erbjuder bättre prestanda och säkerhet än dess föregångare. Samtidigt är det inte mottagligt för någon av de ovan nämnda sårbarheterna, vilket gör det till ett idealiskt val för alla applikationer i säker kommunikation. De flesta företag och organisationer har uppgraderat sina servrar till support TLS 1.2.
Men inte all klientprogramvara kan uppgraderas till nyare versioner av TLS. Till exempel måste en nyhetswebbplats vara tillgänglig för både moderna och äldre webbläsare, helt enkelt för att det fortfarande finns läsare som använder dem. Detta inkluderar Android-enheter före version 5.0, Microsofts Internet Explorer före 11, Java-program före Java version 1.7 och till och med vissa fjärrbetalningsterminaler eller övervakningsutrustning som är kostsamma att uppgradera. Dessutom kräver kompatibilitet med äldre konfigurationer att även modern klientprogramvara måste kunna kommunicera med föråldrade servrar också.
Enligt SSL Pulse [05], en tjänst som rapporterar statistik på Alexa's 500 bästa webbplatser TLS support, från och med januari 2018 stödde 90.6% av servrarna som värd övervakade webbplatser TLS 1.0, medan 85% stöds TLS 1.1. Dessutom har nästan alla webbläsare (och många klienter som inte är webbläsare) fortfarande stöd för äldre TLS versioner. Således, medan TLS 1.2 är att föredra, de flesta klienter och servrar stöder fortfarande tidigt TLS.
TLS säkerhetshänsyn
Eftersom majoriteten av moderna webbläsare och klienter implementerar TLS 1.2, en icke-teknisk användare skulle kunna tro att de borde vara säkra (och att de system som inte har uppgraderats måste ha accepterats som affärsrisker). Tyvärr är detta inte sant - bara ha stöd för tidigare versioner av TLS utgör ett säkerhetshot för användare av även moderna klienter och servrar.
TLS tillhandahåller nätverkssäkerhet, och dess primära mål är att förhindra att en angripare läser eller ändrar data som utbyts mellan noder i ett nätverk. Därför mildrar det nätattacker, såsom Man-in-the-Middle-attacker (MITM) -attacker [05]. En MITM-attack utnyttjar det faktum att ett datornätverk kan manipuleras så att alla noder i ett nätverk skickar sin trafik till angriparen istället för den förväntade routern eller andra noder. Angriparen kan sedan läsa eller modifiera det avlyssnade innehållet innan det vidarebefordras till det avsedda målet. TLS skyddar mot MITM-attacker genom att kryptera data med en hemlig nyckel som endast är känd för den ursprungliga klienten och servern. En MITM-angripare utan kunskap om den hemliga nyckeln kan inte läsa eller manipulera med den krypterade informationen.
Emellertid TLS versioner mellan klienter och servrar måste matcha, och eftersom de ofta stöder flera TLS versioner förhandlar de om vilken version som ska användas genom ett protokoll som kallas a handskakning. I det här handskaket skickar klienten ett första meddelande där det högsta anges TLS version den stöder. Servern svarar sedan med den valda TLS version, eller ett fel om ingen vanlig version finns. Tänk på att handskakningsmeddelandena utbyts okrypterade, eftersom denna information används för att konfigurera den säkra datakanalen.
Nedgradera attacker
Den uppmärksamma läsaren kan redan misstänka att eftersom handskakningen inte är krypterad kan en angripare som utför en MITM-attack se och ändra den begärda TLS version till en tidigare, sårbar en liknande TLS 1.0. De kunde sedan fortsätta att använda något av de nämnda TLS 1.0 sårbarheter (som POODLE eller CRIME) för att äventyra anslutningen.
I mjukvarusäkerhet kallas attacker som tvingar offren att använda äldre, mer sårbara versioner av programvara nedgradera attacker. Attackare som utnyttjar alla protokollsårbarheter har i huvudsak samma mål: kompromissa med nätverkssäkerhet och få tillgång till utbytet data. De tekniska nyanserna av dessa sårbarheter är inte relevanta för avskrivningen av TLS 1.0 (och att tillhandahålla detaljer om sådana attacker ligger utanför denna artikel), men författaren vill betona att det finns allmänt tillgängliga verktyg som tillåter även icke-tekniska angripare att utföra nedgraderingsattacker. Föreställ dig att du använder din aktuella mobiltelefon för att läsa din post innan du flyger på flygplatsen, eller när du kontrollerar ditt saldo i en online-bankapplikation på ett kafé. En förberedd angripare med dessa verktyg kan fånga upp eller till och med manipulera din information, om telefonens webbläsare eller din bankapplikation tillåter anslutningar med äldre versioner av TLS.
I själva verket så länge servrar och klienter i din nätverksanslutning stöder äldre TLS versioner de (och du) är sårbara.
Påverkas jag?
För att mildra denna risk har PCI SSC och NIST försvagats TLS 1.0 i system som överensstämmer med deras standarder. Medan TLS 1.1 är inte sårbar för alla upptäckta sårbarheter, den antogs aldrig riktigt på marknaden och många företag och organisationer har nyligen tappat stöd för TLS 1.1 också. Återigen, titta på SSL Pulse-data, från och med juli 2018, efter avskrivningen av TLS 1.0, endast 76.6% av de övervakade webbplatserna stöder fortfarande TLS 1.0 och endast 80.6% stöd TLS 1.1. Det innebär att förändringarna som infördes i dessa standarder har haft effekt, och cirka 16,000 XNUMX stora platser har minskat alla stöd för tidigt TLS versioner.
Nedgraderingsattacker gäller både klienter och servrar. Berörda läsare kan använda ssltest, en allmänt tillgänglig verktygssats som kan kontrollera deras programvara för dessa sårbarheter, med ett webbläsarverktyg [07] och webbserververktyg [08], som kan användas gratis.
Om dina servrar fortfarande stöder sårbara TLS versioner, se SSL.coms kommande guide för att konfigurera webbservrar för att följa de säkraste standarderna.
Digitala certifikat utfärdade av SSL.com fungerar med alla versioner av TLS, så ingen åtgärd krävs.
Slutsats
TLS erbjuder säkerhet och integritet för Internetanvändare. Under åren har forskare upptäckt betydande protokollsårbarheter, vilket har motiverat de flesta företag att uppgradera sina system för att använda modernare TLS versioner. Trots de påvisade säkerhetsproblemen förblir dock stöd för äldre kunder ett affärskrav. Förhoppningsvis PCI SSC och NIST, tillsammans med andra organisationer som har valt att avskrivas tidigt TLS, kommer att inspirera andra att ansluta sig till dem och SSL.com för att främja ett säkrare, bättre och säkrare internet.