Rogue Femtocell Owners: How Mallory Can Monitor My Devices 19 April 2013

advertisement
Rogue Femtocell Owners: How Mallory Can
Monitor My Devices
David Malone, Darren F. Kavanagh and Niall R. Murphy
19 April 2013
Femtocells
• Small devices acting as cellular base stations.
• Deployed to extend coverage in homes, offices, . . .
• Access can be open or closed.
• No direct connection to MNO network.
• Use Internet and IPsec for backhaul.
Femtocell (front)
Alcatel-Lucent 9361 Home Cell V2-V.
Femtocell (back)
Alcatel-Lucent 9361 Home Cell V2-V.
Femtocell Access Control
• Anyone device can connect to open femtocell.
• Closed femtocells allow ACL.
• Commonly administered by web page, list phone numbers.
• No further checking done.
• Idea: ACL to target devices who shouldn’t trust us?
• Idea: Use traffic analysis as passive attack.
• Snoop on your neighbour?
Monitoring a device
• Add phone (Nokia X6) to femtocell’s ACL.
• SMS, MMS, voice calls, web browsing, management.
• Collect femtocell traffic on router.
• Traffic (mostly) encrypted, but know time, size, ToS.
• What does traffic tell us about activity?
Traffic Analysis (to femtocell)
ToS 0
ToS 2
1400
1200
1000
800
600
400
200
Get short text message
Get text long message
Get text message
Phonephone
fully on
booted
Turn
Turn phone off
7000
Hangmobile
up
Call
number with no an
End web browsing
Start web browsing
Call to 1191 end
starts
6000
Sending
short
test text again ag
Get
shortshort
text again
Sending
test text again
Get
shortshort
text test text
Sending
5000
Begin lap of block
Incoming call ends
ringing
begins
ringing
End lap of block
4000
3000
Get short text saying Testing
Hanga up
on ringing
callanswer
Call
number
with no
2000
1000
0
Call
to
1191
second
At
it willa few
be 20:46:4
Callthe
tosignal
1191 ends
starts
Send MMS send
icon gone
with 126kB
messa
Send SMS saying This is a lon
Send SMS saying Testing shor
0
Traffic Analysis (from femtocell)
ToS 0
ToS 72
ToS 74
ToS 184
ToS 192
1400
1200
1000
800
600
400
200
Get short text message
Get text long message
Get text message
Phonephone
fully on
booted
Turn
Turn phone off
7000
Hangmobile
up
Call
number with no an
End web browsing
Start web browsing
Call to 1191 end
starts
6000
Sending
short
test text again ag
Get
shortshort
text again
Sending
test text again
Get
shortshort
text test text
Sending
5000
Begin lap of block
Incoming call ends
ringing
begins
ringing
End lap of block
4000
3000
Get short text saying Testing
Hanga up
on ringing
callanswer
Call
number
with no
2000
1000
0
Call
to
1191
second
At
it willa few
be 20:46:4
Callthe
tosignal
1191 ends
starts
Send MMS send
icon gone
with 126kB
messa
Send SMS saying This is a lon
Send SMS saying Testing shor
0
Traffic Analysis (cleaned up)
ToS 0
ToS 72
ToS 74
ToS 184
ToS 192
1400
1200
1000
800
600
400
200
Get short text message
Get text long message
Get text message
Phonephone
fully on
booted
Turn
Turn phone off
7000
Hangmobile
up
Call
number with no an
End web browsing
Start web browsing
Call to 1191 end
starts
6000
Sending
short
test text again ag
Get
shortshort
text again
Sending
test text again
Get
shortshort
text test text
Sending
5000
Begin lap of block
Incoming call ends
ringing
begins
ringing
End lap of block
4000
3000
Get short text saying Testing
Hanga up
on ringing
callanswer
Call
number
with no
2000
1000
0
Call
to
1191
second
At
it willa few
be 20:46:4
Callthe
tosignal
1191 ends
starts
Send MMS send
icon gone
with 126kB
messa
Send SMS saying This is a lon
Send SMS saying Testing shor
0
Classification
• Could we classify based on this?
• Yes — hand designed algorithm based on 10s buckets.
• Some trouble telling SMS/signaling and MMS/data apart.
• Works well (15000s, 35 events, one false positive).
for each (10s interval) {
Remove background traffic (size, TOS, direction)
Count number_of packets for each (TOS, direction)
Store largest packet size for each (TOS, direction)
if (number_of (TOS 184,SRC) packets > 1)
event "Call in progress";
if (number_of (TOS 0,SRC) packets > 0) {
if (largest (TOS 0, SRC|DST) > 800)
event "Web session in progress";
else if (largest (TOS 0, DST) > 800)
event "Recv MMS in progress";
else if (largest (TOS 0, SRC) > 800)
event "Send MMS in progress";
else
event "Small Data/MMS in progress";
}
if (number_of (TOS 74) > 0 &&
number_of (TOS 0|72|184, SRC) == 0)
event "Signaling or SMS";
}
+
Recv Signaling
MMS in progress+
or SMS+
End incoming call
Begin incoming call
Phone fully on
Turn phone on
Signaling or SMS+
phone
fully off
Turn phone
Signaling or SMS+
SMS
actuallySMS
arrives
Start getting
SmallSend
data traffic
+
MMS in
in progress+
progress+
MMS
gone
Begin icon
sending
MMS
3500
Signaling or SMS+
4000
4500
+
+
+
Call in progress+
MMS actually
in transitarrives
MMS starts to arrive
5000
5500
6000
Classification vs. Events
Begin web browsing
0
3000
20
40
60
80
100
End web browsing
Two Femtocells?
• Suppose we can snoop on two femtocells, each near a target.
• E.g. two celebrities, are they exchanging calls?
• Can we correlate the information at both ends?
• Two femtos, two gateways (NTP synced), two phones
(iPhone).
• Collect traffic, compare traces.
• Run classifier, correlate results.
Traffic Analysis (two femto)
Packets from Femto 2 (above axis) and to Femto 1 (below axis)
1500
Femto 1 Dst ToS 0
Femto 1 Dst ToS 2
Femto 2 Src ToS 0
Femto 2 Src ToS 72
Femto 2 Src ToS 74
Femto 2 Src ToS 184
Femto 2 Src ToS 192
1000
Packet Size (bytes)
500
0
500
1000
1500
0
500
1000
1500
2000
Time (s)
2500
3000
3500
Traffic Analysis (two femto)
Packets from Femto 1 (above axis) to Femto 2 (below axis)
1500
Femto 1 Src ToS 0
Femto 1 Src ToS 72
Femto 1 Src ToS 74
Femto 1 Src ToS 184
Femto 1 Src ToS 192
Femto 2 Dst ToS 0
Femto 2 Dst ToS 2
1000
Packet Size (bytes)
500
0
500
1000
1500
0
500
1000
1500
2000
Time (s)
2500
3000
3500
Traffic Analysis (two femto)
Packets from Femto 2 (above axis) and to Femto 1 (below axis)
Femto 1 Dst ToS 0
Femto 1 Dst ToS 2
Femto 2 Src ToS 0
Femto 2 Src ToS 72
Femto 2 Src ToS 74
Femto 2 Src ToS 184
Femto 2 Src ToS 192
400
Packet Size (bytes)
200
0
200
400
390
400
410
420
Time (s)
430
440
450
Other Side Channels
• We control femtocell’s environment.
• Are there other things we can snoop on?
• RF?
• Power usage?
• LEDs?
Power Analysis
Power consumption of femtocell under different conditions
9
8
7
Power (W)
6
5
4
3
2
Booting
Idle
One Voice Call
Two Voice Calls
FTP Transfer
1
0
0
100
200
300
Time (s)
Measured with help of Roberto Riggo.
Actually significant difference in means!
400
500
600
LED Analysis
Maybe good for clearing false positives?
Fixes?
Dummy Traffic Generate dummy traffic all the time, to hide
behaviour. Unlikely to be popular.
IMEI/IMSI Number Ask for more information when adding
phone to ACL.
User Confirmation Send a SMS and ask if OK to use femto?
The last addresses the issue of user consent.
Issues for dumb devices.
Conclusion
• Analysis worked pretty well.
• Trusted devices with potentially rogue network administrators.
• Attacks on compressed voice (Wright et al).
• What about active attacks?
• More ambitions — botnet of femto gateways?
Download