Top Banner
privacy is always a requirement Eleanor McHugh [ github | slideshare | twitter ] feyeleanor
60
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Privacy is always a requirement

privacy is always a requirementEleanor McHugh

[ github | slideshare | twitter ] feyeleanor

Page 2: Privacy is always a requirement

and privacy requires trust

Page 3: Privacy is always a requirement

building trust is hard

Page 4: Privacy is always a requirement

securing trust is harder

Page 5: Privacy is always a requirement

(and yes, the internet is broken)

Page 6: Privacy is always a requirement
Page 7: Privacy is always a requirement

today’s topic is applied paranoia

Page 8: Privacy is always a requirement

paranoia

Pronunciation: /ˌparəәˈnɔɪəә/

noun {mass noun}

A mental condition characterized by delusions of persecution, unwarranted jealousy, or exaggerated self-importance, typically worked into an organized system. It may be an aspect of chronic personality disorder, of drug abuse, or of a serious condition such as schizophrenia in which the person loses touch with reality.

Unjustified suspicion and mistrust of other people: mild paranoia afflicts all prime ministers

Page 9: Privacy is always a requirement
Page 10: Privacy is always a requirement
Page 11: Privacy is always a requirement
Page 12: Privacy is always a requirement

paranoia

Pronunciation: /ˌparəәˈnɔɪəә/

noun {mass noun}

The perfectly reasonable belief that someone, somewhere is watching your online behaviour with malicious and/or voyeuristic intent. It may be a result of reading a Hacking Exposed or Hacking for Dummies publication, experiencing the fallout from identity theft, or shopping with bitcoin.

Justified suspicion and mistrust of other people: chronic paranoia afflicts all information security professionals accute paranoia afflicts the victims of hacking

Page 13: Privacy is always a requirement

privacy is not perfect security

Page 14: Privacy is always a requirement

perfect security is a myth

Page 15: Privacy is always a requirement

and so is perfect trust

Page 16: Privacy is always a requirement

trust is always a contract

Page 17: Privacy is always a requirement

and contracts can be broken

Page 18: Privacy is always a requirement

we have to trust governments

Page 19: Privacy is always a requirement

governments are privileged

Page 20: Privacy is always a requirement
Page 21: Privacy is always a requirement

and our users have to trust us

Page 22: Privacy is always a requirement

because we’re privileged

Page 23: Privacy is always a requirement
Page 24: Privacy is always a requirement

but who can we trust?

Page 25: Privacy is always a requirement

as a visitorI want to remain anonymous when I interact with your service

so I can get an idea of who you are without committing to anything

but it’s okay if you know I visited or ask if I’d like to hear from you later

so long as you don’t tell anyone else and you accept my answer

Page 26: Privacy is always a requirement

as a registered userI want my personal data to be secure when I entrust you with it

so hackers can’t steal my identity or bully me for my views

but it’s okay if you’re aware when I make changes and confirm them

so long as that information is provably to my benefit

Page 27: Privacy is always a requirement

as a system administrationI want to roll-back errors and monitor security breaches

so I can protect my users and my business from fraud or loss

but it’s okay if I can only see data relevant to a particular incident

so that I know the bare minimum about you or any other user

Page 28: Privacy is always a requirement

as a law enforcement officerI want to perform lawful interception queries

so I can catch criminals and terrorists

but it’s okay if you control my access and require court orders

so that criminal investigate is never a cover for political oppression

Page 29: Privacy is always a requirement

as a regulatorI want to ensure this service complies with all applicable rules

so I can catch prove that the service is trustworthy and legitimate

but it’s okay if you restrict my access to how you operate this service

so that I know neither your users nor their interactions

Page 30: Privacy is always a requirement

as a service ownerI want you to use my most excellent service

so we can build a business relationship from which we will both profit

but it’s okay if you don’t trust me with the details of your personal life

so long as you do trust me to run this service as advertised

Page 31: Privacy is always a requirement

and who is deceiving us?

Page 32: Privacy is always a requirement

as an agressive marketeerI want to access your visitor and customer databases

so I can figure out who is might pay for miracle product X

it’s okay to make my life a little difficult if it doesn’t affect sales of X

but I’m higher up the food chain than you so watch your back

Page 33: Privacy is always a requirement

as a disgruntled employeeI want to access your service

so I can make you pay for the pain I’m now feeling

you can try and stop me but I’ve had privileged access in the past

and I know all the secrets you’d rather keep about vulnerabilities

Page 34: Privacy is always a requirement

as a script kiddieI want to access your service

because it gives me a thrill to break into other people’s computers

you can try and stop me but I’ve lots of different scripts to play with

even though I don’t understand how most of them work their magic

Page 35: Privacy is always a requirement

as an online fraudsterI want to access your service

so I can steal the credentials and data of your users

if you make my life difficult I’ll move onto a different target

after all, there’s always another sucker ripe for scamming

Page 36: Privacy is always a requirement

as a malicious attackerI want to access your service

so I can monitor the behaviour of your users and steal their identities

you can try and stop me but I’m probably more skilled than your team

and I’m being paid for results so I will be persistent

Page 37: Privacy is always a requirement

some basic rulesusers are only customers if they register

and you should know your customers well enough to help them

but your customers own their identity so never compromise it

secure all transports and storage where their data may exist

give them final say over what data you store and for how long

and definitely don’t give or sell their data to third parties!

http://slides.games-with-brains.net

Page 38: Privacy is always a requirement

limit your surveillance to threats

Page 39: Privacy is always a requirement

know only what you need to

Page 40: Privacy is always a requirement

marketing will hate you

Page 41: Privacy is always a requirement

hackers will hate you

Page 42: Privacy is always a requirement

governments will hate you

Page 43: Privacy is always a requirement

!! hate is deadly !!

Page 44: Privacy is always a requirement

so get your security tight

Page 45: Privacy is always a requirement

and keep it tight

Page 46: Privacy is always a requirement

prescriptions

Page 47: Privacy is always a requirement
Page 48: Privacy is always a requirement

encrypt all transports• establish a secure channel by exchanging public keys

• and check their validity against trusted certificates (SSL, TLS, etc.)

• as an added measure pin these certificates (like SSH pins keys)

• then exchange symmetric keys for a private secure channel

• change these keys frequently (cheap cipher streams)

• and pin each distinct message to a distinct key (one-time pads)

Page 49: Privacy is always a requirement
Page 50: Privacy is always a requirement

encrypt all passwords• accept unicode to expand the symbol space

• hash every new password before it’s submitted

• always use a cryptograpically secure hash (HMAC)

• and a fresh HMAC key for each password (which you must store)

• salt the resulting hash when you receive it (and store the salt)

• then hash again before storing in your database

Page 51: Privacy is always a requirement
Page 52: Privacy is always a requirement

require two-factor authentication• have the user submit their password over a secure channel

• then send them a confirmation code out-of-band

• that’s an agreed trust anchor acting as a shared secret

• the confirmation code should be big enough to generate a HMAC

• and only the HMAC should be submitted

• now you have two secure channels based on shared secrets

Page 53: Privacy is always a requirement
Page 54: Privacy is always a requirement

encrypt all storage• secured transport is useless without secured data stores

• encrypt all sensitive fields - that probably means all fields

• and store HMACs for desired search terms

• otherwise you black box is secure but unsearchable

• make sure you use different roles for reading, writing and searching

• that’s right, your datastore is also a set of secure streams

Page 55: Privacy is always a requirement
Page 56: Privacy is always a requirement

anchor trust internally• establish your own certificate authority

• assign fine-grained roles to different components (microservices)

• and minimise your threat surface (regular code audits, security logs)

• never deploy without a full security audit

• and make those deployments immutable

• security audits (like QA) are best done by third parties

Page 57: Privacy is always a requirement
Page 58: Privacy is always a requirement

be vigilant

Page 59: Privacy is always a requirement

be paranoid

Page 60: Privacy is always a requirement

slideshare://feyeleanor