SensorID Sensor Calibration Fingerprinting for Smartphones - - PowerPoint PPT Presentation

sensorid
SMART_READER_LITE
LIVE PREVIEW

SensorID Sensor Calibration Fingerprinting for Smartphones - - PowerPoint PPT Presentation

SensorID Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541 Stan (Jiexin) Zhang, Alastair Beresford Ian Sheret {jz448, arb33}@cl.cam.ac.uk ian.sheret@polymathinsight.co.uk University of Cambridge Polymath Insight Limited Device


slide-1
SLIDE 1

Stan (Jiexin) Zhang, Alastair Beresford {jz448, arb33}@cl.cam.ac.uk University of Cambridge Ian Sheret ian.sheret@polymathinsight.co.uk Polymath Insight Limited

SensorID

Sensor Calibration Fingerprinting for Smartphones

CVE-2019-8541

slide-2
SLIDE 2

Device Fingerprinting

Device fingerprinting aims to generate a distinctive signature, or fingerprint, that uniquely identifies a specific computing device. With a reliable device fingerprint, advertisers can track users online and offline, study their behaviour, deliver tailored content, etc. To protect user privacy, both Android and iOS have applied a variety of measures to prevent device fingerprinting.

  • 2
slide-3
SLIDE 3

X Z Y

X

+ΩZ +ΩX +ΩY

X Y Z

Accelerometer Gyroscope Magnetometer

Motion Sensors in Smartphones

  • 3
slide-4
SLIDE 4
  • attack takes less than 1 second
  • requires no permission or interaction from the user
  • can be launched from both a mobile website and an mobile app
  • can generate a globally unique and consistent fingerprint
  • 4

A calibration fingerprinting attack infers the per-device factory calibration data from a device by careful analysis of the sensor output alone.

slide-5
SLIDE 5
slide-6
SLIDE 6

Scale Error Non-orthogonality Bias

Deterministic Errors in Motion Sensors

  • 6
slide-7
SLIDE 7

Scale Error Non-orthogonality Bias

Motion Sensor Calibration

  • 7

S = Sx Sy Sz

N = Nxx Nxy Nxz Nyx Nyy Nyz Nzx Nzy Nzz

B = Bx By Bz

slide-8
SLIDE 8

Motion Sensor Calibration

  • 8

Ox Oy Oz = Sx Sy Sz Nxx Nxy Nxz Nyx Nyy Nyz Nzx Nzy Nzz Ax Ay Az + Bx By Bz

Or

O = GA + B

A = ADC output, O = sensor output, G = gain matrix

Sensor Output = Scale * Non-orthogonality * ADC output + Bias

slide-9
SLIDE 9

Sensor Calibration Fingerprinting

  • 9

O1 = GA1 + B

ΔA: all values are integers

ΔO = GΔA O2 = GA2 + B O2 − O1 = G(A2 − A1) [O2 − O1, ⋯, On − On−1] = G[A2 − A1, ⋯, An − An−1]

slide-10
SLIDE 10

Samsung Galaxy S8 iPhone X 500 1000 1500 2000 500 1000 1500 2000 −0.4 −0.2 0.0 0.2 0.4 −0.25 0.00 0.25 0.50 Sequence Gyroscope Output (deg/s) Axis x y z

10

slide-11
SLIDE 11

Samsung Galaxy S8 iPhone X 500 1000 1500 2000 500 1000 1500 2000 −0.06 −0.04 −0.02 0.00 0.02 0.04 0.06 Sequence Difference between Gyroscope Outputs (deg/s) Axis x y z

11

slide-12
SLIDE 12

Samsung Galaxy S8 iPhone X 500 1000 1500 2000 500 1000 1500 2000 −0.06 −0.04 −0.02 0.00 0.02 0.04 0.06 Sequence Difference between Gyroscope Outputs (deg/s) Axis x y z

nominal gain nominal gain

ΔAi = 1 ΔAi = − 1

12

slide-13
SLIDE 13

Generation of the Calibration Fingerprint

13

  • Failed
  • Pass

ΔA G

BOTH APPROACHES IMPROVED APPROACH

Not Complete Update G

~

slide-14
SLIDE 14

14

slide-15
SLIDE 15

Calibration Fingerprint for Magnetometer

  • 15

iPhone XS Max

500 1000 1500 2000 −0.1 0.0 0.1

Sequence Difference between Magnetometer Outputs (µT) Axis x y z iPhone 8

500 1000 1500 2000 −0.1 0.0 0.1

Sequence Difference between Magnetometer Outputs (µT) Axis x y z iPhone 6S

500 1000 1500 2000 −0.1 0.0 0.1

Sequence Difference between Magnetometer Outputs (µT) Axis x y z iPhone 5S

500 1000 1500 2000 −0.4 −0.2 0.0 0.2 0.4

Sequence Difference between Magnetometer Outputs (µT) Axis x y z

slide-16
SLIDE 16

Definition of the SensorID

  • 16

We refer to the collection of distinctive sensor calibration fingerprints as the SensorID. For iOS devices, the SensorID includes:

  • GyroID (Gyroscope Fingerprint)
  • MagID (Magnetometer Fingerprint)

For Google Pixel 2/3, the SensorID includes:

  • AccID (Accelerometer Fingerprint)
slide-17
SLIDE 17

Example

GyroID = 14 −36 −11 11 33 22 −4 −25 18

GyroID of an iPhone XS:

MagID = 7 2 −47 −6 30 61 69 29 75

MagID of an iPhone XS:

AccID = 0.994785 1.004922 0.995183

AccID of an Pixel 3:

17

slide-18
SLIDE 18

SensorID Uniqueness Analysis

  • 18
slide-19
SLIDE 19

SensorID Uniqueness Analysis

  • 19

We collected motion sensor data from 870 iOS devices via crowdsourcing and estimated their SensorID. We found there is a strong correlation between some values in the SensorID. For the same device model, values in the SensorID follow normal distribution.

slide-20
SLIDE 20
  • 20

G[3,3] G[3,2] G[3,1] G[2,3] G[2,2] G[2,1] G[1,3] G[1,2] G[1,1] G[3,3] G[3,2] G[3,1] G[2,3] G[2,2] G[2,1] G[1,3] G[1,2] G[1,1]

GyroID = G11 G12 G13 G21 G22 G23 G31 G32 G33

Fig: Scatter plot matrix of elements in the GyroID (693 iOS devices)

slide-21
SLIDE 21

SensorID Uniqueness Analysis

  • 21

For iPhone 6S, we estimate the GyroID has 42 bits of entropy and the MagID has 25 bits of entropy. For 131M iPhone 6S devices, the chance of two iPhone 6S devices having the same SensorID is around 0.0058%.

slide-22
SLIDE 22

Countermeasures

  • 22

Option 2 - Rounding the sensor outputs: Option 1 - Adding noise:

O = G(A + ϵ) + B

ϵi ∼ U(−0.5,0.5)

Manufacturers could round the factory calibrated sensor output to the nearest multiple

  • f the nominal gain to prevent recovering the gain matrix.

Option 3 - Remove access to motion sensors

slide-23
SLIDE 23

Results

  • Calibration fingerprinting attack is easy to conduct by a website or an app in under

1 second, requires no special permissions, does not require user interaction.

  • We collect motion sensor data from 870 iOS devices and show that our approach

can generate a globally unique fingerprint (67 bits of entropy for the iPhone 6S).

  • Apple adopted our suggestion of adding noise and removed sensor access by

default in Mobile Safari on iOS 12.2 (CVE-2019-8541).

  • 23
slide-24
SLIDE 24

For more details, visit: https://sensorid.cl.cam.ac.uk

  • Calibration fingerprinting attack is easy to conduct by a website or an app in under

1 second, requires no special permissions, does not require user interaction.

  • We collect motion sensor data from 870 iOS devices and show that our approach

can generate a globally unique identifier (67 bits of entropy for the iPhone 6S).

  • Apple adopted our suggestion of adding noise and removed sensor access by

default in Mobile Safari on iOS 12.2 (CVE-2019-8541).

Stan Zhang jz448@cl.cam.ac.uk