Security through Distrusting Joanna Rutkowska Invisible Things - - PowerPoint PPT Presentation

security through distrusting
SMART_READER_LITE
LIVE PREVIEW

Security through Distrusting Joanna Rutkowska Invisible Things - - PowerPoint PPT Presentation

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Security through Distrusting Joanna Rutkowska Invisible Things Lab & Qubes OS Project Black Hat EU, London, UK, December 7, 2017 427F11FD


slide-1
SLIDE 1

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Security ¡through ¡Distrusting

Joanna ¡Rutkowska Invisible ¡Things ¡Lab & ¡Qubes ¡OS Project

Black ¡Hat ¡EU, ¡London, ¡UK, ¡December ¡7, ¡2017

slide-2
SLIDE 2

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Trust? Trusted(?) Secure Trustworthy

more ¡desired

slide-3
SLIDE 3

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Trust ¡consider ¡harmful!

slide-4
SLIDE 4

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Security ¡through ¡Distrusting ¡examples

slide-5
SLIDE 5

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Example ¡#1: ¡Pesky ¡microphones

slide-6
SLIDE 6

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 § Mics sniff ¡our ¡activities, ¡including ¡keystrokes, ¡etc. § Mics are ¡difficult ¡to ¡neutralize § Mics naturally ¡“cross“ ¡security ¡boundaries

phone

mic 1 mic 2 mic 3

slide-7
SLIDE 7

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

phone Bluetooth headset

mic 1 mic 2

Bluetooth ¡link No ¡mics! Different ¡vendors

§ Mics sniff ¡our ¡activities, ¡including ¡keystrokes, ¡etc. § Mics are ¡difficult ¡to ¡neutralize § Mics naturally ¡“cross“ ¡security ¡boundaries

slide-8
SLIDE 8

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Example ¡#2: ¡Stateless laptop

slide-9
SLIDE 9

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Persistent ¡laptop ¡compromises…

§ Persist § Store ¡secrets § PII

slide-10
SLIDE 10

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

§ Persist § Store ¡secrets § PII

slide-11
SLIDE 11

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

§ Persist § Store ¡secrets § PII

slide-12
SLIDE 12

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Stateless ¡Hardware (persistent ¡state ¡eliminated)

Trusted ¡Stick

§ Firmware ¡infections ¡prevented § No ¡places ¡to ¡store ¡stolen ¡secrets § Reliable way ¡to ¡verify ¡firmware § Reliable ¡way ¡to ¡choose ¡firmware § Boot ¡multiple ¡environments § Share ¡laptops ¡with ¡others

slide-13
SLIDE 13

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Example ¡#3: ¡Multi-­‑party ¡signatures

Photo ¡via ¡Peter ¡Todd ¡(@petertoddbtc)

slide-14
SLIDE 14

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Wallet vs Wallet Mutli-­‑sig ¡does ¡not ¡need ¡to ¡involve ¡multiple ¡users!

slide-15
SLIDE 15

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Also: ¡not ¡just ¡Bitcoin wallets…

slide-16
SLIDE 16

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Example ¡#4: ¡Binary ¡(multi) ¡signing

slide-17
SLIDE 17

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Why ¡care ¡about ¡binary ¡(multi-­‑) ¡signing?

§ OS ¡installation ¡images § Applications § Updates § Firmware

slide-18
SLIDE 18

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Prime ¡target ¡for ¡backdooring!

slide-19
SLIDE 19

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Source code Binary

(e.g. ¡updates)

Binary

Building Sign Distribution end ¡user developer(s) vendor Create

slide-20
SLIDE 20

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Source code Binary

(e.g. ¡updates)

Binary

Sign Distribution end ¡user developer(s) vendor Verify Create

(https, ¡signed ¡binaries)

(… ¡& ¡sign!)

slide-21
SLIDE 21

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Source code Binary

(e.g. ¡updates)

Binary

Building Sign Distribution end ¡user developer(s) vendor Verify Create

(https, ¡signed ¡binaries) (git push)

(… ¡& ¡sign!)

? ?

Attacker ¡(back-­‑/bug-­‑door ¡injection)

?

slide-22
SLIDE 22

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Source code Binary

(e.g. ¡updates)

Binary

Building Sign Distribution end ¡user developer(s) vendor Verify Create

(https, ¡signed ¡binaries) (git push)

(… ¡& ¡sign!)

? ? ?

slide-23
SLIDE 23

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Source code Binary

(e.g. ¡updates)

Binary

Building Sign Distribution end ¡user developer(s) vendor Verify Create

(https, ¡signed ¡binaries) (git push)

(… ¡& ¡sign!)

? ? ?

Attacker ¡(back-­‑/bug-­‑door ¡injection)

?

slide-24
SLIDE 24

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Source code Binary

(e.g. ¡updates)

Binary

Building Sign Distribution end ¡user developer(s) vendor Verify Create

(https, ¡signed ¡binaries) (git push)

(… ¡& ¡sign!)

? ? ?

Attacker ¡(back-­‑/bug-­‑door ¡injection)

?

slide-25
SLIDE 25

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Source code Binary

(e.g. ¡updates)

Binary

Building Sign Distribution end ¡user developer(s) vendor Verify Create

(https, ¡signed ¡binaries) (git push)

(… ¡& ¡sign!)

? ? ?

slide-26
SLIDE 26

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Source code Binary

(e.g. ¡updates)

Binary

Building Sign Distribution end ¡user developer(s) vendor Verify Create

(https, ¡signed ¡binaries) (git push)

(… ¡& ¡sign!)

? ?

Source code == ?

slide-27
SLIDE 27

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Source code Binary

(e.g. ¡updates)

Binary

Building Sign Distribution end ¡user developer(s) Vendor ¡#1 Verify Create

(https, ¡signed ¡binaries) (git push)

(… ¡& ¡sign!)

? ? ?

Binary

(e.g. ¡updates)

Binary

(e.g. ¡updates) Vendor ¡#3 Vendor ¡#2 Sign Sign Sign

slide-28
SLIDE 28

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Source code Binary

(e.g. ¡updates)

Binary

Building Sign Distribution end ¡user developer(s) Vendor ¡#1 Verify Create

(https, ¡signed ¡binaries) (git push)

(… ¡& ¡sign!)

? ? ?

Binary

(e.g. ¡updates)

Binary

(e.g. ¡updates) Vendor ¡#3 Vendor ¡#2 Sign Sign Sign One ¡binary, ¡multiple ¡signatures!

slide-29
SLIDE 29

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Multi-­‑signed ¡binaries

§ Signed ¡by ¡people ¡from ¡different ¡countries § Different ¡organizations ¡(vendor ¡& ¡auditing) § Signed ¡by ¡different ¡machines

– In ¡the ¡same ¡organization – In ¡different ¡organization

slide-30
SLIDE 30

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

https://reproducible-­‑builds.org

slide-31
SLIDE 31

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Example ¡5: ¡Preventing ¡data ¡leaks

slide-32
SLIDE 32

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Some ¡software

(buggy/backdoored or ¡

  • therwise ¡compromised)

Your ¡data…!

slide-33
SLIDE 33

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Some ¡software

(buggy/backdoored or ¡

  • therwise ¡compromised)

Your ¡data…!

VPN

slide-34
SLIDE 34

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Some ¡software

(buggy/backdoored or ¡

  • therwise ¡compromised)

Your ¡data…!

VPN

Windows ¡laptop ¡(compromised ¡or ¡backdoored)

slide-35
SLIDE 35

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Some ¡software

(buggy/backdoored or ¡

  • therwise ¡compromised)

Your ¡data…!

VPN

Windows ¡laptop ¡(compromised ¡or ¡backdoored) Different ¡device ¡(or ¡VM?)

§ Qubes ¡TorVM (2011) § The ¡Grugq ‘s ¡P.O.R.T.A.L. ¡(2012) § Whonix (2012 – present) § Whonix for ¡Qubes ¡(2014 ¡– present) § Tor-­‑enabled ¡routers ¡(multiple ¡ projects/products)

slide-36
SLIDE 36

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Cut ¡off ¡networking?

Some ¡software Not ¡very ¡useful…

slide-37
SLIDE 37

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Template ¡VM

Updates server

App ¡VM

User ¡data

No ¡networking (no ¡leaks)

Download ¡updates, ¡etc

Qubes ¡OS ¡templates

slide-38
SLIDE 38

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Example ¡#6: ¡Compartmentalization

slide-39
SLIDE 39

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Work ¡VM Personal ¡VM

“Classic” ¡compartmentalization…

slide-40
SLIDE 40

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Work ¡VM Personal ¡VM …not ¡very ¡useful!

“Classic” ¡compartmentalization…

slide-41
SLIDE 41

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Work ¡VM Personal ¡VM PDF JPG MOV …more ¡useful…

slide-42
SLIDE 42

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Inter-­‑compartments ¡data ¡transfers

slide-43
SLIDE 43

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Work ¡VM Internet ¡ Browsing ¡VM PNG PNG

?

slide-44
SLIDE 44

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Disposable ¡VM Work ¡VM Internet ¡ Browsing ¡VM PNG PNG

Very ¡simple ¡(& ¡trusted) ¡code!

Qubes PDF/Image ¡converters:

PNG

Very ¡simple ¡format ¡(& ¡easy ¡to ¡verify ¡if ¡indeed) Very ¡complex ¡format ¡(risky ¡to ¡parse!) Very ¡complex ¡parsing ¡(very ¡risky!)

slide-45
SLIDE 45

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

App ¡sandboxing ¡is ¡just ¡part ¡of ¡the ¡story…

slide-46
SLIDE 46

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Work ¡VM Personal ¡VM PDF JPG MOV

Networking ¡ stacks USB ¡& ¡ Bluetooth ¡ stacks Graphics ¡& ¡ UI VPNs ¡& ¡ firewalling

Corporate ¡ management

Root ¡of ¡trust (admin)

slide-47
SLIDE 47

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Isolation is ¡just ¡part ¡of ¡the ¡story!

slide-48
SLIDE 48

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

slide-49
SLIDE 49

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Biggest ¡challenge ¡for ¡Qubes ¡OS is how ¡to ¡do ¡desktop ¡integration (seamless ¡UX) ¡ without ¡compromising ¡isolation!

slide-50
SLIDE 50

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Example ¡#7: ¡Almighty ¡admins?

slide-51
SLIDE 51

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Admins can ¡steal ¡all ¡our ¡data ¡:(

slide-52
SLIDE 52

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

§ Access ¡to ¡their ¡data § Can’t ¡modify ¡policies § Can’t ¡modify ¡software/VM ¡images Admin User

slide-53
SLIDE 53

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Can ¡access ¡and ¡do everything she ¡wants!

§ Access ¡to ¡their ¡data § Can’t ¡modify ¡policies § Can’t ¡modify ¡software/VM ¡images Admin User

slide-54
SLIDE 54

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Hmm…

slide-55
SLIDE 55

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

§ Access ¡to ¡their ¡data § Can’t ¡modify ¡policies § Can’t ¡modify ¡software/VM ¡images

§ No ¡access ¡ ¡to ¡user ¡data § Can ¡modify ¡policies § Can ¡ ¡install ¡software/VM ¡images

What ¡we ¡want ¡instead:

Admin User

slide-56
SLIDE 56

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

§ Access ¡to ¡their ¡data § Can’t ¡modify ¡policies § Can’t ¡modify ¡software/VM ¡images

§ No ¡access ¡ ¡to ¡user ¡data § Can ¡modify ¡policies § Can ¡ ¡install ¡software/VM ¡images

What ¡we ¡want ¡instead:

Admin User

Check ¡our ¡Qubes ¡OS new ¡Admin ¡API ¡for ¡implementation ¡details

work-­‑related personal

slide-57
SLIDE 57

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Occasionally ¡mishaps ¡happen ¡still…

slide-58
SLIDE 58

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Example ¡#8: ¡Plan ¡B

slide-59
SLIDE 59

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Compromised ¡ machine Clean ¡machine Backup ¡

(files, ¡disks)

slide-60
SLIDE 60

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Compromised ¡ machine Clean ¡machine Backup ¡

(files, ¡disks)

Restoring ¡compromised ¡backup ¡is ¡risky!

slide-61
SLIDE 61

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Qubes ¡(Paranoid) ¡Backup ¡Restore

slide-62
SLIDE 62

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Security ¡through ¡Distrusting

Division ¡of ¡Duty

§ Mics (#1) § Stateless ¡laptop ¡(#2) § Multi ¡signatures ¡(#3/4) § Tunneling ¡(#5)

Compartmentalization

§ Qubes ¡(#6/7) § Tunneling ¡(#5) § Qubes ¡Backup ¡Restore ¡(#8)

Plan ¡B ¡having

§ Qubes ¡Backup Restore ¡(#8)

slide-63
SLIDE 63

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Tradeoffs?

slide-64
SLIDE 64

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Usability!

Hardware ¡ resources ¡& ¡ cost

(CPU, ¡memory, ¡disk)

Developer ¡ resources ¡

(well ¡thought ¡ architecture ¡& ¡ APIs, ¡difficulty ¡ adding ¡new ¡ features)

§ Mics § Multisigs for ¡wallets § Compartmentalization (?) § Compartmentalization § Stateless ¡laptop ¡(BOM ¡costs) § Compartmentalization § Multisigs for ¡binaries § Stateless ¡laptop ¡(BOM ¡costs)

slide-65
SLIDE 65

427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494

Thanks!

*** https://qubes-­‑os.org https://invisiblethingslab.com https://blog.invisiblethings.org https://github.com/rootkovska ¡ @QubesOS ¡// ¡Twitter ¡for ¡Qubes ¡OS @rootkovska ¡// ¡Personal ¡Twitter 427F11FD0FAA4B080123F01CDDFA1A3E36879494 ¡ ¡// ¡Qubes ¡Master ¡Key ED727C306E766BC85E621AA65FA6C3E4D9AFBB99 ¡// ¡Personal ¡Master ¡Key

This ¡presentation ¡made ¡in ¡MS ¡Office ¡on ¡Qubes ¡OS ¡3.2