Breaking and Fixing VoLTE: Exploiting Hidden Data Channels and Mis-implementations
Hongil Kim*, Dongkwan Kim*, Minhee Kwon, Hyeongseok Han, Yeongjin Jang, Taesoo Kim, Dongsu Han, Yongdae Kim
1
Breaking and Fixing VoLTE: Exploiting Hidden Data Channels and - - PowerPoint PPT Presentation
Breaking and Fixing VoLTE: Exploiting Hidden Data Channels and Mis-implementations Hongil Kim* , Dongkwan Kim* , Minhee Kwon, Hyeongseok Han, Yeongjin Jang, Taesoo Kim, Dongsu Han, Yongdae Kim 1 VoLTE = Voice over LTE 4G LTE: All-IP based
1
2
3
Telephony Phone
Internet
Cell tower Core network
3
Telephony Phone
Internet
Cell tower Core network
3
Telephony Phone
Internet
Cell tower Cell tower Phone
Internet Core network Core network
3
Telephony Phone
Internet
Cell tower IMS Cell tower Phone
Internet IP Multimedia Subsystem (IMS) Core network Core network
3
Telephony Phone
Internet
Cell tower IMS Cell tower Phone
Internet IP Multimedia Subsystem (IMS) Core network Core network
4
4G Gateway IMS Internet
*SIP: Session Initiation Protocol, *RTP: Real-time Transport Protocol
4
4G Gateway
Default bearer, IP addr : 1.1.1.1 IMS Internet
*SIP: Session Initiation Protocol, *RTP: Real-time Transport Protocol
4
4G Gateway
Default bearer, IP addr : 1.1.1.1 IMS Internet
*SIP: Session Initiation Protocol, *RTP: Real-time Transport Protocol
4
4G Gateway
Default bearer, IP addr : 1.1.1.1 IMS Internet Dedicated bearer, port: 1234
*SIP: Session Initiation Protocol, *RTP: Real-time Transport Protocol
6
IMS
Cell tower Phone
3GPP standards Mobile OS support?
Device HW interface Implementation of LTE core Accounting infrastructure
4G Gateway
6
IMS
Cell tower Phone
3GPP standards Mobile OS support?
Device HW interface Implementation of LTE core Accounting infrastructure
4G Gateway
6
IMS
Cell tower Phone
3GPP standards Mobile OS support?
Device HW interface Implementation of LTE core Accounting infrastructure
4G Gateway
7
Telephony
Phone
Data (Packet Switching) Internet Voice (Circuit Switching)
Cell tower
7
Telephony
Phone
Data (Packet Switching) Internet Voice (Circuit Switching)
Cell tower
7
Telephony
Phone
Data (Packet Switching) Internet Voice (Circuit Switching)
Cell tower
7
Telephony
Phone
Data (Packet Switching) Internet Voice (Circuit Switching)
Cell tower
IMS
Phone
Data (Packet Switching) Internet
Cell tower
7
Telephony
Phone
Data (Packet Switching) Internet Voice (Circuit Switching)
Cell tower
IMS
Phone
Data (Packet Switching) Internet
Cell tower
7
Telephony
Phone
Data (Packet Switching) Internet Voice (Circuit Switching)
Cell tower
IMS
Phone
Data (Packet Switching) Internet
Cell tower
7
Telephony
Phone
Data (Packet Switching) Internet Voice (Circuit Switching)
Cell tower
IMS
Phone
Data (Packet Switching) Internet
Cell tower
7
Telephony
Phone
Data (Packet Switching) Internet Voice (Circuit Switching)
Cell tower
IMS
Phone
Data (Packet Switching) Internet
Cell tower
8
8
9
Voice signaling
Call APIs
Telephony
Phone
Internet
Cell Tower
AP CP
9
Voice signaling
Call APIs
Telephony
Phone
Internet
Cell Tower
AP CP
9
Voice signaling
Call APIs
Telephony
Phone
Internet
Cell Tower
AP CP
10
Voice signaling
IMS
Phone
Internet
Cell Tower
AP CP
10
Voice signaling
IMS
Phone
Internet
Cell Tower
AP CP
10
Voice signaling
IMS
Phone
Internet
Cell Tower
AP CP
10
Voice signaling
IMS
Phone
Internet
Cell Tower
AP CP
11
12
12
12
12
13
– Using VoLTE protocol (for all operators)
– Direct communication (for some operators)
13
Four free data channels
– Using VoLTE protocol (for all operators)
– Direct communication (for some operators)
Five security issues
– No encryption of voice packets – No authentication of signaling – No call session management (DoS on the cellular infrastructure) – IMS bypassing – Permission model mismatch (VoLTE call without “CALL_PHONE” permission)
13
Four free data channels
– Using VoLTE protocol (for all operators)
– Direct communication (for some operators)
Five security issues
– No encryption of voice packets – No authentication of signaling – No call session management (DoS on the cellular infrastructure) – IMS bypassing – Permission model mismatch (VoLTE call without “CALL_PHONE” permission)
13
14
*SIP: Session Initiation Protocol, *RTP: Real-time Transport Protocol
14 INVITE
Header : phone # of caller/callee, … Body : IP addr, port no., …
*SIP: Session Initiation Protocol, *RTP: Real-time Transport Protocol
14 INVITE 200 OK
Header : phone # of caller/callee, … Body : IP addr, port no., …
*SIP: Session Initiation Protocol, *RTP: Real-time Transport Protocol
14 INVITE 200 OK
Voice Session (RTP payload = voice data)
Header : phone # of caller/callee, … Body : IP addr, port no., …
*SIP: Session Initiation Protocol, *RTP: Real-time Transport Protocol
15 INVITE
Header : phone # of caller/callee, injected data Body : IP addr, port no., injected data 603 Decline
Voice Session (RTP payload = voice data)
*SIP: Session Initiation Protocol, *RTP: Real-time Transport Protocol
16 INVITE 200 OK
Voice Session (RTP payload = Injected data)
Header : phone # of caller/callee, … Body : IP addr, port no., …
*SIP: Session Initiation Protocol, *RTP: Real-time Transport Protocol
17
VoLTE Interface
VoLTE Interface
17
SIP Sender Media Sender VoLTE Interface
VoLTE Interface
17
SIP Sender Media Sender VoLTE Interface SIP Receiver Media Receiver
VoLTE Interface
17
SIP Sender Media Sender VoLTE Interface SIP Receiver Media Receiver
SIP, RTP
VoLTE Interface
17
SIP Sender Media Sender VoLTE Interface SIP Receiver Media Receiver
SIP, RTP SIP
VoLTE Interface
17
SIP Sender Media Sender VoLTE Interface SIP Receiver Media Receiver
SIP, RTP SIP
VoLTE Interface Audio Data
(60-100 bytes)
17
SIP Sender Media Sender VoLTE Interface SIP Receiver Media Receiver
SIP, RTP SIP
VoLTE Interface Audio Data
(60-100 bytes)
18
SIP Sender Media Sender VoLTE Interface DIAG SIP Receiver Media Receiver VoLTE
SIP, RTP SIP RTP
– Using VoLTE protocol (for all operators)
– Direct communication (for some operators)
– No encryption of voice packets – No authentication of signaling – No call session management (DoS on the cellular infrastructure) – IMS bypassing – Permission model mismatch (VoLTE call without “CALL_PHONE” permission)
19
20
4G Gateway IMS Internet
Default bearer for VoLTE
20
4G Gateway IMS Internet
Default bearer for VoLTE
4G Gateway IMS Internet
Default bearer for VoLTE
4G Gateway IMS Internet
Default bearer for VoLTE
22
Free Channel US-1 US-2 KR-1 KR-2 KR-3 Using VoLTE Protocol SIP Tunneling ✓ ✓ ✓ ✓ ✓ Media Tunneling ✓ ✓ ✓ ✓ ✓ Direct Communication Phone to Phone ✓
✘
✓
✘ ✘
Phone to Internet
✘
✓ ✓
✘
IPv4:✓ IPv6:✘ Last update: 20th April, 2015
22
Free Channel US-1 US-2 KR-1 KR-2 KR-3 Using VoLTE Protocol SIP Tunneling ✓ ✓ ✓ ✓ ✓ Media Tunneling ✓ ✓ ✓ ✓ ✓ Direct Communication Phone to Phone ✓
✘
✓
✘ ✘
Phone to Internet
✘
✓ ✓
✘
IPv4:✓ IPv6:✘ Last update: 20th April, 2015
22
Free Channel US-1 US-2 KR-1 KR-2 KR-3 Using VoLTE Protocol SIP Tunneling ✓ ✓ ✓ ✓ ✓ Media Tunneling ✓ ✓ ✓ ✓ ✓ Direct Communication Phone to Phone ✓
✘
✓
✘ ✘
Phone to Internet
✘
✓ ✓
✘
IPv4:✓ IPv6:✘ Last update: 20th April, 2015
23
Free Channel US-1 US-2 KR-1 KR-2 KR-3 Using VoLTE Protocol SIP Tunneling ✓ ✓ ✓ ✓ ✓ Media Tunneling ✓ ✓ ✓ ✓ ✓ Direct Communication Phone to Phone ✓
✘
✓
✘ ✘
Phone to Internet
✘
✓ ✓
✘
IPv4:✓ IPv6:✘ Last update: 20th April, 2015
23
Free Channel US-1 US-2 KR-1 KR-2 KR-3 Using VoLTE Protocol SIP Tunneling ✓ ✓ ✓ ✓ ✓ Media Tunneling ✓ ✓ ✓ ✓ ✓ Direct Communication Phone to Phone ✓
✘
✓
✘ ✘
Phone to Internet
✘
✓ ✓
✘
IPv4:✓ IPv6:✘ Last update: 20th April, 2015
24
Free Channel US-1 US-2 KR-1 KR-2 KR-3 Using VoLTE Protocol SIP Tunneling ✓ ✓ ✓ ✓ ✓ Media Tunneling ✓ ✓ ✓ ✓ ✓ Direct Communication Phone to Phone ✓
✘
✓
✘ ✘
Phone to Internet
✘
✓ ✓
✘
IPv4:✓ IPv6:✘ Last update: 20th April, 2015
24
Free Channel US-1 US-2 KR-1 KR-2 KR-3 Using VoLTE Protocol SIP Tunneling ✓ ✓ ✓ ✓ ✓ Media Tunneling ✓ ✓ ✓ ✓ ✓ Direct Communication Phone to Phone ✓
✘
✓
✘ ✘
Phone to Internet
✘
✓ ✓
✘
IPv4:✓ IPv6:✘ Last update: 20th April, 2015
24
Free Channel US-1 US-2 KR-1 KR-2 KR-3 Using VoLTE Protocol SIP Tunneling ✓ ✓ ✓ ✓ ✓ Media Tunneling ✓ ✓ ✓ ✓ ✓ Direct Communication Phone to Phone ✓
✘
✓
✘ ✘
Phone to Internet
✘
✓ ✓
✘
IPv4:✓ IPv6:✘ Last update: 20th April, 2015
24
Free Channel US-1 US-2 KR-1 KR-2 KR-3 Using VoLTE Protocol SIP Tunneling ✓ ✓ ✓ ✓ ✓ Media Tunneling ✓ ✓ ✓ ✓ ✓ Direct Communication Phone to Phone ✓
✘
✓
✘ ✘
Phone to Internet
✘
✓ ✓
✘
IPv4:✓ IPv6:✘ Last update: 20th April, 2015
– Using VoLTE protocol (for all operators)
– Direct communication (for some operators)
– No encryption of voice packets – No authentication of signaling – No call session management (DoS on the cellular infrastructure) – IMS bypassing – Permission model mismatch (VoLTE call without “CALL_PHONE” permission)
25
26
Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack IMS No SIP Encryption X ✓ ✓ ✓ Message manipulation No Voice Data Encryption ✓ ✓ ✓ ✓ ✓ Wiretapping
27
Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack IMS No Authentication X X O O X Caller Spoofing No Session Management O O O X O Denial of Service on Core Network
27
Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack IMS No Authentication X X O O X Caller Spoofing No Session Management O O O X O Denial of Service on Core Network
* In a normal call, one user can call to only one person
27
Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack IMS No Authentication X X O O X Caller Spoofing No Session Management O O O X O Denial of Service on Core Network
* In a normal call, one user can call to only one person
27
Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack IMS No Authentication X X O O X Caller Spoofing No Session Management O O O X O Denial of Service on Core Network
* In a normal call, one user can call to only one person
27
Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack IMS No Authentication X X O O X Caller Spoofing No Session Management O O O X O Denial of Service on Core Network
IMS
28
Header : phone # of caller/callee, … Body : IP addr, port no., … INVITE
IMS
28
Header : phone # of caller/callee, … Body : IP addr, port no., … INVITE
IMS
28
Header : phone # of caller/callee, … Body : IP addr, port no., … INVITE Header : phone # of caller/callee, … Body : IP addr, port no., … INVITE
IMS
28
29
30
Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack 4G-GW IMS Bypassing O X O X X Caller Spoofing 4G Gateway IMS
30
Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack 4G-GW IMS Bypassing O X O X X Caller Spoofing 4G Gateway IMS
30
Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack 4G-GW IMS Bypassing O X O X X Caller Spoofing 4G Gateway IMS
30
Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack 4G-GW IMS Bypassing O X O X X Caller Spoofing 4G Gateway IMS
31
Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack Phone Permission Mismatch Vulnerable for all Android Denial of Service on Call, Overbilling
31
Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack Phone Permission Mismatch Vulnerable for all Android Denial of Service on Call, Overbilling
32
IMS IMS
32
IMS IMS
32
IMS IMS
32
IMS IMS
32
IMS IMS
33
34
35
Point Vulnerability Mitigation Responsible Entity
IMS No Security Mechanisms Encrypt call signaling and voice data Operators IMS provider No Authentication Place proper authentication on voice packets No Session Management Allow single call session per device 4G-GW Direct Communication Disallow direct communication Operators Phone Permission Mismatch Create new permission for VoLTE interface Mobile OS (Android) SIP/Media tunneling Place proper regulation on packet routing Apply deep packet inspection Mobile OS (Android) Operators
35
Point Vulnerability Mitigation Responsible Entity
IMS No Security Mechanisms Encrypt call signaling and voice data Operators IMS provider No Authentication Place proper authentication on voice packets No Session Management Allow single call session per device 4G-GW Direct Communication Disallow direct communication Operators Phone Permission Mismatch Create new permission for VoLTE interface Mobile OS (Android) SIP/Media tunneling Place proper regulation on packet routing Apply deep packet inspection Mobile OS (Android) Operators
35
Point Vulnerability Mitigation Responsible Entity
IMS No Security Mechanisms Encrypt call signaling and voice data Operators IMS provider No Authentication Place proper authentication on voice packets No Session Management Allow single call session per device 4G-GW Direct Communication Disallow direct communication Operators Phone Permission Mismatch Create new permission for VoLTE interface Mobile OS (Android) SIP/Media tunneling Place proper regulation on packet routing Apply deep packet inspection Mobile OS (Android) Operators
36
– A complex (legacy time-based) accounting – Delegated voice signal (previously done by CP) to AP
37
– A complex (legacy time-based) accounting – Delegated voice signal (previously done by CP) to AP
– Four free data channels – Five security problems
37
– A complex (legacy time-based) accounting – Delegated voice signal (previously done by CP) to AP
– Four free data channels – Five security problems
– 3GPP, telcos, IMS providers, mobile OSes, and device vendors
37
– A complex (legacy time-based) accounting – Delegated voice signal (previously done by CP) to AP
– Four free data channels – Five security problems
– 3GPP, telcos, IMS providers, mobile OSes, and device vendors
– Automobiles, power grid, traffic signal, ...
37
– A complex (legacy time-based) accounting – Delegated voice signal (previously done by CP) to AP
– Four free data channels – Five security problems
– 3GPP, telcos, IMS providers, mobile OSes, and device vendors
– Automobiles, power grid, traffic signal, ...
37
38
39
40
Telephony
Phone
Data (Packet Switching) Internet Voice (Circuit Switching)
Cell tower
IMS
Phone
Data (Packet Switching) Internet
Cell tower
41
IMS
Cell tower Phone
3GPP standards Mobile OS support?
Device HW interface Implementation of LTE core Accounting infrastructure
4G Gateway
41
IMS
Cell tower Phone
3GPP standards Mobile OS support?
Device HW interface Implementation of LTE core Accounting infrastructure
4G Gateway
42 INVITE INVITE 180 Ringing 180 Ringing
Voice Session (RTP)
BYE 200 OK 200 OK 200 OK
Header : Caller & Callee’s phone #, route,… Body : Voice session info (callee -> caller) (Callee’s phone #, src voice IP, port) BYE 200 OK Header : Caller & Callee’s phone #, route,… Body : Voice session info Header : Caller & Callee’s phone #, route,… Body : Voice session info (callee -> caller)
US-1 US-2 KR-1 KR-2 KR-3 QoS Param. (Kbps) 38 49 41 41 49 Bandwidth (Kbps) 38/49 49 65 65 65 Latency (sec) 0.1 0.1 0.1 0.1 0.1 Loss rate (%) 1 1 1 1 1 US-1 US-2 KR-1 KR-2 KR-3 Throughput (Kbps) 37.90 36.93 45.76 39 50.48 Latency (sec) 0.52 0.02 0.10 0.32 0.30 Loss rate (%) 1.44 1.74 0.77 0.65 0.73
43