Diktaturen i Kazakhstan har infört krav på att alla i landet installerar ett statlig rotcertifikat för krypterad trafik över HTTPS och SSL. Det innebär att regimen via en man-in-the-middle-attack (MITM) kan avlyssna krypterad trafik i landet, men också att de kan göra detta i resten av världen vid nättillgång och om andra installerar detta rot-certifikat.
Den här bloggens grundläggande certifikatinformation. |
Krypterad publik trafik på Internet hanteras något förenklat via public key cryptography, där riktiga krypteringsnycklar utbytes genom krypton som är påskrivna, certifierade, av ett installerat rotcertifikat, för att säkerställa dess ursprung. Certifikaten kan utfärdas för enskilda domäner eller webtjänster, som t ex den här bloggen (som får sitt certificat via Cloudflare och i slutändan amerikanska privata COMODO ECC – notera att detta kan ändras i framtiden),
Kazahkstans diktatur har nu lanserat ett statligt utgivet rot-certifikat, som är lagstadgat obligatoriskt att installera på alla enheter i landet.
Därmed kan regimen utfärda domäncertifikat, som de själva skrivit under, t ex för den här bloggen på cornubot.se, och installera proxies som all Internettrafik i landet går genom, innan anropet skickas vidare till destinationen. Det kommer därmed se ut som att ut som att det är ett korrekt signerat certifikat, men i verkligheten är det utfärdat av en annan rot, en rot som Kazakhstans regim kan avkryptera och därmed läsa. Inga varningar kommer visas i webläsare eller andra programvaror.
Regimen i Kazakhstan har också installerat just MITM-system, vilket visas i en buggrapport hos Mozilla, där ett amerikanskt kryptocertifikat har bytts ut mot ett av regimen statligt utfärdat ceritifkat, så trafiken kan avlyssnas. HTTPS är inte längre säkert i Kazakhstan.
Jakob Schlyter, CTO på IT-säkerhetsbolaget Kirei, kommenterar till bloggen:
“Att på statsnivå kräva att alla invånare har ett specifikt rotcertifikat för Janus-attacker (MITM) installerat är oroande men en svårtfråga för webbläsartillverkarna. Å ena sidan vill man skydda sina användare för från attacker, men å andra sidan vill man inte förhindra att man t.ex. inom ett företag installerar egna rotcertifikat. Det blir intressant att se vad Mozilla och Google tar för steg – explicit blockering av Kazakhstans rotcertifikat, inför någon form av varning eller något annat. Kazakhstan försökte få med sin rotutfärdare i Mozilla för några år sedan, men fick avslag.”
Om inte webläsarleverantörerna sätter ner foten när det nu är bevisat att Kazakhstan avlyssnar även krypterad trafi, står det härnäst fritt för t ex diktaturer som Kina eller Ryssland att göra motsvarande.
Kinas kommunistparti har redan CNNIC, som utfärdar kryptocertifikat under sin egen rot, men har inte visat sig köra MITM-angrepp än så länge. Det samma gäller Turkiets TurkTrust. En del mer säkerhetsmedvetna tar ändå bort CNNIC och TurkTrusts certifikat från sina webläsare eller kryptonyckelknippor. Detta är dock inte möjligt att göra på t ex iPrylar, men väl på datorer.
Om en angripare kan få fysisk tillgång till ett segment av Internet – även lokalt nätverk – och kan installera en uppfångande proxy för trafiken, och samarbetar med Kazakhstan, kan rotcertifikatet även användas för att avlyssna trafik på angripna platser utanför Kazakhstan. Uppdragsgivaren behöver inte heller vara det landet, utan en samarbetspartner.
Ett sätt att i ett annat land göra en MITM är att sätta upp ett wifinät, som bryggar över mot Internet, t ex kalla det “SJ” och köra det på ett tåg, och sedan fånga all trafik med egna kryptocertifikat, och läsa av innehållet, inklusive lösenorden, innan man skickar trafiken vidare till ändarna. Inga varningar kommer utfärdas om man har KZ rotcertifikat. Eller varför inte kalla wifit “[Arbetsplatsen] Internt” och se vilka som råkar halka in…
Det samma gäller för övrigt även arbetsgivare med egna rotcertifikat installerade och signerade på alla företagets datorer – du kan inte lita på HTTPS, utan krypto kräver kunskaper, som långt ifrån alla har. Har du kontrollerat att inte din arbetsgivare har injicerat egna certifikat för alla eller vissa externa webplatser? På grund av tjatet kör bloggen ändå HTTPS sedan något år tillbaka, men det innebär inte en säker trygghet – hur många har kontrollerat att certifikatet verkligen är via Cloudflare? Och om det byts mot ett cert från en annan rotkedja – hur ska ni veta att det verkligen är något jag gjort och inte ett MITM-angrepp?
Det är också möjligt att censurera eller byta ut hela eller delar av innehållet i ett MITM-angrepp. T ex kan Kazakhstans regim på detta vis skriva om innehållet om landet i Wikipedia, för de som surfar från Kazakhstan, utan att det märks eller att någon kan göra något åt det.
21 kommentarer
All webtrafik borde vara över HTTPS. Märkligt att så inte än är fallet 2019. Tekniken har funnits i över 25 år.
Har varit på gång ett tag:
https://www.golem.de/news/kasachstan-man-in-the-middle-angriff-auf-ein-ganzes-land-geplant-1512-117790.html
Skulle säga att PKI, Public Key Infrastructure, är den korrekta termen för att beskriva hur krypterad trafik hanteras på internet.
Och det hjälper då inte heller med VPN (kör det ibland)?
VPN bör fixa problemet, så länge du inte gör ditt VPN dolt som HTTPS (går att göra för att t ex mot regelverket kunna köra VPN genom en arbetsgivares brandvägg) och i så fall inte kontrollerar certifikaten.
PS. Jag brukar kolla att det är giltigt, främst när jag är inne på t ex min bank.
Snyggt. Var som Observer.
Ok, tack för svaret.
All känslig trafik som att skriva om konspirationsteorier på Flashback kör jag på min privata mobiltelefon som bara jag själv har kontroll över. Skulle aldrig göra något ner kontroversiellt än att surfa på DI på jobbdatorn. De flesta jag känner har alltid två telefoner – en jobbtelefon och en privat. Dessutom bör man köra BPN om man t ex skall kritisera Partiet. Samtliga arbetsgivare loggar idag allt och med tanke på att konjunkturen håller på att vika måste man vara betänksam.
VPN är blockerat i många länder såsom Egypten, uae, saudi osv så det är oftast inte en lösning eftersom det är just där det behövs. I vissa av dessa länder tillåter de företags VPN så det kan vara en lösning att surfa på jobbdatorn, med risken då förstås att företaget istället avlyssnar din trafik, detta är ju numer regel snarare än undantag eftersom det annars inte går att leta efter skadlig kod i webbtrafik.
Ett skydd mot detta är att "pinna" webbtjänsters publika nyckel (cert) på klientsidan. Detta gör tex Google för sina egna tjänster i sina egna klienter (Gmail-app, chromewebbläsare mm). Det innebär att endast förväntade och i förväg godkända utfärdarcert eller servercert godkänns av klienten för en viss webbsida eller tjänst.
Finns också en standard med namnet HPKP (RFC7469, HTTP Public Key Pinning) för ändamålet, men lösningen är inte perfekt och stöds tex in ta av Chrome i nuläget.
…stöds INTE av Chrome..
På tal om VPN som Observer nämnde ovan finns anledning att tänka efter även där. I en rapport som släpptes nyligen presenteras att upp emot så många som 30% av de mer kända VPN-tjänsterna drivs av företag som är Kinesiska, i många fall via invecklade ägarskapsförhållanden.
Det enda en VPN-tjänst gör är att skicka din trafik via tredje part, vilket ger vederbörande alla möjligheter att mixtra med SSL-cert som beskrivet ovan, i den mån din trafik alls är kryterad när den passerar ut ur VPN-tunneln.
En VPN-tjänst som har bra teknik, gott rykte och jag kan rekommdendera är svenska Mullvad.
Från Mullvads hemsida:
"Vi rekommenderar att du betalar anonymt, antingen med kontanter, Bitcoin eller Bitcoin Cash. Vi accepterar också kreditkort, banköverföringar, PayPal eller Swish."
Inget häpnadsväckande med det, bara ett konstaterande att Bitcoin står högt i kurs i flera avseenden.
Är det egentligen så svårt att sätta upp en tjänst? OpenVPNServer, bra lina och sedan ett par abonnemang för exitnoder i olika länder. Får man tillräckligt många kunder så är marginalen rätt bra.
Inte svårt, men datakommunikation för företag är långt ifrån billigt. Sedan tillkommer kostnaderna för övrig infrastruktur, främst VPN-noder. Slutligen måste du lösa billing och kanske ta fram en användarvänlig klient till kreti och pleti
Hur funkar det med en Chromebook tex om man är i tex Kazakhstan eller annat land som har sådana cert?
Läste en blogg om detta och där påstods det att detta är rätt vanligt i Indien då ISP:erna vill injecta egna annonser i Facebook m.m.
Antar att detta är Morgan Johanssons våta dröm. Undrar vem som levererat proxy-hårdvaran…. Ericsson? Cisco? Huawei?
Många kör Opel source på vanliga x86-servar men ledande leverantörer är annars bluecoat (numer symantec),zscaler, cisco (ironport), mc afee mfl.
Flera av dessa företag har haft stater som kunder, och förutom att avlyssna blockerar de massor av sidor. Läser du twitter i tex uae byts tweets ut MIT regimvänliga dito, eller annonser för lägenheter sålda av statliga fastighetsbolag. Jobbar en del med it-säkerhet i dessa länder så jag har sett en del horribla varianter
Kul att se hur låg kunskapsnivån ligger hos myndigheter. Kryptering ligger alltid ett steg före. Tor nätverk kommer dom i alla fall inte kunna ge sig på. .onion är framtidens internet i takt med statlig insyn i folks privata komminikation.
Sen kan man ju undra varför Cornu inte ifrågasätter säkerheten på samtliga cert.