Self-Encrypting Deception: Weaknesses in the Encryption of Solid - - PowerPoint PPT Presentation

self encrypting deception
SMART_READER_LITE
LIVE PREVIEW

Self-Encrypting Deception: Weaknesses in the Encryption of Solid - - PowerPoint PPT Presentation

Self-Encrypting Deception: Weaknesses in the Encryption of Solid State Drives (SSDs) Carlo Meijer Bernard van Gastel Radboud University Nijmegen Radboud University Nijmegen Midnight Blue Labs Open University of the Netherlands whoami Carlo


slide-1
SLIDE 1

Self-Encrypting Deception:

Weaknesses in the Encryption of Solid State Drives (SSDs)

Carlo Meijer

Radboud University Nijmegen Midnight Blue Labs

Bernard van Gastel

Radboud University Nijmegen Open University of the Netherlands

slide-2
SLIDE 2

whoami

Carlo Meijer

  • PhD student at Radboud University Nijmegen
  • Focused on analysis of crypto systems deployed in the

wild

  • Independent security researcher at Midnight Blue Labs

c.meijer@cs.ru.nl https://cs.ru.nl/∼cmeijer/ https://midnightbluelabs.com/

slide-3
SLIDE 3

whoami (2)

Bernard van Gastel

  • Assistant professor at Open University of the

Netherlands

  • Focused on anaylsis and correctness of systems

b.vangastel@cs.ru.nl https://sustailablesoftware.info/

slide-4
SLIDE 4

What is a Self-Encrypting Drive?

slide-5
SLIDE 5

What is a Self-Encrypting Drive?

Traditional encryption (in software) Self-Encrypting Drive

slide-6
SLIDE 6

What is a Self-Encrypting Drive?

Traditional encryption (in software) Self-Encrypting Drive

slide-7
SLIDE 7

What is a Self-Encrypting Drive? (2)

https://www.storagereview.com/samsung_840_evo_msata_ssd_review https://www.custompcreview.com/reviews/crucial-mx100-512gb-ssd-review/

slide-8
SLIDE 8

What is a Self-Encrypting Drive? (2)

https://www.storagereview.com/samsung_840_evo_msata_ssd_review https://www.custompcreview.com/reviews/crucial-mx100-512gb-ssd-review/

slide-9
SLIDE 9

What is a Self-Encrypting Drive? (2)

https://www.storagereview.com/samsung_840_evo_msata_ssd_review https://www.custompcreview.com/reviews/crucial-mx100-512gb-ssd-review/

slide-10
SLIDE 10

What is a Self-Encrypting Drive? (2)

https://www.storagereview.com/samsung_840_evo_msata_ssd_review https://www.custompcreview.com/reviews/crucial-mx100-512gb-ssd-review/

slide-11
SLIDE 11

Democratically proven

https://www.crucial.com/usa/en/how-self-encrypting-ssds-protect-your-business-and-enhance-data-security-and-limit-liability https://www.esecurityplanet.com/network-security/The-Pros-and-Cons-of-Opal-Compliant-Drives-3939016.htm https://www.esecurityplanet.com/network-security/The-Pros-and-Cons-of-Opal-Compliant-Drives-3939016.htm https://trustedcomputinggroup.org/resource/self-encrypting-drives-sed-overview/

BitLocker (built into Windows) opts for hardware encryption by default if available, software as a fall-back

slide-12
SLIDE 12

Democratically proven

https://www.crucial.com/usa/en/how-self-encrypting-ssds-protect-your-business-and-enhance-data-security-and-limit-liability https://www.esecurityplanet.com/network-security/The-Pros-and-Cons-of-Opal-Compliant-Drives-3939016.htm https://www.esecurityplanet.com/network-security/The-Pros-and-Cons-of-Opal-Compliant-Drives-3939016.htm https://trustedcomputinggroup.org/resource/self-encrypting-drives-sed-overview/

BitLocker (built into Windows) opts for hardware encryption by default if available, software as a fall-back

slide-13
SLIDE 13

Democratically proven

https://www.crucial.com/usa/en/how-self-encrypting-ssds-protect-your-business-and-enhance-data-security-and-limit-liability https://www.esecurityplanet.com/network-security/The-Pros-and-Cons-of-Opal-Compliant-Drives-3939016.htm https://www.esecurityplanet.com/network-security/The-Pros-and-Cons-of-Opal-Compliant-Drives-3939016.htm https://trustedcomputinggroup.org/resource/self-encrypting-drives-sed-overview/

BitLocker (built into Windows) opts for hardware encryption by default if available, software as a fall-back

slide-14
SLIDE 14

Democratically proven

https://www.crucial.com/usa/en/how-self-encrypting-ssds-protect-your-business-and-enhance-data-security-and-limit-liability https://www.esecurityplanet.com/network-security/The-Pros-and-Cons-of-Opal-Compliant-Drives-3939016.htm https://www.esecurityplanet.com/network-security/The-Pros-and-Cons-of-Opal-Compliant-Drives-3939016.htm https://trustedcomputinggroup.org/resource/self-encrypting-drives-sed-overview/

BitLocker (built into Windows) opts for hardware encryption by default if available, software as a fall-back

slide-15
SLIDE 15

Democratically proven

https://www.crucial.com/usa/en/how-self-encrypting-ssds-protect-your-business-and-enhance-data-security-and-limit-liability https://www.esecurityplanet.com/network-security/The-Pros-and-Cons-of-Opal-Compliant-Drives-3939016.htm https://www.esecurityplanet.com/network-security/The-Pros-and-Cons-of-Opal-Compliant-Drives-3939016.htm https://trustedcomputinggroup.org/resource/self-encrypting-drives-sed-overview/

BitLocker (built into Windows) opts for hardware encryption by default if available, software as a fall-back

slide-16
SLIDE 16

Security guarantees

  • f Self-Encrypting Drives
slide-17
SLIDE 17

Security guarantees of Self-Encrypting Drives

Typical three attacker models for Full-Disk Encryption. All involve physical access by the attacker. (i) PC on (ii) PC off, victim unaware:

Physical encounter is not noticed by the victim

(iii) PC off, victim aware:

Drive is lost or stolen, machine considered “tainted”.

slide-18
SLIDE 18

Security guarantees of Self-Encrypting Drives

Typical three attacker models for Full-Disk Encryption. All involve physical access by the attacker. (i) PC on (ii) PC off, victim unaware:

Physical encounter is not noticed by the victim

(iii) PC off, victim aware:

Drive is lost or stolen, machine considered “tainted”.

slide-19
SLIDE 19

Security guarantees of Self-Encrypting Drives

Typical three attacker models for Full-Disk Encryption. All involve physical access by the attacker. (i) PC on (ii) PC off, victim unaware:

Physical encounter is not noticed by the victim

(iii) PC off, victim aware:

Drive is lost or stolen, machine considered “tainted”.

slide-20
SLIDE 20

Security guarantees of Self-Encrypting Drives

Typical three attacker models for Full-Disk Encryption. All involve physical access by the attacker. (i) PC on (ii) PC off, victim unaware:

Physical encounter is not noticed by the victim

(iii) PC off, victim aware:

Drive is lost or stolen, machine considered “tainted”.

slide-21
SLIDE 21

Security guarantees of Self-Encrypting Drives

Typical three attacker models for Full-Disk Encryption. All involve physical access. (i) PC on (ii) PC off, victim unaware:

Physical encounter is not noticed by the victim

(iii) PC off, victim aware:

Drive is lost or stolen, machine considered “tainted”.

slide-22
SLIDE 22

PC on

Software encryption: secret key kept in RAM, which has weaknesses. (i) Cold boot attack

Reboot, load custom OS, extract key from RAM

(ii) DMA attack

Extract key through DMA interface (PCI-e, Firewire, Thunderbolt, etc.)

Hardware encryption: immune in theory, however Key is kept in RAM for virtually all implementations

To support Suspend-to-RAM (S3)

Key is kept in storage controller (Not secure hardware by any standard)

Many have debugging interfaces exposed on PCB

Adversary has physical access: can hot-plug the device Overall: Attack opportunities are more or less equivalent

slide-23
SLIDE 23

PC on

Software encryption: secret key kept in RAM, which has weaknesses. (i) Cold boot attack

Reboot, load custom OS, extract key from RAM

(ii) DMA attack

Extract key through DMA interface (PCI-e, Firewire, Thunderbolt, etc.)

Hardware encryption: immune in theory, however Key is kept in RAM for virtually all implementations

To support Suspend-to-RAM (S3)

Key is kept in storage controller (Not secure hardware by any standard)

Many have debugging interfaces exposed on PCB

Adversary has physical access: can hot-plug the device Overall: Attack opportunities are more or less equivalent

slide-24
SLIDE 24

PC on

Software encryption: secret key kept in RAM, which has weaknesses. (i) Cold boot attack

Reboot, load custom OS, extract key from RAM

(ii) DMA attack

Extract key through DMA interface (PCI-e, Firewire, Thunderbolt, etc.)

Hardware encryption: immune in theory, however Key is kept in RAM for virtually all implementations

To support Suspend-to-RAM (S3)

Key is kept in storage controller (Not secure hardware by any standard)

Many have debugging interfaces exposed on PCB

Adversary has physical access: can hot-plug the device Overall: Attack opportunities are more or less equivalent

slide-25
SLIDE 25

PC on

Software encryption: secret key kept in RAM, which has weaknesses. (i) Cold boot attack

Reboot, load custom OS, extract key from RAM

(ii) DMA attack

Extract key through DMA interface (PCI-e, Firewire, Thunderbolt, etc.)

Hardware encryption: immune in theory, however Key is kept in RAM for virtually all implementations

To support Suspend-to-RAM (S3)

Key is kept in storage controller (Not secure hardware by any standard)

Many have debugging interfaces exposed on PCB

Adversary has physical access: can hot-plug the device Overall: Attack opportunities are more or less equivalent

slide-26
SLIDE 26

PC on

Software encryption: secret key kept in RAM, which has weaknesses. (i) Cold boot attack

Reboot, load custom OS, extract key from RAM

(ii) DMA attack

Extract key through DMA interface (PCI-e, Firewire, Thunderbolt, etc.)

Hardware encryption: immune in theory, however

  • Key is kept in RAM for virtually all implementations

To support Suspend-to-RAM (S3)

Key is kept in storage controller (Not secure hardware by any standard)

Many have debugging interfaces exposed on PCB

Adversary has physical access: can hot-plug the device Overall: Attack opportunities are more or less equivalent

slide-27
SLIDE 27

PC on

Software encryption: secret key kept in RAM, which has weaknesses. (i) Cold boot attack

Reboot, load custom OS, extract key from RAM

(ii) DMA attack

Extract key through DMA interface (PCI-e, Firewire, Thunderbolt, etc.)

Hardware encryption: immune in theory, however

  • Key is kept in RAM for virtually all implementations

To support Suspend-to-RAM (S3)

  • Key is kept in storage controller (Not secure hardware by any standard)

Many have debugging interfaces exposed on PCB

Adversary has physical access: can hot-plug the device Overall: Attack opportunities are more or less equivalent

slide-28
SLIDE 28

PC on

Software encryption: secret key kept in RAM, which has weaknesses. (i) Cold boot attack

Reboot, load custom OS, extract key from RAM

(ii) DMA attack

Extract key through DMA interface (PCI-e, Firewire, Thunderbolt, etc.)

Hardware encryption: immune in theory, however

  • Key is kept in RAM for virtually all implementations

To support Suspend-to-RAM (S3)

  • Key is kept in storage controller (Not secure hardware by any standard)

Many have debugging interfaces exposed on PCB

Adversary has physical access: can hot-plug the device Overall: Attack opportunities are more or less equivalent

slide-29
SLIDE 29

PC on

Software encryption: secret key kept in RAM, which has weaknesses. (i) Cold boot attack

Reboot, load custom OS, extract key from RAM

(ii) DMA attack

Extract key through DMA interface (PCI-e, Firewire, Thunderbolt, etc.)

Hardware encryption: immune in theory, however

  • Key is kept in RAM for virtually all implementations

To support Suspend-to-RAM (S3)

  • Key is kept in storage controller (Not secure hardware by any standard)

Many have debugging interfaces exposed on PCB

  • Adversary has physical access: can hot-plug the device

Overall: Attack opportunities are more or less equivalent

slide-30
SLIDE 30

PC on

Software encryption: secret key kept in RAM, which has weaknesses. (i) Cold boot attack

Reboot, load custom OS, extract key from RAM

(ii) DMA attack

Extract key through DMA interface (PCI-e, Firewire, Thunderbolt, etc.)

Hardware encryption: immune in theory, however

  • Key is kept in RAM for virtually all implementations

To support Suspend-to-RAM (S3)

  • Key is kept in storage controller (Not secure hardware by any standard)

Many have debugging interfaces exposed on PCB

  • Adversary has physical access: can hot-plug the device

Overall: Attack opportunities are more or less equivalent

slide-31
SLIDE 31

Security guarantees of Self-Encrypting Drives

Typical three attacker models for Full-Disk Encryption. All involve physical access. (i) PC on (ii) PC off, victim unaware:

Physical encounter is not noticed by the victim

(iii) PC off, victim aware:

Drive is lost or stolen, machine considered “tainted”.

slide-32
SLIDE 32

PC off, victim unaware

Evil maid attack (1) Install backdoor functionality (2) Wait for victim to enter secret key in the machine (3) Exfjltrate data Examples: Hardware keylogger Backdoor in boot loader Overall: SEDs don’t offer added protection equivalent

slide-33
SLIDE 33

PC off, victim unaware

Evil maid attack (1) Install backdoor functionality (2) Wait for victim to enter secret key in the machine (3) Exfjltrate data Examples: Hardware keylogger Backdoor in boot loader Overall: SEDs don’t offer added protection equivalent

slide-34
SLIDE 34

PC off, victim unaware

Evil maid attack (1) Install backdoor functionality (2) Wait for victim to enter secret key in the machine (3) Exfjltrate data Examples: Hardware keylogger Backdoor in boot loader Overall: SEDs don’t offer added protection equivalent

slide-35
SLIDE 35

PC off, victim unaware

Evil maid attack (1) Install backdoor functionality (2) Wait for victim to enter secret key in the machine (3) Exfjltrate data Examples: Hardware keylogger Backdoor in boot loader Overall: SEDs don’t offer added protection equivalent

slide-36
SLIDE 36

PC off, victim unaware

Evil maid attack (1) Install backdoor functionality (2) Wait for victim to enter secret key in the machine (3) Exfjltrate data Examples:

  • Hardware keylogger

Backdoor in boot loader Overall: SEDs don’t offer added protection equivalent

slide-37
SLIDE 37

PC off, victim unaware

Evil maid attack (1) Install backdoor functionality (2) Wait for victim to enter secret key in the machine (3) Exfjltrate data Examples:

  • Hardware keylogger
  • Backdoor in boot loader

Overall: SEDs don’t offer added protection equivalent

slide-38
SLIDE 38

PC off, victim unaware

Evil maid attack (1) Install backdoor functionality (2) Wait for victim to enter secret key in the machine (3) Exfjltrate data Examples:

  • Hardware keylogger
  • Backdoor in boot loader

Overall: SEDs don’t offer added protection → equivalent

slide-39
SLIDE 39

Security guarantees of Self-Encrypting Drives

Typical three attacker models for Full-Disk Encryption. All involve physical access. (i) PC on (ii) PC off, victim unaware:

Physical encounter is not noticed by the victim

(iii) PC off, victim aware:

Drive is lost or stolen, machine considered “tainted”.

slide-40
SLIDE 40

PC off, victim aware

Software encryption provides full confjdentiality of the data

(given that the implementation is sound)

Options: Open source (audited) software Proprietary software with public implementation details Proprietary (black-box) implementation

With hardware encryption, no other option than the black-box

Extremely hard to audit Additional pitfalls that apply particularly to hardware (later)

slide-41
SLIDE 41

PC off, victim aware

Software encryption provides full confjdentiality of the data

(given that the implementation is sound)

Options:

  • Open source (audited) software

Proprietary software with public implementation details Proprietary (black-box) implementation

With hardware encryption, no other option than the black-box

Extremely hard to audit Additional pitfalls that apply particularly to hardware (later)

slide-42
SLIDE 42

PC off, victim aware

Software encryption provides full confjdentiality of the data

(given that the implementation is sound)

Options:

  • Open source (audited) software
  • Proprietary software with public implementation details

Proprietary (black-box) implementation

With hardware encryption, no other option than the black-box

Extremely hard to audit Additional pitfalls that apply particularly to hardware (later)

slide-43
SLIDE 43

PC off, victim aware

Software encryption provides full confjdentiality of the data

(given that the implementation is sound)

Options:

  • Open source (audited) software
  • Proprietary software with public implementation details
  • Proprietary (black-box) implementation

With hardware encryption, no other option than the black-box

Extremely hard to audit Additional pitfalls that apply particularly to hardware (later)

slide-44
SLIDE 44

PC off, victim aware

Software encryption provides full confjdentiality of the data

(given that the implementation is sound)

Options:

  • Open source (audited) software
  • Proprietary software with public implementation details
  • Proprietary (black-box) implementation

With hardware encryption, no other option than the black-box

Extremely hard to audit Additional pitfalls that apply particularly to hardware (later)

slide-45
SLIDE 45

PC off, victim aware

Software encryption provides full confjdentiality of the data

(given that the implementation is sound)

Options:

  • Open source (audited) software
  • Proprietary software with public implementation details
  • Proprietary (black-box) implementation

With hardware encryption, no other option than the black-box

  • Extremely hard to audit

Additional pitfalls that apply particularly to hardware (later)

slide-46
SLIDE 46

PC off, victim aware

Software encryption provides full confjdentiality of the data

(given that the implementation is sound)

Options:

  • Open source (audited) software
  • Proprietary software with public implementation details
  • Proprietary (black-box) implementation

With hardware encryption, no other option than the black-box

  • Extremely hard to audit
  • Additional pitfalls that apply particularly to hardware (later)
slide-47
SLIDE 47

Security guarantees of Self-Encrypting Drives

Typical three attacker models for Full-Disk Encryption. All involve physical access. (i) PC on (ii) PC off, victim unaware:

Physical encounter is not noticed by the victim

(iii) PC off, victim aware:

Drive is lost or stolen, machine considered “tainted”.

Thus, security guarantees are equivalent. At best.

slide-48
SLIDE 48

Security guarantees of Self-Encrypting Drives

Typical three attacker models for Full-Disk Encryption. All involve physical access. (i) PC on (ii) PC off, victim unaware:

Physical encounter is not noticed by the victim

(iii) PC off, victim aware:

Drive is lost or stolen, machine considered “tainted”.

Thus, security guarantees are equivalent. At best.

slide-49
SLIDE 49

Standards

for Self-Encrypting Drives

slide-50
SLIDE 50

Standards for Self-Encrypting Drives

Two widely used standards exist (i) ATA Security Feature Set

Originally designed for access control only

(ii) TCG Opal

Modern standard designed specifjcally for SEDs

https://medium.com/@andrewpgsweeny/ beyond-the-red-pill-and-the-blue-pill-9ef953d6e133

slide-51
SLIDE 51

Standards for Self-Encrypting Drives

Two widely used standards exist (i) ATA Security Feature Set

Originally designed for access control only

(ii) TCG Opal

Modern standard designed specifjcally for SEDs

https://medium.com/@andrewpgsweeny/ beyond-the-red-pill-and-the-blue-pill-9ef953d6e133

slide-52
SLIDE 52

Suppose you would implement this yourself

It would probably look something like this

Stored data

User-supplied password Salt#1 Salt#2 Hash output Keyed hash Hash result Compare Match/no match Keyed hash DEK

So far, easy

slide-53
SLIDE 53

Suppose you would implement this yourself

It would probably look something like this

Stored data

User-supplied password Salt#1 Salt#2 Hash output Keyed hash Hash result Compare Match/no match Keyed hash DEK

So far, easy

slide-54
SLIDE 54

Suppose you would implement this yourself

It would probably look something like this

Stored data

User-supplied password Salt#1 Salt#2 Hash output Keyed hash Hash result Compare Match/no match Keyed hash DEK

So far, easy

slide-55
SLIDE 55

Standards for Self-Encrypting Drives

Two widely used standards exist (i) ATA Security Feature Set

Originally designed for access control only

(ii) TCG Opal

Modern standard designed specifjcally for SEDs

https://medium.com/@andrewpgsweeny/ beyond-the-red-pill-and-the-blue-pill-9ef953d6e133

slide-56
SLIDE 56

ATA Security feature set

  • Originated in the pre-SED era

Thus, “encryption” is not even mentioned in the spec

Two password types: User, Master Both are user-settable, initial master password factory set

MASTER PASSWORD CAPABILITY: High (0), Maximum (1)

High: both User and Master password unlock drive Maximum: Only User unlocks drive, Master may erase Bottom line: Always change the Master password or set to Maximum

In practice, even this is almost always insuffjcient (later)

slide-57
SLIDE 57

ATA Security feature set

  • Originated in the pre-SED era

Thus, “encryption” is not even mentioned in the spec

  • Two password types: User, Master

Both are user-settable, initial master password factory set

MASTER PASSWORD CAPABILITY: High (0), Maximum (1)

High: both User and Master password unlock drive Maximum: Only User unlocks drive, Master may erase Bottom line: Always change the Master password or set to Maximum

In practice, even this is almost always insuffjcient (later)

slide-58
SLIDE 58

ATA Security feature set

  • Originated in the pre-SED era

Thus, “encryption” is not even mentioned in the spec

  • Two password types: User, Master
  • Both are user-settable, initial master password factory set

MASTER PASSWORD CAPABILITY: High (0), Maximum (1)

High: both User and Master password unlock drive Maximum: Only User unlocks drive, Master may erase Bottom line: Always change the Master password or set to Maximum

In practice, even this is almost always insuffjcient (later)

slide-59
SLIDE 59

ATA Security feature set

  • Originated in the pre-SED era

Thus, “encryption” is not even mentioned in the spec

  • Two password types: User, Master
  • Both are user-settable, initial master password factory set
  • MASTER PASSWORD CAPABILITY: High (0), Maximum (1)

High: both User and Master password unlock drive Maximum: Only User unlocks drive, Master may erase Bottom line: Always change the Master password or set to Maximum

In practice, even this is almost always insuffjcient (later)

slide-60
SLIDE 60

ATA Security feature set

  • Originated in the pre-SED era

Thus, “encryption” is not even mentioned in the spec

  • Two password types: User, Master
  • Both are user-settable, initial master password factory set
  • MASTER PASSWORD CAPABILITY: High (0), Maximum (1)

· High: both User and Master password unlock drive Maximum: Only User unlocks drive, Master may erase Bottom line: Always change the Master password or set to Maximum

In practice, even this is almost always insuffjcient (later)

slide-61
SLIDE 61

ATA Security feature set

  • Originated in the pre-SED era

Thus, “encryption” is not even mentioned in the spec

  • Two password types: User, Master
  • Both are user-settable, initial master password factory set
  • MASTER PASSWORD CAPABILITY: High (0), Maximum (1)

· High: both User and Master password unlock drive · Maximum: Only User unlocks drive, Master may erase Bottom line: Always change the Master password or set to Maximum

In practice, even this is almost always insuffjcient (later)

slide-62
SLIDE 62

ATA Security feature set

  • Originated in the pre-SED era

Thus, “encryption” is not even mentioned in the spec

  • Two password types: User, Master
  • Both are user-settable, initial master password factory set
  • MASTER PASSWORD CAPABILITY: High (0), Maximum (1)

· High: both User and Master password unlock drive · Maximum: Only User unlocks drive, Master may erase

  • Bottom line: Always change the Master password or set to Maximum

In practice, even this is almost always insuffjcient (later)

slide-63
SLIDE 63

ATA Security feature set

  • Originated in the pre-SED era

Thus, “encryption” is not even mentioned in the spec

  • Two password types: User, Master
  • Both are user-settable, initial master password factory set
  • MASTER PASSWORD CAPABILITY: High (0), Maximum (1)

· High: both User and Master password unlock drive · Maximum: Only User unlocks drive, Master may erase

  • Bottom line: Always change the Master password or set to Maximum

In practice, even this is almost always insuffjcient (later)

slide-64
SLIDE 64

ATA security feature set

Stored data

User-supplied User password

Master password:

Salt#1 Salt#2 Hash output KEK

User password:

Salt#1 Salt#2 Hash output KEK KEK Keyed hash Hash result Compare Match/no match Keyed hash Key Decrypt Shared key Decrypt DEK

slide-65
SLIDE 65

ATA security feature set

Stored data

User-supplied User password

Master password:

Salt#1 Salt#2 Hash output KEK

User password:

Salt#1 Salt#2 Hash output KEK KEK Keyed hash Hash result Compare Match/no match Keyed hash Key Decrypt Shared key Decrypt DEK

slide-66
SLIDE 66

Standards for Self-Encrypting Drives

Two widely used standards exist (i) ATA Security Feature Set

Originally designed for access control only

(ii) TCG Opal

Modern standard designed specifjcally for SEDs

https://medium.com/@andrewpgsweeny/ beyond-the-red-pill-and-the-blue-pill-9ef953d6e133

slide-67
SLIDE 67

TCG Opal

  • De facto standard for hardware full-disk encryption

Multiple partitions (locking ranges) Multiple passwords (credentials) Single credential can unlock multiple ranges Single range can be unlocked by multiple credentials i.e. many-to-many “Scramble” (i.e. re-generate key) range independently of others Fully trusted by BitLocker

Range 1 Range 2 Range 3 Range 4 Drive space Passwords Password 1 Password 2 Password 3

slide-68
SLIDE 68

TCG Opal

  • De facto standard for hardware full-disk encryption
  • Multiple partitions (locking ranges)

Multiple passwords (credentials) Single credential can unlock multiple ranges Single range can be unlocked by multiple credentials i.e. many-to-many “Scramble” (i.e. re-generate key) range independently of others Fully trusted by BitLocker

Range 1 Range 2 Range 3 Range 4 Drive space Passwords Password 1 Password 2 Password 3

slide-69
SLIDE 69

TCG Opal

  • De facto standard for hardware full-disk encryption
  • Multiple partitions (locking ranges)
  • Multiple passwords (credentials)

Single credential can unlock multiple ranges Single range can be unlocked by multiple credentials i.e. many-to-many “Scramble” (i.e. re-generate key) range independently of others Fully trusted by BitLocker

Range 1 Range 2 Range 3 Range 4 Drive space Passwords Password 1 Password 2 Password 3

slide-70
SLIDE 70

TCG Opal

  • De facto standard for hardware full-disk encryption
  • Multiple partitions (locking ranges)
  • Multiple passwords (credentials)
  • Single credential can unlock multiple ranges

Single range can be unlocked by multiple credentials i.e. many-to-many “Scramble” (i.e. re-generate key) range independently of others Fully trusted by BitLocker

Range 1 Range 2 Range 3 Range 4 Drive space Passwords Password 1 Password 2 Password 3

slide-71
SLIDE 71

TCG Opal

  • De facto standard for hardware full-disk encryption
  • Multiple partitions (locking ranges)
  • Multiple passwords (credentials)
  • Single credential can unlock multiple ranges
  • Single range can be unlocked by multiple credentials

i.e. many-to-many “Scramble” (i.e. re-generate key) range independently of others Fully trusted by BitLocker

Range 1 Range 2 Range 3 Range 4 Drive space Passwords Password 1 Password 2 Password 3

slide-72
SLIDE 72

TCG Opal

  • De facto standard for hardware full-disk encryption
  • Multiple partitions (locking ranges)
  • Multiple passwords (credentials)
  • Single credential can unlock multiple ranges
  • Single range can be unlocked by multiple credentials
  • i.e. many-to-many

“Scramble” (i.e. re-generate key) range independently of others Fully trusted by BitLocker

Range 1 Range 2 Range 3 Range 4 Drive space Passwords Password 1 Password 2 Password 3

✗ ✗ ✗ ✗ ✗

slide-73
SLIDE 73

TCG Opal

  • De facto standard for hardware full-disk encryption
  • Multiple partitions (locking ranges)
  • Multiple passwords (credentials)
  • Single credential can unlock multiple ranges
  • Single range can be unlocked by multiple credentials
  • i.e. many-to-many
  • “Scramble” (i.e. re-generate key) range independently of others

Fully trusted by BitLocker

Range 1 Range 2 Range 3 Range 4 Drive space Passwords Password 1 Password 2 Password 3

✗ ✗ ✗ ✗ ✗

slide-74
SLIDE 74

TCG Opal

  • De facto standard for hardware full-disk encryption
  • Multiple partitions (locking ranges)
  • Multiple passwords (credentials)
  • Single credential can unlock multiple ranges
  • Single range can be unlocked by multiple credentials
  • i.e. many-to-many
  • “Scramble” (i.e. re-generate key) range independently of others
  • Fully trusted by BitLocker

Range 1 Range 2 Range 3 Range 4 Drive space Passwords Password 1 Password 2 Password 3

✗ ✗ ✗ ✗ ✗

slide-75
SLIDE 75

Pitfalls

slide-76
SLIDE 76

Pitfall 1: DEK not derived from password

Host PC Black box NAND Flash Password {data}DEK

Password unlocks drive and DEK is used to encrypt data How they are related is unknown They might not be related at all

slide-77
SLIDE 77

Pitfall 1: DEK not derived from password

Host PC Black box NAND Flash Password {data}DEK

  • Password unlocks drive and DEK is used to encrypt data

How they are related is unknown They might not be related at all

slide-78
SLIDE 78

Pitfall 1: DEK not derived from password

Host PC Black box NAND Flash Password {data}DEK

  • Password unlocks drive and DEK is used to encrypt data
  • How they are related is unknown

They might not be related at all

slide-79
SLIDE 79

Pitfall 1: DEK not derived from password

Host PC Black box NAND Flash Password {data}DEK

  • Password unlocks drive and DEK is used to encrypt data
  • How they are related is unknown
  • They might not be related at all
slide-80
SLIDE 80

Pitfall 2: Single DEK for entire drive

DEK Strong Password 1 Encrypted DEK 1 Decrypt Strong Password 2 Encrypted DEK 2 Decrypt Weak Password 3 Encrypted DEK 3 Decrypt

Weakest password will grant access to all ranges

Even to ranges for which no permission is granted

No cryptographic enforcement, but if-statements BitLocker leaves an Opal range unprotected (partition table)

Thus, in this case, DEK is recoverable without a password

slide-81
SLIDE 81

Pitfall 2: Single DEK for entire drive

DEK Strong Password 1 Encrypted DEK 1 Decrypt Strong Password 2 Encrypted DEK 2 Decrypt Weak Password 3 Encrypted DEK 3 Decrypt

  • Weakest password will grant access to all ranges

Even to ranges for which no permission is granted

No cryptographic enforcement, but if-statements BitLocker leaves an Opal range unprotected (partition table)

Thus, in this case, DEK is recoverable without a password

slide-82
SLIDE 82

Pitfall 2: Single DEK for entire drive

DEK Strong Password 1 Encrypted DEK 1 Decrypt Strong Password 2 Encrypted DEK 2 Decrypt Weak Password 3 Encrypted DEK 3 Decrypt

  • Weakest password will grant access to all ranges

Even to ranges for which no permission is granted

  • No cryptographic enforcement, but if-statements

BitLocker leaves an Opal range unprotected (partition table)

Thus, in this case, DEK is recoverable without a password

slide-83
SLIDE 83

Pitfall 2: Single DEK for entire drive

DEK Strong Password 1 Encrypted DEK 1 Decrypt Strong Password 2 Encrypted DEK 2 Decrypt Weak Password 3 Encrypted DEK 3 Decrypt

  • Weakest password will grant access to all ranges

Even to ranges for which no permission is granted

  • No cryptographic enforcement, but if-statements
  • BitLocker leaves an Opal range unprotected (partition table)

Thus, in this case, DEK is recoverable without a password

slide-84
SLIDE 84

Pitfall 2: Single DEK for entire drive

DEK Strong Password 1 Encrypted DEK 1 Decrypt Strong Password 2 Encrypted DEK 2 Decrypt Weak Password 3 Encrypted DEK 3 Decrypt

  • Weakest password will grant access to all ranges

Even to ranges for which no permission is granted

  • No cryptographic enforcement, but if-statements
  • BitLocker leaves an Opal range unprotected (partition table)

→ Thus, in this case, DEK is recoverable without a password

slide-85
SLIDE 85

Pitfall 3: ATA Master password re-enable

Stored data Master password:

Salt#1 Salt#2 Hash output KEK

User password:

Salt#1 Salt#2 Hash output KEK

Recall: You should set the MASTER PASSWORD CAPABILITY to Max Ideally, this erases key material However, the standard allows resetting it to High, using only the user password In practice, key material remains stored. If unchanged, factory default master password allows data to be recovered

slide-86
SLIDE 86

Pitfall 3: ATA Master password re-enable

Stored data Master password:

Salt#1 Salt#2 Hash output KEK

User password:

Salt#1 Salt#2 Hash output KEK

  • Recall: You should set the MASTER PASSWORD CAPABILITY to Max

Ideally, this erases key material However, the standard allows resetting it to High, using only the user password In practice, key material remains stored. If unchanged, factory default master password allows data to be recovered

slide-87
SLIDE 87

Pitfall 3: ATA Master password re-enable

Stored data Master password:

Salt#1 Salt#2 Hash output KEK

User password:

Salt#1 Salt#2 Hash output KEK

  • Recall: You should set the MASTER PASSWORD CAPABILITY to Max
  • Ideally, this erases key material

However, the standard allows resetting it to High, using only the user password In practice, key material remains stored. If unchanged, factory default master password allows data to be recovered

slide-88
SLIDE 88

Pitfall 3: ATA Master password re-enable

Stored data Master password:

Salt#1 Salt#2 Hash output KEK

User password:

Salt#1 Salt#2 Hash output KEK

  • Recall: You should set the MASTER PASSWORD CAPABILITY to Max
  • Ideally, this erases key material
  • However, the standard allows resetting it to High, using only the user

password In practice, key material remains stored. If unchanged, factory default master password allows data to be recovered

slide-89
SLIDE 89

Pitfall 3: ATA Master password re-enable

Stored data Master password:

Salt#1 Salt#2 Hash output KEK

User password:

Salt#1 Salt#2 Hash output KEK

  • Recall: You should set the MASTER PASSWORD CAPABILITY to Max
  • Ideally, this erases key material
  • However, the standard allows resetting it to High, using only the user

password

  • In practice, key material remains stored. If unchanged, factory default

master password allows data to be recovered

slide-90
SLIDE 90

Pitfall 4: Wear Leveling

Multiple writes to the same logical sector trigger writes to different physical sectors

Plaintext DEK NAND before Plaintext DEK Encrypted DEK NAND after User sets password

Set password

  • verwrite of unprotected DEK with encrypted variant

Unprotected DEK may still be present in physical fmash

slide-91
SLIDE 91

Pitfall 4: Wear Leveling

Multiple writes to the same logical sector trigger writes to different physical sectors

Plaintext DEK NAND before Plaintext DEK Encrypted DEK NAND after User sets password

Set password

  • verwrite of unprotected DEK with encrypted variant

Unprotected DEK may still be present in physical fmash

slide-92
SLIDE 92

Pitfall 4: Wear Leveling

Multiple writes to the same logical sector trigger writes to different physical sectors

Plaintext DEK NAND before Plaintext DEK Encrypted DEK NAND after User sets password

  • Set password → overwrite of unprotected DEK with encrypted variant

Unprotected DEK may still be present in physical fmash

slide-93
SLIDE 93

Pitfall 4: Wear Leveling

Multiple writes to the same logical sector trigger writes to different physical sectors

Plaintext DEK NAND before Plaintext DEK Encrypted DEK NAND after User sets password

  • Set password → overwrite of unprotected DEK with encrypted variant
  • Unprotected DEK may still be present in physical fmash
slide-94
SLIDE 94

Other pitfalls

  • Random entropy generation

Power-saving mode: DEVSLP

Drive may dump its RAM incl. crypto keys to non-volatile memory, and shut off the RAM.

General implementation issues

Mode of operation (ECB, CBC, CTR, XTS), Side channels, Key derivation, etc.

slide-95
SLIDE 95

Other pitfalls

  • Random entropy generation
  • Power-saving mode: DEVSLP

Drive may dump its RAM incl. crypto keys to non-volatile memory, and shut off the RAM.

General implementation issues

Mode of operation (ECB, CBC, CTR, XTS), Side channels, Key derivation, etc.

slide-96
SLIDE 96

Other pitfalls

  • Random entropy generation
  • Power-saving mode: DEVSLP

Drive may dump its RAM incl. crypto keys to non-volatile memory, and shut off the RAM.

General implementation issues

Mode of operation (ECB, CBC, CTR, XTS), Side channels, Key derivation, etc.

slide-97
SLIDE 97

Other pitfalls

  • Random entropy generation
  • Power-saving mode: DEVSLP

Drive may dump its RAM incl. crypto keys to non-volatile memory, and shut off the RAM.

  • General implementation issues

Mode of operation (ECB, CBC, CTR, XTS), Side channels, Key derivation, etc.

slide-98
SLIDE 98

Other pitfalls

  • Random entropy generation
  • Power-saving mode: DEVSLP

Drive may dump its RAM incl. crypto keys to non-volatile memory, and shut off the RAM.

  • General implementation issues

Mode of operation (ECB, CBC, CTR, XTS), Side channels, Key derivation, etc.

slide-99
SLIDE 99

Methodology

slide-100
SLIDE 100

Methodology

General approach (i) Obtain a fjrmware image (ii) Gain low level control over the device (iii) Analyze the fjrmware

slide-101
SLIDE 101

Methodology

General approach (i) Obtain a fjrmware image (ii) Gain low level control over the device (iii) Analyze the fjrmware

slide-102
SLIDE 102

Methodology

General approach (i) Obtain a fjrmware image (ii) Gain low level control over the device (iii) Analyze the fjrmware

slide-103
SLIDE 103

Methodology

General approach (i) Obtain a fjrmware image (ii) Gain low level control over the device (iii) Analyze the fjrmware

slide-104
SLIDE 104

Methodology

General approach (i) Obtain a fjrmware image (ii) Gain low level control over the device (iii) Analyze the fjrmware

slide-105
SLIDE 105

Obtain a fjrmware image

Obtain a fjrmware image

Decompilation of Samsung Magician tool

(i) Download it (harder than it seems) There’s usually obfuscation applied Capture SSL traffjc, reverse engineer, etc. Image may be encrypted, decryption by the unit itself dead end (ii) Pull the fjrmware from RAM through JTAG (next)

slide-106
SLIDE 106

Obtain a fjrmware image

Obtain a fjrmware image

Decompilation of Samsung Magician tool

(i) Download it (harder than it seems) · There’s usually obfuscation applied Capture SSL traffjc, reverse engineer, etc. Image may be encrypted, decryption by the unit itself dead end (ii) Pull the fjrmware from RAM through JTAG (next)

slide-107
SLIDE 107

Obtain a fjrmware image

Obtain a fjrmware image

Decompilation of Samsung Magician tool

(i) Download it (harder than it seems) · There’s usually obfuscation applied · Capture SSL traffjc, reverse engineer, etc. Image may be encrypted, decryption by the unit itself dead end (ii) Pull the fjrmware from RAM through JTAG (next)

slide-108
SLIDE 108

Obtain a fjrmware image

Obtain a fjrmware image

Decompilation of Samsung Magician tool

(i) Download it (harder than it seems) · There’s usually obfuscation applied · Capture SSL traffjc, reverse engineer, etc. · Image may be encrypted, decryption by the unit itself → dead end (ii) Pull the fjrmware from RAM through JTAG (next)

slide-109
SLIDE 109

Obtain a fjrmware image

Obtain a fjrmware image

Decompilation of Samsung Magician tool

(i) Download it (harder than it seems) · There’s usually obfuscation applied · Capture SSL traffjc, reverse engineer, etc. · Image may be encrypted, decryption by the unit itself → dead end (ii) Pull the fjrmware from RAM through JTAG (next)

slide-110
SLIDE 110

Methodology

General approach (i) Obtain a fjrmware image (ii) Gain low level control over the device (iii) Analyze the fjrmware

slide-111
SLIDE 111

Gaining low level control

More or less equal capabilities: (i) JTAG (allows you to halt the CPU, get/set registers, read/write

in the address space, etc.)

Some models have it in plain sight Others need some fjguring out

(ii) Obtain unsigned code execution

Find an undocumented command that allows this Exploit a vulnerability Modify code stored on memory chips Bypass cryptographic signatures with fault injection

JTAG pins on the Crucial MX100. JTAGulator

slide-112
SLIDE 112

Gaining low level control

More or less equal capabilities: (i) JTAG (allows you to halt the CPU, get/set registers, read/write

in the address space, etc.)

· Some models have it in plain sight Others need some fjguring out

(ii) Obtain unsigned code execution

Find an undocumented command that allows this Exploit a vulnerability Modify code stored on memory chips Bypass cryptographic signatures with fault injection

ARM14 JTAG

JTAG pins on the Crucial MX100. JTAGulator

slide-113
SLIDE 113

Gaining low level control

More or less equal capabilities: (i) JTAG (allows you to halt the CPU, get/set registers, read/write

in the address space, etc.)

· Some models have it in plain sight · Others need some fjguring out

(ii) Obtain unsigned code execution

Find an undocumented command that allows this Exploit a vulnerability Modify code stored on memory chips Bypass cryptographic signatures with fault injection

ARM14 JTAG

JTAG pins on the Crucial MX100. JTAGulator

slide-114
SLIDE 114

Gaining low level control

More or less equal capabilities: (i) JTAG (allows you to halt the CPU, get/set registers, read/write

in the address space, etc.)

· Some models have it in plain sight · Others need some fjguring out

(ii) Obtain unsigned code execution

Find an undocumented command that allows this Exploit a vulnerability Modify code stored on memory chips Bypass cryptographic signatures with fault injection

ARM14 JTAG

JTAG pins on the Crucial MX100. JTAGulator

slide-115
SLIDE 115

Gaining low level control

More or less equal capabilities: (i) JTAG (allows you to halt the CPU, get/set registers, read/write

in the address space, etc.)

· Some models have it in plain sight · Others need some fjguring out

(ii) Obtain unsigned code execution

· Find an undocumented command that allows this Exploit a vulnerability Modify code stored on memory chips Bypass cryptographic signatures with fault injection

ARM14 JTAG

JTAG pins on the Crucial MX100. JTAGulator

slide-116
SLIDE 116

Gaining low level control

More or less equal capabilities: (i) JTAG (allows you to halt the CPU, get/set registers, read/write

in the address space, etc.)

· Some models have it in plain sight · Others need some fjguring out

(ii) Obtain unsigned code execution

· Find an undocumented command that allows this · Exploit a vulnerability Modify code stored on memory chips Bypass cryptographic signatures with fault injection

ARM14 JTAG

JTAG pins on the Crucial MX100. JTAGulator

slide-117
SLIDE 117

Gaining low level control

More or less equal capabilities: (i) JTAG (allows you to halt the CPU, get/set registers, read/write

in the address space, etc.)

· Some models have it in plain sight · Others need some fjguring out

(ii) Obtain unsigned code execution

· Find an undocumented command that allows this · Exploit a vulnerability · Modify code stored on memory chips Bypass cryptographic signatures with fault injection

ARM14 JTAG

JTAG pins on the Crucial MX100. JTAGulator

slide-118
SLIDE 118

Gaining low level control

More or less equal capabilities: (i) JTAG (allows you to halt the CPU, get/set registers, read/write

in the address space, etc.)

· Some models have it in plain sight · Others need some fjguring out

(ii) Obtain unsigned code execution

· Find an undocumented command that allows this · Exploit a vulnerability · Modify code stored on memory chips · Bypass cryptographic signatures with fault injection

ARM14 JTAG

JTAG pins on the Crucial MX100. JTAGulator

slide-119
SLIDE 119

Methodology

General approach (i) Obtain a fjrmware image (ii) Gain low level control over the device (iii) Analyze the fjrmware

slide-120
SLIDE 120

Analyze the fjrmware

Parsed header of MX300 FW image

(i) Figure out the section information

From image header

(ii) Load the image into a disassembler

(We used IDA Pro for this purpose)

(iii) Figure out what the fjrmware does Try to fjnd the ATA dispatch table Look through functions with interesting opcodes

ATA Dispatch table in fjrmware ATA specifjcation

slide-121
SLIDE 121

Analyze the fjrmware

Parsed header of MX300 FW image

(i) Figure out the section information

· From image header

(ii) Load the image into a disassembler

(We used IDA Pro for this purpose)

(iii) Figure out what the fjrmware does Try to fjnd the ATA dispatch table Look through functions with interesting opcodes

ATA Dispatch table in fjrmware ATA specifjcation

slide-122
SLIDE 122

Analyze the fjrmware

Parsed header of MX300 FW image

(i) Figure out the section information

· From image header

(ii) Load the image into a disassembler

(We used IDA Pro for this purpose)

(iii) Figure out what the fjrmware does Try to fjnd the ATA dispatch table Look through functions with interesting opcodes

ATA Dispatch table in fjrmware ATA specifjcation

slide-123
SLIDE 123

Analyze the fjrmware

Parsed header of MX300 FW image

(i) Figure out the section information

· From image header

(ii) Load the image into a disassembler

(We used IDA Pro for this purpose)

(iii) Figure out what the fjrmware does Try to fjnd the ATA dispatch table Look through functions with interesting opcodes

ATA Dispatch table in fjrmware ATA specifjcation

slide-124
SLIDE 124

Analyze the fjrmware

Parsed header of MX300 FW image

(i) Figure out the section information

· From image header

(ii) Load the image into a disassembler

(We used IDA Pro for this purpose)

(iii) Figure out what the fjrmware does · Try to fjnd the ATA dispatch table Look through functions with interesting opcodes

ATA Dispatch table in fjrmware ATA specifjcation

slide-125
SLIDE 125

Analyze the fjrmware

Parsed header of MX300 FW image

(i) Figure out the section information

· From image header

(ii) Load the image into a disassembler

(We used IDA Pro for this purpose)

(iii) Figure out what the fjrmware does · Try to fjnd the ATA dispatch table · Look through functions with interesting opcodes

ATA Dispatch table in fjrmware ATA specifjcation

slide-126
SLIDE 126

Results

slide-127
SLIDE 127

Results

  • Models studied released in

2014-2018 Different form factors

SATA, NVMe, USB

Most have severe weaknesses Best case scenario: security guarantees are equivalent to software FDE Worst case: confjdentiality relies

  • n an if-statement

BitLocker delegating trust amplifjes the issue TCG Opal is terrible

Over-engineered Security goals not clear No reference implementation exists Implementation is not even part of complience tests Structural changes needed

Drive

1 2 3 4 5 6 7 8 9

Impact Crucial MX100 (all) ✗ ✗ ✗ ✗

  • Compromised

Crucial MX200 (all) ✗ ✗ ✗ ✗

  • Compromised

Crucial MX300 (all)

  • Compromised

Sandisk X600 (SATA)

Probably compromised Samsung 840 EVO (SATA) ✗

  • Depends

Samsung 850 EVO (SATA) ✗

  • Depends

Samsung 950 PRO (NVMe) ✗

  • Probably safe

Samsung T3 (USB) ✗

  • Compromised

Samsung T5 (USB) ✗

  • Compromised

1 Derivation of the DEK from the password in ATA Security (High mode) 2 Derivation of the DEK from the password in ATA Security (Max mode) 3 Derivation of the DEK from the password in TCG Opal 4 Derivation of the DEK from the password in proprietary standard 5 No single key for entire disk 6 Not vulnerable to ATA Master password re-enabling (only if derivation is present) 7 Randomized DEK on sanitize and suffjcient random entropy 8 No wear leveling related issues 9 No DEVSLP related issues

slide-128
SLIDE 128

Results

  • Models studied released in

2014-2018

  • Different form factors

SATA, NVMe, USB

Most have severe weaknesses Best case scenario: security guarantees are equivalent to software FDE Worst case: confjdentiality relies

  • n an if-statement

BitLocker delegating trust amplifjes the issue TCG Opal is terrible

Over-engineered Security goals not clear No reference implementation exists Implementation is not even part of complience tests Structural changes needed

Drive

1 2 3 4 5 6 7 8 9

Impact Crucial MX100 (all) ✗ ✗ ✗ ✗

  • Compromised

Crucial MX200 (all) ✗ ✗ ✗ ✗

  • Compromised

Crucial MX300 (all)

  • Compromised

Sandisk X600 (SATA)

Probably compromised Samsung 840 EVO (SATA) ✗

  • Depends

Samsung 850 EVO (SATA) ✗

  • Depends

Samsung 950 PRO (NVMe) ✗

  • Probably safe

Samsung T3 (USB) ✗

  • Compromised

Samsung T5 (USB) ✗

  • Compromised

1 Derivation of the DEK from the password in ATA Security (High mode) 2 Derivation of the DEK from the password in ATA Security (Max mode) 3 Derivation of the DEK from the password in TCG Opal 4 Derivation of the DEK from the password in proprietary standard 5 No single key for entire disk 6 Not vulnerable to ATA Master password re-enabling (only if derivation is present) 7 Randomized DEK on sanitize and suffjcient random entropy 8 No wear leveling related issues 9 No DEVSLP related issues

slide-129
SLIDE 129

Results

  • Models studied released in

2014-2018

  • Different form factors

SATA, NVMe, USB

  • Most have severe weaknesses

Best case scenario: security guarantees are equivalent to software FDE Worst case: confjdentiality relies

  • n an if-statement

BitLocker delegating trust amplifjes the issue TCG Opal is terrible

Over-engineered Security goals not clear No reference implementation exists Implementation is not even part of complience tests Structural changes needed

Drive

1 2 3 4 5 6 7 8 9

Impact Crucial MX100 (all) ✗ ✗ ✗ ✗

  • Compromised

Crucial MX200 (all) ✗ ✗ ✗ ✗

  • Compromised

Crucial MX300 (all)

  • Compromised

Sandisk X600 (SATA)

Probably compromised Samsung 840 EVO (SATA) ✗

  • Depends

Samsung 850 EVO (SATA) ✗

  • Depends

Samsung 950 PRO (NVMe) ✗

  • Probably safe

Samsung T3 (USB) ✗

  • Compromised

Samsung T5 (USB) ✗

  • Compromised

1 Derivation of the DEK from the password in ATA Security (High mode) 2 Derivation of the DEK from the password in ATA Security (Max mode) 3 Derivation of the DEK from the password in TCG Opal 4 Derivation of the DEK from the password in proprietary standard 5 No single key for entire disk 6 Not vulnerable to ATA Master password re-enabling (only if derivation is present) 7 Randomized DEK on sanitize and suffjcient random entropy 8 No wear leveling related issues 9 No DEVSLP related issues

slide-130
SLIDE 130

Results

  • Models studied released in

2014-2018

  • Different form factors

SATA, NVMe, USB

  • Most have severe weaknesses
  • Best case scenario: security

guarantees are equivalent to software FDE Worst case: confjdentiality relies

  • n an if-statement

BitLocker delegating trust amplifjes the issue TCG Opal is terrible

Over-engineered Security goals not clear No reference implementation exists Implementation is not even part of complience tests Structural changes needed

Drive

1 2 3 4 5 6 7 8 9

Impact Crucial MX100 (all) ✗ ✗ ✗ ✗

  • Compromised

Crucial MX200 (all) ✗ ✗ ✗ ✗

  • Compromised

Crucial MX300 (all)

  • Compromised

Sandisk X600 (SATA)

Probably compromised Samsung 840 EVO (SATA) ✗

  • Depends

Samsung 850 EVO (SATA) ✗

  • Depends

Samsung 950 PRO (NVMe) ✗

  • Probably safe

Samsung T3 (USB) ✗

  • Compromised

Samsung T5 (USB) ✗

  • Compromised

1 Derivation of the DEK from the password in ATA Security (High mode) 2 Derivation of the DEK from the password in ATA Security (Max mode) 3 Derivation of the DEK from the password in TCG Opal 4 Derivation of the DEK from the password in proprietary standard 5 No single key for entire disk 6 Not vulnerable to ATA Master password re-enabling (only if derivation is present) 7 Randomized DEK on sanitize and suffjcient random entropy 8 No wear leveling related issues 9 No DEVSLP related issues

slide-131
SLIDE 131

Results

  • Models studied released in

2014-2018

  • Different form factors

SATA, NVMe, USB

  • Most have severe weaknesses
  • Best case scenario: security

guarantees are equivalent to software FDE

  • Worst case: confjdentiality relies
  • n an if-statement

BitLocker delegating trust amplifjes the issue TCG Opal is terrible

Over-engineered Security goals not clear No reference implementation exists Implementation is not even part of complience tests Structural changes needed

Drive

1 2 3 4 5 6 7 8 9

Impact Crucial MX100 (all) ✗ ✗ ✗ ✗

  • Compromised

Crucial MX200 (all) ✗ ✗ ✗ ✗

  • Compromised

Crucial MX300 (all)

  • Compromised

Sandisk X600 (SATA)

Probably compromised Samsung 840 EVO (SATA) ✗

  • Depends

Samsung 850 EVO (SATA) ✗

  • Depends

Samsung 950 PRO (NVMe) ✗

  • Probably safe

Samsung T3 (USB) ✗

  • Compromised

Samsung T5 (USB) ✗

  • Compromised

1 Derivation of the DEK from the password in ATA Security (High mode) 2 Derivation of the DEK from the password in ATA Security (Max mode) 3 Derivation of the DEK from the password in TCG Opal 4 Derivation of the DEK from the password in proprietary standard 5 No single key for entire disk 6 Not vulnerable to ATA Master password re-enabling (only if derivation is present) 7 Randomized DEK on sanitize and suffjcient random entropy 8 No wear leveling related issues 9 No DEVSLP related issues

slide-132
SLIDE 132

Results

  • Models studied released in

2014-2018

  • Different form factors

SATA, NVMe, USB

  • Most have severe weaknesses
  • Best case scenario: security

guarantees are equivalent to software FDE

  • Worst case: confjdentiality relies
  • n an if-statement
  • BitLocker delegating trust

amplifjes the issue TCG Opal is terrible

Over-engineered Security goals not clear No reference implementation exists Implementation is not even part of complience tests Structural changes needed

Drive

1 2 3 4 5 6 7 8 9

Impact Crucial MX100 (all) ✗ ✗ ✗ ✗

  • Compromised

Crucial MX200 (all) ✗ ✗ ✗ ✗

  • Compromised

Crucial MX300 (all)

  • Compromised

Sandisk X600 (SATA)

Probably compromised Samsung 840 EVO (SATA) ✗

  • Depends

Samsung 850 EVO (SATA) ✗

  • Depends

Samsung 950 PRO (NVMe) ✗

  • Probably safe

Samsung T3 (USB) ✗

  • Compromised

Samsung T5 (USB) ✗

  • Compromised

1 Derivation of the DEK from the password in ATA Security (High mode) 2 Derivation of the DEK from the password in ATA Security (Max mode) 3 Derivation of the DEK from the password in TCG Opal 4 Derivation of the DEK from the password in proprietary standard 5 No single key for entire disk 6 Not vulnerable to ATA Master password re-enabling (only if derivation is present) 7 Randomized DEK on sanitize and suffjcient random entropy 8 No wear leveling related issues 9 No DEVSLP related issues

slide-133
SLIDE 133

Results

Models studied released in 2014-2018 Different form factors

SATA, NVMe, USB

Most have severe weaknesses Best case scenario: security guarantees are equivalent to software FDE Worst case: confjdentiality relies

  • n an if-statement

BitLocker delegating trust amplifjes the issue

  • TCG Opal is terrible

Over-engineered Security goals not clear No reference implementation exists Implementation is not even part of complience tests Structural changes needed

Drive

1 2 3 4 5 6 7 8 9

Impact Crucial MX100 (all) ✗ ✗ ✗ ✗

  • Compromised

Crucial MX200 (all) ✗ ✗ ✗ ✗

  • Compromised

Crucial MX300 (all)

  • Compromised

Sandisk X600 (SATA)

Probably compromised Samsung 840 EVO (SATA) ✗

  • Depends

Samsung 850 EVO (SATA) ✗

  • Depends

Samsung 950 PRO (NVMe) ✗

  • Probably safe

Samsung T3 (USB) ✗

  • Compromised

Samsung T5 (USB) ✗

  • Compromised

1 Derivation of the DEK from the password in ATA Security (High mode) 2 Derivation of the DEK from the password in ATA Security (Max mode) 3 Derivation of the DEK from the password in TCG Opal 4 Derivation of the DEK from the password in proprietary standard 5 No single key for entire disk 6 Not vulnerable to ATA Master password re-enabling (only if derivation is present) 7 Randomized DEK on sanitize and suffjcient random entropy 8 No wear leveling related issues 9 No DEVSLP related issues

slide-134
SLIDE 134

Results

Models studied released in 2014-2018 Different form factors

SATA, NVMe, USB

Most have severe weaknesses Best case scenario: security guarantees are equivalent to software FDE Worst case: confjdentiality relies

  • n an if-statement

BitLocker delegating trust amplifjes the issue

  • TCG Opal is terrible

· Over-engineered Security goals not clear No reference implementation exists Implementation is not even part of complience tests Structural changes needed

Drive

1 2 3 4 5 6 7 8 9

Impact Crucial MX100 (all) ✗ ✗ ✗ ✗

  • Compromised

Crucial MX200 (all) ✗ ✗ ✗ ✗

  • Compromised

Crucial MX300 (all)

  • Compromised

Sandisk X600 (SATA)

Probably compromised Samsung 840 EVO (SATA) ✗

  • Depends

Samsung 850 EVO (SATA) ✗

  • Depends

Samsung 950 PRO (NVMe) ✗

  • Probably safe

Samsung T3 (USB) ✗

  • Compromised

Samsung T5 (USB) ✗

  • Compromised

1 Derivation of the DEK from the password in ATA Security (High mode) 2 Derivation of the DEK from the password in ATA Security (Max mode) 3 Derivation of the DEK from the password in TCG Opal 4 Derivation of the DEK from the password in proprietary standard 5 No single key for entire disk 6 Not vulnerable to ATA Master password re-enabling (only if derivation is present) 7 Randomized DEK on sanitize and suffjcient random entropy 8 No wear leveling related issues 9 No DEVSLP related issues

slide-135
SLIDE 135

Results

Models studied released in 2014-2018 Different form factors

SATA, NVMe, USB

Most have severe weaknesses Best case scenario: security guarantees are equivalent to software FDE Worst case: confjdentiality relies

  • n an if-statement

BitLocker delegating trust amplifjes the issue

  • TCG Opal is terrible

· Over-engineered · Security goals not clear No reference implementation exists Implementation is not even part of complience tests Structural changes needed

Drive

1 2 3 4 5 6 7 8 9

Impact Crucial MX100 (all) ✗ ✗ ✗ ✗

  • Compromised

Crucial MX200 (all) ✗ ✗ ✗ ✗

  • Compromised

Crucial MX300 (all)

  • Compromised

Sandisk X600 (SATA)

Probably compromised Samsung 840 EVO (SATA) ✗

  • Depends

Samsung 850 EVO (SATA) ✗

  • Depends

Samsung 950 PRO (NVMe) ✗

  • Probably safe

Samsung T3 (USB) ✗

  • Compromised

Samsung T5 (USB) ✗

  • Compromised

1 Derivation of the DEK from the password in ATA Security (High mode) 2 Derivation of the DEK from the password in ATA Security (Max mode) 3 Derivation of the DEK from the password in TCG Opal 4 Derivation of the DEK from the password in proprietary standard 5 No single key for entire disk 6 Not vulnerable to ATA Master password re-enabling (only if derivation is present) 7 Randomized DEK on sanitize and suffjcient random entropy 8 No wear leveling related issues 9 No DEVSLP related issues

slide-136
SLIDE 136

Results

Models studied released in 2014-2018 Different form factors

SATA, NVMe, USB

Most have severe weaknesses Best case scenario: security guarantees are equivalent to software FDE Worst case: confjdentiality relies

  • n an if-statement

BitLocker delegating trust amplifjes the issue

  • TCG Opal is terrible

· Over-engineered · Security goals not clear · No reference implementation exists Implementation is not even part of complience tests Structural changes needed

Drive

1 2 3 4 5 6 7 8 9

Impact Crucial MX100 (all) ✗ ✗ ✗ ✗

  • Compromised

Crucial MX200 (all) ✗ ✗ ✗ ✗

  • Compromised

Crucial MX300 (all)

  • Compromised

Sandisk X600 (SATA)

Probably compromised Samsung 840 EVO (SATA) ✗

  • Depends

Samsung 850 EVO (SATA) ✗

  • Depends

Samsung 950 PRO (NVMe) ✗

  • Probably safe

Samsung T3 (USB) ✗

  • Compromised

Samsung T5 (USB) ✗

  • Compromised

1 Derivation of the DEK from the password in ATA Security (High mode) 2 Derivation of the DEK from the password in ATA Security (Max mode) 3 Derivation of the DEK from the password in TCG Opal 4 Derivation of the DEK from the password in proprietary standard 5 No single key for entire disk 6 Not vulnerable to ATA Master password re-enabling (only if derivation is present) 7 Randomized DEK on sanitize and suffjcient random entropy 8 No wear leveling related issues 9 No DEVSLP related issues

slide-137
SLIDE 137

Results

Models studied released in 2014-2018 Different form factors

SATA, NVMe, USB

Most have severe weaknesses Best case scenario: security guarantees are equivalent to software FDE Worst case: confjdentiality relies

  • n an if-statement

BitLocker delegating trust amplifjes the issue

  • TCG Opal is terrible

· Over-engineered · Security goals not clear · No reference implementation exists · Implementation is not even part of complience tests Structural changes needed

Drive

1 2 3 4 5 6 7 8 9

Impact Crucial MX100 (all) ✗ ✗ ✗ ✗

  • Compromised

Crucial MX200 (all) ✗ ✗ ✗ ✗

  • Compromised

Crucial MX300 (all)

  • Compromised

Sandisk X600 (SATA)

Probably compromised Samsung 840 EVO (SATA) ✗

  • Depends

Samsung 850 EVO (SATA) ✗

  • Depends

Samsung 950 PRO (NVMe) ✗

  • Probably safe

Samsung T3 (USB) ✗

  • Compromised

Samsung T5 (USB) ✗

  • Compromised

1 Derivation of the DEK from the password in ATA Security (High mode) 2 Derivation of the DEK from the password in ATA Security (Max mode) 3 Derivation of the DEK from the password in TCG Opal 4 Derivation of the DEK from the password in proprietary standard 5 No single key for entire disk 6 Not vulnerable to ATA Master password re-enabling (only if derivation is present) 7 Randomized DEK on sanitize and suffjcient random entropy 8 No wear leveling related issues 9 No DEVSLP related issues

slide-138
SLIDE 138

Results

Models studied released in 2014-2018 Different form factors

SATA, NVMe, USB

Most have severe weaknesses Best case scenario: security guarantees are equivalent to software FDE Worst case: confjdentiality relies

  • n an if-statement

BitLocker delegating trust amplifjes the issue

  • TCG Opal is terrible

· Over-engineered · Security goals not clear · No reference implementation exists · Implementation is not even part of complience tests · Structural changes needed

Drive

1 2 3 4 5 6 7 8 9

Impact Crucial MX100 (all) ✗ ✗ ✗ ✗

  • Compromised

Crucial MX200 (all) ✗ ✗ ✗ ✗

  • Compromised

Crucial MX300 (all)

  • Compromised

Sandisk X600 (SATA)

Probably compromised Samsung 840 EVO (SATA) ✗

  • Depends

Samsung 850 EVO (SATA) ✗

  • Depends

Samsung 950 PRO (NVMe) ✗

  • Probably safe

Samsung T3 (USB) ✗

  • Compromised

Samsung T5 (USB) ✗

  • Compromised

1 Derivation of the DEK from the password in ATA Security (High mode) 2 Derivation of the DEK from the password in ATA Security (Max mode) 3 Derivation of the DEK from the password in TCG Opal 4 Derivation of the DEK from the password in proprietary standard 5 No single key for entire disk 6 Not vulnerable to ATA Master password re-enabling (only if derivation is present) 7 Randomized DEK on sanitize and suffjcient random entropy 8 No wear leveling related issues 9 No DEVSLP related issues

slide-139
SLIDE 139

Timeline

Oct 2016 First discovery – Crucial (Mciron) MX100 Oct 2017 – Apr 2018 Attempts made contacting vendors Apr 2018 Disclosure to Samsung – Meeting in The Hague, Netherlands Apr 2018 Disclosure to Micron Nov 2018 Draft paper published – Vendor responses published Both vendors release fjrmware updates Dec 2018 Presentation at 35C3 Dec 2018 Discovery of Sandisk (Western Digital) models

slide-140
SLIDE 140

Timeline (2)

Today:

  • CVEs released (CVE-2019-10705, CVE-2019-10706, CVE-2019-10636,

CVE-2019-11686)

  • Western Digital releases fjrmware updates available at

https://www.westerndigital.com/productsecurity

Reviewed by Trail of Bits

  • “Western Digital thanks the Radboud researchers, NCSC, and CERT-CC

for participating in the coordinated disclosure process. For more information on how we work with researchers - including contact details -, please go to https://www.westerndigital.com/productsecurity.”

slide-141
SLIDE 141

Questions

See the paper ’Self-Encrypting Deception’

Carlo Meijer Bernard van Gastel

c.meijer@cs.ru.nl b.vangastel@cs.ru.nl https://cs.ru.nl/∼cmeijer/ https://sustailablesoftware.info/ https://midnightbluelabs.com/