Top Banner
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
113

Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Dec 18, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

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

Page 2: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

VoLTE = Voice over LTE

4G LTE: All-IP based Network

Voice call: Implementation of VoIP on LTE

3G network

– Data and voice is separated

4G LTE network

– Both data and voice are delivered as data-flow

2

Page 3: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

3

TelephonyPhone

Data(Packet Switching)

Internet

3G

Voice(Circuit Switching)Cell

towerCore network

Page 4: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

3

TelephonyPhone

Data(Packet Switching)

Internet

3G

Voice(Circuit Switching)Cell

towerCore network

Page 5: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

3

TelephonyPhone

Data(Packet Switching)

Internet

3G

Voice(Circuit Switching)Cell

tower

Cell tower

Phone

4G LTE

Data(Packet Switching)

Internet

Core network

Core network

Page 6: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

3

TelephonyPhone

Data(Packet Switching)

Internet

3G

Voice(Circuit Switching)Cell

tower

IMSCell

tower

Phone

4G LTE

Data(Packet Switching)

Internet

IP Multimedia Subsystem (IMS)

Core network

Core network

Page 7: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

3

TelephonyPhone

Data(Packet Switching)

Internet

3G

Voice(Circuit Switching)Cell

tower

IMSCell

tower

Phone

4G LTE

Data(Packet Switching)

Internet

IP Multimedia Subsystem (IMS)

Core network

Core network

Page 8: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Voice delivery in LTE Voice is delivered through two data channels, called “bearer”

– Bearer: a virtual channel with below properties

– Bandwidth, loss rate, latency (QoS)

For VoLTE service,

1. Control plane (default bearer): call signaling, *SIP

2. Data plane (dedicated bearer): voice data, *RTP

4

4G Gateway

IMS

Internet

*SIP: Session Initiation Protocol, *RTP: Real-time Transport Protocol

Page 9: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Voice delivery in LTE Voice is delivered through two data channels, called “bearer”

– Bearer: a virtual channel with below properties

– Bandwidth, loss rate, latency (QoS)

For VoLTE service,

1. Control plane (default bearer): call signaling, *SIP

2. Data plane (dedicated bearer): voice data, *RTP

4

4G Gateway

Default bearer, IP addr : 1.1.1.1

IMS

Internet

*SIP: Session Initiation Protocol, *RTP: Real-time Transport Protocol

Page 10: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Voice delivery in LTE Voice is delivered through two data channels, called “bearer”

– Bearer: a virtual channel with below properties

– Bandwidth, loss rate, latency (QoS)

For VoLTE service,

1. Control plane (default bearer): call signaling, *SIP

2. Data plane (dedicated bearer): voice data, *RTP

4

4G Gateway

Default bearer, IP addr : 1.1.1.1

IMS

Internet

*SIP: Session Initiation Protocol, *RTP: Real-time Transport Protocol

Page 11: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Voice delivery in LTE Voice is delivered through two data channels, called “bearer”

– Bearer: a virtual channel with below properties

– Bandwidth, loss rate, latency (QoS)

For VoLTE service,

1. Control plane (default bearer): call signaling, *SIP

2. Data plane (dedicated bearer): voice data, *RTP

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

Page 12: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

VoLTE makes cellular network more complex

6

IMS

Cell

tower

Phone

4G LTE

3GPP standards

Mobile OS support?

LTE Core

Device HW interface

Implementation of LTE core

Accounting infrastructure

4G Gateway

Page 13: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Let’s check potential attack vectors newly introduced in VoLTE

VoLTE makes cellular network more complex

6

IMS

Cell

tower

Phone

4G LTE

3GPP standards

Mobile OS support?

LTE Core

Device HW interface

Implementation of LTE core

Accounting infrastructure

4G Gateway

Page 14: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Let’s check potential attack vectors newly introduced in VoLTE

VoLTE makes cellular network more complex

6

IMS

Cell

tower

Phone

4G LTE

3GPP standards

Mobile OS support?

LTE Core

Device HW interface

Implementation of LTE core

Accounting infrastructure

4G GatewayPermission

Mismatch

Free Data Channels

No Session Manage

No Auth

No EncryptionIMS

Bypassing

Page 15: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

#1: VoLTE Accounting Accounting in 3G

7

Telephony

Phone

Data (Packet Switching) Internet

Voice (Circuit Switching)Cell

tower

Page 16: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

#1: VoLTE Accounting Accounting in 3G

7

Telephony

Phone

Data (Packet Switching) Internet

Voice (Circuit Switching)Cell

tower

Byte usage

Page 17: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

#1: VoLTE Accounting Accounting in 3G

7

Telephony

Phone

Data (Packet Switching) Internet

Voice (Circuit Switching)Cell

tower

Byte usage

Time usage

Page 18: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

#1: VoLTE Accounting Accounting in 3G

7

Telephony

Phone

Data (Packet Switching) Internet

Voice (Circuit Switching)Cell

tower

IMSPhone

Data (Packet Switching)Internet

Cell tower

Byte usage

Time usage

Accounting in 4G (using VoLTE)

Page 19: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

#1: VoLTE Accounting Accounting in 3G

7

Telephony

Phone

Data (Packet Switching) Internet

Voice (Circuit Switching)Cell

tower

IMSPhone

Data (Packet Switching)Internet

Cell tower

Byte usage

Time usage

Accounting in 4G (using VoLTE)

Byte usage for all services?

Page 20: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

#1: VoLTE Accounting Accounting in 3G

7

Telephony

Phone

Data (Packet Switching) Internet

Voice (Circuit Switching)Cell

tower

IMSPhone

Data (Packet Switching)Internet

Cell tower

Byte usage

Time usage

Accounting in 4G (using VoLTE)

Byte usage for all services?

Still time usage

Page 21: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

#1: VoLTE Accounting Accounting in 3G

7

Telephony

Phone

Data (Packet Switching) Internet

Voice (Circuit Switching)Cell

tower

IMSPhone

Data (Packet Switching)Internet

Cell tower

Byte usage

Time usage

Accounting in 4G (using VoLTE)

Byte usage for all services?

Still time usage

Unlimited VoLTE call

Page 22: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

#1: VoLTE Accounting Accounting in 3G

7

Telephony

Phone

Data (Packet Switching) Internet

Voice (Circuit Switching)Cell

tower

IMSPhone

Data (Packet Switching)Internet

Cell tower

Byte usage

Time usage

Accounting in 4G (using VoLTE)

Byte usage for all services?

Still time usage

Unlimited VoLTE call

Do operators implement this complicated accounting correctly?

Page 23: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Anatomy of smartphone Smartphone has two processors

8

AP

CP

Application processor (AP)- Running mobile OS (Android)

- Running User application

Page 24: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Anatomy of smartphone Smartphone has two processors

8

AP

CP

Application processor (AP)- Running mobile OS (Android)

- Running User application

Communication processor (CP)- Telephony Processor (modem)- Digital Signal Processing (DSP)

Page 25: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

#2 Voice solution in device, 3G case3G Phone

9

AP

CP Voice signaling

Call APIs

Telephony

Phone

Data Internet

3G network

VoiceCell Tower

AP

CP

Page 26: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

#2 Voice solution in device, 3G case3G Phone

9

• An app cannot easily manipulate the voice signaling in CP

AP

CP Voice signaling

Call APIs

Telephony

Phone

Data Internet

3G network

VoiceCell Tower

AP

CP

Page 27: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

#2 Voice solution in device, 3G case3G Phone

9

• An app cannot easily manipulate the voice signaling in CP

AP

CP Voice signaling

Call APIs

Telephony

Phone

Data Internet

3G network

VoiceCell Tower

AP

CP

• An app needs “CALL_PHONE” permission for calling

Page 28: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

#2: Voice solution in device, LTE4G LTE Phone

10

AP

CP

Voice signaling

IMS

Phone

DataInternet

4G LTE network

Cell Tower

AP

CP

Page 29: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

#2: Voice solution in device, LTE4G LTE Phone

10

• An app can easily manipulate voice signaling in AP

AP

CP

Voice signaling

IMS

Phone

DataInternet

4G LTE network

Cell Tower

AP

CP

Application processor- Running mobile OS (Android)- Running User application

Page 30: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

#2: Voice solution in device, LTE4G LTE Phone

10

• An app can easily manipulate voice signaling in AP

AP

CP

Voice signaling

IMS

Phone

DataInternet

4G LTE network

Cell Tower

AP

CP

Application processor- Running mobile OS (Android)- Running User application

• An app can make a call only with “INTERNET” permission.

Page 31: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

#2: Voice solution in device, LTE4G LTE Phone

10

• An app can easily manipulate voice signaling in AP

AP

CP

Voice signaling

IMS

Phone

DataInternet

4G LTE network

Cell Tower

AP

CP

Application processor- Running mobile OS (Android)- Running User application

• An app can make a call only with “INTERNET” permission.

Page 32: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Two problems in VoLTE

1. A complex accounting infrastructure

2. Delegating voice signaling (previously done by CP) to AP

11

Page 33: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Our approach to attack two problems

12

Page 34: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Our approach to attack two problems Analyze 3GPP standards related with VoLTE service

– Leave detail implementation to operators, chipset vendors, …

12

Page 35: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Our approach to attack two problems Analyze 3GPP standards related with VoLTE service

– Leave detail implementation to operators, chipset vendors, …

Make a checklist of potential vulnerable points in the VoLTE feature

– About 60 items for both control and data plane

12

Page 36: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Our approach to attack two problems Analyze 3GPP standards related with VoLTE service

– Leave detail implementation to operators, chipset vendors, …

Make a checklist of potential vulnerable points in the VoLTE feature

– About 60 items for both control and data plane

Perform an analysis in 5 major operational networks

– 2 U.S. operators and 3 South Korea operators

12

Page 37: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Quick Summary of Our Finding

13

Page 38: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Quick Summary of Our Finding Four free data channels

– Using VoLTE protocol (for all operators)

SIP tunneling

Media tunneling

– Direct communication (for some operators)

Phone-to-Internet

Phone-to-Phone

13

Page 39: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Quick Summary of Our Finding Four free data channels

– Using VoLTE protocol (for all operators)

SIP tunneling

Media tunneling

– Direct communication (for some operators)

Phone-to-Internet

Phone-to-Phone

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

Page 40: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Quick Summary of Our Finding Four free data channels

– Using VoLTE protocol (for all operators)

SIP tunneling

Media tunneling

– Direct communication (for some operators)

Phone-to-Internet

Phone-to-Phone

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

Page 41: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

VoLTE Call Procedure

14

Caller SIP server Callee

*SIP: Session Initiation Protocol, *RTP: Real-time Transport Protocol

Page 42: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

VoLTE Call Procedure

14

INVITE

Caller SIP server Callee

Header : phone # of caller/callee, …Body : IP addr, port no., …

*SIP: Session Initiation Protocol, *RTP: Real-time Transport Protocol

Page 43: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

VoLTE Call Procedure

14

INVITE

200 OK

Caller SIP server Callee

Header : phone # of caller/callee, …Body : IP addr, port no., ……

*SIP: Session Initiation Protocol, *RTP: Real-time Transport Protocol

Page 44: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

VoLTE Call Procedure

14

INVITE

200 OK

Caller SIP server Callee

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

Page 45: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Free Channel: SIP Tunneling

15

INVITE

Caller SIP server Callee

Header : phone # of caller/callee, injected dataBody : IP addr, port no., injected data

603 Decline

Voice Session (RTP payload = voice data)

*SIP: Session Initiation Protocol, *RTP: Real-time Transport Protocol

Page 46: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Free Channel: Media Tunneling

16

INVITE

200 OK

Caller SIP server Callee

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

Page 47: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Attack Implementation in Detail

17

AP

CP

AP

CP VoLTE Interface

IMS

Caller CalleeCore Network

VoLTE Interface

Page 48: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Attack Implementation in Detail

17

AP

CP

AP

CP

SIP Sender

MediaSender

VoLTE Interface

IMS

Caller CalleeCore Network

VoLTE Interface

Page 49: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Attack Implementation in Detail

17

AP

CP

AP

CP

SIP Sender

MediaSender

VoLTE Interface

SIP Receiver

MediaReceiver

IMS

Caller CalleeCore Network

VoLTE Interface

Page 50: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Attack Implementation in Detail

17

AP

CP

AP

CP

SIP Sender

MediaSender

VoLTE Interface

SIP Receiver

MediaReceiver

IMSSIP, RTP

Caller CalleeCore Network

VoLTE Interface

Page 51: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Attack Implementation in Detail

17

AP

CP

AP

CP

SIP Sender

MediaSender

VoLTE Interface

SIP Receiver

MediaReceiver

IMSSIP, RTP SIP

Caller CalleeCore Network

VoLTE Interface

Page 52: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Attack Implementation in Detail

17

AP

CP

AP

CP

SIP Sender

MediaSender

VoLTE Interface

SIP Receiver

MediaReceiver

IMSSIP, RTP SIP

Caller CalleeCore Network

VoLTE Interface

Audio Data(60-100 bytes)

Page 53: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Attack Implementation in Detail

17

AP

CP

AP

CP

SIP Sender

MediaSender

VoLTE Interface

SIP Receiver

MediaReceiver

IMSSIP, RTP SIP

Caller CalleeCore Network

VoLTE Interface

Audio Data(60-100 bytes)

DIAGCommand

Page 54: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Attack Implementation in Detail

18

AP

CP

AP

CP

SIP Sender

MediaSender

VoLTE Interface DIAG

SIP Receiver

MediaReceiver

VoLTE

IMSSIP, RTP SIP RTP

Caller CalleeCore Network

DIAGCommand

Page 55: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Outline Four free data channels

– Using VoLTE protocol (for all operators) SIP tunneling Media tunneling

– Direct communication (for some operators) Phone-to-Internet Phone-to-Phone

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)

19

Page 56: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

20

Free Channel: Direct communication Phone-to-Internet

– Open a TCP/UDP socket with voice IP

– Send data to the Internet

E.g. TCP/UDP Socket (Src: voice IP/port, Dst: youtube.com/port)

4G Gateway

IMS

InternetDefault bearer for VoLTE

Page 57: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

20

Free Channel: Direct communication Phone-to-Internet

– Open a TCP/UDP socket with voice IP

– Send data to the Internet

E.g. TCP/UDP Socket (Src: voice IP/port, Dst: youtube.com/port)

4G Gateway

IMS

InternetDefault bearer for VoLTE

Page 58: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Free Channel: Direct communication Phone-to-Phone

– Open a TCP/UDP socket with voice IP

– Send data to callee

E.g. TCP/UDP Socket (Src: voice IP/port, Dst: callee’s voice IP/port)

4G Gateway

IMS

InternetDefault bearer for VoLTE

Page 59: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Free Channel: Direct communication Phone-to-Phone

– Open a TCP/UDP socket with voice IP

– Send data to callee

E.g. TCP/UDP Socket (Src: voice IP/port, Dst: callee’s voice IP/port)

4G Gateway

IMS

InternetDefault bearer for VoLTE

Page 60: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Evaluation Result: Accounting Bypass

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

✓: vulnerable/not charged, x: secure

Page 61: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Evaluation Result: Accounting Bypass

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

✓: vulnerable/not charged, x: secure

Page 62: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Evaluation Result: Accounting Bypass

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

✓: vulnerable/not charged, x: secure

Page 63: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Evaluation Result: Accounting Bypass

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

✓: vulnerable/not charged, x: secure

Page 64: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Evaluation Result: Accounting Bypass

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

✓: vulnerable/not charged, x: secure

Page 65: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Evaluation Result: Accounting Bypass

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

21.5 Mbps

16.8 Mbps

✓: vulnerable/not charged, x: secure

Page 66: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Evaluation Result: Accounting Bypass

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

21.5 Mbps

16.8 Mbps

42 Kbps

✓: vulnerable/not charged, x: secure

Page 67: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Evaluation Result: Accounting Bypass

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

21.5 Mbps

16.8 Mbps

42 Kbps

X

✓: vulnerable/not charged, x: secure

Page 68: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Evaluation Result: Accounting Bypass

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

21.5 Mbps

16.8 Mbps

42 Kbps

X

✓: vulnerable/not charged, x: secure

Page 69: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Outline Four free data channels

– Using VoLTE protocol (for all operators) SIP tunneling Media tunneling

– Direct communication (for some operators) Phone-to-Internet Phone-to-Phone

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)

25

Page 70: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

No Encryption for Voice Packets For voice signaling,

– only one operator was using IPsec

– An attacker can easily manipulate VoLTE call flow

For voice data,

– no one encrypted voice data

– An attacker might wiretap the outgoing voice data

26

Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack

IMSNo SIP Encryption X ✓ ✓ ✓ Message manipulation

No Voice Data Encryption ✓ ✓ ✓ ✓ ✓ Wiretapping

: Vulnerable : Secure

Page 71: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

No authentication

– Make a call with a fake number

No Authentication/Session Management

27

Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack

IMSNo Authentication X X O O X Caller Spoofing

No Session Management O O O X O Denial of Service on Core Network

: Vulnerable : Secure

Page 72: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

No authentication

– Make a call with a fake number

No session management

No Authentication/Session Management

27

Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack

IMSNo Authentication X X O O X Caller Spoofing

No Session Management O O O X O Denial of Service on Core Network

: Vulnerable : Secure

Page 73: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

No authentication

– Make a call with a fake number

No session management* In a normal call, one user can call to only one person

No Authentication/Session Management

27

Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack

IMSNo Authentication X X O O X Caller Spoofing

No Session Management O O O X O Denial of Service on Core Network

: Vulnerable : Secure

Page 74: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

No authentication

– Make a call with a fake number

No session management* In a normal call, one user can call to only one person

– Send multiple INVITE messages

Several call sessions are established

For each call session, high-cost bearer is established

No Authentication/Session Management

27

Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack

IMSNo Authentication X X O O X Caller Spoofing

No Session Management O O O X O Denial of Service on Core Network

: Vulnerable : Secure

Page 75: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

No authentication

– Make a call with a fake number

No session management* In a normal call, one user can call to only one person

– Send multiple INVITE messages

Several call sessions are established

For each call session, high-cost bearer is established

– Even one sender can deplete resources of the core network

No Authentication/Session Management

27

Weak Point Vulnerability US-1 US-2 KR-1 KR-2 KR-3 Possible Attack

IMSNo Authentication X X O O X Caller Spoofing

No Session Management O O O X O Denial of Service on Core Network

: Vulnerable : Secure

Page 76: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

IMS

Caller Spoofing Scenario

28

Caller Callee

Page 77: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Header : phone # of caller/callee, …Body : IP addr, port no., …

INVITE

IMS

Caller Spoofing Scenario

28

Caller Callee

Page 78: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Header : phone # of caller/callee, …Body : IP addr, port no., …

INVITE

IMS

Caller Spoofing Scenario

28

Caller Callee

Attacker

Page 79: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Header : phone # of caller/callee, …Body : IP addr, port no., …

INVITE

Header : phone # of caller/callee, …Body : IP addr, port no., …

INVITE

IMS

Caller Spoofing Scenario

28

Caller Callee

Attacker

Page 80: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

29

Page 81: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

IMS Bypassing All voice packets should pass IMS, but

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

: Vulnerable : Secure

Page 82: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

IMS Bypassing All voice packets should pass IMS, but

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

: Vulnerable : Secure

Page 83: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

IMS Bypassing All voice packets should pass IMS, but

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

: Vulnerable : Secure

Page 84: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

IMS Bypassing All voice packets should pass IMS, but

An attacker can bypass SIP servers in IMS

– IMS vulnerabilities are also possible

e.g. Make a call with a fake number

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

: Vulnerable : Secure

Page 85: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Android Permission Model Mismatch No distinction between a phone call and a normal data socket

– In 3G, an app needs “android.permission.CALL_PHONE”

– In VoLTE, we found that an app can call with “android.permission.INTERNET”

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

Page 86: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Android Permission Model Mismatch No distinction between a phone call and a normal data socket

– In 3G, an app needs “android.permission.CALL_PHONE”

– In VoLTE, we found that an app can call with “android.permission.INTERNET”

A malicious app only with Internet permission can perform

– Denial of service attack on call

– Overbilling attack by making an expensive video call

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

Page 87: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Denial of Service on Call Scenario Blocking an incoming call Cutting off an ongoing call

32

Victim

Attacker

Caller

Victim

Attacker

Caller

IMSIMS

Page 88: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Denial of Service on Call Scenario Blocking an incoming call Cutting off an ongoing call

32

Victim

Attacker

Caller

Victim

Attacker

Caller

IMSIMS

Page 89: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Denial of Service on Call Scenario Blocking an incoming call Cutting off an ongoing call

32

Victim

Attacker

Caller

Victim

Attacker

Caller

IMSIMS

Block

Page 90: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Denial of Service on Call Scenario Blocking an incoming call Cutting off an ongoing call

32

Victim

Attacker

Caller

Victim

Attacker

Caller

IMSIMS

Block

Page 91: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Denial of Service on Call Scenario Blocking an incoming call Cutting off an ongoing call

32

Victim

Attacker

Caller

Victim

Attacker

Caller

Cut-off

IMSIMS

Block

Page 92: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

33

Page 93: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

34

Page 94: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Mitigation

35

Point Vulnerability Mitigation Responsible Entity

IMS

No Security Mechanisms Encrypt call signaling and voice data

OperatorsIMS 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 tunnelingPlace proper regulation on packet routingApply deep packet inspection

Mobile OS (Android)Operators

Page 95: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Mitigation

35

Point Vulnerability Mitigation Responsible Entity

IMS

No Security Mechanisms Encrypt call signaling and voice data

OperatorsIMS 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 tunnelingPlace proper regulation on packet routingApply deep packet inspection

Mobile OS (Android)Operators

How to resolve media tunneling?

Page 96: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Mitigation

35

Point Vulnerability Mitigation Responsible Entity

IMS

No Security Mechanisms Encrypt call signaling and voice data

OperatorsIMS 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 tunnelingPlace proper regulation on packet routingApply deep packet inspection

Mobile OS (Android)Operators

How to resolve media tunneling? Not easy! Maybe byte-usage accounting?

Page 97: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Discussion Some parts of 3GPP specifications are unclear

– Several misunderstandings of the operators

– Different implementations and security problems

– Security features are only recommendations, not requirement

We reported vulnerabilities to US/KR CERTs, and Google in May

– Google replied “moderate severity”

– All two U.S. operators ACK’ed, but no follow-ups

– Only two among three KR operators have been fixing with us

36

Page 98: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Conclusion Newly adopted VoLTE has

– A complex (legacy time-based) accounting

– Delegated voice signal (previously done by CP) to AP

37

Page 99: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Conclusion Newly adopted VoLTE has

– A complex (legacy time-based) accounting

– Delegated voice signal (previously done by CP) to AP

We analyzed the security of VoLTE for 5 operators, and found

– Four free data channels

– Five security problems

37

Page 100: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Conclusion Newly adopted VoLTE has

– A complex (legacy time-based) accounting

– Delegated voice signal (previously done by CP) to AP

We analyzed the security of VoLTE for 5 operators, and found

– Four free data channels

– Five security problems

All related parties have problems

– 3GPP, telcos, IMS providers, mobile OSes, and device vendors

37

Page 101: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Conclusion Newly adopted VoLTE has

– A complex (legacy time-based) accounting– Delegated voice signal (previously done by CP) to AP

We analyzed the security of VoLTE for 5 operators, and found– Four free data channels

– Five security problems

All related parties have problems– 3GPP, telcos, IMS providers, mobile OSes, and device vendors

More and more reliance on cellular technology– Automobiles, power grid, traffic signal, ...

37

Page 102: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Conclusion Newly adopted VoLTE has

– A complex (legacy time-based) accounting– Delegated voice signal (previously done by CP) to AP

We analyzed the security of VoLTE for 5 operators, and found– Four free data channels

– Five security problems

All related parties have problems– 3GPP, telcos, IMS providers, mobile OSes, and device vendors

More and more reliance on cellular technology– Automobiles, power grid, traffic signal, ...

Holistic re-evaluation of security for VoLTE?

37

Page 103: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

38

Thank You!Any questions?

[email protected]@kaist.ac.kr

Page 104: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

APPENDIX

39

Page 105: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Strange VoLTE Accounting Accounting in 3G

40

Telephony

Phone

Data (Packet Switching) Internet

Voice (Circuit Switching)Cell

tower

IMSPhone

Data (Packet Switching)Internet

Cell tower

Byte usage

Time usage

Accounting in 4G (using VoLTE)

Byte usage for all services?

Still time usage

Unlimited VoLTE call

Page 106: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Complex Implementation of VoLTE

41

IMS

Cell

tower

Phone

4G LTE

3GPP standards

Mobile OS support?

LTE Core

Device HW interface

Implementation of LTE core

Accounting infrastructure

4G Gateway

Page 107: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Complex Implementation of VoLTE

41

IMS

Cell

tower

Phone

4G LTE

3GPP standards

Mobile OS support?

LTE Core

Device HW interface

Implementation of LTE core

Accounting infrastructure

4G GatewayPermission

Mismatch

Free Data Channels

No Session Manage

No Auth

No EncryptionIMS

Bypassing

Page 108: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

SIP Signaling Procedure

42

INVITE INVITE

180 Ringing180 Ringing

Voice Session (RTP)

BYE

200 OK

200 OK200 OK

Caller SIP server Callee

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)

Page 109: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Results of Media Tunneling Media channel characteristics from the control plane messages

Actual measurement results (trade-offs between throughput and loss rate)

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

Page 110: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Proposed Attack Comparison This paper

– Free data channels

SIP/Media tunneling

Direct communication

– Attacks from security problems

Message manipulation

Wiretapping

Caller spoofing

DoS on core network

DoS on call

Overbilling

UCLA paper

– Free data channels

Free external/internal channels

– Attacks from security problems

Overcharging attack

Data DoS attacks

Voice muted attack

Page 111: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Proposed Attack Comparison This paper

– Free data channels

SIP/Media tunneling

Direct communication

– Attacks from security problems

Message manipulation

Wiretapping

Caller spoofing

DoS on core network

DoS on call

Overbilling

UCLA paper

– Free data channels

Free external/internal channels

– Attacks from security problems

Overcharging attack

Data DoS attacks

Voice muted attack

Page 112: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Proposed Attack Comparison This paper

– Free data channels

SIP/Media tunneling

Direct communication

– Attacks from security problems

Message manipulation

Wiretapping

Caller spoofing

DoS on core network

DoS on call

Overbilling

UCLA paper

– Free data channels

Free external/internal channels

– Attacks from security problems

Overcharging attack

Data DoS attacks

Voice muted attackFocused on interface corss-over

between VoLTE and Data interface

Page 113: Breaking and Fixing VoLTE: Exploiting Hidden Data Channels ...

Proposed Attack Comparison This paper

– Free data channels

SIP/Media tunneling

Direct communication

– Attacks from security problems

Message manipulation

Wiretapping

Caller spoofing

DoS on core network

DoS on call

Overbilling

UCLA paper

– Free data channels

Free external/internal channels

– Attacks from security problems

Overcharging attack

Data DoS attacks

Voice muted attackFocused on interface corss-over

between VoLTE and Data interface

Focused more on VoLTE and analyzed both protocol and implementation(including mobile OS, 3GPP spec)