Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration...

24
Stan (Jiexin) Zhang, Alastair Beresford {jz448, arb33}@cl.cam.ac.uk University of Cambridge Ian Sheret [email protected] Polymath Insight Limited SensorID Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541

Transcript of Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration...

Page 1: Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541. Device Fingerprinting Device fingerprinting

Stan (Jiexin) Zhang, Alastair Beresford

{jz448, arb33}@cl.cam.ac.uk

University of Cambridge

Ian Sheret

[email protected]

Polymath Insight Limited

SensorIDSensor Calibration Fingerprinting for Smartphones

CVE-2019-8541

Page 2: Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541. Device Fingerprinting Device fingerprinting

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

Page 3: Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541. Device Fingerprinting Device fingerprinting

X

Z

YX

+�Z

+�X

+�YXY

Z

Accelerometer Gyroscope Magnetometer

Motion Sensors in Smartphones

�3

Page 4: Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541. Device Fingerprinting Device fingerprinting

• 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.

Page 5: Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541. Device Fingerprinting Device fingerprinting
Page 6: Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541. Device Fingerprinting Device fingerprinting

Scale Error Non-orthogonality Bias

Deterministic Errors in Motion Sensors

�6

Page 7: Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541. Device Fingerprinting Device fingerprinting

Scale Error

Non-orthogonality

Bias

Motion Sensor Calibration

�7

S =Sx 0 00 Sy 00 0 Sz

N =

Nxx Nxy Nxz

Nyx Nyy Nyz

Nzx Nzy Nzz

B =Bx

By

Bz

Page 8: Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541. Device Fingerprinting Device fingerprinting

Motion Sensor Calibration

�8

Ox

Oy

Oz

=Sx 0 00 Sy 00 0 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

Page 9: Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541. Device Fingerprinting Device fingerprinting

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]

Page 10: Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541. Device Fingerprinting Device fingerprinting

Samsung Galaxy S8 iPhone X

0 500 1000 1500 2000 0 500 1000 1500 2000−0.4

−0.2

0.0

0.2

0.4

−0.25

0.00

0.25

0.50

Sequence

Gyr

osco

pe O

utpu

t (de

g/s)

Axisxyz

!10

Page 11: Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541. Device Fingerprinting Device fingerprinting

Samsung Galaxy S8 iPhone X

0 500 1000 1500 2000 0 500 1000 1500 2000

−0.06

−0.04

−0.02

0.00

0.02

0.04

0.06

Sequence

Diff

eren

ce b

etw

een

Gyr

osco

pe O

utpu

ts (d

eg/s

)

Axisxyz

!11

Page 12: Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541. Device Fingerprinting Device fingerprinting

Samsung Galaxy S8 iPhone X

0 500 1000 1500 2000 0 500 1000 1500 2000

−0.06

−0.04

−0.02

0.00

0.02

0.04

0.06

Sequence

Diff

eren

ce b

etw

een

Gyr

osco

pe O

utpu

ts (d

eg/s

)

Axisxyz

nominal gainnominal gain

ΔAi = 1

ΔAi = − 1

!12

Page 13: Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541. Device Fingerprinting Device fingerprinting

Generation of the Calibration Fingerprint

!13

ɠ�'DWD�&ROOHFWLRQ�

ɡ�'DWD�3UHSURFHVVLQJ

ɢ$'&�9DOXH�5HFRYHU\

ɣ*DLQ�0DWUL[�(VWLPDWLRQ

ɤ9DOLGLW\�&KHFN

Failed

ɥ)LQJHUSULQW�*HQHUDWLRQ

PassΔA G

BOTH APPROACHES IMPROVED APPROACH

Not Complete

Update G~

Page 14: Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541. Device Fingerprinting Device fingerprinting

!14

Page 15: Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541. Device Fingerprinting Device fingerprinting

Calibration Fingerprint for Magnetometer

�15

iPhone XS Max

0 500 1000 1500 2000

−0.1

0.0

0.1

Sequence

Diff

eren

ce b

etw

een

Mag

neto

met

er O

utpu

ts (µ

T)

Axis x y z

iPhone 8

0 500 1000 1500 2000

−0.1

0.0

0.1

Sequence

Diff

eren

ce b

etw

een

Mag

neto

met

er O

utpu

ts (µ

T)

Axis x y z

iPhone 6S

0 500 1000 1500 2000

−0.1

0.0

0.1

Sequence

Diff

eren

ce b

etw

een

Mag

neto

met

er O

utpu

ts (µ

T)

Axis x y z

iPhone 5S

0 500 1000 1500 2000−0.4

−0.2

0.0

0.2

0.4

Sequence

Diff

eren

ce b

etw

een

Mag

neto

met

er O

utpu

ts (µ

T)

Axis x y z

Page 16: Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541. Device Fingerprinting Device fingerprinting

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)

Page 17: Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541. Device Fingerprinting Device fingerprinting

Example

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

GyroID of an iPhone XS:

MagID =7 2 −47

−6 30 6169 29 75

MagID of an iPhone XS:

AccID =0.994785 0 0

0 1.004922 00 0 0.995183

AccID of an Pixel 3:

!17

Page 18: Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541. Device Fingerprinting Device fingerprinting

SensorID Uniqueness Analysis

�18

Page 19: Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541. Device Fingerprinting Device fingerprinting

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.

Page 20: Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541. Device Fingerprinting Device fingerprinting

�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)

Page 21: Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541. Device Fingerprinting Device fingerprinting

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%.

Page 22: Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541. Device Fingerprinting Device fingerprinting

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 of the nominal gain to prevent recovering the gain matrix.

Option 3 - Remove access to motion sensors

Page 23: Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541. Device Fingerprinting Device fingerprinting

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

Page 24: Stan Zhang - MAC KEYNOTE -7-Jiexin Zhang-SensorID-Sensor …€¦ · Sensor Calibration Fingerprinting for Smartphones CVE-2019-8541. Device Fingerprinting Device fingerprinting

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

[email protected]