DT3	
Session	
6/9/16	1:30	PM	
	
	
	
	
	
	
Developing	a	Rugged	DevOps	Approach	
to	Cloud	Security	
	
Presented	by:	
	
Tim	Prendergast	
Evident.io	
	
	
Brought	to	you	by:		
		
	
	
	
	
350	Corporate	Way,	Suite	400,	Orange	Park,	FL	32073		
888---268---8770	··	904---278---0524	-	info@techwell.com	-	http://www.techwell.com/
Tim	Prendergast	
Evident.io	
	
Co-founder	and	CEO	of	Evident.io	Tim	Prendergast	(@Auxome)	is	a	passionate	
security	practitioner	who	seeks	to	help	others	avoid	the	pain	he	endured	when	
leading	Adobe's	initiative	to	adopt	the	cloud	at	a	massive	level.	After	more	than	
fifteen	years	of	building,	operating,	and	securing	services	in	AWS,	including	eight	
years	in	AWS	security	and	three	years	building	the	Adobe	AWS	infrastructure,	
Tim	has	set	out	to	make	security	approachable	and	repeatable	for	organizations	
of	all	sizes	by	creating	the	first	security	company	focused	solely	on	programmatic	
infrastructures	in	the	cloud.	Tim	previously	led	technology	teams	at	Adobe,	
Ingenuity,	Ticketmaster,	and	McAfee.
Copyright © 2015 evident.io1
DEVELOPING A RUGGED DEVOPS
APPROACH TO CLOUD SECURITY
Tim Prendergast (@auxome)
Copyright © 2015 evident.io2
9
“Through 2020, 80% of cloud breaches will be
due to customer misconfiguration,
mismanaged credentials or insider theft, not
cloud provider vulnerabilities.”
Published: 15 April 2015

How much responsibility do we have?
Copyright © 2015 evident.io3
AGREEING ON TERMINOLOGY
What is “the Cloud”?

Programmatic infrastructure and services
evolved for dynamic use.
Copyright © 2015 evident.io4
AGREEING ON TERMINOLOGY
How can I get some “DevOps”?

Engineers building and managing things 

smarter, faster, and with more automation.
Copyright © 2015 evident.io5
AGREEING ON TERMINOLOGY
How can I get some “DevOps”?

Engineers building and managing things 

smarter, faster, and with more automation.
Copyright © 2015 evident.io6
SPRINKLE ON SOME “RUGGED”?
Rugged DevOps
• Authored for RSA 2015
• Aggregation of philosophy from:
Gene Kim, Damon Edwards, Rich
Mogull, Josh Corman, James
Wicket, and that Tim Prendergast
weirdo
• Free download from: https://
evident.io/resources/rugged-devops/
Copyright © 2015 evident.io7
WHY DO WE NEED TO GET RUGGED?
DevOps Security
The Pit
of Despair
Copyright © 2015 evident.io8
THESE THINGS BELONG TOGETHER
&
&
&
&
&
Copyright © 2015 evident.io9
BAD GUYS HAVE ADVANTAGES
• We have budgets, they have #winnings
• We have finite project cycles, they have a lifetime
• We have to sleep, they do not (as much)
• There are thousands of them, and often less than 3 or 4 of us.
• We cannot afford to hyper focus on any particular area…
Context Switching is the enemy of Security
Copyright © 2015 evident.io10
THE CONTINUOUSLY DELIVERING ATTACKER
Attacker
IPv4 Space
of AWS
IPv4 Space
of GCE
IPv4 Space
of Azure
SCAN IDENTIFY COMPROMISE
Vulnerable
Instance
Misconfigured
Storage
Weak LB
Ciphers
“FREE
CANDY”
Drop rootkit, exfiltrate data,
deploy bot, proceed to SCAN
Dump data, locate high-value
data targets, sink hooks
Traffic interception/redirection,
decryption, and manipulation
Deploy batch jobs, mine bitcoin,
setup botnet/SCAN nodes, set
phishing campaign, exploit identity
relationships, etc…
Copyright © 2015 evident.io11
THE EASY WIN
Sometimes people accidentally give away their keys via code,
SCM, and even support tickets.
Copyright © 2015 evident.io12
THERE ARE TEN RUGGED CORE PRINCIPALS
Attackers are Automated, so we must be, too.
Copyright © 2015 evident.io13
UNDERMINING CONTINUOUS ATTACKS
IDENTIFY COMPROMISESCAN
|____| |____|
Time (t) Time (t)
__________________________________
| |
Attack Lifecycle
Copyright © 2015 evident.io14
REACTION TIME (DEFENDER CYCLE)
IDENTIFY COMPROMISESCAN
|____| |____|
Time (t) Time (t)
Post-vulnerability Defense Window
|_________________|
Copyright © 2015 evident.io15
PROACTION (?!) TIME
IDENTIFY COMPROMISESCAN
|____| |____|
Time (t) Time (t)
Post-vulnerability Defense Window
|_________________|
|__________|
Proactive Security
Copyright © 2015 evident.io16
… AND THE REMAINDER
IDENTIFY COMPROMISESCAN
|____| |____|
Time (t) Time (t)
Post-vulnerability Defense Window
|_________________|
|__________|
Proactive Security
|—————>
Game Over
Copyright © 2015 evident.io17
ANYONE DOING SAT PREP?
Minutes (>, <, =) Weeks
Copyright © 2015 evident.io18
ANYONE DOING SAT PREP?
Minutes < Weeks
Copyright © 2015 evident.io19
THE REAL EQUATION ISSUE
Minutes < Weeks(Attackers) (Defenders)
Copyright © 2015 evident.io20
RUGGED DEVOPS IS EQUALIZING
IDENTIFY COMPROMISESCAN
|____| |____|
Time (t) Time (t)
Proactive Security Posture Mgmt
|_________________|
|__________|
Preventative Measure
|—————>
Automated
Incident Response
Copyright © 2015 evident.io21
OWNERSHIP IS SHARED
IDENTIFY COMPROMISESCAN
|____| |____|
Time (t) Time (t)
Proactive Security Posture Mgmt
(Ops)
|_________________|
|__________|
Preventative Measure
(Dev)
|—————>
Automated
Incident Response
(Security)
Copyright © 2015 evident.io22
AND NEW BONDS ARE FORMED
IDENTIFY COMPROMISESCAN
|____| |____|
Time (t) Time (t)
Proactive Security Posture Mgmt
(DevSecOps)
|_________________|
|__________|
Preventative Measure
(DevSecOps)
|—————>
Automated
Incident Response
(DevSecOps)
Copyright © 2015 evident.io23
TIMING IS EVERYTHING
TTD
TTR
TTC
TTE
=
=
=
=
Time to Detect
Time to Respond
Time to Contain
Time to Expunge
Think biological
Copyright © 2015 evident.io24
THERE ARE TEN RUGGED CORE PRINCIPALS
Automate for (Acceleration + Force-Multiplication)
Copyright © 2015 evident.io25
TEAMS, NOT SILOS
DevOps + Security
Copyright © 2015 evident.io26
TEAMS, NOT SILOS
DevSecOps
Handoffs Fail. Collaborations win.
Copyright © 2015 evident.io27
THERE ARE TEN RUGGED CORE PRINCIPALS
• Don’t give up if you don’t get everything at first
• Mutual goals and respect = mutual wins.
• Be at the design table early, and often.
Copyright © 2015 evident.io28
SAY WHAT?
If you cannot articulate your security requirements,
you cannot create security as code.
Copyright © 2015 evident.io29
SECURITY CLARITY IS NECESSITY
PCI DSS Req 3.5.1: Restrict access to cryptographic keys to the fewest
number of custodians necessary.
Translation: We never want more than 2 custodians with access to keys used
for encrypting sensitive data. If there are more than two, we need
to know (organization-wide) to prevent abuse or malicious access.
Copyright © 2015 evident.io30
THIS LEADS TO SECURITY-AS-CODE
{
"Sid": “PCI DSS 3.5.1 - Control Key Access”,
"Effect": "Allow",
"Principal": {"AWS": [
"arn:aws:iam::0123456789:user/Custodian1",
"arn:aws:iam::0123456789:role/Custodian2"
]},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "*"
}
configure do |c|
c.deep_inspection = [:alias_name, :alias_arn,
:target_key_id, :description, :creation_date,
:key_state, :deletion_date, :key_policies]
c.unique_identifier = [:alias_name]
end
def perform(aws)
key_aliases = aws.kms.list_aliases.aliases
key_aliases.each do |key_alias|
key_policies = aws.kms.list_key_policies({key_id:key_alias})
@custodians = key_policies.principal
custodians.each do |users|
{HERE'S THE FUN STUFF}
Copyright © 2015 evident.io31
… AND THAT LEADS TO AUTOMATED TESTING
Code
Check-in
Unit Tests
Functional
Tests
Security
Tests
Environment
Promotion
Yes/
No
Copyright © 2015 evident.io32
CONTINUOUS BEHAVIOR IS THE KEY
• Now you not only can continuously measure security posture
• … But you can:
• Proactively stop undesired risk from being promoted to prod
• Take automated mitigation steps against malicious changes
• Ensure corporate and regulatory policy conformity
• Obtain situational awareness of your dynamic environments
Copyright © 2015 evident.io33
OPEN YOUR TECHNOLOGY TO THE ORG
The broader discussion is more valuable
than closed-door one(s)
THANK YOU
PS - We’re Hiring!

Developing a Rugged DevOps Approach to Cloud Security

  • 1.
  • 2.
  • 3.
    Copyright © 2015evident.io1 DEVELOPING A RUGGED DEVOPS APPROACH TO CLOUD SECURITY Tim Prendergast (@auxome) Copyright © 2015 evident.io2 9 “Through 2020, 80% of cloud breaches will be due to customer misconfiguration, mismanaged credentials or insider theft, not cloud provider vulnerabilities.” Published: 15 April 2015
 How much responsibility do we have?
  • 4.
    Copyright © 2015evident.io3 AGREEING ON TERMINOLOGY What is “the Cloud”?
 Programmatic infrastructure and services evolved for dynamic use. Copyright © 2015 evident.io4 AGREEING ON TERMINOLOGY How can I get some “DevOps”?
 Engineers building and managing things 
 smarter, faster, and with more automation.
  • 5.
    Copyright © 2015evident.io5 AGREEING ON TERMINOLOGY How can I get some “DevOps”?
 Engineers building and managing things 
 smarter, faster, and with more automation. Copyright © 2015 evident.io6 SPRINKLE ON SOME “RUGGED”? Rugged DevOps • Authored for RSA 2015 • Aggregation of philosophy from: Gene Kim, Damon Edwards, Rich Mogull, Josh Corman, James Wicket, and that Tim Prendergast weirdo • Free download from: https:// evident.io/resources/rugged-devops/
  • 6.
    Copyright © 2015evident.io7 WHY DO WE NEED TO GET RUGGED? DevOps Security The Pit of Despair Copyright © 2015 evident.io8 THESE THINGS BELONG TOGETHER & & & & &
  • 7.
    Copyright © 2015evident.io9 BAD GUYS HAVE ADVANTAGES • We have budgets, they have #winnings • We have finite project cycles, they have a lifetime • We have to sleep, they do not (as much) • There are thousands of them, and often less than 3 or 4 of us. • We cannot afford to hyper focus on any particular area… Context Switching is the enemy of Security Copyright © 2015 evident.io10 THE CONTINUOUSLY DELIVERING ATTACKER Attacker IPv4 Space of AWS IPv4 Space of GCE IPv4 Space of Azure SCAN IDENTIFY COMPROMISE Vulnerable Instance Misconfigured Storage Weak LB Ciphers “FREE CANDY” Drop rootkit, exfiltrate data, deploy bot, proceed to SCAN Dump data, locate high-value data targets, sink hooks Traffic interception/redirection, decryption, and manipulation Deploy batch jobs, mine bitcoin, setup botnet/SCAN nodes, set phishing campaign, exploit identity relationships, etc…
  • 8.
    Copyright © 2015evident.io11 THE EASY WIN Sometimes people accidentally give away their keys via code, SCM, and even support tickets. Copyright © 2015 evident.io12 THERE ARE TEN RUGGED CORE PRINCIPALS Attackers are Automated, so we must be, too.
  • 9.
    Copyright © 2015evident.io13 UNDERMINING CONTINUOUS ATTACKS IDENTIFY COMPROMISESCAN |____| |____| Time (t) Time (t) __________________________________ | | Attack Lifecycle Copyright © 2015 evident.io14 REACTION TIME (DEFENDER CYCLE) IDENTIFY COMPROMISESCAN |____| |____| Time (t) Time (t) Post-vulnerability Defense Window |_________________|
  • 10.
    Copyright © 2015evident.io15 PROACTION (?!) TIME IDENTIFY COMPROMISESCAN |____| |____| Time (t) Time (t) Post-vulnerability Defense Window |_________________| |__________| Proactive Security Copyright © 2015 evident.io16 … AND THE REMAINDER IDENTIFY COMPROMISESCAN |____| |____| Time (t) Time (t) Post-vulnerability Defense Window |_________________| |__________| Proactive Security |—————> Game Over
  • 11.
    Copyright © 2015evident.io17 ANYONE DOING SAT PREP? Minutes (>, <, =) Weeks Copyright © 2015 evident.io18 ANYONE DOING SAT PREP? Minutes < Weeks
  • 12.
    Copyright © 2015evident.io19 THE REAL EQUATION ISSUE Minutes < Weeks(Attackers) (Defenders) Copyright © 2015 evident.io20 RUGGED DEVOPS IS EQUALIZING IDENTIFY COMPROMISESCAN |____| |____| Time (t) Time (t) Proactive Security Posture Mgmt |_________________| |__________| Preventative Measure |—————> Automated Incident Response
  • 13.
    Copyright © 2015evident.io21 OWNERSHIP IS SHARED IDENTIFY COMPROMISESCAN |____| |____| Time (t) Time (t) Proactive Security Posture Mgmt (Ops) |_________________| |__________| Preventative Measure (Dev) |—————> Automated Incident Response (Security) Copyright © 2015 evident.io22 AND NEW BONDS ARE FORMED IDENTIFY COMPROMISESCAN |____| |____| Time (t) Time (t) Proactive Security Posture Mgmt (DevSecOps) |_________________| |__________| Preventative Measure (DevSecOps) |—————> Automated Incident Response (DevSecOps)
  • 14.
    Copyright © 2015evident.io23 TIMING IS EVERYTHING TTD TTR TTC TTE = = = = Time to Detect Time to Respond Time to Contain Time to Expunge Think biological Copyright © 2015 evident.io24 THERE ARE TEN RUGGED CORE PRINCIPALS Automate for (Acceleration + Force-Multiplication)
  • 15.
    Copyright © 2015evident.io25 TEAMS, NOT SILOS DevOps + Security Copyright © 2015 evident.io26 TEAMS, NOT SILOS DevSecOps Handoffs Fail. Collaborations win.
  • 16.
    Copyright © 2015evident.io27 THERE ARE TEN RUGGED CORE PRINCIPALS • Don’t give up if you don’t get everything at first • Mutual goals and respect = mutual wins. • Be at the design table early, and often. Copyright © 2015 evident.io28 SAY WHAT? If you cannot articulate your security requirements, you cannot create security as code.
  • 17.
    Copyright © 2015evident.io29 SECURITY CLARITY IS NECESSITY PCI DSS Req 3.5.1: Restrict access to cryptographic keys to the fewest number of custodians necessary. Translation: We never want more than 2 custodians with access to keys used for encrypting sensitive data. If there are more than two, we need to know (organization-wide) to prevent abuse or malicious access. Copyright © 2015 evident.io30 THIS LEADS TO SECURITY-AS-CODE { "Sid": “PCI DSS 3.5.1 - Control Key Access”, "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::0123456789:user/Custodian1", "arn:aws:iam::0123456789:role/Custodian2" ]}, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" } configure do |c| c.deep_inspection = [:alias_name, :alias_arn, :target_key_id, :description, :creation_date, :key_state, :deletion_date, :key_policies] c.unique_identifier = [:alias_name] end def perform(aws) key_aliases = aws.kms.list_aliases.aliases key_aliases.each do |key_alias| key_policies = aws.kms.list_key_policies({key_id:key_alias}) @custodians = key_policies.principal custodians.each do |users| {HERE'S THE FUN STUFF}
  • 18.
    Copyright © 2015evident.io31 … AND THAT LEADS TO AUTOMATED TESTING Code Check-in Unit Tests Functional Tests Security Tests Environment Promotion Yes/ No Copyright © 2015 evident.io32 CONTINUOUS BEHAVIOR IS THE KEY • Now you not only can continuously measure security posture • … But you can: • Proactively stop undesired risk from being promoted to prod • Take automated mitigation steps against malicious changes • Ensure corporate and regulatory policy conformity • Obtain situational awareness of your dynamic environments
  • 19.
    Copyright © 2015evident.io33 OPEN YOUR TECHNOLOGY TO THE ORG The broader discussion is more valuable than closed-door one(s) THANK YOU PS - We’re Hiring!