SESSION ID:
#RSAC
Stephen Schmidt
HUMANS AND DATA DON’T MIX:
BEST PRACTICES TO SECURE YOUR CLOUD
CSV-T08
Vice President and Chief Information Security Officer
Amazon Web Services (AWS)
@AWSSecurityInfo
# R S A C
Get Humans Away from Your Data
# R S A C
Security Blind Spots
Disparate sources
# R S A C
Security Blind Spots
Lack of rigorDisparate sources
# R S A C
Security Blind Spots
Can’t scaleLack of rigorDisparate sources
# R S A C
Baselining Your Environment
# R S A C
Baselining Your Environment
# R S A C
# R S A C
# R S A C
COMMIT CHANGES BUILD ARTIFACTS DEPLOY TO TEST ENVIRONMENT
RUN INTEGRATION, SECURITY,
LOAD AND OTHER TESTS
DEPLOY TO
PRODUCTION ENVIRONMENT
MANAGE RUNTIME
SOURCE
CONTROL BUILD TESTING &
STAGING
PRODUCTION MAINTAIN
CONTINUOUS INTEGRATION CONTINUOUS DELIVERY
Security in the CI/CD Pipeline
# R S A C
COMMIT CHANGES BUILD ARTIFACTS DEPLOY TO TEST ENVIRONMENT
RUN INTEGRATION, SECURITY,
LOAD AND OTHER TESTS
DEPLOY TO
PRODUCTION ENVIRONMENT
MANAGE RUNTIME
SOURCE
CONTROL BUILD TESTING &
STAGING
PRODUCTION MAINTAIN
CONTINUOUS INTEGRATION CONTINUOUS DELIVERY
Security in the CI/CD Pipeline
# R S A C
COMMIT CHANGES BUILD ARTIFACTS DEPLOY TO TEST ENVIRONMENT
RUN INTEGRATION, SECURITY,
LOAD AND OTHER TESTS
DEPLOY TO
PRODUCTION ENVIRONMENT
MANAGE RUNTIME
SOURCE
CONTROL BUILD TESTING &
STAGING
PRODUCTION MAINTAIN
CONTINUOUS INTEGRATION CONTINUOUS DELIVERY
Security in the CI/CD Pipeline
# R S A C
Source Control
COMMIT CHANGES
SOURCE
CONTROL
CONTINUOUS INTEGRATION CONTINUOUS DEPLOYMENT
# R S A C
VS.
SOURCE CONTROL
Infrastructure as Code
# R S A C
SOURCE CONTROL
Protecting Source Code
# R S A C
SOURCE CONTROL
Protecting Source Code
# R S A C
Seek vendors which embrace APIs
SOURCE CONTROL
# R S A C
Source Control
Current State
Network and system engineers
directly log into systems to make
changes
Version control for infrastructure
configuration is a decoupled process
Limited APIs awareness
Future State
Changes are committed to source
control for infrastructure and the
pipeline executes the change
Changes cannot be made without
version control
Embraces APIs
SOURCE CONTROL
# R S A C
COMMIT CHANGES
SOURCE
CONTROL
CONTINUOUS INTEGRATION CONTINUOUS DELIVERY
BUILD ARTIFACTS
BUILD
Build
# R S A C
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sns:*",
"Resource": "*”
},
{
"Effect": "Allow",
"NotAction":"sns:Delete*",
"Resource": "*"
}
]
}
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sns:*",
"Resource": "*”
},
{
"Effect": ”Deny",
"Action": "sns:Delete*",
"Resource": "*"
}
]
}
Policy A Policy B
Is Policy A more permissive than Policy B?
SOURCE CONTROL BUILD
# R S A C
Build Control
SOURCE CONTROL BUILD
Current State
Manual Code Review
Manual intervention for static
analysis
Future State
Automated reasoning for formally
proving security
Automation wrapped around static
analysis
# R S A C
COMMIT CHANGES
SOURCE
CONTROL
CONTINUOUS INTEGRATION CONTINUOUS DELIVERY
BUILD ARTIFACTS
BUILD
DEPLOY TO TEST ENVIRONMENT
RUN INTEGRATION, SECURITY,
LOAD AND OTHER TESTS
TESTING &
STAGING
Testing & Staging
# R S A C
SOURCE CONTROL BUILD TESTING & STAGING
Finding Weaknesses & Defects
# R S A C
AppSec Team Contribution
# R S A C
# R S A C
Testing & Staging
26
Current State
Security assessments are manual
Security testing is decoupled from
pipelines
Measures of AppSec team
involvement are based only on risk
reduction, not mutual success
Future State
Security assessments are coded and
automated too.
Security testing happens much closer
to the time defects are created
Feedback loops are used to ship
secure code, quickly
SOURCE CONTROL BUILD TESTING & STAGING
# R S A C
COMMIT CHANGES
SOURCE
CONTROL
CONTINUOUS INTEGRATION CONTINUOUS DELIVERY
RUN, BUILD AND UNIT TESTS
BUILD
DEPLOY TO TEST ENVIRONMENT
RUN INTEGRATION, SECURITY,
LOAD AND OTHER TESTS
TESTING
DEPLOY TO
PRODUCTION ENVIRONMENT
PRODUCTION
Deployment & Production
# R S A C
Management,
Security, and
Monitoring
Storage
Customer Instances
Network
Hypervisor
Original Amazon EC2 Host Architecture
SERVER
# R S A C
Management,
Security, and
Monitoring
Storage
Customer Instances
Network
Hypervisor
Amazon EC2 C3 Instances
SERVER
NITRO
SYSTEM
# R S A C
Management,
Security, and
Monitoring
Storage
Customer Instances
Network
Hypervisor
Amazon EC2 C4 Instances
SERVER
NITRO
SYSTEM
# R S A C
Management,
Security, and
Monitoring
Storage
Customer Instances
Network
Nitro Hypervisor
Amazon EC2 C5 Instances
SERVER
NITRO
SYSTEM
# R S A C
No Shell Access!
32
# R S A C
Deployment & Production Summary
33
Current State
Persistent shell access to production
Future State
Runtime automation, runbooks that
constrain and reduce shell access
Rotational access where required
Code is deployed to production via
pipelines, not over walls.
SOURCE CONTROL BUILD TESTING PRODUCTION
# R S A C
COMMIT CHANGES BUILD ARTIFACTS DEPLOY TO TEST ENVIRONMENT
RUN INTEGRATION, SECURITY,
LOAD AND OTHER TESTS
DEPLOY TO
PRODUCTION ENVIRONMENT
MANAGE RUNTIME
SOURCE
CONTROL BUILD TESTING &
STAGING
PRODUCTION MAINTAIN
CONTINUOUS INTEGRATION CONTINUOUS DELIVERY
Maintaining Runtime Environment
# R S A C
Use ML and Scaled Services
DNS Reputation
Service
IP Reputation
Service
Log Processing
Fleets
# R S A C
Using NLP and ML together
Understand
your data
Natural Language
Processing (NLP)
Understand data access
Predictive User Behavior
Analytics (UBA)
# R S A C
Content Classification with NLP
PII and personal data
Source code
SSL certificates, private keys
iOS and Android app signing keys
Database backups
OAuth and Cloud SaaS API Keys
# R S A C
Use ML and Scaled Services
• Use behavioral
analytics to
baseline normal
behavior patterns
• Contextualize by
value of data being
accessed
# R S A C
Tools we use: COEs
# R S A C
Maintain Runtime Environment Summary
40
Current State
Inability to scale reputation-based
services.
Difficult to classify data and detect
anomalies in access.
Future State
Leverage cloud services for
computationally expensive
capabilities.
Apply NLP and machine-learning
together to classify sensitive data and
detect anomalies.
Focus on COEs
# R S A C
Call to Action – Do Try This at Home
41
In your company, deeply understand how software is created and shipped.
Sit security team members with a development team for as many days as
you can (and not just the appsec team) (1-2 months).
# R S A C
Call to Action – Do Try This at Home
42
In your company, deeply understand how software is created and shipped.
Sit security team members with a development team for as many days as
you can (and not just the appsec team) (1-2 months).
Catalog the controls and visibility into CI/CD pipelines. That’s where change
management and control happens now (1-3 months).
# R S A C
Call to Action – Do Try This at Home
43
In your company, deeply understand how software is created and shipped.
Sit security team members with a development team for as many days as
you can (and not just the appsec team) (1-2 months).
Catalog the controls and visibility into CI/CD pipelines. That’s where change
management and control happens now (1-3 months).
Begin to document every instance of human interaction with systems that
process data. Let engineering & operations teams drive this goal. (1-6
months).
# R S A C
Call to Action – Do Try This at Home
44
In your company, deeply understand how software is created and shipped.
Sit security team members with a development team for as many days as
you can (and not just the appsec team) (1-2 months).
Catalog the controls and visibility into CI/CD pipelines. That’s where change
management and control happens now. Set clear goals with owners to
harden the pipeline (1-3 months).
Begin to document every instance of human interaction with systems that
process data. Let engineering & operations teams drive this goal. (1-6
months).
Set and achieve a goal to reduce human access to systems that process
sensitive data by 80% (1-2 years).
# R S A C
Call to Action – Do Try This at Home
45
In your company, deeply understand how software is created and shipped. Sit security
team members with a development team for as many days as you can (and not just the
appsec team) (1-2 months).
Catalog the controls and visibility into CI/CD pipelines. That’s where change management
and control happens now. Set clear goals with owners to harden the pipeline (1-3
months).
Begin to document every instance of human interaction with systems that process data.
Let engineering & operations teams drive this goal. (1-6 months).
Set and achieve a goal to reduce human access to systems that process sensitive data by
80% (1-2 years).
Set and achieve a goal to drive workload deployment from source code. Catalog the % of
workloads that are built on automation vs. those built with manual steps (1 year).
# R S A C
More Info
46
AWS Security Twitter: @AWSSecurityInfo
AWS Security Blog: aws.amazon.com/blogs/security/

Humans and Data Don’t Mix: Best Practices to Secure Your Cloud

  • 1.
    SESSION ID: #RSAC Stephen Schmidt HUMANSAND DATA DON’T MIX: BEST PRACTICES TO SECURE YOUR CLOUD CSV-T08 Vice President and Chief Information Security Officer Amazon Web Services (AWS) @AWSSecurityInfo
  • 2.
    # R SA C Get Humans Away from Your Data
  • 3.
    # R SA C Security Blind Spots Disparate sources
  • 4.
    # R SA C Security Blind Spots Lack of rigorDisparate sources
  • 5.
    # R SA C Security Blind Spots Can’t scaleLack of rigorDisparate sources
  • 6.
    # R SA C Baselining Your Environment
  • 7.
    # R SA C Baselining Your Environment
  • 8.
    # R SA C
  • 9.
    # R SA C
  • 10.
    # R SA C COMMIT CHANGES BUILD ARTIFACTS DEPLOY TO TEST ENVIRONMENT RUN INTEGRATION, SECURITY, LOAD AND OTHER TESTS DEPLOY TO PRODUCTION ENVIRONMENT MANAGE RUNTIME SOURCE CONTROL BUILD TESTING & STAGING PRODUCTION MAINTAIN CONTINUOUS INTEGRATION CONTINUOUS DELIVERY Security in the CI/CD Pipeline
  • 11.
    # R SA C COMMIT CHANGES BUILD ARTIFACTS DEPLOY TO TEST ENVIRONMENT RUN INTEGRATION, SECURITY, LOAD AND OTHER TESTS DEPLOY TO PRODUCTION ENVIRONMENT MANAGE RUNTIME SOURCE CONTROL BUILD TESTING & STAGING PRODUCTION MAINTAIN CONTINUOUS INTEGRATION CONTINUOUS DELIVERY Security in the CI/CD Pipeline
  • 12.
    # R SA C COMMIT CHANGES BUILD ARTIFACTS DEPLOY TO TEST ENVIRONMENT RUN INTEGRATION, SECURITY, LOAD AND OTHER TESTS DEPLOY TO PRODUCTION ENVIRONMENT MANAGE RUNTIME SOURCE CONTROL BUILD TESTING & STAGING PRODUCTION MAINTAIN CONTINUOUS INTEGRATION CONTINUOUS DELIVERY Security in the CI/CD Pipeline
  • 13.
    # R SA C Source Control COMMIT CHANGES SOURCE CONTROL CONTINUOUS INTEGRATION CONTINUOUS DEPLOYMENT
  • 14.
    # R SA C VS. SOURCE CONTROL Infrastructure as Code
  • 15.
    # R SA C SOURCE CONTROL Protecting Source Code
  • 16.
    # R SA C SOURCE CONTROL Protecting Source Code
  • 17.
    # R SA C Seek vendors which embrace APIs SOURCE CONTROL
  • 18.
    # R SA C Source Control Current State Network and system engineers directly log into systems to make changes Version control for infrastructure configuration is a decoupled process Limited APIs awareness Future State Changes are committed to source control for infrastructure and the pipeline executes the change Changes cannot be made without version control Embraces APIs SOURCE CONTROL
  • 19.
    # R SA C COMMIT CHANGES SOURCE CONTROL CONTINUOUS INTEGRATION CONTINUOUS DELIVERY BUILD ARTIFACTS BUILD Build
  • 20.
    # R SA C { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sns:*", "Resource": "*” }, { "Effect": "Allow", "NotAction":"sns:Delete*", "Resource": "*" } ] } { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sns:*", "Resource": "*” }, { "Effect": ”Deny", "Action": "sns:Delete*", "Resource": "*" } ] } Policy A Policy B Is Policy A more permissive than Policy B? SOURCE CONTROL BUILD
  • 21.
    # R SA C Build Control SOURCE CONTROL BUILD Current State Manual Code Review Manual intervention for static analysis Future State Automated reasoning for formally proving security Automation wrapped around static analysis
  • 22.
    # R SA C COMMIT CHANGES SOURCE CONTROL CONTINUOUS INTEGRATION CONTINUOUS DELIVERY BUILD ARTIFACTS BUILD DEPLOY TO TEST ENVIRONMENT RUN INTEGRATION, SECURITY, LOAD AND OTHER TESTS TESTING & STAGING Testing & Staging
  • 23.
    # R SA C SOURCE CONTROL BUILD TESTING & STAGING Finding Weaknesses & Defects
  • 24.
    # R SA C AppSec Team Contribution
  • 25.
    # R SA C
  • 26.
    # R SA C Testing & Staging 26 Current State Security assessments are manual Security testing is decoupled from pipelines Measures of AppSec team involvement are based only on risk reduction, not mutual success Future State Security assessments are coded and automated too. Security testing happens much closer to the time defects are created Feedback loops are used to ship secure code, quickly SOURCE CONTROL BUILD TESTING & STAGING
  • 27.
    # R SA C COMMIT CHANGES SOURCE CONTROL CONTINUOUS INTEGRATION CONTINUOUS DELIVERY RUN, BUILD AND UNIT TESTS BUILD DEPLOY TO TEST ENVIRONMENT RUN INTEGRATION, SECURITY, LOAD AND OTHER TESTS TESTING DEPLOY TO PRODUCTION ENVIRONMENT PRODUCTION Deployment & Production
  • 28.
    # R SA C Management, Security, and Monitoring Storage Customer Instances Network Hypervisor Original Amazon EC2 Host Architecture SERVER
  • 29.
    # R SA C Management, Security, and Monitoring Storage Customer Instances Network Hypervisor Amazon EC2 C3 Instances SERVER NITRO SYSTEM
  • 30.
    # R SA C Management, Security, and Monitoring Storage Customer Instances Network Hypervisor Amazon EC2 C4 Instances SERVER NITRO SYSTEM
  • 31.
    # R SA C Management, Security, and Monitoring Storage Customer Instances Network Nitro Hypervisor Amazon EC2 C5 Instances SERVER NITRO SYSTEM
  • 32.
    # R SA C No Shell Access! 32
  • 33.
    # R SA C Deployment & Production Summary 33 Current State Persistent shell access to production Future State Runtime automation, runbooks that constrain and reduce shell access Rotational access where required Code is deployed to production via pipelines, not over walls. SOURCE CONTROL BUILD TESTING PRODUCTION
  • 34.
    # R SA C COMMIT CHANGES BUILD ARTIFACTS DEPLOY TO TEST ENVIRONMENT RUN INTEGRATION, SECURITY, LOAD AND OTHER TESTS DEPLOY TO PRODUCTION ENVIRONMENT MANAGE RUNTIME SOURCE CONTROL BUILD TESTING & STAGING PRODUCTION MAINTAIN CONTINUOUS INTEGRATION CONTINUOUS DELIVERY Maintaining Runtime Environment
  • 35.
    # R SA C Use ML and Scaled Services DNS Reputation Service IP Reputation Service Log Processing Fleets
  • 36.
    # R SA C Using NLP and ML together Understand your data Natural Language Processing (NLP) Understand data access Predictive User Behavior Analytics (UBA)
  • 37.
    # R SA C Content Classification with NLP PII and personal data Source code SSL certificates, private keys iOS and Android app signing keys Database backups OAuth and Cloud SaaS API Keys
  • 38.
    # R SA C Use ML and Scaled Services • Use behavioral analytics to baseline normal behavior patterns • Contextualize by value of data being accessed
  • 39.
    # R SA C Tools we use: COEs
  • 40.
    # R SA C Maintain Runtime Environment Summary 40 Current State Inability to scale reputation-based services. Difficult to classify data and detect anomalies in access. Future State Leverage cloud services for computationally expensive capabilities. Apply NLP and machine-learning together to classify sensitive data and detect anomalies. Focus on COEs
  • 41.
    # R SA C Call to Action – Do Try This at Home 41 In your company, deeply understand how software is created and shipped. Sit security team members with a development team for as many days as you can (and not just the appsec team) (1-2 months).
  • 42.
    # R SA C Call to Action – Do Try This at Home 42 In your company, deeply understand how software is created and shipped. Sit security team members with a development team for as many days as you can (and not just the appsec team) (1-2 months). Catalog the controls and visibility into CI/CD pipelines. That’s where change management and control happens now (1-3 months).
  • 43.
    # R SA C Call to Action – Do Try This at Home 43 In your company, deeply understand how software is created and shipped. Sit security team members with a development team for as many days as you can (and not just the appsec team) (1-2 months). Catalog the controls and visibility into CI/CD pipelines. That’s where change management and control happens now (1-3 months). Begin to document every instance of human interaction with systems that process data. Let engineering & operations teams drive this goal. (1-6 months).
  • 44.
    # R SA C Call to Action – Do Try This at Home 44 In your company, deeply understand how software is created and shipped. Sit security team members with a development team for as many days as you can (and not just the appsec team) (1-2 months). Catalog the controls and visibility into CI/CD pipelines. That’s where change management and control happens now. Set clear goals with owners to harden the pipeline (1-3 months). Begin to document every instance of human interaction with systems that process data. Let engineering & operations teams drive this goal. (1-6 months). Set and achieve a goal to reduce human access to systems that process sensitive data by 80% (1-2 years).
  • 45.
    # R SA C Call to Action – Do Try This at Home 45 In your company, deeply understand how software is created and shipped. Sit security team members with a development team for as many days as you can (and not just the appsec team) (1-2 months). Catalog the controls and visibility into CI/CD pipelines. That’s where change management and control happens now. Set clear goals with owners to harden the pipeline (1-3 months). Begin to document every instance of human interaction with systems that process data. Let engineering & operations teams drive this goal. (1-6 months). Set and achieve a goal to reduce human access to systems that process sensitive data by 80% (1-2 years). Set and achieve a goal to drive workload deployment from source code. Catalog the % of workloads that are built on automation vs. those built with manual steps (1 year).
  • 46.
    # R SA C More Info 46 AWS Security Twitter: @AWSSecurityInfo AWS Security Blog: aws.amazon.com/blogs/security/