SlideShare a Scribd company logo
SECURE BY DESIGN
Security Design Principles for the Rest of Us

GOTO London 2016
Eoin Woods - Endava

@eoinwoodz
1
BACKGROUND
• Eoin Woods
• CTO at Endava (technology services, 3300 people)
• 10 years in product development - Bull, Sybase, InterTrust
• 10 years in capital markets applications - UBS and BGI
• Software engineer, then architect, now CTO
• Author, editor, speaker, community guy
2
CONTENT
• What is security and why do we care?
• What are design principles, why are they useful?
• Security design principles
• 10 important principles useful in practice
3
REVISITING SECURITY
• We all know security is important - but why?
• protection against malice, mistakes and mischance
• theft, fraud, destruction, disruption
• Security is a risk management business
• loss of time, money, privacy, reputation, advantage
• insurance model - balance costs against risk of loss
4
ASPECTS OF SECURITY PRACTICE
Secure Application Design
Secure Application
Implementation
Secure Infrastructure
Design
Secure Infrastructure
Deployment
Secure System Operation
5
SECURITY DESIGN PRINCIPLES
What is a “principle” ?
a fundamental truth or proposition serving as the foundation for
belief or action [OED]
We define a security design principle as ….
a declarative statement made with the intention of guiding
security design decisions in order to meet the goals of a system
6
SECURITY DESIGN PRINCIPLES
• There are many sets of security design principles
• Viega & McGraw (10), OWASP (10), NIST (33), NCSC
(44), Cliff Berg’s set (185) …
• Many similarities between them at fundamental level
• I have distilled 10 key principles as a basic set
• these are brief summaries for slide presentation
• www.viewpoints-and-perspectives.info
7
A SYSTEMTO BE SECURED
8
TEN KEY SECURITY PRINCIPLES
• Assign the least privilege
possible
• Separate responsibilities
• Trust cautiously
• Simplest solution possible

• Audit sensitive events
• Fail securely & use secure
defaults
• Never rely upon obscurity
• Implement defence in depth
• Never invent security
technology
• Find the weakest link
9
LEAST PRIVILEGE
Why?
Broad privileges allow malicious or accidental access to
protected resources
Principle Limit privileges to the minimum for the context
Tradeoff Less convenient, less efficient, more complexity
Example
Run server processes as their own users with exactly
the set of privileges they require
10
SEPARATE RESPONSIBILITIES
Why?
Achieve control and accountability, limit the impact of
successful attacks, make attacks less attractive
Principle
Separate and compartmentalise responsibilities and
privileges
Tradeoff
Development and testing costs, operational complexity,
troubleshooting more difficult
Example
“Payments” module administrators have no access to or
control over “Orders” module features
11
SEPARATE RESPONSIBILITIES
12
TRUST CAUTIOUSLY
Why?
Many security problems caused by inserting
malicious intermediaries in communication paths
Principle
Assume unknown entities are untrusted, have a clear
process to establish trust, validate who is connecting
Tradeoff
Operational complexity (particularly failure
recovery), reliability, some development overhead
Example
Don't accept untrusted RMI connections, use client
certificates, credentials or network controls
13
TRUST CAUTIOUSLY
Why?
Many security problems caused by inserting
malicious intermediaries in communication paths
Principle
Assume unknown entities are untrusted, have a clear
process to establish trust, validate who is connecting
Tradeoff
Operational complexity (particularly failure
recovery), reliability, some development overhead
Example
Don't accept untrusted RMI connections, use client
certificates, credentials or network controls
14
TRUST CAUTIOUSLY
Why?
Many security problems caused by inserting
malicious intermediaries in communication paths
Principle
Assume unknown entities are untrusted, have a clear
process to establish trust, validate who is connecting
Tradeoff
Operational complexity (particularly failure
recovery), reliability, some development overhead
Example
Don't accept untrusted RMI connections, use client
certificates, credentials or network controls
15
TRUST CAUTIOUSLY
Who are you?
How do we know?
What is connecting
to our services?
What are we
connecting to?
What can access
our database?16
SIMPLEST SOLUTION POSSIBLE
Why?
Security requires understanding of the design - complex
design is rarely understood - simplicity allows analysis
Principle
Actively design for simplicity - avoid complex failure
modes, implicit behaviour, unnecessary features, …
Tradeoff
Hard decisions on features and sophistication
Needs serious design effort to be simple
Example
Does the system really need dynamic runtime
configuration via a custom DSL?
The price of reliability is the pursuit of the utmost simplicity - C.A.R. Hoare
17
AUDIT SENSITIVE EVENTS
Why?
Provide record of activity, deter wrong doing, provide a
log to reconstruct the past, provide a monitoring point
Principle
Record all security significant events in a tamper-
resistant store
Tradeoff Performance, operational complexity, development cost
Example
Record all changes to "core" business entities in an
append-only store with (user, ip, timestamp, entity, event)
18
AUDITING
19
SECURE DEFAULTS & 

FAIL SECURELY
Why?
Default passwords, ports & rules are “open doors”
Failure and restart states often default to “insecure”
Principle
Force changes to security sensitive parameters
Think through failures - must be secure but recoverable
Tradeoff Convenience
Example
Don’t allow “SYSTEM/MANAGER” after installation
On failure don’t disable or reset security controls
20
NEVER RELY ON OBSCURITY
Why?
Hiding things is difficult - someone is going to find them,
accidentally if not on purpose
Principle
Assume attacker with perfect knowledge, this forces
secure system design
Tradeoff Designing a truly secure system takes time and effort
Example
Assume that an attacker will guess a "port knock"
network request sequence or a password encoding
21
DEFENCE IN DEPTH
Why?
Systems do get attacked, breaches do happen, mistakes
are made - need to minimise impact
Principle
Don’t rely on single point of security, secure every level,
vary mechanisms, stop failures at one level propagating
Tradeoff
Redundancy of policy, complex permissioning and
troubleshooting, can make recovery harder
Example Access control in UI, services, database, OS
22
DEFENCE IN DEPTH
23
NEVER INVENT SECURITYTECH
Why?
Security technology is difficult to create - specialist job,
avoiding vulnerabilities is difficult
Principle
Don’t create your own security technology always use a
proven component
Tradeoff
Time to assess security technology, effort to learning it,
complexity
Example
Don’t invent your own SSO mechanism, secret storage
or crypto libraries … choose industry standards
24
NEVER INVENT SECURITY
TECHNOLOGY
25
NEVER INVENT SECURITY
TECHNOLOGY
26
SECURETHE WEAKEST LINK
Why?
"Paper Wall" problem - common when focus is on
technologies not threats
Principle
Find the weakest link in the security chain and
strengthen it - repeat! (Threat modelling)
Tradeoff
Significant effort required, often reveals problems at the
least convenient moment!
Example
Data privacy threat met with encrypted communication
but with unencrypted database storage and backups
27
TEN KEY SECURITY PRINCIPLES
• Assign the least privilege
possible
• Separate responsibilities
• Trust cautiously
• Simplest solution possible

• Audit sensitive events
• Fail securely & use secure
defaults
• Never rely upon obscurity
• Implement defence in depth
• Never invent security
technology
• Find the weakest link
28
REFERENCES
• UK Government NCSC Security Principles:

https://www.ncsc.gov.uk/guidance/security-design-principles-digital-services-
main
• NIST Engineering Principles for IT Security:

http://csrc.nist.gov/publications/nistpubs/800-27A/SP800-27-RevA.pdf
• Short intro to McGraw’s set:

http://www.zdnet.com/article/gary-mcgraw-10-steps-to-secure-software/
• OWASP Principles set:

https://www.owasp.org/index.php/Category:Principle
29
BOOKS
30
THANKYOU … QUESTIONS?
Eoin Woods

Endava

eoin.woods@endava.com
@eoinwoodz
31

More Related Content

What's hot (20)

PPTX
WTF is Penetration Testing v.2
Scott Sutherland
 
PPTX
ISA/IEC 62443: Intro and How To
Jim Gilsinn
 
PPTX
NIST CyberSecurity Framework: An Overview
Tandhy Simanjuntak
 
PDF
Application Security | Application Security Tutorial | Cyber Security Certifi...
Edureka!
 
PPTX
Secure coding practices
Mohammed Danish Amber
 
PPTX
Social Engineering new.pptx
Santhosh Prabhu
 
PDF
Cybersecurity roadmap : Global healthcare security architecture
Priyanka Aash
 
PDF
Cyber Threat Intelligence
mohamed nasri
 
PDF
Introduction to MITRE ATT&CK
Arpan Raval
 
PPTX
Vulnerabilities in modern web applications
Niyas Nazar
 
PPTX
Zero Trust
Boaz Shunami
 
PPTX
Ethical Hacking PPT (CEH)
Umesh Mahawar
 
PDF
Cybersecurity Tools | Popular Tools for Cybersecurity Threats | Cybersecurity...
Edureka!
 
PPT
Information Security Principles - Access Control
idingolay
 
PPTX
Threat modelling(system + enterprise)
abhimanyubhogwan
 
PPTX
Secure SDLC Framework
Rishi Kant
 
PDF
Cybersecurity Basics - Aravindr.com
Aravind R
 
PDF
Mobile Application Penetration Testing
BGA Cyber Security
 
PDF
OWASP Top 10 Web Application Vulnerabilities
Software Guru
 
PPTX
Incident response
Anshul Gupta
 
WTF is Penetration Testing v.2
Scott Sutherland
 
ISA/IEC 62443: Intro and How To
Jim Gilsinn
 
NIST CyberSecurity Framework: An Overview
Tandhy Simanjuntak
 
Application Security | Application Security Tutorial | Cyber Security Certifi...
Edureka!
 
Secure coding practices
Mohammed Danish Amber
 
Social Engineering new.pptx
Santhosh Prabhu
 
Cybersecurity roadmap : Global healthcare security architecture
Priyanka Aash
 
Cyber Threat Intelligence
mohamed nasri
 
Introduction to MITRE ATT&CK
Arpan Raval
 
Vulnerabilities in modern web applications
Niyas Nazar
 
Zero Trust
Boaz Shunami
 
Ethical Hacking PPT (CEH)
Umesh Mahawar
 
Cybersecurity Tools | Popular Tools for Cybersecurity Threats | Cybersecurity...
Edureka!
 
Information Security Principles - Access Control
idingolay
 
Threat modelling(system + enterprise)
abhimanyubhogwan
 
Secure SDLC Framework
Rishi Kant
 
Cybersecurity Basics - Aravindr.com
Aravind R
 
Mobile Application Penetration Testing
BGA Cyber Security
 
OWASP Top 10 Web Application Vulnerabilities
Software Guru
 
Incident response
Anshul Gupta
 

Viewers also liked (20)

PPT
Computer security design principles
Shaishav Dahal
 
PDF
Design of a secure "Token Passing" protocol
Augusto Ciuffoletti
 
PDF
Using Software Architecture Principles in Practice
Eoin Woods
 
PPTX
Dmitriy Desyatkov "Secure SDLC or Security Culture to be or not to be"
WrikeTechClub
 
PPTX
Security_Testing_Presentation
Razil Shaik
 
PPTX
Endava Career Days Jan 2012 Five Dysfunctions of a Team
Endava
 
PPTX
Card Data Discovery and PCI DSS
Kimberly Simon MBA
 
PPTX
Security testing operation vijay
lavanyam210
 
PPTX
Xss what the heck-!
VodqaBLR
 
PDF
Matteo meucci Software Security - Napoli 10112016
Minded Security
 
PPTX
Information gathering using windows command line utility
Vishal Kumar
 
PPT
Chapter 5
sivadnolram
 
DOCX
Firewalls
Sonali Parab
 
PDF
Penetration Testing Execution Standard
Iftach Ian Amit
 
PPTX
Security testing
Rihab Chebbah
 
PPT
Introduction to information security
Kumawat Dharmpal
 
PDF
Requirements and Security Assessment Procedure for C7 To Be PCI DSS Compliant
Olivia Grey
 
PDF
TMPA-2017: Regression Testing with Semiautomatic Test Selection for Auditing ...
Iosif Itkin
 
PPTX
PL-SQL DIFFERENT PROGRAMS
raj upadhyay
 
PPTX
Understanding Security Basics: A Tutorial on Security Concepts and Technology
Amna Jalil
 
Computer security design principles
Shaishav Dahal
 
Design of a secure "Token Passing" protocol
Augusto Ciuffoletti
 
Using Software Architecture Principles in Practice
Eoin Woods
 
Dmitriy Desyatkov "Secure SDLC or Security Culture to be or not to be"
WrikeTechClub
 
Security_Testing_Presentation
Razil Shaik
 
Endava Career Days Jan 2012 Five Dysfunctions of a Team
Endava
 
Card Data Discovery and PCI DSS
Kimberly Simon MBA
 
Security testing operation vijay
lavanyam210
 
Xss what the heck-!
VodqaBLR
 
Matteo meucci Software Security - Napoli 10112016
Minded Security
 
Information gathering using windows command line utility
Vishal Kumar
 
Chapter 5
sivadnolram
 
Firewalls
Sonali Parab
 
Penetration Testing Execution Standard
Iftach Ian Amit
 
Security testing
Rihab Chebbah
 
Introduction to information security
Kumawat Dharmpal
 
Requirements and Security Assessment Procedure for C7 To Be PCI DSS Compliant
Olivia Grey
 
TMPA-2017: Regression Testing with Semiautomatic Test Selection for Auditing ...
Iosif Itkin
 
PL-SQL DIFFERENT PROGRAMS
raj upadhyay
 
Understanding Security Basics: A Tutorial on Security Concepts and Technology
Amna Jalil
 
Ad

Similar to Secure by Design - Security Design Principles for the Rest of Us (20)

PDF
Secure by Design - Security Design Principles for the Working Architect
Eoin Woods
 
PPTX
02-overview.pptx
EmanAzam
 
PPT
ch0001 computer systems security and principles and practices
stephen972973
 
PPTX
CISSP Domain 03 Security Architecture and Engineering.pptx
gealehegn
 
PPTX
Security Training: #1 What Actually a Security Is?
Yulian Slobodyan
 
PDF
Principles for Secure Design and Software Security
Mona Rajput
 
PPTX
Security Design Principles for developing secure application .pptx
azida3
 
PPTX
Development lifecycle and principals of Security
SylvesterNdegese1
 
PDF
Security Architecture Principles
Richard Dempers
 
PPTX
SECURITY PRINCIPLES AND SECURITY SERVICES.pptx
22r01a05l4
 
PPT
SegurançA Da InformaçãO Faat V1 4
Rodrigo Piovesana
 
PPTX
Information Security and the SDLC
BDPA Charlotte - Information Technology Thought Leaders
 
PPT
Security Design Principles.ppt
DrBasemMohamedElomda
 
PDF
Cybersecurity_Security_architecture_2023.pdf
abacusgtuc
 
PPT
Secure Software Design and programming.ppt
martel91
 
PPTX
Security Design Concepts
Mohammed Fazuluddin
 
PPTX
Lecture-6 about this slide programs .pptx
MUHAMMADAHMAD173574
 
PDF
[Austria] Security by Design
OWASP EEE
 
PPTX
002 Security Design Principles and some other
AssadLeo1
 
PPTX
002 Security Design Principles with best
AssadLeo1
 
Secure by Design - Security Design Principles for the Working Architect
Eoin Woods
 
02-overview.pptx
EmanAzam
 
ch0001 computer systems security and principles and practices
stephen972973
 
CISSP Domain 03 Security Architecture and Engineering.pptx
gealehegn
 
Security Training: #1 What Actually a Security Is?
Yulian Slobodyan
 
Principles for Secure Design and Software Security
Mona Rajput
 
Security Design Principles for developing secure application .pptx
azida3
 
Development lifecycle and principals of Security
SylvesterNdegese1
 
Security Architecture Principles
Richard Dempers
 
SECURITY PRINCIPLES AND SECURITY SERVICES.pptx
22r01a05l4
 
SegurançA Da InformaçãO Faat V1 4
Rodrigo Piovesana
 
Security Design Principles.ppt
DrBasemMohamedElomda
 
Cybersecurity_Security_architecture_2023.pdf
abacusgtuc
 
Secure Software Design and programming.ppt
martel91
 
Security Design Concepts
Mohammed Fazuluddin
 
Lecture-6 about this slide programs .pptx
MUHAMMADAHMAD173574
 
[Austria] Security by Design
OWASP EEE
 
002 Security Design Principles and some other
AssadLeo1
 
002 Security Design Principles with best
AssadLeo1
 
Ad

More from Eoin Woods (13)

PDF
API Vulnerabilties and What to Do About Them
Eoin Woods
 
PDF
Democratising Software Architecture
Eoin Woods
 
PDF
A Breathless Tour of Blockchain
Eoin Woods
 
PDF
Models, Sketches and Everything In Between
Eoin Woods
 
PDF
Capturing Design (When you really have to)
Eoin Woods
 
PDF
Serverless Computing for the Inquiring Mind
Eoin Woods
 
PDF
Software Architecture as Systems Dissolve
Eoin Woods
 
PDF
Software Architecture as Systems Dissolve (OOP2016)
Eoin Woods
 
PPTX
When Architecture Meets Data
Eoin Woods
 
PDF
System Security Beyond the Libraries
Eoin Woods
 
PDF
Getting Your System to Production and Keeping it There
Eoin Woods
 
PDF
Common WebApp Vulnerabilities and What to Do About Them
Eoin Woods
 
PDF
Deferring the Last Responsible Moment
Eoin Woods
 
API Vulnerabilties and What to Do About Them
Eoin Woods
 
Democratising Software Architecture
Eoin Woods
 
A Breathless Tour of Blockchain
Eoin Woods
 
Models, Sketches and Everything In Between
Eoin Woods
 
Capturing Design (When you really have to)
Eoin Woods
 
Serverless Computing for the Inquiring Mind
Eoin Woods
 
Software Architecture as Systems Dissolve
Eoin Woods
 
Software Architecture as Systems Dissolve (OOP2016)
Eoin Woods
 
When Architecture Meets Data
Eoin Woods
 
System Security Beyond the Libraries
Eoin Woods
 
Getting Your System to Production and Keeping it There
Eoin Woods
 
Common WebApp Vulnerabilities and What to Do About Them
Eoin Woods
 
Deferring the Last Responsible Moment
Eoin Woods
 

Recently uploaded (20)

PPTX
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
PPTX
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
PDF
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
PDF
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PDF
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PDF
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
PDF
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
PDF
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
PDF
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
PDF
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
PPTX
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
PDF
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
PPTX
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
PDF
IObit Driver Booster Pro 12.4.0.585 Crack Free Download
henryc1122g
 
PPTX
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
PPTX
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
IObit Driver Booster Pro 12.4.0.585 Crack Free Download
henryc1122g
 
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 

Secure by Design - Security Design Principles for the Rest of Us

  • 1. SECURE BY DESIGN Security Design Principles for the Rest of Us
 GOTO London 2016 Eoin Woods - Endava
 @eoinwoodz 1
  • 2. BACKGROUND • Eoin Woods • CTO at Endava (technology services, 3300 people) • 10 years in product development - Bull, Sybase, InterTrust • 10 years in capital markets applications - UBS and BGI • Software engineer, then architect, now CTO • Author, editor, speaker, community guy 2
  • 3. CONTENT • What is security and why do we care? • What are design principles, why are they useful? • Security design principles • 10 important principles useful in practice 3
  • 4. REVISITING SECURITY • We all know security is important - but why? • protection against malice, mistakes and mischance • theft, fraud, destruction, disruption • Security is a risk management business • loss of time, money, privacy, reputation, advantage • insurance model - balance costs against risk of loss 4
  • 5. ASPECTS OF SECURITY PRACTICE Secure Application Design Secure Application Implementation Secure Infrastructure Design Secure Infrastructure Deployment Secure System Operation 5
  • 6. SECURITY DESIGN PRINCIPLES What is a “principle” ? a fundamental truth or proposition serving as the foundation for belief or action [OED] We define a security design principle as …. a declarative statement made with the intention of guiding security design decisions in order to meet the goals of a system 6
  • 7. SECURITY DESIGN PRINCIPLES • There are many sets of security design principles • Viega & McGraw (10), OWASP (10), NIST (33), NCSC (44), Cliff Berg’s set (185) … • Many similarities between them at fundamental level • I have distilled 10 key principles as a basic set • these are brief summaries for slide presentation • www.viewpoints-and-perspectives.info 7
  • 8. A SYSTEMTO BE SECURED 8
  • 9. TEN KEY SECURITY PRINCIPLES • Assign the least privilege possible • Separate responsibilities • Trust cautiously • Simplest solution possible
 • Audit sensitive events • Fail securely & use secure defaults • Never rely upon obscurity • Implement defence in depth • Never invent security technology • Find the weakest link 9
  • 10. LEAST PRIVILEGE Why? Broad privileges allow malicious or accidental access to protected resources Principle Limit privileges to the minimum for the context Tradeoff Less convenient, less efficient, more complexity Example Run server processes as their own users with exactly the set of privileges they require 10
  • 11. SEPARATE RESPONSIBILITIES Why? Achieve control and accountability, limit the impact of successful attacks, make attacks less attractive Principle Separate and compartmentalise responsibilities and privileges Tradeoff Development and testing costs, operational complexity, troubleshooting more difficult Example “Payments” module administrators have no access to or control over “Orders” module features 11
  • 13. TRUST CAUTIOUSLY Why? Many security problems caused by inserting malicious intermediaries in communication paths Principle Assume unknown entities are untrusted, have a clear process to establish trust, validate who is connecting Tradeoff Operational complexity (particularly failure recovery), reliability, some development overhead Example Don't accept untrusted RMI connections, use client certificates, credentials or network controls 13
  • 14. TRUST CAUTIOUSLY Why? Many security problems caused by inserting malicious intermediaries in communication paths Principle Assume unknown entities are untrusted, have a clear process to establish trust, validate who is connecting Tradeoff Operational complexity (particularly failure recovery), reliability, some development overhead Example Don't accept untrusted RMI connections, use client certificates, credentials or network controls 14
  • 15. TRUST CAUTIOUSLY Why? Many security problems caused by inserting malicious intermediaries in communication paths Principle Assume unknown entities are untrusted, have a clear process to establish trust, validate who is connecting Tradeoff Operational complexity (particularly failure recovery), reliability, some development overhead Example Don't accept untrusted RMI connections, use client certificates, credentials or network controls 15
  • 16. TRUST CAUTIOUSLY Who are you? How do we know? What is connecting to our services? What are we connecting to? What can access our database?16
  • 17. SIMPLEST SOLUTION POSSIBLE Why? Security requires understanding of the design - complex design is rarely understood - simplicity allows analysis Principle Actively design for simplicity - avoid complex failure modes, implicit behaviour, unnecessary features, … Tradeoff Hard decisions on features and sophistication Needs serious design effort to be simple Example Does the system really need dynamic runtime configuration via a custom DSL? The price of reliability is the pursuit of the utmost simplicity - C.A.R. Hoare 17
  • 18. AUDIT SENSITIVE EVENTS Why? Provide record of activity, deter wrong doing, provide a log to reconstruct the past, provide a monitoring point Principle Record all security significant events in a tamper- resistant store Tradeoff Performance, operational complexity, development cost Example Record all changes to "core" business entities in an append-only store with (user, ip, timestamp, entity, event) 18
  • 20. SECURE DEFAULTS & 
 FAIL SECURELY Why? Default passwords, ports & rules are “open doors” Failure and restart states often default to “insecure” Principle Force changes to security sensitive parameters Think through failures - must be secure but recoverable Tradeoff Convenience Example Don’t allow “SYSTEM/MANAGER” after installation On failure don’t disable or reset security controls 20
  • 21. NEVER RELY ON OBSCURITY Why? Hiding things is difficult - someone is going to find them, accidentally if not on purpose Principle Assume attacker with perfect knowledge, this forces secure system design Tradeoff Designing a truly secure system takes time and effort Example Assume that an attacker will guess a "port knock" network request sequence or a password encoding 21
  • 22. DEFENCE IN DEPTH Why? Systems do get attacked, breaches do happen, mistakes are made - need to minimise impact Principle Don’t rely on single point of security, secure every level, vary mechanisms, stop failures at one level propagating Tradeoff Redundancy of policy, complex permissioning and troubleshooting, can make recovery harder Example Access control in UI, services, database, OS 22
  • 24. NEVER INVENT SECURITYTECH Why? Security technology is difficult to create - specialist job, avoiding vulnerabilities is difficult Principle Don’t create your own security technology always use a proven component Tradeoff Time to assess security technology, effort to learning it, complexity Example Don’t invent your own SSO mechanism, secret storage or crypto libraries … choose industry standards 24
  • 27. SECURETHE WEAKEST LINK Why? "Paper Wall" problem - common when focus is on technologies not threats Principle Find the weakest link in the security chain and strengthen it - repeat! (Threat modelling) Tradeoff Significant effort required, often reveals problems at the least convenient moment! Example Data privacy threat met with encrypted communication but with unencrypted database storage and backups 27
  • 28. TEN KEY SECURITY PRINCIPLES • Assign the least privilege possible • Separate responsibilities • Trust cautiously • Simplest solution possible
 • Audit sensitive events • Fail securely & use secure defaults • Never rely upon obscurity • Implement defence in depth • Never invent security technology • Find the weakest link 28
  • 29. REFERENCES • UK Government NCSC Security Principles:
 https://www.ncsc.gov.uk/guidance/security-design-principles-digital-services- main • NIST Engineering Principles for IT Security:
 http://csrc.nist.gov/publications/nistpubs/800-27A/SP800-27-RevA.pdf • Short intro to McGraw’s set:
 http://www.zdnet.com/article/gary-mcgraw-10-steps-to-secure-software/ • OWASP Principles set:
 https://www.owasp.org/index.php/Category:Principle 29
  • 31. THANKYOU … QUESTIONS? Eoin Woods
 Endava
 [email protected] @eoinwoodz 31