Top Banner
© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Jason Chan, Engineering Director @ Netflix October 2015 SEC310 Splitting the Check on Compliance and Security Keeping Developers and Auditors Happy in the Cloud
75

(SEC310) Keeping Developers and Auditors Happy in the Cloud

Apr 15, 2017

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: (SEC310) Keeping Developers and Auditors Happy in the Cloud

© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Jason Chan, Engineering Director @ Netflix

October 2015

SEC310

Splitting the Check on

Compliance and SecurityKeeping Developers and Auditors Happy in the Cloud

Page 2: (SEC310) Keeping Developers and Auditors Happy in the Cloud

2015 for Developers

Page 3: (SEC310) Keeping Developers and Auditors Happy in the Cloud

2015 for Auditors and Security Teams

Page 4: (SEC310) Keeping Developers and Auditors Happy in the Cloud

What to Expect from This Session

• Learn approaches to compliance that enable and are

improved by modern technology and techniques

• How to use foundational security principles to build a

flexible and efficient framework for compliance

• Real-world examples of tools and automation that

benefit multiple audiences:

• Engineers, security teams, auditors

Page 5: (SEC310) Keeping Developers and Auditors Happy in the Cloud

The Problem

Page 6: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Developers:

Incentives

• Speed

• Features

Want

• Freedom to innovate

• New technology

Incentives and Perspectives

Auditors:

Incentives

• Compliance with regulatory

obligations

• Verifiable processes

Want

• Well-known technology

• Predictability and stability

Page 7: (SEC310) Keeping Developers and Auditors Happy in the Cloud

The Resolution

Page 8: (SEC310) Keeping Developers and Auditors Happy in the Cloud

“You build it, you run it.”-Werner Vogels, Amazon CTO (June 2006)

Page 9: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Who Cares About These Answers?

• When did that code change?

• Who made the change?

• Who logged in to that host?

• What did they do?

• Who pushed that code?

• When was this dependency

introduced?

• Was that build tested before

deployment?

• What were the test results?

?

Page 10: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Before

Developers and Auditors

After

AuditorDev

Auditor

Dev

Page 11: (SEC310) Keeping Developers and Auditors Happy in the Cloud

How Do We Get There?

Page 12: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Two Approaches to Compliance

Page 13: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Four Pillars for Effective, Efficient, and

Flexible Compliance in the Cloud

Page 14: (SEC310) Keeping Developers and Auditors Happy in the Cloud

The Pillars

1. Undifferentiated heavy lifting and shared

responsibility

2. Traceability in development

3. Continuous security visibility

4. Compartmentalization

Page 15: (SEC310) Keeping Developers and Auditors Happy in the Cloud

SOX – Sarbanes-Oxley

• Relevant to public US

companies

• Driven by accounting reform

and investor protection

• Seeks to ensure the validity,

integrity, and accuracy of

financial reporting

• COBIT is a common

framework for describing SOX-

related control activities

A Slide on SOX and PCI

PCI – Payment Card Industry

• Relevant to any organization

that handles credit cards

• Driven by payment data

breaches

• Intended to protect credit card

data

• Requirements are outlined in

the Data Security Standard

(DSS)

Page 16: (SEC310) Keeping Developers and Auditors Happy in the Cloud

The Pillars

Page 17: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Undifferentiated Heavy Lifting

and Shared Responsibility

Page 18: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Vulnerability Management

Page 19: (SEC310) Keeping Developers and Auditors Happy in the Cloud
Page 20: (SEC310) Keeping Developers and Auditors Happy in the Cloud
Page 21: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Data Backups

Page 22: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Server

Database

Disk

Tape storage

Corporate data center Backup data center/media storage provider

Disk

Tape storage

Traditional Data Backup

Page 23: (SEC310) Keeping Developers and Auditors Happy in the Cloud

RDBMS

Data Backup in the Cloud

Amazon

EBS volume

Cassandra Amazon

S3 bucket

Other region

S3 bucket

Other account

S3

bucket

Non-AWS cloud storage

Cloud backup

Page 24: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Control Mapping

Control Description

PCI 6.2 Install patches to protect against security

vulnerabilities.

PCI 9.5 Physically secure all media.

PCI 9.6.2 Send media by secure, traceable courier.

COBIT DSS05.05 Manage physical access to IT assets.

Page 25: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Traceability in Development

Page 26: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Common Audit Requirements for

Software Development

• Review changes.

• Track changes.

• Test changes.

• Deploy only approved code.

• For all actions:

• Who did it?

• When?

Page 27: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Spinnaker for Continuous Deployment

• Customizable development

pipelines (workflows).

• Single interface to all

aspects of the deployment

process.

• Answers who, what, when,

and why for both

developers and auditors.

Auditor

Dev

Page 28: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Spinnaker: App-Centric ViewApplication-specific components

Pipeline, triggered by code change

AMI creation per region

Link to build (Jenkins CI),

code changes (Stash)

Page 29: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Spinnaker Multistage Pipeline

Multiple deployment stagesAutomated

Manual

Failed test, do not proceed

Page 30: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Automated Canary Analysis

Canary test score

Link to details

Result

Page 31: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Manual Approval (Optional)

Page 32: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Restricted Deployment Window (Optional)

Page 33: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Restricted Deployment Window (Optional)

Page 34: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Deployment Notification (Optional)

Page 35: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Spinnaker vs. Manual Deployments

• Deployment is independent of languages and other

underlying technology.

• Java, Python, Linux, Windows…

• Multiple stages of automated testing.

• Integration, security, functional, production canary.

• Fully traceable pipeline.

• Changes and change drivers are fully visible.

• All artifacts and test results available.

Page 36: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Control Mapping

Control Description

PCI 6.3.2 Perform code reviews prior to release.

PCI 6.4.5 Test changes to verify no adverse security impact.

COBIT BAI03.08 Execute solution testing.

Page 37: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Continuous Security Visibility

Page 38: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Issues with Application Security Risk Management

• Spreadsheets and surveys!

• Human driven.

• Presuppose managed

intake.

• One-time vs. continuous.

Page 39: (SEC310) Keeping Developers and Auditors Happy in the Cloud
Page 40: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Penguin Shortbread – Automated Risk Analysis for

Microservice Architectures

• Analyze microservice

connectivity.

• Passively monitor app and

cloud configuration.

• Develop risk scoring based

on observations.

Page 41: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Microservice and Resource Registry Analysis

• Leverage cloud APIs and resource registry for data.

• Bi-directionally analyze initialized clients.

• Evaluate services offered and security group connectivity.

App under analysis

Services offered

Initialized clients (outbound) Initialized clients (inbound)

Page 42: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Application Risk Metric

Metric summary

Metric algorithm

Scoring

Page 43: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Application Risk Rollup

MetricsRisk metrics by region/environment

Page 44: (SEC310) Keeping Developers and Auditors Happy in the Cloud
Page 45: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Self-Service in the Cloud

Page 46: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Security Monkey – Change Tracking

Page 47: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Searching Security Monkey

Search Options

Globally, or region-limited

All AWS services, or single/subset

All accounts, or limited

By resource name

By configuration

Active or inactive (deleted)

Resources/changes or audit findings

Page 48: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Security Monkey Record

Clickable list of discovered versions

Record details

Page 49: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Security Monkey Record – Look Back and Diff

Diff from previous discovery

Page 50: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Audit Findings in Security Monkey

Page 51: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Finding Details

Impacted resource details Finding score

Finding detailsJustify

Page 52: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Justifying an Audit Finding in Security Monkey

Page 53: (SEC310) Keeping Developers and Auditors Happy in the Cloud
Page 54: (SEC310) Keeping Developers and Auditors Happy in the Cloud

AMIs at Netflix

Foundation AMI = Linux AMI (OS only)

Base AMI = Foundation AMI + Netflix-specific bits

• Managed by Engineering Tools team

• Functional equivalent to gold image

Application AMI = Base AMI + app-specific bits

• Managed by application teams

• AMI deployed to Auto Scaling groups

Page 55: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Scantron – Base AMI Vulnerability Scanning

Instance of

Base AMI

Base

AMI

Scantron Scan findings

Launch Scan

Change

Results

email

Page 56: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Control Mapping

Control Description

PCI 1.2.1 Restrict traffic to that which is necessary.

PCI 6.4.5 Test changes to verify no adverse security impact.

PCI 10.6 Review logs and security events.

PCI 11.2 Run vulnerability scans after any significant change.

PCI 12.2 Implement a risk-assessment process.

APO 12.03 Maintain a risk profile.

COBIT DSS05.07 Monitor the infrastructure for security-related events.

COBIT DSS06.04 Manage errors and exceptions.

COBIT MEA02.03 Perform control self-assessments.

Page 57: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Compartmentalization

Page 58: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Compartmentalization

Resilience: Limit blast radius Confidentiality: Need to know

Page 59: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Compartmentalization in AWS

Security groupRegion Availability ZoneVirtual private cloud

Key (AWS KMS, AWS

CloudHSM)

IAM role

Page 60: (SEC310) Keeping Developers and Auditors Happy in the Cloud

AWS Account Segregation

AWS Account – Test

Test

Resources

AWS Account – Production

Production

Resources

Cross-Account

Access Policies

Page 61: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Account Segregation for Compliance

AWS Account – Production

Production

Resources

AWS Account – Compliance

Compliance-

Relevant

Resources

Cross-Account

Access Policies

LDAP Membership

Authorized

users

SAML SSO

Page 62: (SEC310) Keeping Developers and Auditors Happy in the Cloud

User Payments

application

Payment

processors

and

partners

Encrypted credit

card database

Name Encrypted CC

John Doe XXXXXXXXXX

HSM

Monolithic Card Processing in the Data Center

Sign up/change CC

Store/retrieve CC

Real-time/batch

auth

Tax, analytics,

fraud, etc.

Web server

Page 63: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Microservices and Tokenization in AWS

CloudHSM

Payment

application

Token

service

Token db

Token Encrypted CC

abc123 XXXXXXXXXXCrypto

proxy

Name Token

John Doe abc123

Payments db

Token vault

User

Sign up/change CC

Web server

Page 64: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Compartmentalizing Access

AuditorDev

{

"Version": "2012-10-17",

"Statement": [

{

"Action": "*",

"Effect": "Allow",

"Resource": "*"

}

]

}

Page 65: (SEC310) Keeping Developers and Auditors Happy in the Cloud
Page 66: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Total API Calls Total API Errors Total Access Denied Errors

Page 67: (SEC310) Keeping Developers and Auditors Happy in the Cloud
Page 68: (SEC310) Keeping Developers and Auditors Happy in the Cloud
Page 69: (SEC310) Keeping Developers and Auditors Happy in the Cloud

removable = (allowed) - (used)

new_policy = current_policy - removable

Page 70: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Repoman Use Cases

• Find unused roles, profiles, users (0 API calls).

• Investigate API errors (such as throttling).

• Investigate access issues (access denied).

• Prune excessive privileges.

Page 71: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Control Mapping

Control Description

PCI 2.2 Implement one primary function per server.

PCI 6.4.1 Separate dev/test environments from production.

Enforce separation with access controls.

PCI 7.1 Limit access to only those who require access.

PCI 7.1.2 Assign fewest privileges necessary.

PCI 10.6 Review logs and security events.

COBIT DSS05.04 Manage user identity and logical access.

COBIT DSS05.07 Monitor the infrastructure for security-related events.

COBIT DSS06.04 Manage errors and exceptions.

Page 72: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Wrapping Up!

Auditor

Dev

Page 73: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Takeaways

• Limit investments in approaches that meet narrow

regulatory needs.

• Embrace core security design and operational principles

that address regulatory requirements as a result.

• As you migrate or engineer regulatory-sensitive

workloads, focus on tools and techniques that serve and

satisfy multiple audiences.

Page 74: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Remember to complete

your evaluations!

Page 75: (SEC310) Keeping Developers and Auditors Happy in the Cloud

Thank you!