GDS
Michael Brunton-Spall
Building secure software and
keeping it secure in the face of
changing requirements
Slide 3
Slide 3 text
GDS
Michael Brunton-Spall
This guidance is in alpha
Slide 4
Slide 4 text
GDS
Michael Brunton-Spall
I am a civil servant
Slide 5
Slide 5 text
GDS
Michael Brunton-Spall
I work for the Government Digital
Service
Slide 6
Slide 6 text
GDS
Michael Brunton-Spall
Publishing
Slide 7
Slide 7 text
GDS
Michael Brunton-Spall
Transactions
Slide 8
Slide 8 text
GDS
Michael Brunton-Spall
API's
Slide 9
Slide 9 text
GDS
Michael Brunton-Spall
Agile
Slide 10
Slide 10 text
GDS
Michael Brunton-Spall
Security vs Information Risk
Slide 11
Slide 11 text
GDS
Michael Brunton-Spall
Why bother?
Slide 12
Slide 12 text
GDS
Michael Brunton-Spall
What are the threats?
Slide 13
Slide 13 text
GDS
Michael Brunton-Spall
Data loss and theft
Slide 14
Slide 14 text
GDS
Michael Brunton-Spall
14
GDS
Michael Brunton-Spall
http://www.informationisbeautiful.net/visualizations/worlds-biggest-data-breaches-hacks/
http://www.nbcnews.com/id/8985989/#.VQgdgWSsU8Z
http://news.bbc.co.uk/1/hi/uk/7103911.stm
Slide 15
Slide 15 text
GDS
Michael Brunton-Spall
15
GDS
Michael Brunton-Spall
http://www.informationisbeautiful.net/visualizations/worlds-biggest-data-breaches-hacks/
http://www.techweekeurope.co.uk/workspace/nhs-researchers-lose-laptop-with-8m-patients-r
ecords-31810
http://www.bbc.co.uk/news/technology-15690187
Slide 16
Slide 16 text
GDS
Michael Brunton-Spall
16
GDS
Michael Brunton-Spall
http://www.informationisbeautiful.net/visualizations/worlds-biggest-data-breaches-hacks/
http://www.pcworld.com/article/252647/reborn_lulzsec_claims_hack_of_dating_site_for_military_personnel.html
http://www.nydailynews.com/news/national/russians-ukrainian-charged-largest-hacking-spree-u-s-history-article-
1.1408948
Slide 17
Slide 17 text
GDS
Michael Brunton-Spall
17
GDS
Michael Brunton-Spall
http://www.informationisbeautiful.net/visualizations/worlds-biggest-data-breaches-hacks/
Slide 18
Slide 18 text
GDS
Michael Brunton-Spall
http://zed0.co.uk/crossword/
Slide 19
Slide 19 text
GDS
Michael Brunton-Spall
Criminal users on the internet
Slide 20
Slide 20 text
GDS
Michael Brunton-Spall
GameOver/Zeus Banking
Malware
Slide 21
Slide 21 text
GDS
Michael Brunton-Spall
http://www.stateoftheinternet.com/resources-web-security-threat-advisories-2014-zeus-zbot-malware-crimeware.html
Slide 22
Slide 22 text
GDS
Michael Brunton-Spall
"FBI Fraud Scheme Zeus Trojan" by FBI. Licensed under Public Domain via Wikimedia Commons -
http://commons.wikimedia.org/wiki/File:FBI_Fraud_Scheme_Zeus_Trojan.jpg
Slide 23
Slide 23 text
No content
Slide 24
Slide 24 text
GDS
Michael Brunton-Spall
24
GDS
Michael Brunton-Spall
http://www.theverge.com/a/anatomy-of-a-hack
Slide 25
Slide 25 text
GDS
Michael Brunton-Spall
Advanced Persistent Threats
Slide 26
Slide 26 text
GDS
Michael Brunton-Spall
26
GDS
Michael Brunton-Spall
https://www2.fireeye.com/fin4.html
Slide 27
Slide 27 text
GDS
Michael Brunton-Spall
Watering Hole Attacks
http://www.invincea.com/2015/02/chinese-espionage-campaign-compromises-forbes/
Slide 28
Slide 28 text
GDS
Michael Brunton-Spall
http://securelist.com/blog/research/66779/the-darkhotel-apt/
http://blog.kaspersky.co.uk/darkhotel-apt/
28
GDS
Michael Brunton-Spall
Slide 29
Slide 29 text
GDS
Michael Brunton-Spall
The state of information security
Slide 30
Slide 30 text
GDS
Michael Brunton-Spall
BS7799-1:1999
Slide 31
Slide 31 text
GDS
Michael Brunton-Spall
ISO27001:2005
Slide 32
Slide 32 text
GDS
Michael Brunton-Spall
Accreditation
Certification
Approval to operate
Slide 33
Slide 33 text
GDS
Michael Brunton-Spall
PCI
Slide 34
Slide 34 text
GDS
Michael Brunton-Spall
How do we deal with this?
Slide 35
Slide 35 text
GDS
Michael Brunton-Spall
Traditional model
Slide 36
Slide 36 text
GDS
Michael Brunton-Spall
Slide 37
Slide 37 text
GDS
Michael Brunton-Spall
How do we deal with changes?
Slide 38
Slide 38 text
GDS
Michael Brunton-Spall
38
GDS
Michael Brunton-Spall
Slide 39
Slide 39 text
GDS
Michael Brunton-Spall
Agile changes everything
Slide 40
Slide 40 text
GDS
Michael Brunton-Spall
Only do what's needed now
Slide 41
Slide 41 text
GDS
Michael Brunton-Spall
Release It!
Slide 42
Slide 42 text
GDS
Michael Brunton-Spall
MVP and iterate
Slide 43
Slide 43 text
GDS
Michael Brunton-Spall
A security nightmare!
Slide 44
Slide 44 text
GDS
Michael Brunton-Spall
How can we deal with it?
Slide 45
Slide 45 text
GDS
Michael Brunton-Spall
Investigated projects across
government
Slide 46
Slide 46 text
GDS
Michael Brunton-Spall
Variety of approaches
Slide 47
Slide 47 text
GDS
Michael Brunton-Spall
… and that's ok
Slide 48
Slide 48 text
GDS
Michael Brunton-Spall
A new world of security
Slide 49
Slide 49 text
GDS
Michael Brunton-Spall
Principles over rules
Slide 50
Slide 50 text
GDS
Michael Brunton-Spall
The UK Government published 8
principles
Slide 51
Slide 51 text
GDS
Michael Brunton-Spall
Accept uncertainty
Slide 52
Slide 52 text
GDS
Michael Brunton-Spall
Security as part of the team
Slide 53
Slide 53 text
GDS
Michael Brunton-Spall
Understand the risks
Slide 54
Slide 54 text
GDS
Michael Brunton-Spall
Trust decision making
Slide 55
Slide 55 text
GDS
Michael Brunton-Spall
Security is part of everything
Slide 56
Slide 56 text
GDS
Michael Brunton-Spall
User experience is important
Slide 57
Slide 57 text
GDS
Michael Brunton-Spall
Audit decisions
Slide 58
Slide 58 text
GDS
Michael Brunton-Spall
Understand big picture impact
Slide 59
Slide 59 text
GDS
Michael Brunton-Spall
But what do they mean?
Slide 60
Slide 60 text
GDS
Michael Brunton-Spall
Let's get practical
Slide 61
Slide 61 text
GDS
Michael Brunton-Spall
National Insurance Claim
Slide 62
Slide 62 text
GDS
Michael Brunton-Spall
User submits their details and
claim
Slide 63
Slide 63 text
GDS
Michael Brunton-Spall
Company confirms details via 2nd
channel
Slide 64
Slide 64 text
GDS
Michael Brunton-Spall
User gets paid
Slide 65
Slide 65 text
GDS
Michael Brunton-Spall
System is currently paper based
for users
mainframe based for staff
Slide 66
Slide 66 text
GDS
Michael Brunton-Spall
This team is going to digitise the
service
Slide 67
Slide 67 text
GDS
Michael Brunton-Spall
Embed security on the team
Slide 68
Slide 68 text
GDS
Michael Brunton-Spall
Choose security model that's
appropriate
Slide 69
Slide 69 text
GDS
Michael Brunton-Spall
Understand the threats
Slide 70
Slide 70 text
GDS
Michael Brunton-Spall
Hackers break in and steal data
from database
Slide 71
Slide 71 text
GDS
Michael Brunton-Spall
Fraudsters submit false claims
Slide 72
Slide 72 text
GDS
Michael Brunton-Spall
Educate decision makers to risks
Slide 73
Slide 73 text
GDS
Michael Brunton-Spall
Make risk decisions on a per
story basis
Slide 74
Slide 74 text
GDS
Michael Brunton-Spall
Example
Slide 75
Slide 75 text
GDS
Michael Brunton-Spall
“Allow user to enter bank details
to be paid by bank transfer”
Slide 76
Slide 76 text
GDS
Michael Brunton-Spall
Adds risk
Slide 77
Slide 77 text
GDS
Michael Brunton-Spall
“Add 2 factor authentication to
staff login system”
Slide 78
Slide 78 text
GDS
Michael Brunton-Spall
Counters risk
Slide 79
Slide 79 text
GDS
Michael Brunton-Spall
“Allow user to enter multiple
holiday periods”
Slide 80
Slide 80 text
GDS
Michael Brunton-Spall
Risk neutral
Slide 81
Slide 81 text
GDS
Michael Brunton-Spall
What do you do about the risk?
Slide 82
Slide 82 text
GDS
Michael Brunton-Spall
“Allow user to enter bank details
to be paid by bank transfer”
Slide 83
Slide 83 text
GDS
Michael Brunton-Spall
Avoid
Slide 84
Slide 84 text
GDS
Michael Brunton-Spall
Don't do it, use cheques instead
Slide 85
Slide 85 text
GDS
Michael Brunton-Spall
Transfer
Slide 86
Slide 86 text
GDS
Michael Brunton-Spall
Use a banking third party
Slide 87
Slide 87 text
GDS
Michael Brunton-Spall
Accept
Slide 88
Slide 88 text
GDS
Michael Brunton-Spall
Just do it
Slide 89
Slide 89 text
GDS
Michael Brunton-Spall
Mitigate
Slide 90
Slide 90 text
GDS
Michael Brunton-Spall
Encrypt bank details on
submission using public key
cryptography
Slide 91
Slide 91 text
GDS
Michael Brunton-Spall
How much extra work is that?
Slide 92
Slide 92 text
GDS
Michael Brunton-Spall
Accept for now, add a story to
backlog to mitigate
Slide 93
Slide 93 text
GDS
Michael Brunton-Spall
Feature flags and feature
releases
Slide 94
Slide 94 text
GDS
Michael Brunton-Spall
Risk evaluation
Slide 95
Slide 95 text
GDS
Michael Brunton-Spall
R = Impact * Likelihood
Slide 96
Slide 96 text
GDS
Michael Brunton-Spall
What does it cost to lose
data/customers etc
Slide 97
Slide 97 text
GDS
Michael Brunton-Spall
How likely is it to happen
Slide 98
Slide 98 text
GDS
Michael Brunton-Spall
Is the business owner willing to
take the risk?
Slide 99
Slide 99 text
GDS
Michael Brunton-Spall
How long for?
Slide 100
Slide 100 text
GDS
Michael Brunton-Spall
What sorts of mitigations might
we use?
Slide 101
Slide 101 text
GDS
Michael Brunton-Spall
“Allow user to enter bank details
to be paid by bank transfer”
Slide 102
Slide 102 text
GDS
Michael Brunton-Spall
Against hackers stealing the data
Slide 103
Slide 103 text
GDS
Michael Brunton-Spall
“Encrypt the data” - Prevent
Slide 104
Slide 104 text
GDS
Michael Brunton-Spall
“Transaction monitoring” - Detect
Slide 105
Slide 105 text
GDS
Michael Brunton-Spall
“Store data only while session is
live” - Compensate
Slide 106
Slide 106 text
GDS
Michael Brunton-Spall
Against fraudsters inputing false
data
Slide 107
Slide 107 text
GDS
Michael Brunton-Spall
“Check bank details against
claim details” - Detect
Slide 108
Slide 108 text
GDS
Michael Brunton-Spall
“Only pay the same account
once a year” - Prevent
Slide 109
Slide 109 text
GDS
Michael Brunton-Spall
“Don't pay until second channel
supplies details”
Slide 110
Slide 110 text
GDS
Michael Brunton-Spall
Deter, Prevent, Correct, Recover,
Detect, Compensate
Slide 111
Slide 111 text
GDS
Michael Brunton-Spall
Record decision in a log
Slide 112
Slide 112 text
GDS
Michael Brunton-Spall
… probably a wiki
Slide 113
Slide 113 text
GDS
Michael Brunton-Spall
What about big picture impact?
Slide 114
Slide 114 text
GDS
Michael Brunton-Spall
Most information disclosure risks
are business process
Slide 115
Slide 115 text
GDS
Michael Brunton-Spall
Can a case worker add/replace
bank account details with their
own details
Slide 116
Slide 116 text
GDS
Michael Brunton-Spall
… without getting caught?
Slide 117
Slide 117 text
GDS
Michael Brunton-Spall
Can we automate this?
Slide 118
Slide 118 text
GDS
Michael Brunton-Spall
Ideas
Slide 119
Slide 119 text
GDS
Michael Brunton-Spall
Connect the risk log to the story
tracker
Slide 120
Slide 120 text
GDS
Michael Brunton-Spall
When a story is played, the risks
get updated
Slide 121
Slide 121 text
GDS
Michael Brunton-Spall
It's clear what current risk is
Slide 122
Slide 122 text
GDS
Michael Brunton-Spall
Misuse cases
Slide 123
Slide 123 text
GDS
Michael Brunton-Spall
As a fraudster,
When I submit a fake claim for
£1000,
A payment for £1000 gets
authorised
Slide 124
Slide 124 text
GDS
Michael Brunton-Spall
Expected to fail
Slide 125
Slide 125 text
GDS
Michael Brunton-Spall
Really fun to write
Slide 126
Slide 126 text
GDS
Michael Brunton-Spall
Define a set of threat actors
Slide 127
Slide 127 text
GDS
Michael Brunton-Spall
External Attacker, Internal
Attacker, Insider, Fraudster etc.
Slide 128
Slide 128 text
GDS
Michael Brunton-Spall
Executed like other user
acceptance tests
Slide 129
Slide 129 text
GDS
Michael Brunton-Spall
Give confidence that a story
hasn't had an impact elsewhere
Slide 130
Slide 130 text
GDS
Michael Brunton-Spall
Gives confidence in business
process
Slide 131
Slide 131 text
GDS
Michael Brunton-Spall
Attack Trees
Slide 132
Slide 132 text
GDS
Michael Brunton-Spall
https://www.schneier.com/paper-secure-methodology.pdf
Slide 133
Slide 133 text
GDS
Michael Brunton-Spall
Think as an attacker
Slide 134
Slide 134 text
GDS
Michael Brunton-Spall
Evaluate Risk, Access,
Effectiveness
Slide 135
Slide 135 text
GDS
Michael Brunton-Spall
Identify most efficient
countermeasures
Slide 136
Slide 136 text
GDS
Michael Brunton-Spall
Use attack trees to pick misuse
cases to automate
Slide 137
Slide 137 text
GDS
Michael Brunton-Spall
In summary
Slide 138
Slide 138 text
GDS
Michael Brunton-Spall
We have a duty of care to our
users
Slide 139
Slide 139 text
GDS
Michael Brunton-Spall
Choose the right process for you
Apply some basic principles
Dedicate someone to it
Align security and delivery
Slide 140
Slide 140 text
GDS
Michael Brunton-Spall
We're still learning, so let us
know if this works for you or not
Slide 141
Slide 141 text
GDS
Michael Brunton-Spall
Michael Brunton-Spall
Technical Architect
Government Digital Service
@bruntonspall
[email protected]