SlideShare a Scribd company logo
1 of 60
Download to read offline
privacy is always a requirement
Eleanor McHugh
[ github | slideshare | twitter ]
feyeleanor
and privacy requires trust
building trust is hard
securing trust is harder
(and yes, the internet is broken)
today’s topic is applied paranoia
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
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
privacy is not perfect security
perfect security is a myth
and so is perfect trust
trust is always a contract
and contracts can be broken
we have to trust governments
governments are privileged
and our users have to trust us
because we’re privileged
but who can we trust?
as a visitor
I 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
as a registered user
I 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
as a system administration
I 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
as a law enforcement officer
I 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
as a regulator
I 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
as a service owner
I 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
and who is deceiving us?
as an agressive marketeer
I 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
as a disgruntled employee
I 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
as a script kiddie
I 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
as an online fraudster
I 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
as a malicious attacker
I 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
some basic rules
users 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
limit your surveillance to threats
know only what you need to
marketing will hate you
hackers will hate you
governments will hate you
!! hate is deadly !!
so get your security tight
and keep it tight
prescriptions
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)
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
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
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
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
be vigilant
be paranoid
slideshare://feyeleanor

More Related Content

Viewers also liked

Implementing Software Machines in Go and C
Implementing Software Machines in Go and CImplementing Software Machines in Go and C
Implementing Software Machines in Go and CEleanor McHugh
 
Implementing Software Machines in C and Go
Implementing Software Machines in C and GoImplementing Software Machines in C and Go
Implementing Software Machines in C and GoEleanor McHugh
 
Anonymity, trust, accountability
Anonymity, trust, accountabilityAnonymity, trust, accountability
Anonymity, trust, accountabilityEleanor McHugh
 
Go for the paranoid network programmer
Go for the paranoid network programmerGo for the paranoid network programmer
Go for the paranoid network programmerEleanor McHugh
 
Implementing Virtual Machines in Ruby & C
Implementing Virtual Machines in Ruby & CImplementing Virtual Machines in Ruby & C
Implementing Virtual Machines in Ruby & CEleanor McHugh
 
Hybrid Cryptography with examples in Ruby and Go
Hybrid Cryptography with examples in Ruby and GoHybrid Cryptography with examples in Ruby and Go
Hybrid Cryptography with examples in Ruby and GoEleanor McHugh
 
Implementing Virtual Machines in Go & C
Implementing Virtual Machines in Go & CImplementing Virtual Machines in Go & C
Implementing Virtual Machines in Go & CEleanor McHugh
 
Finding a useful outlet for my many Adventures in go
Finding a useful outlet for my many Adventures in goFinding a useful outlet for my many Adventures in go
Finding a useful outlet for my many Adventures in goEleanor McHugh
 
Encrypt all transports
Encrypt all transportsEncrypt all transports
Encrypt all transportsEleanor McHugh
 

Viewers also liked (11)

Whispered secrets
Whispered secretsWhispered secrets
Whispered secrets
 
Go a crash course
Go   a crash courseGo   a crash course
Go a crash course
 
Implementing Software Machines in Go and C
Implementing Software Machines in Go and CImplementing Software Machines in Go and C
Implementing Software Machines in Go and C
 
Implementing Software Machines in C and Go
Implementing Software Machines in C and GoImplementing Software Machines in C and Go
Implementing Software Machines in C and Go
 
Anonymity, trust, accountability
Anonymity, trust, accountabilityAnonymity, trust, accountability
Anonymity, trust, accountability
 
Go for the paranoid network programmer
Go for the paranoid network programmerGo for the paranoid network programmer
Go for the paranoid network programmer
 
Implementing Virtual Machines in Ruby & C
Implementing Virtual Machines in Ruby & CImplementing Virtual Machines in Ruby & C
Implementing Virtual Machines in Ruby & C
 
Hybrid Cryptography with examples in Ruby and Go
Hybrid Cryptography with examples in Ruby and GoHybrid Cryptography with examples in Ruby and Go
Hybrid Cryptography with examples in Ruby and Go
 
Implementing Virtual Machines in Go & C
Implementing Virtual Machines in Go & CImplementing Virtual Machines in Go & C
Implementing Virtual Machines in Go & C
 
Finding a useful outlet for my many Adventures in go
Finding a useful outlet for my many Adventures in goFinding a useful outlet for my many Adventures in go
Finding a useful outlet for my many Adventures in go
 
Encrypt all transports
Encrypt all transportsEncrypt all transports
Encrypt all transports
 

Similar to Privacy is always a requirement

Don't Ask, Don't Tell - The Virtues of Privacy By Design
Don't Ask, Don't Tell - The Virtues of Privacy By DesignDon't Ask, Don't Tell - The Virtues of Privacy By Design
Don't Ask, Don't Tell - The Virtues of Privacy By DesignEleanor McHugh
 
Internet Security
Internet SecurityInternet Security
Internet SecurityAvnish Jain
 
33 New Social Rules for Living in a Digital Age
33 New Social Rules for Living in a Digital Age33 New Social Rules for Living in a Digital Age
33 New Social Rules for Living in a Digital AgeTony Fish
 
How to Avoid Crypto Scams - Crypto JBro
How to Avoid Crypto Scams - Crypto JBroHow to Avoid Crypto Scams - Crypto JBro
How to Avoid Crypto Scams - Crypto JBroJared Broker
 
disscussion reply to the question asked from students minimum words .docx
disscussion reply to the question asked from students minimum words .docxdisscussion reply to the question asked from students minimum words .docx
disscussion reply to the question asked from students minimum words .docxjameywaughj
 
DIGITAL FORENSIC 25In this chapter, youll learn more about.docx
DIGITAL FORENSIC 25In this chapter, youll learn more about.docxDIGITAL FORENSIC 25In this chapter, youll learn more about.docx
DIGITAL FORENSIC 25In this chapter, youll learn more about.docxlynettearnold46882
 
Cyber peace for youth tanta
Cyber peace for youth tantaCyber peace for youth tanta
Cyber peace for youth tantaSamir Deutsch
 
Who is the digital you?
Who is the digital you?Who is the digital you?
Who is the digital you?Tony Fish
 
Cryptography And Secure Systems
Cryptography And Secure SystemsCryptography And Secure Systems
Cryptography And Secure SystemsInvisibits
 
Things You Must Know About Cryptocurrency Wallet Development
Things You Must Know About Cryptocurrency Wallet DevelopmentThings You Must Know About Cryptocurrency Wallet Development
Things You Must Know About Cryptocurrency Wallet DevelopmentRichestsoft
 
ECSM 2021 - Ce faci dacă ți-au fost sparte conturile de social media
ECSM 2021 - Ce faci dacă ți-au fost sparte conturile de social media ECSM 2021 - Ce faci dacă ți-au fost sparte conturile de social media
ECSM 2021 - Ce faci dacă ți-au fost sparte conturile de social media One-IT
 
Blockchains: Opportunities & Risks for Law Firms [RelativityFest 2018]
Blockchains: Opportunities & Risks for Law Firms [RelativityFest 2018]Blockchains: Opportunities & Risks for Law Firms [RelativityFest 2018]
Blockchains: Opportunities & Risks for Law Firms [RelativityFest 2018]Kroll
 
Certificates pink programming
Certificates pink programmingCertificates pink programming
Certificates pink programmingJenny Dybedahl
 
Securing and Safeguarding Your Library Setup
Securing and Safeguarding Your Library SetupSecuring and Safeguarding Your Library Setup
Securing and Safeguarding Your Library SetupBrian Pichman
 
online safety, security and rules of netiquette
online safety, security and rules of netiquetteonline safety, security and rules of netiquette
online safety, security and rules of netiquette007rgmel
 
Authentication and session v4
Authentication and session v4Authentication and session v4
Authentication and session v4skimil
 
Network Security
Network SecurityNetwork Security
Network SecurityRitam Das
 

Similar to Privacy is always a requirement (20)

Don't Ask, Don't Tell - The Virtues of Privacy By Design
Don't Ask, Don't Tell - The Virtues of Privacy By DesignDon't Ask, Don't Tell - The Virtues of Privacy By Design
Don't Ask, Don't Tell - The Virtues of Privacy By Design
 
Internet Security
Internet SecurityInternet Security
Internet Security
 
Presentation2 certificate farce
Presentation2 certificate farcePresentation2 certificate farce
Presentation2 certificate farce
 
33 New Social Rules for Living in a Digital Age
33 New Social Rules for Living in a Digital Age33 New Social Rules for Living in a Digital Age
33 New Social Rules for Living in a Digital Age
 
How to Avoid Crypto Scams - Crypto JBro
How to Avoid Crypto Scams - Crypto JBroHow to Avoid Crypto Scams - Crypto JBro
How to Avoid Crypto Scams - Crypto JBro
 
disscussion reply to the question asked from students minimum words .docx
disscussion reply to the question asked from students minimum words .docxdisscussion reply to the question asked from students minimum words .docx
disscussion reply to the question asked from students minimum words .docx
 
DIGITAL FORENSIC 25In this chapter, youll learn more about.docx
DIGITAL FORENSIC 25In this chapter, youll learn more about.docxDIGITAL FORENSIC 25In this chapter, youll learn more about.docx
DIGITAL FORENSIC 25In this chapter, youll learn more about.docx
 
Session hijacking
Session hijackingSession hijacking
Session hijacking
 
Cyber peace for youth tanta
Cyber peace for youth tantaCyber peace for youth tanta
Cyber peace for youth tanta
 
Who is the digital you?
Who is the digital you?Who is the digital you?
Who is the digital you?
 
Cryptography And Secure Systems
Cryptography And Secure SystemsCryptography And Secure Systems
Cryptography And Secure Systems
 
Things You Must Know About Cryptocurrency Wallet Development
Things You Must Know About Cryptocurrency Wallet DevelopmentThings You Must Know About Cryptocurrency Wallet Development
Things You Must Know About Cryptocurrency Wallet Development
 
ECSM 2021 - Ce faci dacă ți-au fost sparte conturile de social media
ECSM 2021 - Ce faci dacă ți-au fost sparte conturile de social media ECSM 2021 - Ce faci dacă ți-au fost sparte conturile de social media
ECSM 2021 - Ce faci dacă ți-au fost sparte conturile de social media
 
Blockchains: Opportunities & Risks for Law Firms [RelativityFest 2018]
Blockchains: Opportunities & Risks for Law Firms [RelativityFest 2018]Blockchains: Opportunities & Risks for Law Firms [RelativityFest 2018]
Blockchains: Opportunities & Risks for Law Firms [RelativityFest 2018]
 
Certificates pink programming
Certificates pink programmingCertificates pink programming
Certificates pink programming
 
Securing and Safeguarding Your Library Setup
Securing and Safeguarding Your Library SetupSecuring and Safeguarding Your Library Setup
Securing and Safeguarding Your Library Setup
 
Public Vs. Private Keys
Public Vs. Private KeysPublic Vs. Private Keys
Public Vs. Private Keys
 
online safety, security and rules of netiquette
online safety, security and rules of netiquetteonline safety, security and rules of netiquette
online safety, security and rules of netiquette
 
Authentication and session v4
Authentication and session v4Authentication and session v4
Authentication and session v4
 
Network Security
Network SecurityNetwork Security
Network Security
 

More from Eleanor McHugh

[2023] Putting the R! in R&D.pdf
[2023] Putting the R! in R&D.pdf[2023] Putting the R! in R&D.pdf
[2023] Putting the R! in R&D.pdfEleanor McHugh
 
Generics, Reflection, and Efficient Collections
Generics, Reflection, and Efficient CollectionsGenerics, Reflection, and Efficient Collections
Generics, Reflection, and Efficient CollectionsEleanor McHugh
 
The Relevance of Liveness - Biometrics and Data Integrity
The Relevance of Liveness - Biometrics and Data IntegrityThe Relevance of Liveness - Biometrics and Data Integrity
The Relevance of Liveness - Biometrics and Data IntegrityEleanor McHugh
 
The Browser Environment - A Systems Programmer's Perspective [sinatra edition]
The Browser Environment - A Systems Programmer's Perspective [sinatra edition]The Browser Environment - A Systems Programmer's Perspective [sinatra edition]
The Browser Environment - A Systems Programmer's Perspective [sinatra edition]Eleanor McHugh
 
The Browser Environment - A Systems Programmer's Perspective
The Browser Environment - A Systems Programmer's PerspectiveThe Browser Environment - A Systems Programmer's Perspective
The Browser Environment - A Systems Programmer's PerspectiveEleanor McHugh
 
Go for the paranoid network programmer, 3rd edition
Go for the paranoid network programmer, 3rd editionGo for the paranoid network programmer, 3rd edition
Go for the paranoid network programmer, 3rd editionEleanor McHugh
 
An introduction to functional programming with Go [redux]
An introduction to functional programming with Go [redux]An introduction to functional programming with Go [redux]
An introduction to functional programming with Go [redux]Eleanor McHugh
 
An introduction to functional programming with go
An introduction to functional programming with goAn introduction to functional programming with go
An introduction to functional programming with goEleanor McHugh
 
Implementing virtual machines in go & c 2018 redux
Implementing virtual machines in go & c 2018 reduxImplementing virtual machines in go & c 2018 redux
Implementing virtual machines in go & c 2018 reduxEleanor McHugh
 
Identity & trust in Monitored Spaces
Identity & trust in Monitored SpacesIdentity & trust in Monitored Spaces
Identity & trust in Monitored SpacesEleanor McHugh
 
Anonymity, identity, trust
Anonymity, identity, trustAnonymity, identity, trust
Anonymity, identity, trustEleanor McHugh
 
Going Loopy - Adventures in Iteration with Google Go
Going Loopy - Adventures in Iteration with Google GoGoing Loopy - Adventures in Iteration with Google Go
Going Loopy - Adventures in Iteration with Google GoEleanor McHugh
 
Distributed Ledgers: Anonymity & Immutability at Scale
Distributed Ledgers: Anonymity & Immutability at ScaleDistributed Ledgers: Anonymity & Immutability at Scale
Distributed Ledgers: Anonymity & Immutability at ScaleEleanor McHugh
 
Go for the paranoid network programmer, 2nd edition
Go for the paranoid network programmer, 2nd editionGo for the paranoid network programmer, 2nd edition
Go for the paranoid network programmer, 2nd editionEleanor McHugh
 
Going Loopy: Adventures in Iteration with Go
Going Loopy: Adventures in Iteration with GoGoing Loopy: Adventures in Iteration with Go
Going Loopy: Adventures in Iteration with GoEleanor McHugh
 

More from Eleanor McHugh (16)

[2023] Putting the R! in R&D.pdf
[2023] Putting the R! in R&D.pdf[2023] Putting the R! in R&D.pdf
[2023] Putting the R! in R&D.pdf
 
Generics, Reflection, and Efficient Collections
Generics, Reflection, and Efficient CollectionsGenerics, Reflection, and Efficient Collections
Generics, Reflection, and Efficient Collections
 
The Relevance of Liveness - Biometrics and Data Integrity
The Relevance of Liveness - Biometrics and Data IntegrityThe Relevance of Liveness - Biometrics and Data Integrity
The Relevance of Liveness - Biometrics and Data Integrity
 
The Browser Environment - A Systems Programmer's Perspective [sinatra edition]
The Browser Environment - A Systems Programmer's Perspective [sinatra edition]The Browser Environment - A Systems Programmer's Perspective [sinatra edition]
The Browser Environment - A Systems Programmer's Perspective [sinatra edition]
 
The Browser Environment - A Systems Programmer's Perspective
The Browser Environment - A Systems Programmer's PerspectiveThe Browser Environment - A Systems Programmer's Perspective
The Browser Environment - A Systems Programmer's Perspective
 
Go for the paranoid network programmer, 3rd edition
Go for the paranoid network programmer, 3rd editionGo for the paranoid network programmer, 3rd edition
Go for the paranoid network programmer, 3rd edition
 
An introduction to functional programming with Go [redux]
An introduction to functional programming with Go [redux]An introduction to functional programming with Go [redux]
An introduction to functional programming with Go [redux]
 
An introduction to functional programming with go
An introduction to functional programming with goAn introduction to functional programming with go
An introduction to functional programming with go
 
Implementing virtual machines in go & c 2018 redux
Implementing virtual machines in go & c 2018 reduxImplementing virtual machines in go & c 2018 redux
Implementing virtual machines in go & c 2018 redux
 
Identity & trust in Monitored Spaces
Identity & trust in Monitored SpacesIdentity & trust in Monitored Spaces
Identity & trust in Monitored Spaces
 
Anonymity, identity, trust
Anonymity, identity, trustAnonymity, identity, trust
Anonymity, identity, trust
 
Going Loopy - Adventures in Iteration with Google Go
Going Loopy - Adventures in Iteration with Google GoGoing Loopy - Adventures in Iteration with Google Go
Going Loopy - Adventures in Iteration with Google Go
 
Distributed Ledgers: Anonymity & Immutability at Scale
Distributed Ledgers: Anonymity & Immutability at ScaleDistributed Ledgers: Anonymity & Immutability at Scale
Distributed Ledgers: Anonymity & Immutability at Scale
 
Hello Go
Hello GoHello Go
Hello Go
 
Go for the paranoid network programmer, 2nd edition
Go for the paranoid network programmer, 2nd editionGo for the paranoid network programmer, 2nd edition
Go for the paranoid network programmer, 2nd edition
 
Going Loopy: Adventures in Iteration with Go
Going Loopy: Adventures in Iteration with GoGoing Loopy: Adventures in Iteration with Go
Going Loopy: Adventures in Iteration with Go
 

Recently uploaded

ETHICAL HACKING dddddddddddddddfnandni.pptx
ETHICAL HACKING dddddddddddddddfnandni.pptxETHICAL HACKING dddddddddddddddfnandni.pptx
ETHICAL HACKING dddddddddddddddfnandni.pptxNIMMANAGANTI RAMAKRISHNA
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书rnrncn29
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书rnrncn29
 
TRENDS Enabling and inhibiting dimensions.pptx
TRENDS Enabling and inhibiting dimensions.pptxTRENDS Enabling and inhibiting dimensions.pptx
TRENDS Enabling and inhibiting dimensions.pptxAndrieCagasanAkio
 
Cybersecurity Threats and Cybersecurity Best Practices
Cybersecurity Threats and Cybersecurity Best PracticesCybersecurity Threats and Cybersecurity Best Practices
Cybersecurity Threats and Cybersecurity Best PracticesLumiverse Solutions Pvt Ltd
 
Unidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptxUnidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptxmibuzondetrabajo
 
Company Snapshot Theme for Business by Slidesgo.pptx
Company Snapshot Theme for Business by Slidesgo.pptxCompany Snapshot Theme for Business by Slidesgo.pptx
Company Snapshot Theme for Business by Slidesgo.pptxMario
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predieusebiomeyer
 
IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119APNIC
 

Recently uploaded (9)

ETHICAL HACKING dddddddddddddddfnandni.pptx
ETHICAL HACKING dddddddddddddddfnandni.pptxETHICAL HACKING dddddddddddddddfnandni.pptx
ETHICAL HACKING dddddddddddddddfnandni.pptx
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
 
TRENDS Enabling and inhibiting dimensions.pptx
TRENDS Enabling and inhibiting dimensions.pptxTRENDS Enabling and inhibiting dimensions.pptx
TRENDS Enabling and inhibiting dimensions.pptx
 
Cybersecurity Threats and Cybersecurity Best Practices
Cybersecurity Threats and Cybersecurity Best PracticesCybersecurity Threats and Cybersecurity Best Practices
Cybersecurity Threats and Cybersecurity Best Practices
 
Unidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptxUnidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptx
 
Company Snapshot Theme for Business by Slidesgo.pptx
Company Snapshot Theme for Business by Slidesgo.pptxCompany Snapshot Theme for Business by Slidesgo.pptx
Company Snapshot Theme for Business by Slidesgo.pptx
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predi
 
IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119
 

Privacy is always a requirement

  • 1. privacy is always a requirement Eleanor McHugh [ github | slideshare | twitter ] feyeleanor
  • 5. (and yes, the internet is broken)
  • 6.
  • 7. today’s topic is applied paranoia
  • 8. 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
  • 9.
  • 10.
  • 11.
  • 12. 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
  • 13. privacy is not perfect security
  • 15. and so is perfect trust
  • 16. trust is always a contract
  • 17. and contracts can be broken
  • 18. we have to trust governments
  • 20.
  • 21. and our users have to trust us
  • 23.
  • 24. but who can we trust?
  • 25. as a visitor I 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
  • 26. as a registered user I 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
  • 27. as a system administration I 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
  • 28. as a law enforcement officer I 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
  • 29. as a regulator I 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
  • 30. as a service owner I 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
  • 31. and who is deceiving us?
  • 32. as an agressive marketeer I 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
  • 33. as a disgruntled employee I 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
  • 34. as a script kiddie I 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
  • 35. as an online fraudster I 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
  • 36. as a malicious attacker I 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
  • 37. some basic rules users 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
  • 39. know only what you need to
  • 43. !! hate is deadly !!
  • 44. so get your security tight
  • 45. and keep it tight
  • 47.
  • 48. 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)
  • 49.
  • 50. 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
  • 51.
  • 52. 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
  • 53.
  • 54. 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
  • 55.
  • 56. 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
  • 57.