Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Everything will be broken

Everything will be broken

Looking at security principles from the perspective of imminent failure: how to make resilient security in the age of things falling apart?

This is a talk presented at SecurityBSides 2016 Kyiv

Eugene Pilyankevich

May 14, 2016
Tweet

More Decks by Eugene Pilyankevich

Other Decks in Technology

Transcript

  1. # whoami 1997 #sprintnet #x25ru #phrack 2015 founder @ cossacklabs.com

    2012 partner, director in dev business 2002 engineer
  2. 0 25 50 75 100 80s 90s 00s 10s Effort

    Effect Effort grows, but effect diminishes
  3. 0 25 50 75 100 80s 90s 00s 10s Effort

    Progress World changes faster than we invent new techniques
  4. Compartmentalization Echelonize defences Principle of least authority Log everything Environment

    is hostile Keep it simple Identify weak spots Safe defaults & positive model Kerckhoffs's principle
  5. example: firewalls & access proactive: positive security + defence in

    depth reactive: typical mod_security ruleset
  6. ideal boring crypto @djb: boring crypto is one that simply

    works, solidly resists attacks, never needs any upgrades.
  7. B (decryptor): 
 receive (data, key_envelope) secret = asymm_decrypt (key_envelope,

    B_privkey, A_pubkey) plaintext = symm_decrypt(data, secret) grant access to encrypted data = send keys in envelopes! A (data owner): 
 data = symm_encrypt(data, secretkey) key_envelope = asymm_encrypt (secretkey, B_pubkey, A_privkey) send(data, secretkey)
  8. crypto seems expensive 0 100 200 300 400 read write

    plaintext AES reading & writing string from file in C, 1000 cycles 0 100 200 300 400 read write C PHP read/write string in C vs PHP