GUTI Reallocation Demystified: Cellular Location Tracking with Changing Temporary Identifier
- B. Hong, S. Bae, and Y. Kim
Cellular Location Tracking with Changing Temporary Identifier B. - - PowerPoint PPT Presentation
GUTI Reallocation Demystified: Cellular Location Tracking with Changing Temporary Identifier B. Hong, S. Bae, and Y. Kim NDSS 2018 Location Privacy Leaks on GSM We have the victims mobile phone number Can we detect if the victim is
We have the victim’s mobile phone number Can we detect if the victim is in/out of an area of interest?
– Granularity? 100 km2? 1km2? Next door?
No collaboration from service provider
– i.e. How much information leaks from the HLR over broadcast messages?
– Paging channel – Random access channel
2
PSTN MSC BSC VLR ATR HLR
MS
GSM Air Interface
IMSI
– a unique # associated with all GSM
TMSI
– Randomly assigned by the VLR – Updated in a new area
PCCH
– Broadcast paging channel
RACH
– Random Access Channel
SDCCH
– Standalone Dedicated Control Cha nnel
LAC has multiple cell towers that us es different ARFCN
BTS MS Paging Request PCCH Channel Request RACH Immediate Assignment PCCH Paging Response SDCCH Setup and Data
Motorola C 118 ($30) VirtualBox runnin g Ubuntu and Os mosomBB softwa re (free) Serial cable and r eprogrammer cab le ($30) HTC Dream with c ustom Android Ke rnel ($100)
PSTN PCH Time dt dt
Delay between the call initiation and the paging request: 3 sec Median delay between call initiation and ring: 6 sec
2 4 6 8 10 Time/seconds 2 4 6 8 10 Time/seconds
– No identifiable information
same ARFCN diff ARFCN random 0.0 0.5 1.0 1.5 2.0 −
Towers in this area are
rooftop 12 db gain antenna Observer Downtown Minneapolis John’s newly shaved head Yagi antenna
Observer Start End Approximate areas covered by towers to which the victim ’s phone was attac hed to
System Security Lab.
15
(radius < 10 km) Paging Request Paging Response
16
17
Victim Yongdae User B TMSI: 0xff123456 User C Attacker
– Find intersects of identifier’s sets
– Terminating call before ringing
Attacker Paging Channel Time dt
Call trigger Observation Call trigger Call trigger
dt dt
19
20
Diagnostic Monitor
USRP B210
Antenna
Broadcast Channel Receiver
21
Signaling Collection and Analysis Tool (SCAT) [1]
srsLTE (open source) [1] B. Hong, S. Park, H. Kim, D. Kim, H. Hong, H. Choi, J.P. Seifert, S. Lee, Y. Kim, Peeking over the Cellular Walled Gardens - A Method for Closed Network Diagnosis -, IEEE Transactions on Mobile Computing.
Country # of OP. # of USIM # of signalings Country # of OP. # of USIM # of signalings U.S.A 3 22 763K U.K. 1 1 41K Austria 3 3 807K Spain 2 2 51K Belgium 3 3 372K Netherlands 3 3 946K Switzerland 3 3 559K Japan 1 2 37K Germany 4 19 841K South Korea 3 14 1.7M France 2 6 305K
※ OP: operator, USIM: Universal Subscriber Identity Module, Signaling: control plane message
22
Collection Period: 2014. 11. ~ 2017. 7. # of countries: 11 # of operators: 28 # of USIMs: 78 # of voice calls: 58K # of signalings: 6.4M
23
Allocation Pattern Operators Assigning the same GUTI BE-III, DE-II, FR-II, JP-I Three bytes fixed CH-II, DE-III, NL-I, NL-II Two bytes fixed BE-II, CH-I, CH-III, ES-I, FR-I, NL-III One bytes fixed AT-I, AT-II, AT-III, BE-I, DE-I
AT: Austria, BE: Belgium, CH: Switzerland, DE: Germany, ES: Spain, FR: France, JP: Japan, NL: Netherlands
24
25
64 128 192 10 20 30 Hexadecimal value # of call 64 128 192 10 20 30 Hexadecimal value # of call 64 128 192 10 20 30 Hexadecimal value # of call 4 8 12 10 20 30 Hexadecimal value # of call (a) 1st byte (b) 2nd byte (c) 3rd byte (d) 4th byte FF 40 80 C0 FF 40 80 C0 FF 40 80 C0 F 4 8 C
26
64 128 192 10 20 30 Hexadecimal value # of call 64 128 192 10 20 30 Hexadecimal value # of call 64 128 192 10 20 30 Hexadecimal value # of call 4 8 12 10 20 30 Hexadecimal value # of call (a) 1st byte (b) 2nd byte (c) 3rd byte (d) 4th byte FF 40 80 C0 FF 40 80 C0 FF 40 80 C0 F 4 8 C
27
64 128 192 10 20 30 Hexadecimal value # of call 48 50 52 54 56 58 10 20 30 Hexadecimal value # of call 64 128 192 10 20 30 Hexadecimal value # of call 64 128 192 10 20 30 Hexadecimal value # of call (a) 1st byte (b) 2nd byte (c) 3rd byte (d) 4th byte 40 80 C0 FF 40 80 C0 FF 40 80 C0 30 32 34 36 38
28
64 128 192 10 20 30 Hexadecimal value # of call 48 50 52 54 56 58 10 20 30 Hexadecimal value # of call 64 128 192 10 20 30 Hexadecimal value # of call 64 128 192 10 20 30 Hexadecimal value # of call (a) 1st byte (b) 2nd byte (c) 3rd byte (d) 4th byte 40 80 C0 FF 40 80 C0 FF 40 80 C0 30 32 34 36 38
Allocation Pattern Operators Assigning the same GUTI BE-III, DE-II, FR-II, JP-I Three bytes fixed CH-II, DE-III, NL-I, NL-II Two bytes fixed BE-II, CH-I, CH-III, ES-I, FR-I, NL-III One bytes fixed AT-I, AT-II, AT-III, BE-I, DE-I
AT: Austria, BE: Belgium, CH: Switzerland, DE: Germany, ES: Spain, FR: France, JP: Japan, NL: Netherlands
29
– Two types of test
30
31
Operator Weak Stress Testing Hard Stress Testing KR-I O O KR-II X O US-I X O US-II O O
O: Reuse GUTI X: No noticeable change
64 128 192 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 Hexadecimal value # of call 1st Byte 2nd Byte 3rd Byte 4th Byte Network skip GUTI Reallocation End weak stress testing FF 40 80 C0
OpenSignal (at KAIST)
33
34
– Same GUTI
35