Forsker efter nyopdaget svaghed: NSA kan nok lytte med på de fleste VPN-forbindelser

Diffie-Hellman algoritmen, der bliver brugt til SSL, SSH og ikke mindst VPN, er implementeret på en måde, så det med tilstrækkelig computerkraft har vist sig realistisk muligt at knække nøgler på 1024 bit og under. Der er ingen nem løsning.

En række forskere har fundet frem til flere svagheder i den måde, den udbredte Diffie-Hellman-algoritme bliver anvendt på. Algoritmen danner blandt andet grund for krypteringen bag TLS- (HTTPS), VPN- og SSH-forbindelser. Værst ser det ud for VPN-forbindelser, fortæller en af forskerne til Version2.

Diffie–Hellman key exchange, som den retteligt kaldes, bliver brugt til udveksling af kryptografiske nøgler på offentlige forbindelser.

Svaghederne ved Diffie-Hellman key exchange, som forskerne har fundet, er særligt problematiske, fordi de samme primtal bliver anvendt mange steder. Så selvom det med kendskab til svaghederne i matematikken tager en uges computerkraft at knække krypteringen bag et primtal med en længde på eksempelvis 512 bit, så gør det ikke så meget set fra en hackers synspunkt, fordi det samme primtal bliver anvendt på mange webservere. Derfor er det nok at foretage en enkelt beregning på et udbredt primtal for at kompromittere mange servere.

En del af det forskerne har fået frem til har fået navnet LogJam-angrebet, og blev blandt andet omtalt her på Version2 i sidste uge. Det er et downgrade-angreb, der, som navnet antyder, får serveren til at nedgradere forbindelsen til 512 bit-kryptering, selvom krypteringen i udgangspunktet burde være stærkere. Herefter kan forskerne anvende de matematiske svagheder, der har fundet frem til i Diffie-Hellman til at lytte med på forbindelsen i et man-in-the-middle-angreb.

8,4 pct. af de en million mest populære HTTPS-domæner understøtter 512 bit-kryptering, der ellers ikke bliver betragtet som sikker. Og 80 pct. af disse domæner er sårbare overfor LogJam-angrebet og kan derved narres til at bruge 512 bit-krypteringen af en man-in-the-middle.

Problemet med 512 bit-sårbarheden er, at den kan alle med den rette viden udnytte efter at have udført de nødvendige primtalsberegninger på forhånd. LogJam-sårbarheden kan fikses med browser-patches, og det er Google, Microsoft, Mozilla og andre igang med.

1024 bit kan også knækkes

Men en ting er 512 bit-primtallene, noget andet er, at forskerne også har fundet frem til, at det er realistisk muligt at knække 1024 bit-primtal med tilstrækkelig computerkraft. Ikke den, som almindelige hackere eller andre kriminelle måtte være i besiddelse af, men den som eksempelvis nationalstater og NSA kunne tænkes at råde over.

Ved at knække det mest udbredte 1024 bit-primtal vurderer forskerne, at det vil være muligt passivt at lytte med på 18 pct. af de 1 million mest populære HTTPS-domæner. Det passive ligger i, at det modsat LogJam ikke er nødvendigt først at udføre et downgrade angreb til 512 bit - som nogen måske bemærker - for at kunne lytte med.

»I 1024 bit-tilfældet, så kræver det nok en nationalstat for at investere tilstrækkeligt. Men vi har beviser, der er konsistente med, at det har fundet sted. Og det er det uhyggelige,« siger en af de førende forskere bag LogJam-opdagelsen, J. Alex Halderman fra universitetet i Michigan til Version2.

Han var i fredag i sidste uge på besøg på IT-Universitetet, hvor han fortalte nærmere om LogJam og perspektiverne ved at nationalstater kan knække 1024 bit-krypteringen.

Modsat 512 bit-angrebet, så er det ikke let at løse problemet i forhold til 1024 bit-primtallene. Og slet ikke hvad VPN-forbindelser angår, som også er ramt af denne sårbarhed.

Men først HTTPS-webserverne. Det er ganske vist muligt at opdatere webserverne, der i dag anvender den sårbare 1024 Diffie-Hellman kryptering, så stærkere kryptering bliver anvendt.

Men fordi serverne først skal opdateres, så er det ikke noget, der umiddelbart kan klares ved at patche browser-siden. For det nytter ikke, at browserne eksempelvis kun understøtter 2048 kryptering, når mange servere ikke kører via 2048 endnu, forklarer Alex Halderman.

»Efterhånden som servere skifter til stærkere metoder, så kan browsere forhåbentligt droppe det sårbare 1024-bit tilfælde også. Og så vil vi være i en situation, hvor vi er sikrere i forhold til angribere på statsniveau. Foreløbigt ved vi det ikke med sikkerhed, men vi har grund til at tro, at i hvert fald NSA - og måske andre regeringer også - er i stand til at bryde de mest almindelige 1024 bit-primtal,« siger Alex Halderman.

Også SSH-forbindelser er sårbare, hvor forskerne vurderer, at 26 pct. af alle SSH-servere kan kompromitteres ved at knække 1024 bit-krypteringen. Men værst ser det ud for VPN-forbindelser, som også er de sværeste at fikse.

66 pct. af alle VPN-forbindelser er ifølge forskerne sårbare og anvender det samme 1024 bit-primtal, som krypteringen baserer sig på. Primtallet er bygget ind i specifikationerne bag VPN-forbindelserne.

»Vi tror, 1024 er relativt vanskeligt at fikse, fordi det involverer sådan noget som VPN - disse [prim]tal er standardiserede i protokol-specifikationen. Så alles software har disse primtal på 1024 bit programmeret ind i sig. Vi bliver nødt til at gå tilbage og ændre en masse legacy-systemer for at slippe af med den svage kryptering,« siger Alex Halderman.

Han forklarer, at problemet ligger i standard internet key exchange-protokollen (IKE), og at langt størstedelen af alle VPN’er bruger den.

»Det er langt den mest udbredte standard,« siger Halderman.

Informationer fra Snowden

Når Halderman og hans forskerkollegaer mener, eksempelvis NSA, nok kan knække 1024 bit som følge af svagheder i svagheder i Diffie–Hellman, så er det mere en bare ren spekulation.

Forskerne har blandt andet kigget på NSA’s budget og på papirer, som den tidligere efterretningsanalytiker Edward Snowden har offentliggjort. Og når regnekraften, der skal til at knække 1024 bit-nøglerne blive holdt op mod NSA’s budget og Snowdens informationer, så mener Alex Halderman, der er god grund til at tro, at NSA - og måske også andre - lytter med på 1024 bit-Diffie-Hellman-linjen. Blandt andet har det tyske magasin Der Spiegel tidligere offentliggjort et diagram fra Snowden, som giver forskerne anledning til at tro, at NSA har et setup rettet mod netop VPN-forbindelser i den forbindelse. (se billede).

Om NSA-mistanken siger Halderman:

»Det er en meget kraftig mistanke, men vi kan ikke bevise det. Vi mener dog, mistanken er velfunderet. Vi kan lave beregninger, som viser, at det er muligt, vi kan demonstrere, at de har råd til det, vi kan fremlægge beviser for, at de har bygget systemer, som muligvis fungerer således, og vi kan fremlægge beviser for, at det er præcist dette, de gerne vil. Vi kan dog ikke dokumentere, at det faktisk er blevet gjort.«

Samme primtal

En væsentligt del af problemet med Diffie-Hellman-svaghederne skyldes som nævnt, at de samme primtal går igen mange steder.

Så selvom det har taget forskerne en uges beregninger at kompromittere 512 bit-primtallene, så er det nok at gøre det en enkelt gang for at ramme eksempelvis en stor del af alverdens Apache-servere, som bruger samme primtal.

Og på samme måde som forskerne kan kompromittere 512 bit, kan eksempelvis NSA ved at regne (kraftigt) på et enkelt 1024 bit-primtal lytte med på rigtigt mange VPN-forbindelser. Hvad webservere angår, så dækker 10 primtal 97 pct. af alverdens webservere. Men de kan altså fikses, forklarer Alex Halderman.

»Det er faktisk muligt at beregne et unikt primtal per server, men det er bare ikke sådan, folk tager servere i brug. I stedet er primtallet bygget ind i Apache, og alle bruger det samme tal,« siger han og tilføjer:

»Noget af det, vi foreslår, hvis folk fortsat vil bruge Diffie-Hellman, er at skifte til 2048 bit-styrke, hvilket burde være stærkt nok til også at besejre selv angribere på statsniveau, og derudover at vælge et unikt primtal på hver enkelt server.«

Kryptering med primtal er dog sådan indrettet, at ikke alle primtal er lige gode, hvis det skal være sikkert. Og det er en udfordring, hvis folk selv begynder at regne primtal ud på webservere.

»Så folk kan lave fejlkonfigurationer ved at vælge deres egne primtal, hvorved de faktisk kompromitterer sikkerheden yderligere. Så vi har nogle råd til, hvordan man kan være omhyggelig med dette på vores hjemmeside (weakdh.org). Og der er også andre muligheder i forhold til nøgleudveksling,« siger Alex Halderman.

Han nævner i den forbindelse elliptic curve-baseret Diffie-Hellman, som ikke har problemer i forhold til den konkrete angrebsteknik. Disse metoder har dog andre udfordringer, forklarer Alex Halderman.

»Vi er ikke helt sikre på, at vi kan stole på elliptic curve Diffie-Hellman, selvom den almene opfattelse blandt kryptologer for øjeblikket lader til at være, at det nok er bedre.«

Læs også: NSA-direktør: Vi skulle ikke have anbefalet algoritme med potentielle bagdøre

Spøgelse fra 1990’erne

Når 512 bit-krypteringen - som det ikke kræver NSA’s eller tilsvarende ressourcer at knække - overhovedet er et problem i dag, skyldes det, at forskerne er i stand til at udføre et downgrade-angreb. Her bliver klient og server narret til at kommunikere via 512 bit, selvom begge i udgangspunktet understøtter en stærkere kryptering.

Downgrade-angrebet udspringer - som et andet angreb tidligere på året, FREAK - direkte af det amerikanske eksportforbud mod stærk kryptering fra 1990’erne.

Dengang var 512 bit tilladt, mens stærkere kryptering var forbudt. Og derfor understøtter mange servere den dag i dag 512 bit-kryptering af hensyn til bagudkompatibilitet. Og det er denne understøttelse, der gør forskerne i stand til at foretage downgrade-angrebet.

»Det er 512 bit krypto-bagdøren fra 1990’erne, der hjemsøger os i dag. 1024 bit-tilfældet påvirker endnu flere mennesker, inklusiv to tredjedele af alle sikre VPN-forbindelser,« siger Alex Halderman.

Og det er netop dette downgrade-angreb, som en stribe udbredte browsere nu bliver patched mod som følge af forskernes opdagelser. Halderman fortæller, at de i god tid tog kontakt til firmaerne bag browserne, så de kunne nå at fikse det, inden forskningsresultaterne blev offentliggjort.

»Nogle af dem ventede med at publicere patches til efter, vi havde offentliggjort vores resultater. Men deres patches er klar. Og forhåbentlig vil browserne være patchede, når kriminelle angribere bliver i stand til at få deres Diffie-Hellman-beregninger til fungere,« siger han med henvisning til, at forskerne skulle bruge en uges computerkraft på at knække krypteringen, som et udbredt 512 bit-primtal ligger til grund for.

Sikkerhedssamfundet troede det var sikkert

FREAK-sårbarheden, som Alex Halderman også stod bag opdagelsen af, er som sådan lettere at udnytte i konkrete tilfælde. Men til forskel fra Diffie-Hellman, bygger FREAK på RSA-kryptering. Og antagelsen var her, at RSA var mange gange svagere end Diffie-Hellman. Det er den som sådan også, hvis altså ikke de samme primtal gik igen ved Diffie-Hellman. På den måde er det muligt at lave én tung beregning i stedet for en beregning per server, man ønsker at angribe.

»Den gængse opfattelse i sikkerhedssamfundet var, at Diffie-Hellman var mange gange sværere end RSA. Men det nye i det her er, at hvis du kun går efter én forbindelse, så er det mange gange sværere. Men hvis du går efter alle, så er det måske en million gange lettere (med Diffie-Hellman, red.),« siger Alex Halderman.

Derudover er der også en fælles lektion ved både FREAK og LogJam, der begge bruger downgrade-angreb, som er mulige som følge af det amerikanske eksport-forbud fra 1990’erne, mener Halderman:

»De er begge en lærestreg om, at bevidst svækkelse af krypteringsstyrke er en meget dårlig og farlig idé, selv når du tror, det er et særligt tilfælde. Her 20 år senere har det vist sig, at ja, 512 bit ikke bare er svagt nok til NSA, det er svagt nok til en flok akademikere i et lille computerlaboratorie, eller svagt nok til alle med EC2 - Amazons sky - og open source software.«

Og så er der der med 1024 bit-primtallene og NSA. Udover Snowden-lækkene og beregningerne i forhold til, at det faktisk godt kan lade sig gøre at knække den stærkere kryptering sammenlignet med 512-downgrade-angrebet, så fortæller Halderman, at han ved fra pålidelig kilde, at NSA er trætte af forskernes seneste offentliggørelse:

»Man hører på jungletrommerne, at de er sure hos NSA over, at dette er kommet for dagens lys. Jeg kan ikke citere nogen specifikt for dette. Og hvem ved, om det er virkeligt. Jeg vurderer, det er en pålidelig kilde.«

Forskerne har lavet en oversigt med tips og tricks til, hvordan server-operatører bør forholde sig i forhold til de nyopdagede sårbarheder, hvor det også er muligt at se, om ens browser er blevet opgraderet mod LogJam-sårbarhden. Siden kan findes her og forskernes rapport med flere videnskabelige data findes her (PDF).