SESSION ID:
#RSAC
Rich Mogull
Aspirin as a Service: Using the
Cloud to Cure Security
Headaches
CSV-T10
CEO
Securosis
@rmogull
Bill Shinn
Principle Security Solutions
Architect
Amazon Web Services
#RSAC
Little. Cloudy. Different.
2
Cloud can be more secure than
traditional datacenters.
The economics are in your favor.
Cloud architectures can wipe out
some traditional security
headaches.
This isn’t theory, it’s being done
today.
But only if you understand how
to leverage the cloud.
We will show you how.
#RSAC
Not the SaaS you’re looking for
3
This session is all IaaS and PaaS
#RSAC
Cloud Security Economics
4
For clients to use a cloud
provider, they must trust
the provider.
This is especially true for
anything with a sensitive
data or process.
Thus security has to be a
top priority for a provider or
you won’t use them.
A major breach for a
provider that affects
multiple customers is an
existential event.
You get one chance
#RSAC
Cloud Provider Critical Security Capabilities
5
API/admin activity logging
Elasticity and autoscaling
APIs for all security features
Granular entitlements
Good SAML support
Multiple accounts per
customer
Software defined networking
Region/location control
Nice to have: infrastructure
templating/automation
#RSAC
Evolving the Practice of Security Architecture
6
Security architecture as a silo’d function can no longer exist.
Static position papers,
architecture diagrams &
documents
UI-dependent consoles and
“pane of glass” technologies
Auditing, assurance, and
compliance are decoupled,
separate processes
Current Security
Architecture
Practice
#RSAC
Evolving the Practice of Security Architecture
7
Security architecture as a silo’d function can no longer exist.
Architecture artifacts
(design choices, narrative,
etc.) committed to
common repositories
Complete solutions account
for automation
Solution architectures are
living audit/compliance
artifacts and evidence in a
closed loop
Evolved Security
Architecture
Practice
#RSAC
Network Segmentation
#RSAC
Segregation is critical but hard
9
Segregating networks in a data center is hard,
expensive, and often unwieldy.
It’s hard to isolate application services on physical
machines.
Even using virtual machines has a lot of management
overhead.
Attackers drop in and move North/South in
application stacks, and East/West on networks (or
both).
#RSAC
Network segregation by default
10
Granularity of host firewall with ease of management of network firewall
cba
Web X X
#RSAC
Limiting blast radius
11
Account
Virtual Network
Subnet
Security
Group
Virtual Network
Subnet
Security
Group
#RSAC
To a host or network…
12
Account
Virtual Network
Subnet
Security
Group
Virtual Network
Subnet
Security
Group
Boom
#RSAC
To a host or network…
13
Account
Virtual Network
Subnet
Security
Group
Virtual Network
Subnet
Security
Group
Boom
#RSAC
Or an entire “data center”
14
Account
Virtual Network
Subnet
Secu
rity
Grou
p
Virtual Network
Subnet
Secu
rity
Grou
p
Account
Virtual Network
Subnet
Secu
rity
Grou
p
Virtual Network
Subnet
Secu
rity
Grou
p
Account
Virtual Network
Subnet
Secu
rity
Grou
p
Virtual Network
Subnet
Secu
rity
Grou
p
#RSAC
Or an entire “data center”
15
Account
Virtual Network
Subnet
Secu
rity
Grou
p
Virtual Network
Subnet
Secu
rity
Grou
p
Account
Virtual Network
Subnet
Secu
rity
Grou
p
Virtual Network
Subnet
Secu
rity
Grou
p
Account
Virtual Network
Subnet
Secu
rity
Grou
p
Virtual Network
Subnet
Secu
rity
Grou
p
Boom
#RSAC
Traditional blast radius
16
#RSAC
Application segregation
17
Easier to deploy smaller services
Easier to isolate
Can integrate PaaS for “network air gaps”
#RSAC
Cloud “DMZ”
18
#RSAC
19
Template
#RSAC
Immutable Services Architectures
#RSAC
Managing patches and change
21
Nothing we deploy is consistent.
Even when we become consistent, it’s hard to patch live stuff
without breaking things.
Privileged users log into servers and make changes.
Attackers love persistent servers they can compromise and camp
inside.
Plus, we need to keep the auditors happy.
#RSAC
Develop Commit Test Deploy
Team
Env
Dev QA Test Ops
Dev Test Test
Stag
e
Prod
Design to deploy is a mess
#RSAC
The power of immutable
23
Instead of updating, you
completely replace
infrastructure through
automation.
Can apply to a single server, up
to an entire application stack.
Incredibly resilient and secure.
Think “servers without logins”. Image from: http://tourismplacesworld.blogspot.com/2012/07/uluru.html
#RSAC
Packer
configuration Git Jenkins
Security Tests
Test
Automate Creation of Master OS Images
Ops/Server
Engineering
Requirements
InfoSec
Requirements
Master
Image
#RSAC
Demo – Server Image Bakery/Factory
25
Update the desired configuration of a new master OS image
Build the master image
Test the master image for security controls
Make image available for use
#RSAC
How immutable works- auto scaling
26
Load Balancer
a b c
Auto Scale Group
#RSAC
How immutable works- auto scaling
27
Load Balancer
a b c
Auto Scale Group
#RSAC
How immutable works- auto scaling
28
Load Balancer
a b c
Auto Scale Group
#RSAC
How immutable works- auto scaling
29
Load Balancer
a b c
Auto Scale Group
#RSAC
How immutable works- auto scaling
30
Load Balancer
a b c
Auto Scale Group
unpatched patched
#RSAC
How immutable works- auto scaling
31
Load Balancer
a b c
Auto Scale Group
unpatched patched
#RSAC
How immutable works- auto scaling
32
Load Balancer
a b c
Auto Scale Group
unpatched patched
#RSAC
How immutable works- auto scaling
33
Load Balancer
a b c
Auto Scale Group
unpatched patched
#RSAC
Demo
34
Rolling update of 40 instances in 4 minutes with 0 downtime.
#RSAC
Immutable Infrastructure
#RSAC
Source Code
GitCloudformation
Templates
Jenkins
Functional
Tests
Chef Recipes
Chef
Server
NonFunctional
Tests
Security Tests
Test Prod
Automate with DevOps and Continuous
Deployment
#RSAC
Immutable Infrastructure
37
Internet
Template A:
Single, templated stack
#RSAC
Immutable Infrastructure
38
Internet
Template A: Template B:
Launch updated version
#RSAC
Immutable Infrastructure
39
Internet
Template A: Template B:
Begin diverting traffic via DNS
#RSAC
Immutable Infrastructure
40
Internet
Template A: Template B:
Rollback or finish, depending on results
#RSAC
Immutable Infrastructure
41
Internet
Template B:
#RSAC
Immutable Infrastructure
42
Internet
Template B:
Can still roll back if needed
#RSAC
Let your PaaS do the work
43
We deploy many MANY core components to deliver applications.
Load balancers, databases, message queues, and more.
It takes a lot of effort to keep these secure and up to date at
scale.
Each piece is yet more attack surface.
#RSAC
PaaS and ”New” Cloud Architectures
44
PaaS providers can’t afford a preventable security failure.
Including letting things get out of date.
Many types of PaaS can’t rely on normal networking.
Instead you access them via API.
This creates an opportunity to “air gap” parts of your application.
Kill off network attack paths (doesn’t help with logic flaws)
#RSAC
Network attack path?
45
#RSAC
PaaS Air Gap
46
No direct network connection
#RSAC
Software Defined Security
47
Attackers are automated, we are
mostly manual.
Our tools have been poor.
We lack trustable security
automation and thus need to
rely on a “Meat Cloud”
In cloud, APIs are mandatory.
We can write code to automate
and orchestrate, even across
products and services.
#RSAC
Code without Coding
48
Work with your devs to build a
library of building blocks
Learn just enough to glue it together
Build some core scripts
Mix and match the blocks
Pull in the dev when you have new
requirements
#RSAC
Meet SecuritySquirrel, the first warrior in
the Rodent Army (apologies to Netflix).
The following tools are written by an
analyst with a Ruby-for-Dummies book.
Automated security workflows spanning
products and services.
Demo
#RSAC
Pull server
information (If you
have it)
1
Detect
Compromise
2
3 Quarantine
4 Image
5 Analyze
6 Recover
= Hours!
Each step is manual, and uses a different set of disconnected tools
Incident Response
#RSAC
1. Pull metadata
2. Quarantine
3. Swap control to
security team
4. Identify and image
all storage
5. Launch and configure
analysis server
6. Can re-launch clean
server instantly
#RSAC
Stateless Security
52
Security normally relies on scanning
and checking databases.
With cloud we are completely
integrated into the infrastructure
and platforms.
The cloud controllers have to see
everything to manage everything,
there is no Neo running around.
Instead of scanning, we can directly
pull state.
And then use it for security
#RSAC
1 Scan the network
2 Scan again and again for all the parts you missed
3 Identify all the servers as best you can
4 Pull a config mgmt report
5 Manually compare results
Identify Unmanaged Servers (for the audit)
#RSAC
1. Get list of all servers
from cloud controller
(can filter on
tags/OS/etc).
• Single API call
2. Get list of all servers
from Chef
• Single API call
3. Compare in code
#RSAC
Event Driven Security
55
Cloud providers are creating hooks to trigger actions based on
events inside the cloud.
We can use these for near-instant security reactions.
#RSAC
Self-Healing Infrastructure (yes, for real)
56
Change a security group
Event Recorded to CloudTrail Passed to CloudWatch Log Stream
Triggers an CloudWatch
Event
Lambda Function
analyzes and reverses
#RSAC
Demo
57
Watch a security group self heal in less than 10 seconds…
#RSAC
Aspirin Applied
58
Next week you should:
Follow up this session by learning to use Git (or another source repo) and a
build pipeline toolchain like Jenkins.
In the first three months following this presentation you should:
Be collaborating with dev/engineering/operations/security on something -
anything! Even if you just keep basic “account governance” scripts in a repo that
people can run, contribute to, track, build into pipelines, etc- have at least one
key security capability wired up through a pipeline.
Within six months you should:
Be running audits out of the toolchain for at least a few key controls as they are
applied to the cloud.

Aspirin as a Service: Using the Cloud to Cure Security Headaches

  • 1.
    SESSION ID: #RSAC Rich Mogull Aspirinas a Service: Using the Cloud to Cure Security Headaches CSV-T10 CEO Securosis @rmogull Bill Shinn Principle Security Solutions Architect Amazon Web Services
  • 2.
    #RSAC Little. Cloudy. Different. 2 Cloudcan be more secure than traditional datacenters. The economics are in your favor. Cloud architectures can wipe out some traditional security headaches. This isn’t theory, it’s being done today. But only if you understand how to leverage the cloud. We will show you how.
  • 3.
    #RSAC Not the SaaSyou’re looking for 3 This session is all IaaS and PaaS
  • 4.
    #RSAC Cloud Security Economics 4 Forclients to use a cloud provider, they must trust the provider. This is especially true for anything with a sensitive data or process. Thus security has to be a top priority for a provider or you won’t use them. A major breach for a provider that affects multiple customers is an existential event. You get one chance
  • 5.
    #RSAC Cloud Provider CriticalSecurity Capabilities 5 API/admin activity logging Elasticity and autoscaling APIs for all security features Granular entitlements Good SAML support Multiple accounts per customer Software defined networking Region/location control Nice to have: infrastructure templating/automation
  • 6.
    #RSAC Evolving the Practiceof Security Architecture 6 Security architecture as a silo’d function can no longer exist. Static position papers, architecture diagrams & documents UI-dependent consoles and “pane of glass” technologies Auditing, assurance, and compliance are decoupled, separate processes Current Security Architecture Practice
  • 7.
    #RSAC Evolving the Practiceof Security Architecture 7 Security architecture as a silo’d function can no longer exist. Architecture artifacts (design choices, narrative, etc.) committed to common repositories Complete solutions account for automation Solution architectures are living audit/compliance artifacts and evidence in a closed loop Evolved Security Architecture Practice
  • 8.
  • 9.
    #RSAC Segregation is criticalbut hard 9 Segregating networks in a data center is hard, expensive, and often unwieldy. It’s hard to isolate application services on physical machines. Even using virtual machines has a lot of management overhead. Attackers drop in and move North/South in application stacks, and East/West on networks (or both).
  • 10.
    #RSAC Network segregation bydefault 10 Granularity of host firewall with ease of management of network firewall cba Web X X
  • 11.
    #RSAC Limiting blast radius 11 Account VirtualNetwork Subnet Security Group Virtual Network Subnet Security Group
  • 12.
    #RSAC To a hostor network… 12 Account Virtual Network Subnet Security Group Virtual Network Subnet Security Group Boom
  • 13.
    #RSAC To a hostor network… 13 Account Virtual Network Subnet Security Group Virtual Network Subnet Security Group Boom
  • 14.
    #RSAC Or an entire“data center” 14 Account Virtual Network Subnet Secu rity Grou p Virtual Network Subnet Secu rity Grou p Account Virtual Network Subnet Secu rity Grou p Virtual Network Subnet Secu rity Grou p Account Virtual Network Subnet Secu rity Grou p Virtual Network Subnet Secu rity Grou p
  • 15.
    #RSAC Or an entire“data center” 15 Account Virtual Network Subnet Secu rity Grou p Virtual Network Subnet Secu rity Grou p Account Virtual Network Subnet Secu rity Grou p Virtual Network Subnet Secu rity Grou p Account Virtual Network Subnet Secu rity Grou p Virtual Network Subnet Secu rity Grou p Boom
  • 16.
  • 17.
    #RSAC Application segregation 17 Easier todeploy smaller services Easier to isolate Can integrate PaaS for “network air gaps”
  • 18.
  • 19.
  • 20.
  • 21.
    #RSAC Managing patches andchange 21 Nothing we deploy is consistent. Even when we become consistent, it’s hard to patch live stuff without breaking things. Privileged users log into servers and make changes. Attackers love persistent servers they can compromise and camp inside. Plus, we need to keep the auditors happy.
  • 22.
    #RSAC Develop Commit TestDeploy Team Env Dev QA Test Ops Dev Test Test Stag e Prod Design to deploy is a mess
  • 23.
    #RSAC The power ofimmutable 23 Instead of updating, you completely replace infrastructure through automation. Can apply to a single server, up to an entire application stack. Incredibly resilient and secure. Think “servers without logins”. Image from: http://tourismplacesworld.blogspot.com/2012/07/uluru.html
  • 24.
    #RSAC Packer configuration Git Jenkins SecurityTests Test Automate Creation of Master OS Images Ops/Server Engineering Requirements InfoSec Requirements Master Image
  • 25.
    #RSAC Demo – ServerImage Bakery/Factory 25 Update the desired configuration of a new master OS image Build the master image Test the master image for security controls Make image available for use
  • 26.
    #RSAC How immutable works-auto scaling 26 Load Balancer a b c Auto Scale Group
  • 27.
    #RSAC How immutable works-auto scaling 27 Load Balancer a b c Auto Scale Group
  • 28.
    #RSAC How immutable works-auto scaling 28 Load Balancer a b c Auto Scale Group
  • 29.
    #RSAC How immutable works-auto scaling 29 Load Balancer a b c Auto Scale Group
  • 30.
    #RSAC How immutable works-auto scaling 30 Load Balancer a b c Auto Scale Group unpatched patched
  • 31.
    #RSAC How immutable works-auto scaling 31 Load Balancer a b c Auto Scale Group unpatched patched
  • 32.
    #RSAC How immutable works-auto scaling 32 Load Balancer a b c Auto Scale Group unpatched patched
  • 33.
    #RSAC How immutable works-auto scaling 33 Load Balancer a b c Auto Scale Group unpatched patched
  • 34.
    #RSAC Demo 34 Rolling update of40 instances in 4 minutes with 0 downtime.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
    #RSAC Immutable Infrastructure 39 Internet Template A:Template B: Begin diverting traffic via DNS
  • 40.
    #RSAC Immutable Infrastructure 40 Internet Template A:Template B: Rollback or finish, depending on results
  • 41.
  • 42.
  • 43.
    #RSAC Let your PaaSdo the work 43 We deploy many MANY core components to deliver applications. Load balancers, databases, message queues, and more. It takes a lot of effort to keep these secure and up to date at scale. Each piece is yet more attack surface.
  • 44.
    #RSAC PaaS and ”New”Cloud Architectures 44 PaaS providers can’t afford a preventable security failure. Including letting things get out of date. Many types of PaaS can’t rely on normal networking. Instead you access them via API. This creates an opportunity to “air gap” parts of your application. Kill off network attack paths (doesn’t help with logic flaws)
  • 45.
  • 46.
    #RSAC PaaS Air Gap 46 Nodirect network connection
  • 47.
    #RSAC Software Defined Security 47 Attackersare automated, we are mostly manual. Our tools have been poor. We lack trustable security automation and thus need to rely on a “Meat Cloud” In cloud, APIs are mandatory. We can write code to automate and orchestrate, even across products and services.
  • 48.
    #RSAC Code without Coding 48 Workwith your devs to build a library of building blocks Learn just enough to glue it together Build some core scripts Mix and match the blocks Pull in the dev when you have new requirements
  • 49.
    #RSAC Meet SecuritySquirrel, thefirst warrior in the Rodent Army (apologies to Netflix). The following tools are written by an analyst with a Ruby-for-Dummies book. Automated security workflows spanning products and services. Demo
  • 50.
    #RSAC Pull server information (Ifyou have it) 1 Detect Compromise 2 3 Quarantine 4 Image 5 Analyze 6 Recover = Hours! Each step is manual, and uses a different set of disconnected tools Incident Response
  • 51.
    #RSAC 1. Pull metadata 2.Quarantine 3. Swap control to security team 4. Identify and image all storage 5. Launch and configure analysis server 6. Can re-launch clean server instantly
  • 52.
    #RSAC Stateless Security 52 Security normallyrelies on scanning and checking databases. With cloud we are completely integrated into the infrastructure and platforms. The cloud controllers have to see everything to manage everything, there is no Neo running around. Instead of scanning, we can directly pull state. And then use it for security
  • 53.
    #RSAC 1 Scan thenetwork 2 Scan again and again for all the parts you missed 3 Identify all the servers as best you can 4 Pull a config mgmt report 5 Manually compare results Identify Unmanaged Servers (for the audit)
  • 54.
    #RSAC 1. Get listof all servers from cloud controller (can filter on tags/OS/etc). • Single API call 2. Get list of all servers from Chef • Single API call 3. Compare in code
  • 55.
    #RSAC Event Driven Security 55 Cloudproviders are creating hooks to trigger actions based on events inside the cloud. We can use these for near-instant security reactions.
  • 56.
    #RSAC Self-Healing Infrastructure (yes,for real) 56 Change a security group Event Recorded to CloudTrail Passed to CloudWatch Log Stream Triggers an CloudWatch Event Lambda Function analyzes and reverses
  • 57.
    #RSAC Demo 57 Watch a securitygroup self heal in less than 10 seconds…
  • 58.
    #RSAC Aspirin Applied 58 Next weekyou should: Follow up this session by learning to use Git (or another source repo) and a build pipeline toolchain like Jenkins. In the first three months following this presentation you should: Be collaborating with dev/engineering/operations/security on something - anything! Even if you just keep basic “account governance” scripts in a repo that people can run, contribute to, track, build into pipelines, etc- have at least one key security capability wired up through a pipeline. Within six months you should: Be running audits out of the toolchain for at least a few key controls as they are applied to the cloud.