SlideShare a Scribd company logo
© 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates.
Rob Sutter – AWS Serverless
Twitch: /robsutter
Twitter: @rts_rob
Serverless application
security
© 2020, Amazon Web Services, Inc. or its Affiliates.
Session agenda
• How is serverless application security different?
• Similarities to traditional application security
• Service-specific security resources
• Applying security principles to FreshTracks
© 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates.
Differences
Serverless application security
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS Shared Responsibility Model
AWS
AWSIdentityandAccessManagement
Platform
management
Network traffic
Firewall config
Code encryption
Operating system and network configuration
Compute
Edge locations
NetworkingDatabaseStorage
Regions
Availability zones
Customer Customer data, application identity and access management
Data encryption
Data integrity
Authentication
Application
Management
Internet access
Monitoring
Logging
AWS Global
Infrastructure
Responsible for
security “in” the
cloud
Responsible for
security “of” the
cloud
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS Shared Responsibility Model
Platform
management
Network traffic
Firewall config
Code encryption
Operating system and network configuration
AWS assumes responsibility for these components of serverless applications
© 2020, Amazon Web Services, Inc. or its Affiliates.
Finer-grained control gives you better security
In a monolithic application (even in a container!), every line of code is exposed to
every vulnerability in every dependency and has access to every resource.
Attack surface area = Σ(cf) * Σ(df) where:
• cf = each function’s computational complexity
• df = each function’s dependencies
Potential impact = a * r where:
• a = attack surface area (see above)
• r = total number of accessible resources
© 2020, Amazon Web Services, Inc. or its Affiliates.
Finer-grained control gives you better security
In a well-architected serverless application, each unit of code is exposed only to
the vulnerabilities in its specific logic and dependencies, and has access only to
its own resources.
Potential impact = Σ(cf * df * rf) where:
• cf = each function’s complexity
• df = each function’s dependencies
• rf = each function’s resources
© 2020, Amazon Web Services, Inc. or its Affiliates.
Finer-grained control gives you better security
In plain language, the potential security risk of a serverless application is lower,
but still present!
© 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates.
Similarities
Serverless application security
© 2020, Amazon Web Services, Inc. or its Affiliates.
Serverless application security similarities
Security is not “free” with serverless. It still takes work!
• Application layer security
• Authentication and authorization
• Data encryption and integrity
• Monitoring and logging
Customer
Customer data, application identity and access management
Data encryption
Data integrity
Authentication
Application
Management
Internet access
Monitoring
Logging
Responsible for
security “in” the
cloud
© 2020, Amazon Web Services, Inc. or its Affiliates.
OWASP Serverless Top Ten
S1:2017 Injection
S2:2017 Broken Authentication
S3:2017 Sensitive Data Exposure
S4:2017 XML External Entities (XXE)
S5:2017 Broken Access Control
S6:2017 Security Misconfiguration
S7:2017 Cross-Site Scripting (XSS)
S8:2017 Insecure Deserialization
S9:2017 Using Components with Known Vulnerabilities
S10:2017 Insufficient Logging and Monitoring
© 2020, Amazon Web Services, Inc. or its Affiliates.
• Applications have different use cases and risk tolerances
• AWS empowers customers to build according to their needs
• A security vulnerability in one application can be indistinguishable from a
critical feature in another
• Example: a B2C platform startup enables cross-origin resource sharing
(CORS) globally, whereas a financial institution restricts it entirely
Application layer security (S1, S3, S4, S5, S6, S7, S8:2017)
© 2020, Amazon Web Services, Inc. or its Affiliates.
Authentication and authorization (S2, S5, S6:2017)
• Use available tooling
• Amazon offers Amazon Cognito
• Partners such as Auth0
• Don’t write your own!
• AWS Identity and Access
Management (IAM) ties all the pieces
together
AWS Identity andAccess
Management
© 2020, Amazon Web Services, Inc. or its Affiliates.
Data encryption and integrity – S3:2017
• Identify and classify sensitive data
• Minimize storage of sensitive data to only what is absolutely necessary
• Protect data at rest
• Use infrastructure provider services for key management and encryption of
stored data, secrets, and environment variables
AWS Secrets ManagerAWS Key Management
Service
© 2020, Amazon Web Services, Inc. or its Affiliates.
Monitoring and logging (S10:2017)
• Use monitoring tools provided by the
service provider to identify and report
unwanted behavior
• Wrong credentials
• Unauthorized access to
resources
• Excessive execution of
functions
• Unusually long execution time
© 2020, Amazon Web Services, Inc. or its Affiliates.
Amazon Partner Network
Aqua Security
• Dev-to-prod security across your
entire CI/CD pipeline and runtime
environments
• www.aquasec.com
Snyk
• Proactively finds and fixes
vulnerabilities and license violations
in open source dependencies
• www.snyk.io
© 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates.
Service-specific resources
Serverless application security
© 2020, Amazon Web Services, Inc. or its Affiliates.
InternetMobile/Web
apps
?Backend
?DatabaseAWSAmplify
Exploring a traditional web application technology stack
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS Amplify Console
The AWS Amplify Console properly configures an S3 bucket and Amazon
CloudFront distribution for you, and can configure authentication for your app.
The key focus for customers is restricting deployments with AWS IAM.
• CreateBranch, CreateDeployment, CreateWebHook
• DeleteApp, DeleteBranch, DeleteWebHook
• StartDeployment, StartJob
• StopJob
• UpdateWebHook
AWS Amplify
© 2020, Amazon Web Services, Inc. or its Affiliates.
InternetMobile/Web
apps
?DatabaseAWSAmplify AWS Lambda
?Invocation?
Exploring a traditional web application technology stack
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS Lambda
Function policies:
• “Actions on bucket X can
invoke Lambda function Z"
• Resource policies allow for
cross account access
• Used for sync and async
invocations
Execution role:
• “Lambda function A can read
from DynamoDB table users”
• Define what AWS
resources/API calls can this
function access via IAM
• Used in streaming invocations
Event source ServicesFunction
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS Lambda – Function policy
Created implicitly by AWS SAM when you attach events.
The SAM template shown here allows
Amazon API Gateway to invoke the
saveToFreshTracksDatabaseTable
Lambda function
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS Lambda – Execution role
Created explicitly by you when you define your function.
The SAM template shown here allows
the saveToFreshTracksDatabaseTable
Lambda function to read from and
write to the FreshTracksDatabaseTable
Amazon DynamoDB table.
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS SAM policy templates
• Included in the AWS Serverless Application Model (SAM)
• Help you quickly scope permissions to the resources used by your application
• Applications that use policy templates don’t require acknowledgements to
deploy from the AWS Serverless Application Repository
• Open Source: submit pull requests and issues at:
• github.com/awslabs/serverless-application-model/
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS SAM policy templates
For more information and a complete list see: rbsttr.tv/sampolicy
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS SAM policy templates
These two lines: Become this complete policy:
© 2020, Amazon Web Services, Inc. or its Affiliates.
InternetMobile/Web
apps
?DatabaseAWSAmplify AWS LambdaAmazon
API Gateway
Exploring a traditional web application technology stack
© 2020, Amazon Web Services, Inc. or its Affiliates.
Amazon API Gateway
IAM permissions
• Use IAM policies and AWS credentials to grant access
Lambda Authorizers
• Use a Lambda function to validate a bearer token, e.g., OAuth or SAML
Cognito User Pools
• Create a completely managed user management system
Resource Policies
• Can restrict based on IP, VPC, AWS Account ID
AmazonAPI Gateway
© 2020, Amazon Web Services, Inc. or its Affiliates.
InternetMobile/Web
apps
AWSAmplify AWS LambdaAmazon
API Gateway
Amazon
DynamoDB
Exploring a traditional web application technology stack
© 2020, Amazon Web Services, Inc. or its Affiliates.
Amazon DynamoDB
Start with the AWS SAM policy templates:
• DynamoDBReadPolicy for read-only
• DynamoDBWritePolicy for creates and updates
• DynamoDBStreamReadPolicy to attach to streams
• Avoid DynamoDBCrudPolicy whenever possible
• Command-query responsibility separation (CQRS)
Allows for extremely fine-grained access via the IAM condition
dynamodb:LeadingKeys
Amazon DynamoDB
© 2020, Amazon Web Services, Inc. or its Affiliates.
Exploring a serverless web application technology stack
Amazon API
Gateway
Client/browser
AWS Cloud
Access StorageCompute
AWS Amplify
Console
getActivitiesFo
rUser
[GET] /Activities
getActivity
[GET] /Activity
getSignedUrlS3
[POST] /SignUrl
CustomAuthorizer
Amazon DynamoDB
FreshTracks
S3Bucket
Upload .gpx file with signed URL
S3 for static file storage
© 2020, Amazon Web Services, Inc. or its Affiliates.
Amazon S3
S3 buckets are not public by default
In general you should not change this!
Again, take advantage of AWS SAM policy templates:
• S3ReadPolicy for retrieving data
• S3WritePolicy for storing data
• Avoid using S3CrudPolicy and S3FullAccessPolicy whenever possible
Use S3 Access Points for even greater control over access to your buckets
Amazon Simple Storage
Service
© 2020, Amazon Web Services, Inc. or its Affiliates.
Amazon API
Gateway
Client/browser
AWS Cloud
Access StorageCompute
AWS Amplify
Console
getActivitiesFo
rUser
[GET] /Activities
getActivity
[GET] /Activity
getSignedUrlS3
[POST] /SignUrl
CustomAuthorizer
Amazon DynamoDB
FreshTracks
S3 bucket
Upload .gpx file with signed URL
Exploring a serverless web application technology stack
AWS IoT Core
Amazon EventBridge
Messaging
Messaging services for data exchange
© 2020, Amazon Web Services, Inc. or its Affiliates.
Amazon EventBridge
AWS IAM offers permissions for inbound and outbound operations
Inbound operations determine
what principals can place events
onto event buses and define rules
and targets:
• events:PutEvents
• events:PutRule
• events:PutTargets
Custom
event bus
Lambda function
© 2020, Amazon Web Services, Inc. or its Affiliates.
Amazon EventBridge
AWS IAM offers permissions for inbound and outbound operations
Outbound permissions are
determined by the receiving
resource.
Amazon EventBridge AWS ExpressWorkflows
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS IoT Core
AWS IAM policies and AWS IoT Core policies
AWS IAM also provides a set of IAM managed policies
• AWSIoTDataAccess
• AWSIoTEventsReadOnlyAccess
• AWSIoTLogging
For more information and a complete list see: rbsttr.tv/iotiam
AWS IoT Core
© 2020, Amazon Web Services, Inc. or its Affiliates.
Exploring a serverless web application technology stack
Amazon API
Gateway
Client/browser
AWS Cloud
Access StorageCompute
AWS Amplify
Console
getActivitiesFo
rUser
[GET] /Activities
getActivity
[GET] /Activity
getSignedUrlS3
[POST] /SignUrl
CustomAuthorizer
Amazon DynamoDB
FreshTracks
S3 bucket
Upload .gpx file with signed URL
AWS IoT Core
Amazon EventBridge
Messaging
[Message]Workflow Complete
AWS Step Functions
ExpressWorkflow
Process GPX
File
Save meta to
DB
Publish to IoT
Orchestration
Event driven orchestration
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS Step Functions
• Data in AWS Step Functions is encrypted at rest
• All data that passes between Step Functions and integrated services is
encrypted using Transport Layer Security (TLS)
AWS IAM governs Step Functions executions and invocations
• Special consideration for service integrations
• Run a Job (.sync)
• Wait for Callback (.waitForTaskToken)
StandardWorkflows ExpressWorkflows
© 2020, Amazon Web Services, Inc. or its Affiliates.
Compliance
• Compliance-ready for SOC, PCI, FedRAMP, HIPAA, and others
Learn more at https://aws.amazon.com/compliance/services-in-scope/
Service SOC PCI ISO FedRAMP HIPAA
AWS Amplify Console ✅ ✅ ✅ ✅
AWS Lambda ✅ ✅ ✅ ✅ ✅
Amazon API Gateway ✅ ✅ ✅ ✅ ✅
Amazon DynamoDB ✅ ✅ ✅ ✅ ✅
Amazon S3 ✅ ✅ ✅ ✅ ✅
Amazon EventBridge ✅ ✅ ✅ ✅ ✅
AWS IoT Core ✅ ✅ ✅ ✅ ✅
AWS Step Functions ✅ ✅ ✅ ✅ ✅
© 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates.
Securing Fresh Tracks
Serverless application security
© 2020, Amazon Web Services, Inc. or its Affiliates.
Amazon API
Gateway
AWS Cloud
Access StorageCompute
getActivitiesFo
rUser
[GET] /Activities
getActivity
[GET] /Activity
getSignedUrlS3
[POST] /SignUrl
CustomAuthorizer
Amazon DynamoDB
FreshTracks
S3 bucket
Upload .gpx file with signed URL
AWS IoT Core
Amazon EventBridge
Messaging
[Message]Workflow Complete
AWS Step Functions
ExpressWorkflow
Process GPX
File
Save meta to
DB
Publish to IoT
Orchestration
Client/browser
AWS Amplify
Console
© 2020, Amazon Web Services, Inc. or its Affiliates.
Optimization best practices are also security best
practices
Avoid monolithic functions
• Reduces complexity
• Reduces number of resources
• Both reduce potential impact
Optimize dependencies (and imports)
• Reduces complexity
• Reduces the attack surface
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS Lambda
Function Policies
CreateZendeskArticle AWSLambdaBasicExecutionRole
GetFullZendeskTicket AWSLambdaBasicExecutionRole
GetFullZendeskUser AWSLambdaBasicExecutionRole
publishToIoT Inline - Action: iot:*, Resource: *
SaveAuth0EventToS3 S3CrudPolicy
saveToFreshTracksDatabaseTable DynamoDBCrudPolicy
getActivitiesForUser DynamoDBCrudPolicy
getActivity DynamoDBCrudPolicy, S3CrudPolicy
parseGPX DynamoDBCrudPolicy, S3CrudPolicy
getSignedUrlS3 S3CrudPolicy
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS Lambda
Our publishToIoT function uses an overly broad inline policy.
How can we improve this?
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS Lambda
We have two IOT API calls in our code: describeEndpoint and publish
• describeEndpoint does not take any Resource arguments
• publish accepts the ARN of an IoT topic as a Resource argument
• FreshTracksRealtime is the IoT topic defined in our SAM template
• We use !GetAtt to obtain the ARN of the topic
© 2020, Amazon Web Services, Inc. or its Affiliates.
AWS Lambda
Now our function is restricted to:
• only the API calls it needs to execute
successfully (describeEndpoint and
publish)
• only performing those API calls
against the required resources (the
FreshTracksRealtime IoT topic)
AWS SAM per-function IAM roles
enable tight scoping of permissions.
© 2020, Amazon Web Services, Inc. or its Affiliates.
Amazon API Gateway
Our API Gateway CORS policy is open to the world.
How can we improve this?
© 2020, Amazon Web Services, Inc. or its Affiliates.
Amazon API Gateway
Our domain name is myfreshtracks.com
We can instruct API Gateway to only allow traffic originating from our domain.
© 2020, Amazon Web Services, Inc. or its Affiliates.
Amazon API Gateway
We also enable a custom authorizer to
restrict traffic to protected routes.
A custom authorizer is a Lambda
function that inspects claims in a token
and determines whether to permit or
reject the request.
© 2020, Amazon Web Services, Inc. or its Affiliates.
Amazon DynamoDB
Function Policies
saveToFreshTracksDatabaseTable DynamoDBCrudPolicy
getActivitiesForUser DynamoDBCrudPolicy
getActivity DynamoDBCrudPolicy, S3CrudPolicy
parseGPX DynamoDBCrudPolicy, S3CrudPolicy
We have four functions that access our DynamoDB table.
They all use the DynamoDBCrudPolicy. How can we improve this?
© 2020, Amazon Web Services, Inc. or its Affiliates.
Amazon DynamoDB
Function DynamoDB API Calls
saveToFreshTracksDatabaseTable dynamodb.put
getActivitiesForUser dynamodb.query
getActivity dynamodb.getItem
parseGPX <none>
Inspect the code for actual API calls.
© 2020, Amazon Web Services, Inc. or its Affiliates.
Amazon DynamoDB
Function API Call Policies
saveToFreshTracksDatabaseTable dynamodb.put DynamoDBWritePolicy
getActivitiesForUser dynamodb.query DynamoDBReadPolicy
getActivity dynamodb.getItem DynamoDBReadPolicy
parseGPX <none> <none>
Provide the proper AWS SAM policy template
© 2020, Amazon Web Services, Inc. or its Affiliates.
Amazon DynamoDB
Provide the proper AWS SAM policy template
© 2020, Amazon Web Services, Inc. or its Affiliates.
Summary
Serverless application security is:
• balanced toward the application, not
the infrastructure
• more fine-grained
• not to be taken for granted!
This is only a start! AWS provides a
number of solutions to secure your
applications. For more, see:
https://aws.amazon.com/security/
© 2020, Amazon Web Services, Inc. or its Affiliates.
Q&A
Rob Sutter – AWS Serverless
Twitch: /robsutter
Twitter: @rts_rob
© 2020, Amazon Web Services, Inc. or its Affiliates.
Rob Sutter – AWS Serverless
Twitch: /robsutter
Twitter: @rts_rob
Thank you!

More Related Content

What's hot

Scaling threat detection and response on AWS
Scaling threat detection and response on AWSScaling threat detection and response on AWS
Scaling threat detection and response on AWS
Amazon Web Services
 
Scaling threat detection and response in AWS - SDD312-R - AWS re:Inforce 2019
Scaling threat detection and response in AWS - SDD312-R - AWS re:Inforce 2019 Scaling threat detection and response in AWS - SDD312-R - AWS re:Inforce 2019
Scaling threat detection and response in AWS - SDD312-R - AWS re:Inforce 2019
Amazon Web Services
 
Federation & Access Management
Federation & Access ManagementFederation & Access Management
Federation & Access Management
Amazon Web Services
 
Evolving perimeters with guardrails, not gates: Improving developer agility -...
Evolving perimeters with guardrails, not gates: Improving developer agility -...Evolving perimeters with guardrails, not gates: Improving developer agility -...
Evolving perimeters with guardrails, not gates: Improving developer agility -...
Amazon Web Services
 
Build a dashboard using serverless security analytics - SDD201 - AWS re:Infor...
Build a dashboard using serverless security analytics - SDD201 - AWS re:Infor...Build a dashboard using serverless security analytics - SDD201 - AWS re:Infor...
Build a dashboard using serverless security analytics - SDD201 - AWS re:Infor...
Amazon Web Services
 
Build security into your golden AMI pipeline - DEM08 - AWS reInforce 2019
Build security into your golden AMI pipeline - DEM08 - AWS reInforce 2019 Build security into your golden AMI pipeline - DEM08 - AWS reInforce 2019
Build security into your golden AMI pipeline - DEM08 - AWS reInforce 2019
Amazon Web Services
 
Secure Configuration and Automation Overview
Secure Configuration and Automation OverviewSecure Configuration and Automation Overview
Secure Configuration and Automation Overview
Amazon Web Services
 
Incident Response: Eyes Everywhere
Incident Response: Eyes EverywhereIncident Response: Eyes Everywhere
Incident Response: Eyes Everywhere
Amazon Web Services
 
Permissions boundaries: how to truly delegate permissions on AWS - SDD406-R -...
Permissions boundaries: how to truly delegate permissions on AWS - SDD406-R -...Permissions boundaries: how to truly delegate permissions on AWS - SDD406-R -...
Permissions boundaries: how to truly delegate permissions on AWS - SDD406-R -...
Amazon Web Services
 
Account automation and temporary AWS credential service - GRC328 - AWS re:Inf...
Account automation and temporary AWS credential service - GRC328 - AWS re:Inf...Account automation and temporary AWS credential service - GRC328 - AWS re:Inf...
Account automation and temporary AWS credential service - GRC328 - AWS re:Inf...
Amazon Web Services
 
New ways to automate compliance verification on AWS using provable security -...
New ways to automate compliance verification on AWS using provable security -...New ways to automate compliance verification on AWS using provable security -...
New ways to automate compliance verification on AWS using provable security -...
Amazon Web Services
 
Enforcing security invariants with AWS Organizations - SDD314 - AWS re:Inforc...
Enforcing security invariants with AWS Organizations - SDD314 - AWS re:Inforc...Enforcing security invariants with AWS Organizations - SDD314 - AWS re:Inforc...
Enforcing security invariants with AWS Organizations - SDD314 - AWS re:Inforc...
Amazon Web Services
 
How encryption works in AWS: What assurances do you have that unauthorized us...
How encryption works in AWS: What assurances do you have that unauthorized us...How encryption works in AWS: What assurances do you have that unauthorized us...
How encryption works in AWS: What assurances do you have that unauthorized us...
Amazon Web Services
 
The 1%: Identity and Governance Patterns from the Most Advanced AWS Customers...
The 1%: Identity and Governance Patterns from the Most Advanced AWS Customers...The 1%: Identity and Governance Patterns from the Most Advanced AWS Customers...
The 1%: Identity and Governance Patterns from the Most Advanced AWS Customers...
Amazon Web Services
 
Building secure APIs in the cloud - SDD403-R - AWS re:Inforce 2019
Building secure APIs in the cloud - SDD403-R - AWS re:Inforce 2019 Building secure APIs in the cloud - SDD403-R - AWS re:Inforce 2019
Building secure APIs in the cloud - SDD403-R - AWS re:Inforce 2019
Amazon Web Services
 
Serverless remediation in Financial Services: A custom tool - SEP311 - AWS re...
Serverless remediation in Financial Services: A custom tool - SEP311 - AWS re...Serverless remediation in Financial Services: A custom tool - SEP311 - AWS re...
Serverless remediation in Financial Services: A custom tool - SEP311 - AWS re...
Amazon Web Services
 
Data encryption concepts in AWS - FND302 - AWS re:Inforce 2019
Data encryption concepts in AWS - FND302 - AWS re:Inforce 2019 Data encryption concepts in AWS - FND302 - AWS re:Inforce 2019
Data encryption concepts in AWS - FND302 - AWS re:Inforce 2019
Amazon Web Services
 
Your first compliance-as-code - GRC305-R - AWS re:Inforce 2019
 Your first compliance-as-code - GRC305-R - AWS re:Inforce 2019  Your first compliance-as-code - GRC305-R - AWS re:Inforce 2019
Your first compliance-as-code - GRC305-R - AWS re:Inforce 2019
Amazon Web Services
 
Driven by security: Legendary Entertainment’s high-velocity cloud transformat...
Driven by security: Legendary Entertainment’s high-velocity cloud transformat...Driven by security: Legendary Entertainment’s high-velocity cloud transformat...
Driven by security: Legendary Entertainment’s high-velocity cloud transformat...
Amazon Web Services
 

What's hot (20)

Scaling threat detection and response on AWS
Scaling threat detection and response on AWSScaling threat detection and response on AWS
Scaling threat detection and response on AWS
 
Scaling threat detection and response in AWS - SDD312-R - AWS re:Inforce 2019
Scaling threat detection and response in AWS - SDD312-R - AWS re:Inforce 2019 Scaling threat detection and response in AWS - SDD312-R - AWS re:Inforce 2019
Scaling threat detection and response in AWS - SDD312-R - AWS re:Inforce 2019
 
Federation & Access Management
Federation & Access ManagementFederation & Access Management
Federation & Access Management
 
Evolving perimeters with guardrails, not gates: Improving developer agility -...
Evolving perimeters with guardrails, not gates: Improving developer agility -...Evolving perimeters with guardrails, not gates: Improving developer agility -...
Evolving perimeters with guardrails, not gates: Improving developer agility -...
 
Build a dashboard using serverless security analytics - SDD201 - AWS re:Infor...
Build a dashboard using serverless security analytics - SDD201 - AWS re:Infor...Build a dashboard using serverless security analytics - SDD201 - AWS re:Infor...
Build a dashboard using serverless security analytics - SDD201 - AWS re:Infor...
 
Build security into your golden AMI pipeline - DEM08 - AWS reInforce 2019
Build security into your golden AMI pipeline - DEM08 - AWS reInforce 2019 Build security into your golden AMI pipeline - DEM08 - AWS reInforce 2019
Build security into your golden AMI pipeline - DEM08 - AWS reInforce 2019
 
Secure Configuration and Automation Overview
Secure Configuration and Automation OverviewSecure Configuration and Automation Overview
Secure Configuration and Automation Overview
 
Incident Response: Eyes Everywhere
Incident Response: Eyes EverywhereIncident Response: Eyes Everywhere
Incident Response: Eyes Everywhere
 
Permissions boundaries: how to truly delegate permissions on AWS - SDD406-R -...
Permissions boundaries: how to truly delegate permissions on AWS - SDD406-R -...Permissions boundaries: how to truly delegate permissions on AWS - SDD406-R -...
Permissions boundaries: how to truly delegate permissions on AWS - SDD406-R -...
 
Account automation and temporary AWS credential service - GRC328 - AWS re:Inf...
Account automation and temporary AWS credential service - GRC328 - AWS re:Inf...Account automation and temporary AWS credential service - GRC328 - AWS re:Inf...
Account automation and temporary AWS credential service - GRC328 - AWS re:Inf...
 
New ways to automate compliance verification on AWS using provable security -...
New ways to automate compliance verification on AWS using provable security -...New ways to automate compliance verification on AWS using provable security -...
New ways to automate compliance verification on AWS using provable security -...
 
Enforcing security invariants with AWS Organizations - SDD314 - AWS re:Inforc...
Enforcing security invariants with AWS Organizations - SDD314 - AWS re:Inforc...Enforcing security invariants with AWS Organizations - SDD314 - AWS re:Inforc...
Enforcing security invariants with AWS Organizations - SDD314 - AWS re:Inforc...
 
How encryption works in AWS: What assurances do you have that unauthorized us...
How encryption works in AWS: What assurances do you have that unauthorized us...How encryption works in AWS: What assurances do you have that unauthorized us...
How encryption works in AWS: What assurances do you have that unauthorized us...
 
The 1%: Identity and Governance Patterns from the Most Advanced AWS Customers...
The 1%: Identity and Governance Patterns from the Most Advanced AWS Customers...The 1%: Identity and Governance Patterns from the Most Advanced AWS Customers...
The 1%: Identity and Governance Patterns from the Most Advanced AWS Customers...
 
Building secure APIs in the cloud - SDD403-R - AWS re:Inforce 2019
Building secure APIs in the cloud - SDD403-R - AWS re:Inforce 2019 Building secure APIs in the cloud - SDD403-R - AWS re:Inforce 2019
Building secure APIs in the cloud - SDD403-R - AWS re:Inforce 2019
 
Serverless remediation in Financial Services: A custom tool - SEP311 - AWS re...
Serverless remediation in Financial Services: A custom tool - SEP311 - AWS re...Serverless remediation in Financial Services: A custom tool - SEP311 - AWS re...
Serverless remediation in Financial Services: A custom tool - SEP311 - AWS re...
 
Data encryption concepts in AWS - FND302 - AWS re:Inforce 2019
Data encryption concepts in AWS - FND302 - AWS re:Inforce 2019 Data encryption concepts in AWS - FND302 - AWS re:Inforce 2019
Data encryption concepts in AWS - FND302 - AWS re:Inforce 2019
 
AWS Security Deep Dive
AWS Security Deep DiveAWS Security Deep Dive
AWS Security Deep Dive
 
Your first compliance-as-code - GRC305-R - AWS re:Inforce 2019
 Your first compliance-as-code - GRC305-R - AWS re:Inforce 2019  Your first compliance-as-code - GRC305-R - AWS re:Inforce 2019
Your first compliance-as-code - GRC305-R - AWS re:Inforce 2019
 
Driven by security: Legendary Entertainment’s high-velocity cloud transformat...
Driven by security: Legendary Entertainment’s high-velocity cloud transformat...Driven by security: Legendary Entertainment’s high-velocity cloud transformat...
Driven by security: Legendary Entertainment’s high-velocity cloud transformat...
 

Similar to Serverless-First Function: Serverless application security

AWSome Day Online 2020_โมดูล 4: การรักษาความปลอดภัยแอปพลิเคชันบนระบบคลาวด์ของคุณ
AWSome Day Online 2020_โมดูล 4: การรักษาความปลอดภัยแอปพลิเคชันบนระบบคลาวด์ของคุณAWSome Day Online 2020_โมดูล 4: การรักษาความปลอดภัยแอปพลิเคชันบนระบบคลาวด์ของคุณ
AWSome Day Online 2020_โมดูล 4: การรักษาความปลอดภัยแอปพลิเคชันบนระบบคลาวด์ของคุณ
Amazon Web Services
 
AWSome Day Online 2020_Modul 4: Mengamankan aplikasi cloud Anda
AWSome Day Online 2020_Modul 4: Mengamankan aplikasi cloud AndaAWSome Day Online 2020_Modul 4: Mengamankan aplikasi cloud Anda
AWSome Day Online 2020_Modul 4: Mengamankan aplikasi cloud Anda
Amazon Web Services
 
20200520 - Como empezar a desarrollar aplicaciones serverless
20200520 - Como empezar a desarrollar aplicaciones serverless 20200520 - Como empezar a desarrollar aplicaciones serverless
20200520 - Como empezar a desarrollar aplicaciones serverless
Marcia Villalba
 
AWS SSA Webinar 11 - Getting started on AWS: Security
AWS SSA Webinar 11 - Getting started on AWS: SecurityAWS SSA Webinar 11 - Getting started on AWS: Security
AWS SSA Webinar 11 - Getting started on AWS: Security
Cobus Bernard
 
AWSome Day Online 2020_Module 4: Secure your cloud applications
AWSome Day Online 2020_Module 4: Secure your cloud applicationsAWSome Day Online 2020_Module 4: Secure your cloud applications
AWSome Day Online 2020_Module 4: Secure your cloud applications
Amazon Web Services
 
Proteggere applicazioni e dati nel cloud AWS
Proteggere applicazioni e dati nel cloud AWSProteggere applicazioni e dati nel cloud AWS
Proteggere applicazioni e dati nel cloud AWS
Amazon Web Services
 
Building a Secured Network environment on AWS
Building a Secured Network environment on AWSBuilding a Secured Network environment on AWS
Building a Secured Network environment on AWS
Amazon Web Services
 
Getting started building your first serverless web application on AWS
Getting started building  your first serverless web application on AWSGetting started building  your first serverless web application on AWS
Getting started building your first serverless web application on AWS
Ioannis Polyzos
 
How to Implement a Well-Architected Security Solution.pdf
How to Implement a Well-Architected Security Solution.pdfHow to Implement a Well-Architected Security Solution.pdf
How to Implement a Well-Architected Security Solution.pdf
Amazon Web Services
 
Pitt Immersion Day Module 5 - security overview
Pitt Immersion Day Module 5 - security overviewPitt Immersion Day Module 5 - security overview
Pitt Immersion Day Module 5 - security overview
EagleDream Technologies
 
Introduction_to_AWS_Services__Networking,_Security.pptx
Introduction_to_AWS_Services__Networking,_Security.pptxIntroduction_to_AWS_Services__Networking,_Security.pptx
Introduction_to_AWS_Services__Networking,_Security.pptx
GauravSharma164138
 
Strengthen Your Organizations Security and Privacy.pdf
Strengthen Your Organizations Security and Privacy.pdfStrengthen Your Organizations Security and Privacy.pdf
Strengthen Your Organizations Security and Privacy.pdf
Amazon Web Services
 
Monitorización de seguridad y detección de amenazas con AWS
Monitorización de seguridad y detección de amenazas con AWSMonitorización de seguridad y detección de amenazas con AWS
Monitorización de seguridad y detección de amenazas con AWS
javier ramirez
 
Fundamentals of AWS Security
Fundamentals of AWS SecurityFundamentals of AWS Security
Fundamentals of AWS Security
Amazon Web Services
 
MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...
MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...
MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...
MongoDB
 
Module 4: Secure your cloud applications - AWSome Day Online Conference 2019
Module 4: Secure your cloud applications - AWSome Day Online Conference 2019Module 4: Secure your cloud applications - AWSome Day Online Conference 2019
Module 4: Secure your cloud applications - AWSome Day Online Conference 2019
Amazon Web Services
 
Sicurezza in AWS automazione e best practice
Sicurezza in AWS automazione e best practiceSicurezza in AWS automazione e best practice
Sicurezza in AWS automazione e best practice
Amazon Web Services
 
Getting Started with AWS Security
Getting Started with AWS SecurityGetting Started with AWS Security
Getting Started with AWS Security
Amazon Web Services
 
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
Amazon Web Services
 
Security Best Practices for Microsoft Workloads (WIN307) - AWS re:Invent 2018
Security Best Practices for Microsoft Workloads (WIN307) - AWS re:Invent 2018Security Best Practices for Microsoft Workloads (WIN307) - AWS re:Invent 2018
Security Best Practices for Microsoft Workloads (WIN307) - AWS re:Invent 2018
Amazon Web Services
 

Similar to Serverless-First Function: Serverless application security (20)

AWSome Day Online 2020_โมดูล 4: การรักษาความปลอดภัยแอปพลิเคชันบนระบบคลาวด์ของคุณ
AWSome Day Online 2020_โมดูล 4: การรักษาความปลอดภัยแอปพลิเคชันบนระบบคลาวด์ของคุณAWSome Day Online 2020_โมดูล 4: การรักษาความปลอดภัยแอปพลิเคชันบนระบบคลาวด์ของคุณ
AWSome Day Online 2020_โมดูล 4: การรักษาความปลอดภัยแอปพลิเคชันบนระบบคลาวด์ของคุณ
 
AWSome Day Online 2020_Modul 4: Mengamankan aplikasi cloud Anda
AWSome Day Online 2020_Modul 4: Mengamankan aplikasi cloud AndaAWSome Day Online 2020_Modul 4: Mengamankan aplikasi cloud Anda
AWSome Day Online 2020_Modul 4: Mengamankan aplikasi cloud Anda
 
20200520 - Como empezar a desarrollar aplicaciones serverless
20200520 - Como empezar a desarrollar aplicaciones serverless 20200520 - Como empezar a desarrollar aplicaciones serverless
20200520 - Como empezar a desarrollar aplicaciones serverless
 
AWS SSA Webinar 11 - Getting started on AWS: Security
AWS SSA Webinar 11 - Getting started on AWS: SecurityAWS SSA Webinar 11 - Getting started on AWS: Security
AWS SSA Webinar 11 - Getting started on AWS: Security
 
AWSome Day Online 2020_Module 4: Secure your cloud applications
AWSome Day Online 2020_Module 4: Secure your cloud applicationsAWSome Day Online 2020_Module 4: Secure your cloud applications
AWSome Day Online 2020_Module 4: Secure your cloud applications
 
Proteggere applicazioni e dati nel cloud AWS
Proteggere applicazioni e dati nel cloud AWSProteggere applicazioni e dati nel cloud AWS
Proteggere applicazioni e dati nel cloud AWS
 
Building a Secured Network environment on AWS
Building a Secured Network environment on AWSBuilding a Secured Network environment on AWS
Building a Secured Network environment on AWS
 
Getting started building your first serverless web application on AWS
Getting started building  your first serverless web application on AWSGetting started building  your first serverless web application on AWS
Getting started building your first serverless web application on AWS
 
How to Implement a Well-Architected Security Solution.pdf
How to Implement a Well-Architected Security Solution.pdfHow to Implement a Well-Architected Security Solution.pdf
How to Implement a Well-Architected Security Solution.pdf
 
Pitt Immersion Day Module 5 - security overview
Pitt Immersion Day Module 5 - security overviewPitt Immersion Day Module 5 - security overview
Pitt Immersion Day Module 5 - security overview
 
Introduction_to_AWS_Services__Networking,_Security.pptx
Introduction_to_AWS_Services__Networking,_Security.pptxIntroduction_to_AWS_Services__Networking,_Security.pptx
Introduction_to_AWS_Services__Networking,_Security.pptx
 
Strengthen Your Organizations Security and Privacy.pdf
Strengthen Your Organizations Security and Privacy.pdfStrengthen Your Organizations Security and Privacy.pdf
Strengthen Your Organizations Security and Privacy.pdf
 
Monitorización de seguridad y detección de amenazas con AWS
Monitorización de seguridad y detección de amenazas con AWSMonitorización de seguridad y detección de amenazas con AWS
Monitorización de seguridad y detección de amenazas con AWS
 
Fundamentals of AWS Security
Fundamentals of AWS SecurityFundamentals of AWS Security
Fundamentals of AWS Security
 
MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...
MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...
MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...
 
Module 4: Secure your cloud applications - AWSome Day Online Conference 2019
Module 4: Secure your cloud applications - AWSome Day Online Conference 2019Module 4: Secure your cloud applications - AWSome Day Online Conference 2019
Module 4: Secure your cloud applications - AWSome Day Online Conference 2019
 
Sicurezza in AWS automazione e best practice
Sicurezza in AWS automazione e best practiceSicurezza in AWS automazione e best practice
Sicurezza in AWS automazione e best practice
 
Getting Started with AWS Security
Getting Started with AWS SecurityGetting Started with AWS Security
Getting Started with AWS Security
 
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
 
Security Best Practices for Microsoft Workloads (WIN307) - AWS re:Invent 2018
Security Best Practices for Microsoft Workloads (WIN307) - AWS re:Invent 2018Security Best Practices for Microsoft Workloads (WIN307) - AWS re:Invent 2018
Security Best Practices for Microsoft Workloads (WIN307) - AWS re:Invent 2018
 

Recently uploaded

Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 

Recently uploaded (20)

Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 

Serverless-First Function: Serverless application security

  • 1. © 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates. Rob Sutter – AWS Serverless Twitch: /robsutter Twitter: @rts_rob Serverless application security
  • 2. © 2020, Amazon Web Services, Inc. or its Affiliates. Session agenda • How is serverless application security different? • Similarities to traditional application security • Service-specific security resources • Applying security principles to FreshTracks
  • 3. © 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates. Differences Serverless application security
  • 4. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS Shared Responsibility Model AWS AWSIdentityandAccessManagement Platform management Network traffic Firewall config Code encryption Operating system and network configuration Compute Edge locations NetworkingDatabaseStorage Regions Availability zones Customer Customer data, application identity and access management Data encryption Data integrity Authentication Application Management Internet access Monitoring Logging AWS Global Infrastructure Responsible for security “in” the cloud Responsible for security “of” the cloud
  • 5. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS Shared Responsibility Model Platform management Network traffic Firewall config Code encryption Operating system and network configuration AWS assumes responsibility for these components of serverless applications
  • 6. © 2020, Amazon Web Services, Inc. or its Affiliates. Finer-grained control gives you better security In a monolithic application (even in a container!), every line of code is exposed to every vulnerability in every dependency and has access to every resource. Attack surface area = Σ(cf) * Σ(df) where: • cf = each function’s computational complexity • df = each function’s dependencies Potential impact = a * r where: • a = attack surface area (see above) • r = total number of accessible resources
  • 7. © 2020, Amazon Web Services, Inc. or its Affiliates. Finer-grained control gives you better security In a well-architected serverless application, each unit of code is exposed only to the vulnerabilities in its specific logic and dependencies, and has access only to its own resources. Potential impact = Σ(cf * df * rf) where: • cf = each function’s complexity • df = each function’s dependencies • rf = each function’s resources
  • 8. © 2020, Amazon Web Services, Inc. or its Affiliates. Finer-grained control gives you better security In plain language, the potential security risk of a serverless application is lower, but still present!
  • 9. © 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates. Similarities Serverless application security
  • 10. © 2020, Amazon Web Services, Inc. or its Affiliates. Serverless application security similarities Security is not “free” with serverless. It still takes work! • Application layer security • Authentication and authorization • Data encryption and integrity • Monitoring and logging Customer Customer data, application identity and access management Data encryption Data integrity Authentication Application Management Internet access Monitoring Logging Responsible for security “in” the cloud
  • 11. © 2020, Amazon Web Services, Inc. or its Affiliates. OWASP Serverless Top Ten S1:2017 Injection S2:2017 Broken Authentication S3:2017 Sensitive Data Exposure S4:2017 XML External Entities (XXE) S5:2017 Broken Access Control S6:2017 Security Misconfiguration S7:2017 Cross-Site Scripting (XSS) S8:2017 Insecure Deserialization S9:2017 Using Components with Known Vulnerabilities S10:2017 Insufficient Logging and Monitoring
  • 12. © 2020, Amazon Web Services, Inc. or its Affiliates. • Applications have different use cases and risk tolerances • AWS empowers customers to build according to their needs • A security vulnerability in one application can be indistinguishable from a critical feature in another • Example: a B2C platform startup enables cross-origin resource sharing (CORS) globally, whereas a financial institution restricts it entirely Application layer security (S1, S3, S4, S5, S6, S7, S8:2017)
  • 13. © 2020, Amazon Web Services, Inc. or its Affiliates. Authentication and authorization (S2, S5, S6:2017) • Use available tooling • Amazon offers Amazon Cognito • Partners such as Auth0 • Don’t write your own! • AWS Identity and Access Management (IAM) ties all the pieces together AWS Identity andAccess Management
  • 14. © 2020, Amazon Web Services, Inc. or its Affiliates. Data encryption and integrity – S3:2017 • Identify and classify sensitive data • Minimize storage of sensitive data to only what is absolutely necessary • Protect data at rest • Use infrastructure provider services for key management and encryption of stored data, secrets, and environment variables AWS Secrets ManagerAWS Key Management Service
  • 15. © 2020, Amazon Web Services, Inc. or its Affiliates. Monitoring and logging (S10:2017) • Use monitoring tools provided by the service provider to identify and report unwanted behavior • Wrong credentials • Unauthorized access to resources • Excessive execution of functions • Unusually long execution time
  • 16. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon Partner Network Aqua Security • Dev-to-prod security across your entire CI/CD pipeline and runtime environments • www.aquasec.com Snyk • Proactively finds and fixes vulnerabilities and license violations in open source dependencies • www.snyk.io
  • 17. © 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates. Service-specific resources Serverless application security
  • 18. © 2020, Amazon Web Services, Inc. or its Affiliates. InternetMobile/Web apps ?Backend ?DatabaseAWSAmplify Exploring a traditional web application technology stack
  • 19. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS Amplify Console The AWS Amplify Console properly configures an S3 bucket and Amazon CloudFront distribution for you, and can configure authentication for your app. The key focus for customers is restricting deployments with AWS IAM. • CreateBranch, CreateDeployment, CreateWebHook • DeleteApp, DeleteBranch, DeleteWebHook • StartDeployment, StartJob • StopJob • UpdateWebHook AWS Amplify
  • 20. © 2020, Amazon Web Services, Inc. or its Affiliates. InternetMobile/Web apps ?DatabaseAWSAmplify AWS Lambda ?Invocation? Exploring a traditional web application technology stack
  • 21. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS Lambda Function policies: • “Actions on bucket X can invoke Lambda function Z" • Resource policies allow for cross account access • Used for sync and async invocations Execution role: • “Lambda function A can read from DynamoDB table users” • Define what AWS resources/API calls can this function access via IAM • Used in streaming invocations Event source ServicesFunction
  • 22. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS Lambda – Function policy Created implicitly by AWS SAM when you attach events. The SAM template shown here allows Amazon API Gateway to invoke the saveToFreshTracksDatabaseTable Lambda function
  • 23. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS Lambda – Execution role Created explicitly by you when you define your function. The SAM template shown here allows the saveToFreshTracksDatabaseTable Lambda function to read from and write to the FreshTracksDatabaseTable Amazon DynamoDB table.
  • 24. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS SAM policy templates • Included in the AWS Serverless Application Model (SAM) • Help you quickly scope permissions to the resources used by your application • Applications that use policy templates don’t require acknowledgements to deploy from the AWS Serverless Application Repository • Open Source: submit pull requests and issues at: • github.com/awslabs/serverless-application-model/
  • 25. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS SAM policy templates For more information and a complete list see: rbsttr.tv/sampolicy
  • 26. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS SAM policy templates These two lines: Become this complete policy:
  • 27. © 2020, Amazon Web Services, Inc. or its Affiliates. InternetMobile/Web apps ?DatabaseAWSAmplify AWS LambdaAmazon API Gateway Exploring a traditional web application technology stack
  • 28. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon API Gateway IAM permissions • Use IAM policies and AWS credentials to grant access Lambda Authorizers • Use a Lambda function to validate a bearer token, e.g., OAuth or SAML Cognito User Pools • Create a completely managed user management system Resource Policies • Can restrict based on IP, VPC, AWS Account ID AmazonAPI Gateway
  • 29. © 2020, Amazon Web Services, Inc. or its Affiliates. InternetMobile/Web apps AWSAmplify AWS LambdaAmazon API Gateway Amazon DynamoDB Exploring a traditional web application technology stack
  • 30. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon DynamoDB Start with the AWS SAM policy templates: • DynamoDBReadPolicy for read-only • DynamoDBWritePolicy for creates and updates • DynamoDBStreamReadPolicy to attach to streams • Avoid DynamoDBCrudPolicy whenever possible • Command-query responsibility separation (CQRS) Allows for extremely fine-grained access via the IAM condition dynamodb:LeadingKeys Amazon DynamoDB
  • 31. © 2020, Amazon Web Services, Inc. or its Affiliates. Exploring a serverless web application technology stack Amazon API Gateway Client/browser AWS Cloud Access StorageCompute AWS Amplify Console getActivitiesFo rUser [GET] /Activities getActivity [GET] /Activity getSignedUrlS3 [POST] /SignUrl CustomAuthorizer Amazon DynamoDB FreshTracks S3Bucket Upload .gpx file with signed URL S3 for static file storage
  • 32. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon S3 S3 buckets are not public by default In general you should not change this! Again, take advantage of AWS SAM policy templates: • S3ReadPolicy for retrieving data • S3WritePolicy for storing data • Avoid using S3CrudPolicy and S3FullAccessPolicy whenever possible Use S3 Access Points for even greater control over access to your buckets Amazon Simple Storage Service
  • 33. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon API Gateway Client/browser AWS Cloud Access StorageCompute AWS Amplify Console getActivitiesFo rUser [GET] /Activities getActivity [GET] /Activity getSignedUrlS3 [POST] /SignUrl CustomAuthorizer Amazon DynamoDB FreshTracks S3 bucket Upload .gpx file with signed URL Exploring a serverless web application technology stack AWS IoT Core Amazon EventBridge Messaging Messaging services for data exchange
  • 34. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon EventBridge AWS IAM offers permissions for inbound and outbound operations Inbound operations determine what principals can place events onto event buses and define rules and targets: • events:PutEvents • events:PutRule • events:PutTargets Custom event bus Lambda function
  • 35. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon EventBridge AWS IAM offers permissions for inbound and outbound operations Outbound permissions are determined by the receiving resource. Amazon EventBridge AWS ExpressWorkflows
  • 36. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS IoT Core AWS IAM policies and AWS IoT Core policies AWS IAM also provides a set of IAM managed policies • AWSIoTDataAccess • AWSIoTEventsReadOnlyAccess • AWSIoTLogging For more information and a complete list see: rbsttr.tv/iotiam AWS IoT Core
  • 37. © 2020, Amazon Web Services, Inc. or its Affiliates. Exploring a serverless web application technology stack Amazon API Gateway Client/browser AWS Cloud Access StorageCompute AWS Amplify Console getActivitiesFo rUser [GET] /Activities getActivity [GET] /Activity getSignedUrlS3 [POST] /SignUrl CustomAuthorizer Amazon DynamoDB FreshTracks S3 bucket Upload .gpx file with signed URL AWS IoT Core Amazon EventBridge Messaging [Message]Workflow Complete AWS Step Functions ExpressWorkflow Process GPX File Save meta to DB Publish to IoT Orchestration Event driven orchestration
  • 38. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS Step Functions • Data in AWS Step Functions is encrypted at rest • All data that passes between Step Functions and integrated services is encrypted using Transport Layer Security (TLS) AWS IAM governs Step Functions executions and invocations • Special consideration for service integrations • Run a Job (.sync) • Wait for Callback (.waitForTaskToken) StandardWorkflows ExpressWorkflows
  • 39. © 2020, Amazon Web Services, Inc. or its Affiliates. Compliance • Compliance-ready for SOC, PCI, FedRAMP, HIPAA, and others Learn more at https://aws.amazon.com/compliance/services-in-scope/ Service SOC PCI ISO FedRAMP HIPAA AWS Amplify Console ✅ ✅ ✅ ✅ AWS Lambda ✅ ✅ ✅ ✅ ✅ Amazon API Gateway ✅ ✅ ✅ ✅ ✅ Amazon DynamoDB ✅ ✅ ✅ ✅ ✅ Amazon S3 ✅ ✅ ✅ ✅ ✅ Amazon EventBridge ✅ ✅ ✅ ✅ ✅ AWS IoT Core ✅ ✅ ✅ ✅ ✅ AWS Step Functions ✅ ✅ ✅ ✅ ✅
  • 40. © 2020, Amazon Web Services, Inc. or its Affiliates.© 2020, Amazon Web Services, Inc. or its Affiliates. Securing Fresh Tracks Serverless application security
  • 41. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon API Gateway AWS Cloud Access StorageCompute getActivitiesFo rUser [GET] /Activities getActivity [GET] /Activity getSignedUrlS3 [POST] /SignUrl CustomAuthorizer Amazon DynamoDB FreshTracks S3 bucket Upload .gpx file with signed URL AWS IoT Core Amazon EventBridge Messaging [Message]Workflow Complete AWS Step Functions ExpressWorkflow Process GPX File Save meta to DB Publish to IoT Orchestration Client/browser AWS Amplify Console
  • 42. © 2020, Amazon Web Services, Inc. or its Affiliates. Optimization best practices are also security best practices Avoid monolithic functions • Reduces complexity • Reduces number of resources • Both reduce potential impact Optimize dependencies (and imports) • Reduces complexity • Reduces the attack surface
  • 43. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS Lambda Function Policies CreateZendeskArticle AWSLambdaBasicExecutionRole GetFullZendeskTicket AWSLambdaBasicExecutionRole GetFullZendeskUser AWSLambdaBasicExecutionRole publishToIoT Inline - Action: iot:*, Resource: * SaveAuth0EventToS3 S3CrudPolicy saveToFreshTracksDatabaseTable DynamoDBCrudPolicy getActivitiesForUser DynamoDBCrudPolicy getActivity DynamoDBCrudPolicy, S3CrudPolicy parseGPX DynamoDBCrudPolicy, S3CrudPolicy getSignedUrlS3 S3CrudPolicy
  • 44. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS Lambda Our publishToIoT function uses an overly broad inline policy. How can we improve this?
  • 45. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS Lambda We have two IOT API calls in our code: describeEndpoint and publish • describeEndpoint does not take any Resource arguments • publish accepts the ARN of an IoT topic as a Resource argument • FreshTracksRealtime is the IoT topic defined in our SAM template • We use !GetAtt to obtain the ARN of the topic
  • 46. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS Lambda Now our function is restricted to: • only the API calls it needs to execute successfully (describeEndpoint and publish) • only performing those API calls against the required resources (the FreshTracksRealtime IoT topic) AWS SAM per-function IAM roles enable tight scoping of permissions.
  • 47. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon API Gateway Our API Gateway CORS policy is open to the world. How can we improve this?
  • 48. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon API Gateway Our domain name is myfreshtracks.com We can instruct API Gateway to only allow traffic originating from our domain.
  • 49. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon API Gateway We also enable a custom authorizer to restrict traffic to protected routes. A custom authorizer is a Lambda function that inspects claims in a token and determines whether to permit or reject the request.
  • 50. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon DynamoDB Function Policies saveToFreshTracksDatabaseTable DynamoDBCrudPolicy getActivitiesForUser DynamoDBCrudPolicy getActivity DynamoDBCrudPolicy, S3CrudPolicy parseGPX DynamoDBCrudPolicy, S3CrudPolicy We have four functions that access our DynamoDB table. They all use the DynamoDBCrudPolicy. How can we improve this?
  • 51. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon DynamoDB Function DynamoDB API Calls saveToFreshTracksDatabaseTable dynamodb.put getActivitiesForUser dynamodb.query getActivity dynamodb.getItem parseGPX <none> Inspect the code for actual API calls.
  • 52. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon DynamoDB Function API Call Policies saveToFreshTracksDatabaseTable dynamodb.put DynamoDBWritePolicy getActivitiesForUser dynamodb.query DynamoDBReadPolicy getActivity dynamodb.getItem DynamoDBReadPolicy parseGPX <none> <none> Provide the proper AWS SAM policy template
  • 53. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon DynamoDB Provide the proper AWS SAM policy template
  • 54. © 2020, Amazon Web Services, Inc. or its Affiliates. Summary Serverless application security is: • balanced toward the application, not the infrastructure • more fine-grained • not to be taken for granted! This is only a start! AWS provides a number of solutions to secure your applications. For more, see: https://aws.amazon.com/security/
  • 55. © 2020, Amazon Web Services, Inc. or its Affiliates. Q&A Rob Sutter – AWS Serverless Twitch: /robsutter Twitter: @rts_rob
  • 56. © 2020, Amazon Web Services, Inc. or its Affiliates. Rob Sutter – AWS Serverless Twitch: /robsutter Twitter: @rts_rob Thank you!