How to Intercept a Conversation Held on the Other Side of the Planet

140

Transcript of How to Intercept a Conversation Held on the Other Side of the Planet

Page 1: How to Intercept a Conversation Held on the Other Side of the Planet
Page 2: How to Intercept a Conversation Held on the Other Side of the Planet

How to Intercept a Conversation Held on the Other Side of the Planet

Page 3: How to Intercept a Conversation Held on the Other Side of the Planet

Who we are

Sergey Puzankov

Dmitry Kurbatov

Information Security Specialists Positive Technologies

Page 4: How to Intercept a Conversation Held on the Other Side of the Planet

Denial of Service on Mobile Switching Center

Fraud in SS7 network

Short Message Interception

USSD Money Transfer

Subscriber’s Location

Voice Call Interception

Hot for Mobile network operators

Hot for everyone

Topics

Page 5: How to Intercept a Conversation Held on the Other Side of the Planet

All of us are subscribers

Service Availability

Quality of Service

Security

Page 6: How to Intercept a Conversation Held on the Other Side of the Planet

Mobile Services Dynamics

Voice

Mobile Data Traffic

Page 7: How to Intercept a Conversation Held on the Other Side of the Planet

Yesterday: Closed Ecosystems

Page 8: How to Intercept a Conversation Held on the Other Side of the Planet

Today: Unified Technologies

Page 9: How to Intercept a Conversation Held on the Other Side of the Planet

Today: Common Interfaces

Page 10: How to Intercept a Conversation Held on the Other Side of the Planet

Today: IP Connectivity

Page 11: How to Intercept a Conversation Held on the Other Side of the Planet

Today: Widen Borders

Get your own femtocell

• Hack it

• Upload modified firmware

• Make a call/SMS interception

• Get into IPsec

• Get into Core network

Page 12: How to Intercept a Conversation Held on the Other Side of the Planet

Tomorrow: virtualization

Page 13: How to Intercept a Conversation Held on the Other Side of the Planet

SIGTRAN

Time Machine

Through SIGTRAN back to 1970’s

Page 14: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

SS7 Network

HLR

A

B

MSCVLR

Gateway MSC

Billing

SMS-C

Page 15: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

HLRMSCVLR

Gateway MSC

Billing

SMS-C

Radio Part

A

B

Cell Phone

Base Transceiver Station

Base Station Controller

Page 16: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

MSC/VLR

HLR

A

B

Gateway MSC

Billing

SMS-C

MSCVLR

Mobile Switching Center

Visitor Location Register

Page 17: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Gateway MSC

HLR

A

B

MSCVLR

Billing

SMS-CGateway

MSC

Gateway Mobile Switching Center

Page 18: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

SMS-C

HLR

A

B

MSCVLR

Gateway MSC

Billing

SMS-C

Short Message Service Center

Page 19: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

HLR

A

B

MSCVLR

Gateway MSC

Billing

SMS-C

Homeу Location Register

HLR

Page 20: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Billing

A

B

MSCVLR

Gateway MSC SMS-C

HLR

Billing

Page 21: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

IDs

HLR

A

B

MSCVLR

Gateway MSC

Billing

SMS-C

GT – Global Title 0 123 4567890

Page 22: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

IDs

HLR

A

B

MSCVLR

Gateway MSC

Billing

SMS-C

GT – Global Title 0 123 4567890

MSISDN – A or B mobile numbers 0 123 4567890

Page 23: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

IDs

HLR

A

B

MSCVLR

Gateway MSC

Billing

SMS-C

GT – Global Title 0 123 4567890

MSISDN – A or B mobile numbers 0 123 4567890

MSRN – Mobile Subscriber Roaming Number 0 123 4567890

Page 24: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

IDs

HLR

A

B

MSCVLR

Gateway MSC

Billing

SMS-C

GT – Global Title 0 123 4567890

MSISDN – A or B mobile numbers 0 123 4567890

MSRN – Mobile Subscriber Roaming Number 0 123 4567890

IMSI – International Mobile Subscriber Identity 15 digits

Page 25: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

How to get in?

HLR

A

B

MSCVLR

Gateway MSC

Billing

SMS-C

Page 26: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

HLR

A

B

MSCVLR

Gateway MSC

Billing

SMS-C

CS Core

PS Core

IMS

Core Networks

Page 27: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

HLR

A

B

MSCVLR

Gateway MSC

Billing

SMS-C

CS CoreUTRAN

PS Core

IMS

LTEWi-FiWiMAXPONDSLFemto

Access Networks

Page 28: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

HLR

A

B

MSCVLR

Gateway MSC

Billing

SMS-C

CS CoreUTRAN

PS Core

IMS

LTEWi-FiWiMAXPONDSLFemto

GRX/IPX

Exchange Points

Page 29: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

HLR

A

B

MSCVLR

Gateway MSC

Billing

SMS-C

CS CoreUTRAN

PS Core

IMS

LTEWi-FiWiMAXPONDSLFemto

GRX/IPXOAM

Remote support

Support

Page 30: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

HLR

A

B

MSCVLR

Gateway MSC

Billing

SMS-C

CS CoreUTRAN

PS Core

IMS

LTEWi-FiWiMAXPONDSLFemto

GRX/IPXOAM

Remote support

IT IT network

Page 31: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

HLR

A

B

MSCVLR

Gateway MSC

Billing

SMS-C

CS CoreUTRAN

PS Core

IMS

LTEWi-FiWiMAXPONDSLFemto

GRX/IPXOAM

Remote support

Internet

Internet IT network

Page 32: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

HLR

A

B

MSCVLR

Gateway MSC

Billing

SMS-C

CS CoreUTRAN

PS Core

IMS

LTEWi-FiWiMAXPONDSLFemto

GRX/IPXOAM

Remote support

Internet

IT networkTraffic

Page 33: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

HLR

A

B

MSCVLR

Gateway MSC

Billing

SMS-C

CS CoreUTRAN

PS Core

IMS

LTEWi-FiWiMAXPONDSLFemto

GRX/IPXOAM

Remote support

Internet

IT networkThreats

Attacker

Attacker

Attacker

Attacker

AttackerAttacker

Page 34: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

HLR

A

B

MSCVLR

Gateway MSC

Billing

SMS-C

CS CoreUTRAN

PS Core

IMS

LTEWi-FiWiMAXPONDSLFemto

GRX/IPXOAM

Remote support

Internet

IT networkThreat

Attacker

Attacker

Attacker

Attacker

AttackerAttacker

Page 35: How to Intercept a Conversation Held on the Other Side of the Planet

Mobile Switching Center DoSJust like DHCP Starvation

Page 36: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

Attacker

B

Gateway MSC

We know

B-Number 0 123 4567802

MSCVLR

Page 37: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

Attackeras SMSC

B

MSCVLR

Gateway MSC

1

We know

B-Number 0 123 4567802

SRI4SMsendRoutingInfoForSMI am SMSC.My GT 1 321 4567801.Where isSubscriber-B MSISDN 0 123 4567802?

Page 38: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

B

MSCVLR

Gateway MSC

1

1

SRI4SM

We know

B-Number 0 123 4567802Attackeras SMSC

Page 39: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

B

MSCVLR

Gateway MSC

1

1

2

SRI4SM

We know

B-Number 0 123 4567802Attackeras SMSC

sendRoutingInfoForSMI am HLR 0 123 4567800MSC/VLR 0 123 4567803Subscriber-B IMSI 15 digits

Page 40: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

B

MSCVLR

Gateway MSC

1

1

2

SRI4SM

We know

B-Number 0 123 4567802Attackeras SMSC

sendRoutingInfoForSMI am HLR 0 123 4567800MSC/VLR 0 123 4567803Subscriber-B IMSI 15 digits

Page 41: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

B

MSCVLR

Gateway MSC

1

1

2

2

SRI4SM

We know

B-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-B IMSI 15 digits

Attackeras SMSC

Page 42: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Make it starve

HLR

Attackeras HLR

B

MSCVLR

Gateway MSC

We know

MSC/VLR 0 123 4567803

Subscriber-B IMSI 15 digits

3PRNprovideRoamingNumberI am HLR.My GT 1 321 4567801.Provide MSRN forSubscriber-B IMSI 15 digits.

Page 43: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Make it starve

HLR

Attackeras HLR

B

MSCVLR

Gateway MSC

We know

MSC/VLR 0 123 4567803

Subscriber-B IMSI 15 digits

MSRN 0 123 45600013PRN

4 provideRoamingNumberMSRN 0 123 4560001

Page 44: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Make it starve

HLR

Attackeras HLR

B

MSCVLR

Gateway MSC

We know

MSC/VLR 0 123 4567803

Subscriber-B IMSI 15 digits

MSRN 0 123 45600013PRN

4

Default timeouts for MSRN:

• Ericsson – 30 sec

• Huawei – 45 secprovideRoamingNumberMSRN 0 123 4560001

Page 45: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Make it starve

HLR

Attackeras HLR

B

MSCVLR

Gateway MSC

We know

MSC/VLR 0 123 4567803

Subscriber-B IMSI 15 digits

MSRN 0 123 4560001

MSRN 0 123 4569999

3PRN

4

provideRoamingNumberI am HLR.My GT 1 321 4567801.Provide MSRN forSubscriber-B IMSI 15 digits.

provideRoamingNumberI am HLR.My GT 1 321 4567801.Provide MSRN forSubscriber-B IMSI 15 digits.

provideRoamingNumberI am HLR.My GT 1 321 4567801.Provide MSRN forSubscriber-B IMSI 15 digits.…

provideRoamingNumberMSRN 0 123 4560001provideRoamingNumber

MSRN 0 123 4560001provideRoamingNumberMSRN 0 123 4569999…

Page 46: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Make it starve

HLR

Attackeras HLR

B

MSCVLR

Gateway MSC

We know

MSC/VLR 0 123 4567803

Subscriber-B IMSI 15 digits

MSRN 0 123 4560001

MSRN 0 123 4569999

3PRN

4

provideRoamingNumberI am HLR.My GT 1 321 4567801.Provide MSRN forSubscriber-B IMSI 15 digits.

Page 47: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

HLR

Attackeras HLR

B

MSCVLR

Gateway MSC

We know

MSC/VLR 0 123 4567803

Subscriber-B IMSI 15 digits

MSRN 0 123 4560001

MSRN 0 123 4569999

3PRN

4

noRoamingNumberAvailable

Make it starve

Page 48: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

HLR

Attackeras HLR

B

MSCVLR

Gateway MSC

We know

MSC/VLR 0 123 4567803

Subscriber-B IMSI 15 digits

MSRN 0 123 4560001

MSRN 0 123 4569999

3PRN

4

noRoamingNumberAvailable

Make it starve

Page 49: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

DoS

HLR

Attackeras HLR

B

Gateway MSC

RealHLR

10k – 500k

MSCVLR

Page 50: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

DoS

HLR

Attackeras HLR

Gateway MSC

PRNRealHLR

B

10k – 500k

MSCVLR

3

provideRoamingNumberI am HLR.My GT 1 321 4568701.Provide MSRN forSubscriber-ANY IMSI 15 digits.

Page 51: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

DoS

HLR

Attackeras HLR

Gateway MSC

PRNRealHLR

B

10k – 500k

MSCVLR

3

4

noRoamingNumberAvailable

Page 52: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

DoS

HLR

Attackeras HLR

Gateway MSC

PRNRealHLR

B

10k – 500k

MSCVLR

3

4

No incoming calls

Sad calling party

Page 53: How to Intercept a Conversation Held on the Other Side of the Planet

Fraud in SS7

Page 54: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

SS7 interconnection

HLRMSCVLR

Gateway MSC

Billing

SMS-C

HLRMSCVLR

Gateway MSC

Billing

SMS-C

HLRMSCVLR

Gateway MSC

Billing

SMS-C

Trusted environment

Page 55: How to Intercept a Conversation Held on the Other Side of the Planet

Leadership team

HLRMSCVLR

Gateway MSC

Billing

SMS-C

CEO

CSO CMO CCOCLO

Page 56: How to Intercept a Conversation Held on the Other Side of the Planet

Leadership team

HLRMSCVLR

Gateway MSC

Billing

SMS-C

CEO

CSO CMO CCOCLO

Really?!

Trust them?

Page 57: How to Intercept a Conversation Held on the Other Side of the Planet

Uncharged calls1) Spoof MSC

2) Initiate «home network» call

3) Forward call anywhere

Page 58: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

Attacker

B

MSCVLR

Gateway MSC

We know

B-Number 0 123 4567802

A

Page 59: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

Attackeras SMSC

B

MSCVLR

Gateway MSC

1

We know

B-Number 0 123 4567802

SRI4SMsendRoutingInfoForSMI am SMSC.My GT 1 321 4567801.Where isSubscriber-B MSISDN 0 123 4567802?

A

Page 60: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

B

MSCVLR

Gateway MSC

1

1

SRI4SM

We know

B-Number 0 123 4567802Attackeras SMSC

A

Page 61: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

B

MSCVLR

Gateway MSC

1

1

2

SRI4SM

We know

B-Number 0 123 4567802Attackeras SMSC

sendRoutingInfoForSMI am HLR 0 123 4567800MSC/VLR 0 123 4567803Subscriber-B IMSI 15 digitsA

Page 62: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

B

MSCVLR

Gateway MSC

1

1

2

SRI4SM

We know

B-Number 0 123 4567802Attackeras SMSC

sendRoutingInfoForSMI am HLR 0 123 4567800MSC/VLR 0 123 4567803Subscriber-B IMSI 15 digitsA

Page 63: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

B

MSCVLR

Gateway MSC

1

1

2

2

SRI4SM

We know

B-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-B IMSI 15 digits

Attackeras SMSC

A

Page 64: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Spoof MSC

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA

3

updateLocationI am MSC/VLR.My GT 1 321 4567801.I serve Subscriber-B IMSI 15 digits.

We know

HLR 0 123 4567800

Subscriber-B IMSI 15 digits

Page 65: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Spoof MSC

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA

3

updateLocationI am MSC/VLR.My GT 1 321 4567801.I serve Subscriber-B IMSI 15 digits.

We know

HLR 0 123 4567800

Subscriber-B IMSI 15 digits

Page 66: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Spoof MSC

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA

3

We know

HLR 0 123 4567800

Subscriber-B IMSI 15 digits

HLR stores

Subscriber-B IMSI 15 digits

MSC/VLR 1 321 4567801

4

Page 67: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Spoof MSC

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA

3

We know

HLR 0 123 4567800

Subscriber-B IMSI 15 digits

HLR stores

Subscriber-B IMSI 15 digits

MSC/VLR 1 321 4567801

4

We serve Subscriber-B

Page 68: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Forward a call

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA 5

HLR stores

Subscriber-B

MSISDN 0 123 4567802

IMSI 15 digits

MSC/VLR 1 321 4567801

GatewayMSC knows

nothing

Page 69: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Forward a call

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA

HLR stores

Subscriber-B

MSISDN 0 123 4567802

IMSI 15 digits

MSC/VLR 1 321 4567801

5

6

sendRoutingInfoWhere isSubscriber-B MSISDN 0 123 4567802=Where is Subscriber-B located?

Page 70: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Forward a call

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA 5

6

HLR stores

Subscriber-B

MSISDN 0 123 4567802

IMSI 15 digits

MSC/VLR 1 321 4567801

7 provideSubscriberInfoI am HLR.My GT 0 123 4567800.Provide location for theSubscriber-B.

Page 71: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Forward a call

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA 5

6

HLR stores

Subscriber-B

MSISDN 0 123 4567802

IMSI 15 digits

MSC/VLR 1 321 4567801

7

8

provideSubscriberInfoSubscriber-B is in the Home network.

Page 72: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Forward a call

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA 5

6

HLR stores

Subscriber-B

MSISDN 0 123 4567802

IMSI 15 digits

MSC/VLR 1 321 4567801

GatewayMSC knows that

Subscriber-B is at home.

This information will be sent to a billing platform.

7

8

8

Page 73: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Forward a call

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA

HLR stores

Subscriber-B

MSISDN 0 123 4567802

IMSI 15 digits

MSC/VLR 1 321 4567801

5

9

sendRoutingInfoWhere isSubscriber-B MSISDN 0 123 4567802located =What is MSRN for Subscriber-B?

Page 74: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Forward a call

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA 5

9

HLR stores

Subscriber-B

MSISDN 0 123 4567802

IMSI 15 digits

MSC/VLR 1 321 4567801

provideRoamingNumberI am HLR.My GT 0 123 4567800.Provide MSRN forSubscriber-B IMSI 15 digits.

10

Page 75: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Forward a call

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA 5

9

HLR stores

Subscriber-B

MSISDN 0 123 4567802

IMSI 15 digits

MSC/VLR 1 321 4567801

provideRoamingNumberMSRN 53 12345678

10

11

Page 76: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Forward a call

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA 5

9

HLR stores

Subscriber-B

MSISDN 0 123 4567802

IMSI 15 digits

MSC/VLR 1 321 4567801

GatewayMSC knows

Subscriber-B

MSRN 53 12345678

10

11

11

Page 77: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Forward a call to…Cuba

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA 5

9

HLR stores

Subscriber-B

MSISDN 0 123 4567802

IMSI 15 digits

MSC/VLR 1 321 4567801

GatewayMSC knows

Subscriber-B

MSRN 53 12345678

10

11

11

12

Page 78: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Forward a call to…

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA 5

9

provideRoamingNumber

MSRN 53 12345678

HLR stores

Subscriber-B

MSISDN 0 123 4567802

IMSI 15 digits

MSC/VLR 1 321 4567801

GatewayMSC knows

Subscriber-B

MSRN 53 12345678

10

11

Page 79: How to Intercept a Conversation Held on the Other Side of the Planet

Who pays?

ACall from to while at “home” = $ 0.05B

ACall from to = $ 1.00Cuba

Page 80: How to Intercept a Conversation Held on the Other Side of the Planet

Who pays?

ACall from to while at “home” = $ 0.05B

ACall from to = $ 1.00Cuba

$ 1.00 - $ 0.05 = $ 0.95 – Attacker profit

Page 81: How to Intercept a Conversation Held on the Other Side of the Planet

Call from to = $ 0.30

Who pays?

ACall from to while at “home” = $ 0.05B

ACall from to = $ 1.00Cuba

$ 1.00 - $ 0.05 = $ 0.95 – Attacker profit

How much Mobile operator loses? MNO Cuba

Page 82: How to Intercept a Conversation Held on the Other Side of the Planet

SMS Interception1) Collect info

2) Spoof MSC

3) Receive incoming SMSs

Page 83: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

Attacker

B

MSCVLR

Gateway MSC

We know

B-Number 0 123 4567802

A

SMS-C

Page 84: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

B

MSCVLR

Gateway MSC

1

1

SRI4SM

We know

B-Number 0 123 4567802Attackeras SMSC

A

SRI4SMsendRoutingInfoForSMI am SMSC.My GT 1 321 4567801.Where isSubscriber-B MSISDN 0 123 4567802?

SMS-C

Page 85: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

B

MSCVLR

Gateway MSC

1

1

2

2

SRI4SM

We know

B-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-B IMSI 15 digits

Attackeras SMSC

A

SRI4SMsendRoutingInfoForSMI am SMSC.My GT 1 321 4567801.Where isSubscriber-B MSISDN 0 123 4567802?

sendRoutingInfoForSMI am HLR 0 123 4567800MSC/VLR 0 123 4567803Subscriber-B IMSI 15 digits

SMS-C

Page 86: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Spoof MSC

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA

3

updateLocationI am MSC/VLR.My GT 1 321 4567801.I serve Subscriber-B IMSI 15 digits.

We know

HLR 0 123 4567800

Subscriber-B IMSI 15 digits

SMS-C

Page 87: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Spoof MSC

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA

3

We know

HLR 0 123 4567800

Subscriber-B IMSI 15 digits

HLR stores

Subscriber-B IMSI 15 digits

MSC/VLR 1 321 4567801

4

We serve Subscriber-B

SMS-C

Page 88: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

SMS interception

HLR

B

MSCVLR

Gateway MSC

5

Attackeras MSC

A

SMS-C

5

“Hi, meet at 8pm at Baker Street”

Page 89: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

SMS interception

HLR

B

MSCVLR

Gateway MSC

5 6

Attackeras MSC

A

sendRoutingInfoForSMI am SMSC.My GT 0 123 4567804.Where isSubscriber-B MSISDN 0 123 4567802?

SMS-C

5

“Hi, meet at 8pm at Baker Street”

Page 90: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

SMS interception

HLR

B

MSCVLR

Gateway MSC

7

5 6

Attackeras MSC

A

sendRoutingInfoForSMI am SMSC.My GT 0 123 4567804.Where isSubscriber-B MSISDN 0 123 4567802?

sendRoutingInfoForSMI am HLR 0 123 4567800MSC/VLR 1 321 4567801Subscriber-B IMSI 15 digits

SMS-C

5

“Hi, meet at 8pm at Baker Street”

HLR sends Attacker address instead of real MSC!

Page 91: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

SMS interception

HLR

B

MSCVLR

Gateway MSC

7

5 6

8

Attackeras MSC

A

sendRoutingInfoForSMI am SMSC.My GT 0 123 4567804.Where isSubscriber-B MSISDN 0 123 4567802?

sendRoutingInfoForSMI am HLR 0 123 4567800MSC/VLR 1 321 4567801Subscriber-B IMSI 15 digits

SMS-C

5

“Hi, meet at 8pm at Baker Street”

SMS-C routes this SMS to the received address.

Page 92: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

SMS interception

HLR

B

MSCVLR

Gateway MSC

7

5 6

8

Attackeras MSC

A

sendRoutingInfoForSMI am SMSC.My GT 0 123 4567804.Where isSubscriber-B MSISDN 0 123 4567802?

sendRoutingInfoForSMI am HLR 0 123 4567800MSC/VLR 1 321 4567801Subscriber-B IMSI 15 digits

SMS-C

5

“Hi, meet at 8pm at Baker Street”

SMS-C routes this SMS to the received address.

Page 93: How to Intercept a Conversation Held on the Other Side of the Planet

SMS interception

1. SMS chats

2. One time passwords

3. Confirmation codes

4. Password recovery

Page 94: How to Intercept a Conversation Held on the Other Side of the Planet

Money Transfer Using USSD

1) Collect info

2) Request account status

3) Transfer money

Page 95: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

Attacker

B

MSCVLR

Gateway MSC

We know

B-Number 0 123 4567802

A

Page 96: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

B

MSCVLR

Gateway MSC

1

1

SRI4SM

We know

B-Number 0 123 4567802Attackeras SMSC

A

SRI4SMsendRoutingInfoForSMI am SMSC.My GT 1 321 4567801.Where isSubscriber-B MSISDN 0 123 4567802?

Page 97: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

B

MSCVLR

Gateway MSC

1

1

2

2

SRI4SM

We know

B-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-B IMSI 15 digits

Attackeras SMSC

A

SRI4SMsendRoutingInfoForSMI am SMSC.My GT 1 321 4567801.Where isSubscriber-B MSISDN 0 123 4567802?

sendRoutingInfoForSMI am HLR 0 123 4567800MSC/VLR 0 123 4567803Subscriber-B IMSI 15 digits

Page 98: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Send USSD 1

HLR

Attackeras MSC/VLR

B

MSCVLR

Gateway MSCA

We know

HLR 0 123 4567800

Subscriber-B IMSI 15 digits

*100#3

processUnstructuredSS-RequestI am MSC/VLR.Request how much money has subscriber with IMSI 15 digits?

Page 99: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Send USSD 1

HLR

Attackeras MSC/VLR

B

MSCVLR

Gateway MSCA

processUnstructuredSS-RequestI am MSC/VLR.Request how much money has subscriber with IMSI 15 digits?

We know

HLR 0 123 4567800

Subscriber-B IMSI 15 digits

Account info.3

4

processUnstructuredSS-RequestSubscriber’s account is $$$$$.

Page 100: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Send USSD 1

HLR

Attackeras MSC/VLR

B

MSCVLR

Gateway MSCA

We know

HLR 0 123 4567800

Subscriber-B IMSI 15 digits

Account info.

4

processUnstructuredSS-RequestSubscriber’s account is $$$$$.

processUnstructuredSS-RequestI am MSC/VLR.Request how much money has subscriber with IMSI 15 digits?

3

Page 101: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Send USSD 2

HLR

Attackeras MSC/VLR

B

MSCVLR

Gateway MSCA

We know

HLR 0 123 4567800

Subscriber-B IMSI 15 digits

Account info.

*123*01238765400*100#

processUnstructuredSS-RequestI am MSC/VLR.Transfer money from IMSI 15 digits to my mobile account.

5

Page 102: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Send USSD 2

HLR

Attackeras MSC/VLR

B

MSCVLR

Gateway MSCA

We know

HLR 0 123 4567800

Subscriber-B IMSI 15 digits

Account info.

6

processUnstructuredSS-RequestOK.

processUnstructuredSS-RequestI am MSC/VLR.Transfer money from IMSI 15 digits to my mobile account.

5

Page 103: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Send USSD 2

HLR

Attackeras MSC/VLR

B

MSCVLR

Gateway MSCA

We know

HLR 0 123 4567800

Subscriber-B IMSI 15 digits

Real account info.

Subscriber B does not get SMS notification if Attacker combines this attack with the previuos one.

6

processUnstructuredSS-RequestOK.

processUnstructuredSS-RequestI am MSC/VLR.Transfer money from IMSI 15 digits to my mobile account.

5

Page 104: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Send USSD 2

HLR

Attackeras MSC/VLR

B

MSCVLR

Gateway MSCA

We know

HLR 0 123 4567800

Subscriber-B IMSI 15 digits

Real account info.

Subscriber B does not get SMS notification if Attacker combines this attack with the previuos one.

6

processUnstructuredSS-RequestOK.

processUnstructuredSS-RequestI am MSC/VLR.Transfer money from IMSI 15 digits to my mobile account.

5

Page 105: How to Intercept a Conversation Held on the Other Side of the Planet

Subscriber Location Discovery1) Collect info

2) Receive Cell ID

3) Get point on the map

Page 106: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

Attacker

B

MSCVLR

Gateway MSC

We know

B-Number 0 123 4567802

A

Page 107: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

B

MSCVLR

Gateway MSC

1

1

SRI4SM

We know

B-Number 0 123 4567802Attackeras SMSC

A

SRI4SMsendRoutingInfoForSMI am SMSC.My GT 1 321 4567801.Where isSubscriber-B MSISDN 0 123 4567802?

Page 108: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

B

MSCVLR

Gateway MSC

1

1

2

2

SRI4SM

We know

B-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-B IMSI 15 digits

Attackeras SMSC

A

SRI4SMsendRoutingInfoForSMI am SMSC.My GT 1 321 4567801.Where isSubscriber-B MSISDN 0 123 4567802?

sendRoutingInfoForSMI am HLR 0 123 4567800MSC/VLR 0 123 4567803Subscriber-B IMSI 15 digits

Page 109: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Get Cell ID

HLR

Attackeras HLR

B

MSCVLR

Gateway MSC

We know

B-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-B IMSI 15 digits3PSIprovideSubscriberInfo

I am HLR.My GT 1 321 4567801.Provide location for theSubscriber-B.

Page 110: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Get Cell ID

HLR

Attackeras HLR

B

MSCVLR

Gateway MSC

We know

B-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-B IMSI 15 digits

Cell ID

3PRN

4 provideSubscriberInfoCell ID.

provideSubscriberInfoI am HLR.My GT 1 321 4567801.Provide location for theSubscriber-B.

Page 111: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Get Cell ID

HLR

Attackeras HLR

B

MSCVLR

Gateway MSC

We know

B-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-B IMSI 15 digits

Cell ID

3PRN

4 provideSubscriberInfoCell ID.

provideSubscriberInfoI am HLR.My GT 1 321 4567801.Provide location for theSubscriber-B.

MCC: 250

MNC: 90

LAC: 4A67

CID: 673D

Page 112: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Get location

HLR

Attackeras HLR

B

MSCVLR

Gateway MSC

We know

B-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-B IMSI 15 digits

Cell ID5

MCC: 250

MNC: 90

LAC: 4A67

CID: 673D

Search in Internet physical location by MCC, MNC, LAC, CID

Page 113: How to Intercept a Conversation Held on the Other Side of the Planet

Get location

Page 114: How to Intercept a Conversation Held on the Other Side of the Planet

Get location

Page 115: How to Intercept a Conversation Held on the Other Side of the Planet

Voice Call Interception1) Collect info

2) Change subscriber profile

3) Add third party into mobile call

Page 116: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

Attacker

B

MSCVLR

Gateway MSC

We know

A-Number 0 123 4567802

A

Billing

Page 117: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

B

MSCVLR

Gateway MSC

1

1

SRI4SM

We know

A-Number 0 123 4567802Attackeras SMSC

A

SRI4SM

sendRoutingInfoForSMI am SMSC.My GT 1 321 4567801.Where isSubscriber-A MSISDN 0 123 4567802?

Billing

Page 118: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

B

MSCVLR

Gateway MSC

1

1

2

2

SRI4SM

We know

A-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-A IMSI 15 digits

Attackeras SMSC

A

SRI4SM

sendRoutingInfoForSMI am HLR 0 123 4567800MSC/VLR 0 123 4567803Subscriber-A IMSI 15 digits

Billing

sendRoutingInfoForSMI am SMSC.My GT 1 321 4567801.Where isSubscriber-A MSISDN 0 123 4567802?

Page 119: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA

3

updateLocationI am MSC/VLR.My GT 1 321 4567801.I serve Subscriber-A IMSI 15 digits.

We know

A-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-A IMSI 15 digits

Billing

Page 120: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA

3

We know

A-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-A IMSI 15 digits

Billing

4

insertSubscriberDataSubscriber’s profile: • Allowed/prohibited services • Forwarding settings• Billing platform address

updateLocationI am MSC/VLR.My GT 1 321 4567801.I serve Subscriber-A IMSI 15 digits.

Page 121: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA

3

We know

A-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-A IMSI 15 digits

Subscriber-A profile

Billing 0 123 4567808

Billing

4

updateLocationI am MSC/VLR.My GT 1 321 4567801.I serve Subscriber-A IMSI 15 digits.

insertSubscriberDataSubscriber’s profile: • Allowed/prohibited services • Forwarding settings• Address of billing platform

Page 122: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Collect info

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA

5

We know

A-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-A IMSI 15 digits

Subscriber-A profile

Billing 0 123 4567808

Billing

updateLocationI am MSC/VLR.My GT 1 321 4567801.Subscriber-A IMSI 15 digits is served by0 123 4567803

5

Page 123: How to Intercept a Conversation Held on the Other Side of the Planet

updateLocationI am MSC/VLR.My GT 1 321 4567801.Subscriber-A IMSI 15 digits is served by0 123 4567803

SS7

Collect info

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA

5

We know

A-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-A IMSI 15 digits

Subscriber-A profile

Billing 0 123 4567808

Billing

5

Page 124: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Change profile

HLR

Attackeras HLR

B

MSCVLR

Gateway MSCA

We know

A-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-A IMSI 15 digits

Subscriber-A profile

Billing 0 123 4567808

Billing

6

insertSubscriberDataI am HLR.Change profile for Subscriber-A. Billing GT 1 321 4567801.

Page 125: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Change profile

HLR

Attackeras HLR

B

MSCVLR

Gateway MSCA

We know

A-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-A IMSI 15 digits

Subscriber-A profile

Billing 0 123 4567808

Billing

6

7

insertSubscriberDataOK.

insertSubscriberDataI am HLR.Change profile for Subscriber-A. Billing GT 1 321 4567801.

Page 126: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Change profile

HLR

Attackeras HLR

B

MSCVLR

Gateway MSCA

We know

A-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-A IMSI 15 digits

Subscriber-A profile

Billing 0 123 4567808

Billing

6

7

insertSubscriberDataOK.

insertSubscriberDataI am HLR.Change profile for Subscriber-A. Billing GT 1 321 4567801.

Page 127: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Change profile

HLR

Attacker

B

MSCVLR

Gateway MSCA

We know

A-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-A IMSI 15 digits

Subscriber-A profile

Billing 0 123 4567808

Billing

6

7

insertSubscriberDataOK.

insertSubscriberDataI am HLR.Change profile for Subscriber-A. Billing GT 1 321 4567801.

Page 128: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Call interception

HLR

Attackeras Billing

B

MSCVLR

Gateway MSCA

We know

A-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-A IMSI 15 digits

Subscriber-A profile

Billing 0 123 4567808

Billing

Subscriber A calls to Subscriber B.

8

Page 129: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Call interception

HLR

Attackeras Billing

B

MSCVLR

Gateway MSCA

We know

A-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-A IMSI 15 digits

Subscriber-A profile

Billing 0 123 4567808

Billing

9

9

HLR interrogation procedure:• sendRoutingInfo• provideSubscriberInfo

Subscriber A calls to Subscriber B.

8

Page 130: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Call interception

HLR

Attackeras Billing

B

MSCVLR

Gateway MSCA

We know

A-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-A IMSI 15 digits

Subscriber-A profile

Billing 0 123 4567808

Billing

InitialDPStart billing .Subscriber-A 0 123 4567802 calls toSubscriber-B 0 123 4567805

10

Subscriber A calls to Subscriber B.

8

Page 131: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Call interception

HLR

Attackeras Billing

B

MSCVLR

Gateway MSCA

We know

A-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-A IMSI 15 digits

Subscriber-A profile

Billing 0 123 4567808

B-Number 0 123 4567805

Billing

InitialDPStart billing .Subscriber-A 0 123 4567802 calls toSubscriber-B 0 123 4567805

10

Subscriber A calls to Subscriber B.

8

Page 132: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Call interception

HLR

Attackeras Billing

B

MSCVLR

Gateway MSCA

We know

A-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-A IMSI 15 digits

Subscriber-A profile

Billing 0 123 4567808

B-Number 0 123 4567805

Billing

Proceed billing.ApplyChargingRequestReportBCSMEventConnectReroute call to number1 321 4567802

InitialDPStart billing .Subscriber-A 0 123 4567802 calls toSubscriber-B 0 123 4567805

10

11

Subscriber A calls to Subscriber B.

8

Page 133: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Call interception

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA

We know

A-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-A IMSI 15 digits

Subscriber-A profile

Billing 0 123 4567808

B-Number 0 123 4567805

Billing

IAMContinue call.Subscriber-A 0 123 4567802 calls toSubscriber-C 1 321 4567802

12

Subscriber A calls to Subscriber B.

8

Page 134: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Call interception

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA

We know

A-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-A IMSI 15 digits

Subscriber-A profile

Billing 0 123 4567808

B-Number 0 123 4567805

Billing

12

Subscriber A calls to Subscriber B.

8

13

IAMContinue call.Subscriber-A 0 123 4567802 calls toSubscriber-C 1 321 4567802

Page 135: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Call interception

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA

We know

A-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-A IMSI 15 digits

Subscriber-A profile

Billing 0 123 4567808

B-Number 0 123 4567805

Billing

IAMInitiate a new callSubscriber-A 0 123 4567802 calls toSubscriber-B 0 123 4567805

12

14

Subscriber A calls to Subscriber B.

8

13

IAMContinue call.Subscriber-A 0 123 4567802 calls toSubscriber-C 1 321 4567802

Page 136: How to Intercept a Conversation Held on the Other Side of the Planet

SS7

Call interception

HLR

Attackeras MSC

B

MSCVLR

Gateway MSCA

We know

A-Number 0 123 4567802

HLR 0 123 4567800

MSC/VLR 0 123 4567803

Subscriber-A IMSI 15 digits

Subscriber-A profile

Billing 0 123 4567808

B-Number 0 123 4567805

Billing

IAMInitiate a new callSubscriber-A 0 123 4567802 calls toSubscriber-B 0 123 4567805

12

14

8

13

15

Subscriber A calls to Subscriber B.

IAMContinue call.Subscriber-A 0 123 4567802 calls toSubscriber-C 1 321 4567802

Page 137: How to Intercept a Conversation Held on the Other Side of the Planet
Page 138: How to Intercept a Conversation Held on the Other Side of the Planet

Conclusion

SS7 rules

Just the tip of the iceberg

Page 139: How to Intercept a Conversation Held on the Other Side of the Planet

The End.

Sergey Puzankov

Dmitry Kurbatov

[email protected]

[email protected]

Questions?

Page 140: How to Intercept a Conversation Held on the Other Side of the Planet