Simovits

SS7 och problemen med telefonnätet

Signal System 7 (SS7) är ett samlingsnamn för den uppsättning protokoll som styr kommunikationen mellan telefonväxlar i det publika telefonnätet (PSTN) för 2G och 3G. SS7 möjliggör därvid tjänster såsom trådlösa telefonsamtal, samtalsrouting, roaming, SMS, tillhandahållande av internettjänster, samt många andra tjänster och funktioner. [1]

I SS7:s linda under 80-talet var telefonnätverksoperatörerna få och i regel antingen statligt ägda eller stora telekombolag med sinsemellan upprättade affärsrelationer vilket innebar att man kunde lita på varandra. Systemet bygger därför på ömsesidig tillit i en s.k. ”walled garden approach”, vilket innebär att vanliga individer med telefonabonnemang inte kan skicka kontrollsignaler för att styra nätverksinfarstrukturen. Under denna förutsättning kan all styrning inom SS7 antas vara välvillig och pålitlig. [2]

Mobilabonnemang i SS7

När du prenumererar på ett telefonabonnemang får du ett SIM-kort. SIM-kortet innehåller information om ditt mobilabonnemang samt en s.k. IMSI-kod (International Mobile Subscriber Identifier) som unikt bestämmer din identitet i det globala, publika telefonnätet. I konstrast till detta garanteras ett telefonnummer bara vara unikt i ditt hemland där du upprättat ditt abonnemang. För att möjliggöra utresa och koppling av samtal mellan abonnenter i olika länder används alltså IMSI:n internt inom SS7 för att undvika tvetydigheter.

SIM-kortet, och i förlängningen IMSI-koden, är bundet till din nätverksoperatör i ditt hemland. Nätverksoperatörer i SS7-infrastrukturen har avtal med varandra som möjliggör att du som abonnent kan använda mobilnätverk även i andra länder. Detta kallas roaming. När du lägger in telefonnummer i din kontaktbok behöver du inte skriva in någon landskod. För det allra mesta rör vi ju oss ändå bara inrikes och det lokala nätverket förutsätter att det är ett svenskt nummer du lagt till och sköter resten bakom kulisserna. Men om du befinner dig i, säg Tyskland, och vill ringa en vän i Sverige vet inte den lokala, tyska nätverksoperatören att det är tal om ett svenskt nummer. I stället för att tolka det som ett tyskt nummer och ringa en tysk person med samma nummer (givet att numren har samma längd, vilket inte stämmer i detta fall), kontaktas din hemnätverksoperatör som förklarar att det är ett svenskt nummer det är fråga om. Detta görs genom att hemoperatören fogar den svenska landskoden till numret och skickar tillbaka detta. Det tyska nätverket mottar numret och kopplar upp samtalet till din vän i Sverige. Detta är möjligt eftersom den tyska operatören kan titta på ditt IMSI och fastställa din nätverksoperatörsmässiga hemvist. [3] Kan detta utbyte utnyttjas?

SS7-Infrastruktur

Inom SS7 identifieras nätverksoperatörerna av en unik adress, kallad GT (Global Title). För att ha tillgång till SS7 måste du alltså ha en GT. HLR (Home Location Register) är en databas som lagrar data om mobilabonnenter på ett hemnätverk. Din HLR har kompletterande information om dig och ditt abonnemang som SIM-kortet saknar. Mobile Switching Centers (MSC) är den SS7-komponent som routar samtal. När du befinner dig i Tyskland och vill ringa hem kontaktar den närmsta MSC:n i det lokala nätverket HLR:en i ditt hemnätverk som svarar genom att i princip säga ”kontakta mig när min abonnent försöker ringa ett samtal, så tolkar jag numret åt dig. Jag nås på följande GT: …” Den tyska MSC:n noterar detta och nästa gång du försöker ringa din vän kontaktas din HLR. Som sagt IMSI används för att routa samtal, inte telefonnummer. Detta fås från abonnentens HLR genom att skicka en sendRoutingIngoForSM-förfrågan som även ger närmaste MSC. [3]

SS7-attacker i nu- och dåtid

I takt med att mobiltelefoner blev alltmer förekommande, och med internets framtågande, växte även antalet telefonnätverksoperatörer. Därigenom rubbades det nätverk av tillit som SS7 byggde på genom att skumma aktörer kunde slinka in i den fredade trädgården. Vissa av dessa moraliskt tvivelaktiga aktörer säljer nämligen tillgång till SS7 genom sin GT. Denna tillgång är ett kriterium för att kunna utnyttja SS7:s sårbarheter. När man tagit sig in i det betrodda nätverket kan SS7-kommandon skickas för att manipulera det.

För att hacka någon måste vi ha deras IMSI. Detta görs genom att skicka en sendRoutingInfoForSM-förfrågan till abonnentens HLR som sedan skickar tillbaka ISMI-koden. En attackerare kan därefter utge sig för att vara en HLR och skicka en förfrågan om att uppdatera MSC-databasen med sin egen adress. När du nu försöker ringa din vän, kontaktas attackeraren i stället, som kan leda om samtalet genom ett proxynummer för att avlyssna det utan att någon av parterna lägger märke till att något inte står rätt till. På det här sättet kan även SMS kan avläsas. Som tur är har samtals- och SMS-avlyssning i stort sett utrotats med hjälp av brandväggsregler. Men det finns en rad förfrågningar som en attackerare kan skicka till en HLR för att få en abonnents senaste plats. En av dessa är any time interrogation, där HLR:en går attackerarens ärende genom att kontakta målets nuvarande MSC som ber om abonnentens senaste plats. [4]

Diameter

Efter påtryckningar från cybersäkerhetsforskare har många av bristerna i SS7 tagits i beaktning i och med övergången till 4G och 5G som använder protokollet Diameter. Dessutom utnyttjar telefontjänster numera internetinfrastruktur för att dra nytta av de krypteringsprotokoll som redan finns i IP-stacken (s.k. Voice over IP). Tyvärr överfördes många av säkerhetsbristerna från SS7 till Diameter i och med denna omstuvning. Diameter bygger nämligen också på ömsesidig tillit, nätverksoperatörerna emellan och det är åtminstone över 4G fortfarande möjligt att spåra individers position och utföra DoS-attacker. Detta kan göras genom att skicka en UDR-förfrågan (User Data Request) till målets HSS (Home Subscriber Server). HSS är motsvarigheten till HLR i SS7. HSS:en frågar i sin tur MME (Mobility Management Entity), motsvarande MSC, om målets senaste plats. Alternativt kan IMSI:n först fås genom en SRI-SM-förfrågning (Send Routing Info For SM). Denna kan i sin tur användas för att fråga MME:n om senaste plats m.h.a. en IDR-förfrågan (Insert subscriber Data Request). [5]

Läget idag

De senaste 10 åren har SS7-attackerna adresserats och många åtgärder har vidtagits för att komma till bukt med dess svagheter. Lägg därtill att utfasningen av 3G också innebär en utfasning av SS7. Men problemen med 4G och Diameter kvarstår och trots att ett successivt införande av 5G har påbörjats kommer 4G-beroendet finnas en längre tid framöver, inte minst p.g.a. att en stor mängd IoT-enheter förlitar sig på 4G. Med 5G har i stället en ny kategori av säkerhetsproblem introducerats, men mer om det en annan gång. [6]

Referenser

[1] https://en.wikipedia.org/wiki/Signalling_System_No._7

[2] https://www.youtube.com/watch?v=wVyu7NB7W6Y

[3] https://www.youtube.com/watch?v=-wu_pO5Z7Pk

[4] https://www.youtube.com/watch?v=nRdJ0vaQt0o

[5] https://www.youtube.com/watch?v=dWcRFGWEA-Y

[6] https://www.youtube.com/watch?v=LRQsFTmWa2w