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 0FAA4B08 0123F01C DDFA1A3E 36879494 more ¡desired Trustworthy Trusted(?) Secure Trust?
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Trust ¡consider ¡harmful!
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Security ¡through ¡Distrusting ¡examples
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Example ¡#1: ¡Pesky ¡microphones
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Mics sniff ¡our ¡activities, ¡including ¡keystrokes, ¡etc. § Mics are ¡difficult ¡to ¡neutralize § § Mics naturally ¡“cross“ ¡security ¡boundaries phone mic 3 mic mic 1 2
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Mics sniff ¡our ¡activities, ¡including ¡keystrokes, ¡etc. § § Mics are ¡difficult ¡to ¡neutralize Mics naturally ¡“cross“ ¡security ¡boundaries § Bluetooth ¡link Bluetooth headset phone mic mic 1 2 Different ¡vendors No ¡mics!
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Example ¡#2: ¡Stateless laptop
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Persistent ¡laptop ¡compromises… Persist § § Store ¡secrets § PII
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Store ¡secrets Persist PII § § §
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Store ¡secrets Persist PII § § §
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 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 Stateless ¡Hardware (persistent ¡state ¡eliminated) Trusted ¡Stick
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Example ¡#3: ¡Multi-‑party ¡signatures Photo ¡via ¡Peter ¡Todd ¡(@petertoddbtc)
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Wallet Wallet vs Mutli-‑sig ¡does ¡not ¡need ¡to ¡involve ¡multiple ¡users!
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Also: ¡not ¡just ¡Bitcoin wallets…
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Example ¡#4: ¡Binary ¡(multi) ¡signing
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Why ¡care ¡about ¡binary ¡(multi-‑) ¡signing? § OS ¡installation ¡images § Applications § Updates § Firmware
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Prime ¡target ¡for ¡backdooring!
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Source Building Distribution Binary Binary code (e.g. ¡updates) Sign Create developer(s) vendor end ¡user
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Source Distribution Binary Binary code (https, ¡signed ¡binaries) (e.g. ¡updates) Verify (… ¡& ¡sign!) Sign Create developer(s) vendor end ¡user
Attacker ¡(back-‑/bug-‑door ¡injection) 427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 ? ? Source Building Distribution Binary Binary code (git push) (https, ¡signed ¡binaries) (e.g. ¡updates) ? Verify (… ¡& ¡sign!) Sign Create developer(s) vendor end ¡user
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 ? Source Building Distribution Binary Binary code (git push) (https, ¡signed ¡binaries) (e.g. ¡updates) ? ? Verify (… ¡& ¡sign!) Sign Create developer(s) vendor end ¡user
Attacker ¡(back-‑/bug-‑door ¡injection) 427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 ? ? Source Building Distribution Binary Binary code (git push) (https, ¡signed ¡binaries) (e.g. ¡updates) ? ? Verify (… ¡& ¡sign!) Sign Create developer(s) vendor end ¡user
Attacker ¡(back-‑/bug-‑door ¡injection) 427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 ? ? Source Building Distribution Binary Binary code (git push) (https, ¡signed ¡binaries) (e.g. ¡updates) ? ? Verify (… ¡& ¡sign!) Sign Create developer(s) vendor end ¡user
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 ? Source Building Distribution Binary Binary code (git push) (https, ¡signed ¡binaries) (e.g. ¡updates) ? ? Verify (… ¡& ¡sign!) Sign Create developer(s) vendor end ¡user
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Source code == ? Source Building Distribution Binary Binary code (git push) (https, ¡signed ¡binaries) (e.g. ¡updates) ? ? Verify (… ¡& ¡sign!) Sign Create developer(s) vendor end ¡user
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 ? Sign Vendor ¡#3 Binary (e.g. ¡updates) Source Building Distribution Binary Binary code (git push) (https, ¡signed ¡binaries) (e.g. ¡updates) Binary ? ? Sign Verify Sign (… ¡& ¡sign!) Sign Create (e.g. ¡updates) Vendor ¡#2 developer(s) Vendor ¡#1 end ¡user
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 ? Sign Vendor ¡#3 Binary (e.g. ¡updates) One ¡binary, ¡ multiple ¡signatures ! Source Building Distribution Binary Binary code (git push) (https, ¡signed ¡binaries) (e.g. ¡updates) Binary ? ? Sign Verify Sign (… ¡& ¡sign!) Sign Create (e.g. ¡updates) Vendor ¡#2 developer(s) Vendor ¡#1 end ¡user
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
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 https://reproducible-‑builds.org
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Example ¡5: ¡Preventing ¡data ¡leaks
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Your ¡data…! Some ¡software (buggy/backdoored or ¡ otherwise ¡compromised)
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Your ¡data…! VPN Some ¡software (buggy/backdoored or ¡ otherwise ¡compromised)
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Your ¡data…! VPN Some ¡software (buggy/backdoored or ¡ otherwise ¡compromised) Windows ¡laptop ¡(compromised ¡or ¡backdoored)
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Your ¡data…! VPN Some ¡software (buggy/backdoored or ¡ otherwise ¡compromised) Different ¡device ¡(or ¡VM?) Qubes ¡TorVM (2011) § The ¡Grugq ‘s ¡P.O.R.T.A.L. ¡(2012) § Whonix (2012 – present) § Windows ¡laptop ¡(compromised ¡or ¡backdoored) § Whonix for ¡Qubes ¡(2014 ¡– present) § Tor-‑enabled ¡routers ¡(multiple ¡ projects/products)
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Cut ¡off ¡networking? Some ¡software Not ¡very ¡useful…
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Qubes ¡OS ¡templates Download ¡updates, ¡etc Template ¡VM Updates server User ¡data App ¡VM No ¡networking (no ¡leaks)
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Example ¡#6: ¡Compartmentalization
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 “Classic” ¡compartmentalization… Work ¡VM Personal ¡VM
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 “Classic” ¡compartmentalization… Work ¡VM Personal ¡VM …not ¡very ¡useful!
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Personal ¡VM MOV …more ¡useful… JPG Work ¡VM PDF
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Inter-‑compartments ¡data ¡transfers
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Browsing ¡VM Internet ¡ PNG ? PNG Work ¡VM
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Qubes PDF/Image ¡converters: Very ¡simple ¡(& ¡trusted) ¡code! Very ¡simple ¡format ¡(& ¡easy ¡to ¡verify ¡if ¡indeed) PNG PNG PNG Internet ¡ Work ¡VM Disposable ¡VM Browsing ¡VM Very ¡complex ¡format ¡(risky ¡to ¡parse!) Very ¡complex ¡parsing ¡(very ¡risky!)
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 App ¡sandboxing ¡is ¡just ¡part ¡of ¡the ¡story…
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 PDF JPG MOV Work ¡VM Personal ¡VM USB ¡& ¡ Networking ¡ Graphics ¡& ¡ VPNs ¡& ¡ Root ¡of ¡trust Corporate ¡ Bluetooth ¡ stacks UI firewalling management (admin) stacks
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494 Isolation is ¡just ¡part ¡of ¡the ¡story!
427F11FD 0FAA4B08 0123F01C DDFA1A3E 36879494
Recommend
More recommend