Rough times? TUF shines A Framework for Secure Software Updates - - PowerPoint PPT Presentation

rough times tuf shines
SMART_READER_LITE
LIVE PREVIEW

Rough times? TUF shines A Framework for Secure Software Updates - - PowerPoint PPT Presentation

Rough times? TUF shines A Framework for Secure Software Updates Trishank Karthik Kuppusamy, Vladimir Diaz, Sebastien Awwad Lukas Phringer , Justin Cappos Software updates Experts agree that software updates are the most important thing


slide-1
SLIDE 1

Rough times? TUF shines A Framework for Secure Software Updates

Trishank Karthik Kuppusamy, Vladimir Diaz, Sebastien Awwad Lukas Pühringer, Justin Cappos

slide-2
SLIDE 2

Software updates

2

➔ Experts agree that software updates
 are the most important thing to stay safe
 [USENIX SOUPS 2015] ➔ Updates fix security vulnerabilities ➔ However, an important problem in software updates is often neglected...

slide-3
SLIDE 3

A compromise can have enormous impacts

3

➔ Nation state actors ➔ Microsoft Windows Update (2012): Flame malware targeted Iran nuclear efforts ➔ NotPetya (2017): infected multinational corporations ➔ Compromise millions of devices ➔ Worst case: human lives

slide-4
SLIDE 4

Just sign it, … right?

4

slide-5
SLIDE 5

SSL / TLS (online key)

Repository User

5

➔ Protects users from man-in-the-middle attacks

slide-6
SLIDE 6

The problem with SSL / TLS

Repository User Attacker

6

➔ Doesn’t say anything about the security of the server ➔ Single point of failure: easy to compromise

slide-7
SLIDE 7

GPG (offline key)

7

➔ Why not sign updates using offline GPG? ➔ Assuming usability and key distribution problem solved… ➔ Mission accomplished, right?

slide-8
SLIDE 8

What do these organizations have in common?

8

slide-9
SLIDE 9

Vulnerabilities in software updates

9

slide-10
SLIDE 10

Only question is when not if a compromise happens

10

slide-11
SLIDE 11

A Look in the Mirror: Attacks on Package Managers

11

➔ Survey of package managers [CCS 2008] ➔ Many package managers had bad security ➔ APT did better than most ➔ But still had problems!

slide-12
SLIDE 12

Endless Data Attack

Serve update until storage is full

12

slide-13
SLIDE 13

Freeze Attack

13

Trick updater into believing that there are no updates available

slide-14
SLIDE 14

Replay Attack

14

Serve obsolete packages that might have vulnerabilities

slide-15
SLIDE 15

So why TUF?

15

slide-16
SLIDE 16

The Update Framework

16

➔ Not every software updater needs an in-house solution ➔ Many years of experience in secure software updates ➔ Shields against a variety of attacks ➔ Minimizes impact of key compromise

slide-17
SLIDE 17

Responsibility Separation

timeliness Root of trust content consistency

17

slide-18
SLIDE 18

DAMAGE ~= PROBABILITY x IMPACT

High-impact role? Low-impact role Highly secure keys Online keys?

18

Minimize individual Key and Role Risk

slide-19
SLIDE 19

Multi-signature Trust (Thresholds)

{ "_type" : "root", "compression_algorithms": [ ... ], "consistent_snapshot":, "version" : VERSION, "expires" : EXPIRES, "keys" : { KEYID : KEY , ... }, "roles" : { ROLE : { "keyids" : [ KEYID, ... ] , "threshold" : THRESHOLD } , ... } }

19

slide-20
SLIDE 20

Expiration

Revocation

20

Explicit and implicit Revocation

slide-21
SLIDE 21

TUF Roles Overview

Root

(root of trust)

Snapshot

(consistency)

Targets

(integrity)

21

Timestamp

(timeliness)

slide-22
SLIDE 22

Deployment?

22

slide-23
SLIDE 23

Server (repository)

➔ Use TUF repository tools to manage keys and metadata ➔ Generate keys for each role ➔ Keep them offline ➔ Upload signed metadata + packages to Debian server

23

slide-24
SLIDE 24

Client (package manager)

24

➔ Modify update client to use TUF client updater (just ship out with root metadata) ➔ Automatically & transparently download & verify packages ➔ Users won’t see difference ➔ Except when attacks occur

slide-25
SLIDE 25

Conclusions

25

➔ Works with existing software updater ➔ Prevents from a variety of attacks
 (arbitrary software, endless data, extraneous dependencies, fast-forward, freeze, mix-and- match, rollback, slow retrieval, wrong software) ➔ Key compromise-resilient ➔ No out-of-band PKI or web of trust required ➔ Spin-offs and adoptions already exist

slide-26
SLIDE 26

Deployments & Integrations

26

slide-27
SLIDE 27

Thank You! Questions?

27

https://theupdateframework.github.io/
 jcappos@nyu.edu