BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose...

34
IEEE S&P 2020 BIAS: Bluetooth Impersonation AttackS Daniele Antonioli (EPFL), Nils Tippenhauer (CISPA), Kasper Rasmussen (Oxford Univ.) Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS 1

Transcript of BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose...

Page 1: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

IEEE S&P 2020

BIAS: Bluetooth Impersonation AttackS

Daniele Antonioli (EPFL), Nils Tippenhauer (CISPA), Kasper Rasmussen (Oxford Univ.)

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS 1

Page 2: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

Bluetooth standard

• Bluetooth standardI Specifies Bluetooth Classic (BT) and Bluetooth Low Energy (BLE)I 1 vulnerability in the standard = billions of exploitable devices

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS Cover 2

Page 3: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

Contribution: Bluetooth Impersonation AttackS (BIAS)

• Bluetooth Impersonation AttackS (BIAS)I Exploiting standard-compliant vulnerabilities in Bluetooth authenticationI To impersonate any Bluetooth device without having to authenticate

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS Cover 3

Page 4: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

Contribution: Bluetooth Impersonation AttackS (BIAS)

• Bluetooth Impersonation AttackS (BIAS)I Exploiting standard-compliant vulnerabilities in Bluetooth authenticationI To impersonate any Bluetooth device without having to authenticate

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS Cover 3

Page 5: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

Bluetooth Threat Model

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS BIAS 4

Page 6: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

Bluetooth Threat Model

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS BIAS 4

Page 7: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

Bluetooth Threat Model

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS BIAS 4

Page 8: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

Bluetooth Threat Model

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS BIAS 4

Page 9: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

Bluetooth Threat Model

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS BIAS 4

Page 10: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

Bluetooth Threat Model

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS BIAS 4

Page 11: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

Bluetooth Threat Model

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS BIAS 4

Page 12: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

Bluetooth Threat Model

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS BIAS 4

Page 13: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

BIAS Attacks on Bluetooth Session Establishment

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS BIAS 5

Page 14: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

BIAS Attacks on Bluetooth Session Establishment

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS BIAS 5

Page 15: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

BIAS Attacks on Bluetooth Session Establishment

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS BIAS 5

Page 16: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

Legacy Secure Connection (LSC) Authentication

Alice (slave)

A

Bob (master)

B

B, LSC

A, LSC

CB

RA = H(CB , A, KL)

RA check

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS BIAS on LSC 6

Page 17: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

Standard-Compliant Vulnerabilities in LSC Authentication

1 LSC authentication is not used mutually for session establishment2 A device can switch authentication role

Alice (slave)

A

Bob (master)

B

B, LSC

A, LSC

CB

RA = H(CB , A, KL)

RA check

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS BIAS on LSC 7

Page 18: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

BIAS Attack on LSC: Master Impersonation

Alice (slave)

A

Charlie as Bob (master)

C

B, LSC

A, LSC

CC

RA = H(CC , A, KL)

Skip RA check

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS BIAS on LSC 8

Page 19: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

BIAS Attack on LSC: Slave Impersonation

Charlie as Alice (slave)

C

Bob (master)

B

B, LSC

A, Role Switch, LSC

Accept Role Switch

Charlie is the master (verifier)

CC

RB = H(CC , B, KL)

Skip RB check

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS BIAS on LSC 9

Page 20: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

Secure Connections (SC) Authentication

Alice (slave)

A

Bob (master)

B

B, SC

A, SC

CB

CA

RB, RA = H(CB , CA,B, A, KL)

RB, RA = H(CB , CA,B, A, KL)

RA

RB

RB check RA check

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS BIAS on SC 10

Page 21: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

Standard-Compliant Issues with SC Authentication

1 SC negotiation is not integrity-protected2 SC support is not enforced for pairing and session establishment

Alice (slave)

A

Bob (master)

B

B, SC

A, SC

CB

CA

RB, RA = H(CB , CA,B, A, KL)

RB, RA = H(CB , CA,B, A, KL)

RA

RB

RB check RA check

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS BIAS on SC 11

Page 22: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

BIAS Attack on SC: Master Impersonation

Alice (slave)

A

Charlie as Bob (master)

C

B, LSC

A, SC

SC downgraded to LSC

BIAS master impersonation on LSC

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS BIAS on SC 12

Page 23: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

BIAS Attack on SC: Slave Impersonation

Charlie as Alice (slave)

C

Bob (master)

B

B, SC

A, LSC

SC downgraded to LSC

BIAS slave impersonation on LSC

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS BIAS on SC 13

Page 24: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

Very Secure Connections (VSC) ?!

• Let’s define Very Secure Connections (fictional security mode)I Use SC authentication (mutual)I Not vulnerable to SC downgrade

• Are we safe against impersonation attacks on VSC?I No, VSC is vulnerable to master and slave reflection attacksI See the paper for the details

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS BIAS on VSC 14

Page 25: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

Implementation of the BIAS Attacks

https://github.com/francozappa/bias

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS Implementation 15

Page 26: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

Evaluation: BIAS Attacks on 31 Devices (28 BT Chips)

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS Evaluation 16

Page 27: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

Evaluation: BIAS Attacks on 31 Devices (28 BT Chips)

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS Evaluation 16

Page 28: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

BIAS + KNOB: Break Bluetooth Session Establishment

Alice (master)

A

Bob (slave)

B

Phase 1: pairing key authentication

Phase 2: session key negotation

Phase 3: secure session

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS BIAS + KNOB 17

Page 29: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

BIAS + KNOB: Break Bluetooth Session Establishment

Alice (master)

A

Charlie as Bob (slave)

B

Phase 1: pairing key authentication (BIAS attack)

Phase 2: session key negotation

Phase 3: secure session

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS BIAS + KNOB 17

Page 30: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

BIAS + KNOB: Break Bluetooth Session Establishment

Alice (master)

A

Charlie as Bob (slave)

B

Phase 1: pairing key authentication (BIAS attack)

Phase 2: session key negotation (KNOB attack [SEC19])

Phase 3: secure session

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS BIAS + KNOB 17

Page 31: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

BIAS + KNOB: Break Bluetooth Session Establishment

Alice (master)

A

Charlie as Bob (slave)

B

Phase 1: pairing key authentication (BIAS attack)

Phase 2: session key negotation (KNOB attack [SEC19])

Phase 3: secure session (Charlie is Bob)

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS BIAS + KNOB 17

Page 32: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

BIAS + KNOB: Break Bluetooth Session Establishment

Charlie as Alice (master)

A

Bob (slave)

B

Phase 1: pairing key authentication (BIAS attack)

Phase 2: session key negotation (KNOB attack [SEC19])

Phase 3: secure session (Charlie is Alice)

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS BIAS + KNOB 17

Page 33: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

BIAS Attacks Countermeasures and Disclosure

• We propose a set of countermeasuresI Use LSC authentication mutually during session establishmentI Integrity-protect session establishment with the pairing keyI Enforce SC support across pairing and session establishment

• We disclosed the BIAS attacks, and the Bluetooth standard has been updatedI However, most of the devices are still vulnerableI E.g., no user or device updates, no device recalls

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS Conclusion 18

Page 34: BIAS: Bluetooth Impersonation AttackS · BIAS Attacks Countermeasures and Disclosure • We propose a set of countermeasures I Use LSC authentication mutually during session establishment

Conclusion: Bluetooth Impersonation AttackS (BIAS)

• Bluetooth Impersonation AttackS (BIAS)I Exploiting standard-compliant vulnerabilities in Bluetooth authenticationI To impersonate any Bluetooth device without having to authenticateI Website: https://francozappa.github.io/about-bias/I Code: https://github.com/francozappa/bias

Daniele Antonioli (@francozappa) BIAS: Bluetooth Impersonation AttackS Conclusion 19