SlideShare ist ein Scribd-Unternehmen logo
1 von 100
Downloaden Sie, um offline zu lesen
An Attacker’s View of
Serverless and GraphQL
Abhay Bhargav - we45
Copyright - we45, 2019
abhaybhargav
abhaybhargav
Yours Truly
• Founder @ we45
• Chief Architect - Orchestron
• Avid Pythonista and AppSec Automation Junkie
• Speaker at DEF CON, BlackHat, OWASP Events, etc
world-wide
• Lead Trainer - we45 Training and Workshops
• Co-author of Secure Java For Web Application
Development
• Author of PCI Compliance: A Definitive Guide
Copyright - we45, 2019
abhaybhargav
Copyright - we45, 2018
abhaybhargav
Get ready!
Copyright - we45, 2018
abhaybhargav
Get ready!
Copyright - we45, 2018
abhaybhargav
Get ready!
Copyright - we45, 2018
abhaybhargav
Today’s Session
• A Gentle Introduction to Serverless (FaaS) and GraphQL
• Attacker’s view of FaaS
• Attacker’s View of GraphQL
• Demos
• FIN
Copyright - we45, 2018
abhaybhargav
As always, I pray to the demo gods!
Copyright - we45, 2018
abhaybhargav
Serverless (FaaS)
abhaybhargav
Moving FaaSter!
Copyright - we45, 2018
Monolith Microservice
Function
abhaybhargav
What is FaaS?
Copyright - we45, 2018
abhaybhargav
What is FaaS?
• Functions that are triggered via events => Triggering a Container/VM
Copyright - we45, 2018
abhaybhargav
What is FaaS?
• Functions that are triggered via events => Triggering a Container/VM
• Execute (thing)
Copyright - we45, 2018
abhaybhargav
What is FaaS?
• Functions that are triggered via events => Triggering a Container/VM
• Execute (thing)
• The container/VM freezes post execution and kills
Copyright - we45, 2018
abhaybhargav
What is FaaS?
• Functions that are triggered via events => Triggering a Container/VM
• Execute (thing)
• The container/VM freezes post execution and kills
• Repeat
Copyright - we45, 2018
abhaybhargav
Summary
Copyright - we45, 2018
Function
•Short lived
•No ports
•No state
•Single purpose
abhaybhargav
Events
Copyright - we45, 2018
abhaybhargav
Lifecycle
Copyright - we45, 2018
Containers/MicroVMs are
“thawed” when they are
invoked again
Additional Containers/MicroVMs
are spawned based on
concurrent invocations
Function is invoked launching
a container to run. Destroyed
after.
Deploy into Lambda with
zip file
abhaybhargav
customary FaaS Demo…
abhaybhargav
GraphQL
What is GraphQL?
• API Query Language => instead of REST API
• (Usually) single endpoint to query and insert
(mutate) data for the API
• Query/Mutate exactly what you want
• Multiple Resources in a Single Request
• PubSub Functionality for Realtime Data
REST vs GraphQL
REST vs GraphQL
re_path(r'^media/(?P<path>.*)$', MediaServeView.as_view()),
re_path(r'^api/user/password/change/(?P<email>.*)/$', UserUtilityView.as_view({'post':'change_password'})),
re_path(r'^api/user/token/', obtain_jwt_token),
re_path(r'^api/user/profile/', UserProfileView.as_view()),
re_path(r'^api/users/list/$', UserListView.as_view({'get':'list'}),name='user_list'),
re_path(r'^api/organizations/list/$', OrganizationListView.as_view({'get':'list'}),name='org_list'),
re_path(r'^api/projects/list/$', ProjectListView.as_view({'get':'list'}),name='pro_list'),
re_path(r'^api/applications/list/$', ApplicationListView.as_view({'get':'list'}),name='app_list'),
re_path(r'^api/users/$', UserView.as_view({'get':'list','put':'create'}),name='user'),
re_path(r'^api/users/(?P<pk>d+)/$',
UserView.as_view({'get':'retrieve','post':'update','delete':'destroy'}),name='ind_user'),
re_path(r'^api/tools/$', OptionsListView.as_view({'get':'tools'}),name='tools'),
re_path(r'^api/hosttypes/$', OptionsListView.as_view({'get':'hosttypes'}),name='hosttypes'),
re_path(r'^api/platforms/$', OptionsListView.as_view({'get':'platforms'}),name='platforms'),
re_path(r'^api/permissions/$', OptionsListView.as_view({'get':'permissions'}),name='permissions'),
GraphQL
const app = express();
const PORT = 3000;
app.use('/graphql', graphlHTTP({
schema: schema,
graphiql: true,
}));
GraphQL
GraphQL Architecture
Source: Apollo Server
GraphQL Terminology
•Schemas and Types:
•Define Object Types and Fields
(Objects and Attributes
•Queries => Select Statements
•Mutations => Insert/Update Statements
•Scalar => Custom Data Types
•Resolver => Function that translates the
type system to DB queries
abhaybhargav
customary GraphQL Demo…
abhaybhargav
Why Serverless AND
GraphQL?
abhaybhargav
abhaybhargav
abhaybhargav
abhaybhargav
abhaybhargav
abhaybhargav
abhaybhargav
abhaybhargav
abhaybhargav
abhaybhargav
Super-easy to deploy
service: gql-sql-injection
package:
exclude:
- node_modules
- package-lock.json
provider:
name: aws
runtime: nodejs8.10
timeout: 30
functions:
graphql:
handler: app.handler
timeout: 30
events:
- http:
path: graphql
method: post
cors: false
abhaybhargav
Security Considerations - FaaS
• No* Frameworks => Back to Plain ol’ platform code
• No Network Attack Surface
• Observability/Debugging is a challenge
• Events from Multiple Sources
• Highly disciplined approach to Architecture
Copyright - we45, 2018
abhaybhargav
reading between the lines….
abhaybhargav
Considerations - FaaS
• No* Frameworks => Back to
Plain ol’ platform code
• No Network Attack Surface
• Observability/Debugging is a challenge
• Highly disciplined approach to
Architecture
Copyright - we45, 2018
abhaybhargav
Considerations - FaaS
• No* Frameworks => Back to
Plain ol’ platform code
• No Network Attack Surface
• Observability/Debugging is a challenge
• Highly disciplined approach to
Architecture
Copyright - we45, 2018
•No Batteries included
Security Features
(Frameworks)
abhaybhargav
Considerations - FaaS
• No* Frameworks => Back to
Plain ol’ platform code
• No Network Attack Surface
• Observability/Debugging is a challenge
• Highly disciplined approach to
Architecture
Copyright - we45, 2018
•No Batteries included
Security Features
(Frameworks)
•DIY Validation
abhaybhargav
Considerations - FaaS
• No* Frameworks => Back to
Plain ol’ platform code
• No Network Attack Surface
• Observability/Debugging is a challenge
• Highly disciplined approach to
Architecture
Copyright - we45, 2018
•No Batteries included
Security Features
(Frameworks)
•DIY Validation
•Access Control per Function
abhaybhargav
Considerations - FaaS
• No* Frameworks => Back to
Plain ol’ platform code
• No Network Attack Surface
• Observability/Debugging is a challenge
• Highly disciplined approach to
Architecture
Copyright - we45, 2018
•No Batteries included
Security Features
(Frameworks)
•DIY Validation
•Access Control per Function
•Logging Per Function
abhaybhargav
Considerations - FaaS
• No* Frameworks => Back to
Plain ol’ platform code
• No Network Attack Surface
• Observability/Debugging is a challenge
• Highly disciplined approach to
Architecture
Copyright - we45, 2018
•No Batteries included
Security Features
(Frameworks)
•DIY Validation
•Access Control per Function
•Logging Per Function
•and other things we don’t too
too well…..
abhaybhargav
Considerations - FaaS
• No* Frameworks => Back to
Plain ol’ platform code
• No Network Attack Surface
•Observability/Debugging is a
challenge
• Highly disciplined approach to
Architecture
Copyright - we45, 2018
abhaybhargav
Considerations - FaaS
• No* Frameworks => Back to
Plain ol’ platform code
• No Network Attack Surface
•Observability/Debugging is a
challenge
• Highly disciplined approach to
Architecture
Copyright - we45, 2018
•Monitoring Attacks is a
challenge unless you
architect for it
abhaybhargav
Considerations - FaaS
• No* Frameworks => Back to
Plain ol’ platform code
• No Network Attack Surface
•Observability/Debugging is a
challenge
• Highly disciplined approach to
Architecture
Copyright - we45, 2018
•Monitoring Attacks is a
challenge unless you
architect for it
•Security Logging =>
FUHGEDDABOUDIT!
abhaybhargav
Considerations - FaaS
• No* Frameworks => Back to Plain ol’
platform code
• No Network Attack Surface
• Observability/Debugging is a challenge
•Events from Multiple Sources
Copyright - we45, 2018
abhaybhargav
Considerations - FaaS
• No* Frameworks => Back to Plain ol’
platform code
• No Network Attack Surface
• Observability/Debugging is a challenge
•Events from Multiple Sources
Copyright - we45, 2018
•Functions triggered from
events like S3, SNS, SQS,etc
abhaybhargav
Considerations - FaaS
• No* Frameworks => Back to Plain ol’
platform code
• No Network Attack Surface
• Observability/Debugging is a challenge
•Events from Multiple Sources
Copyright - we45, 2018
•Functions triggered from
events like S3, SNS, SQS,etc
•Larger Attack Surface
abhaybhargav
Considerations - FaaS
• No* Frameworks => Back to Plain ol’
platform code
• No Network Attack Surface
• Observability/Debugging is a challenge
•Events from Multiple Sources
Copyright - we45, 2018
•Functions triggered from
events like S3, SNS, SQS,etc
•Larger Attack Surface
•Traditional Security
Controls - WAFs, etc may be
ineffective
abhaybhargav
Considerations - FaaS
• No* Frameworks => Back to Plain ol’
platform code
• No Network Attack Surface
• Observability/Debugging is a challenge
•Events from Multiple Sources
Copyright - we45, 2018
•Functions triggered from
events like S3, SNS, SQS,etc
•Larger Attack Surface
•Traditional Security
Controls - WAFs, etc may be
ineffective
•DAST/Testing is hard to
exec
abhaybhargav
Useful Projects for Serverless Security
Copyright - we45, 2018
abhaybhargav
Attacker’s View of FaaS
abhaybhargav
Routes to FaaS pwnage!
• Attacking Function (and cloud provider)
through non-API Gateway Events
• Attacking Function (and Cloud Provider)
through API (Web Services Attacks)
• Identifying Vulnerabilities with IAM and
Privileges => Elevation of Privs
• Information Disclosure => Database
Access, etc
• Denial of Service
Copyright - we45, 2018
abhaybhargav
Function Data Event Injection
abhaybhargav
What is Event Injection?
• Injection Attacks triggered through Third party
event notifications
• Example:
• File Uploaded to S3
• Message sent over Notification Service
• Message received on Queue
• DynamoDB Stream Events,
• etc
Copyright - we45, 2018
abhaybhargav
Function Data Event Injection
• Injection is back!!
• Multiple Possibilities with Functions:
• Insecure Deserialization
• XXE
• SQL Injection
• NoSQL Injection
• Server-Side Request Forgery
• Template Injection
abhaybhargav
Function Data Event Injection - Sources
Command Injection
SQL/NoSQL Injection
Insecure Deserialization
XXE
abhaybhargav
Case Study
User uploads XML
laced with malware
File Stores in Amazon S3
Notification triggers function
Function reads uploaded file, XXE executes
Attacker gains access
abhaybhargav
Demo
abhaybhargav
Challenges - Function Data Event Injection
• Hard to test for => Execution is largely Out-of-Band
• Hard to Protect with WAFs (other Network Security) =>
Several non-HTTP Protocols can be used to trigger this
• Wide variety of execution scenarios
abhaybhargav
Privilege Escalation - IAM
Misconfiguration
abhaybhargav
IAM & Other Misconfigurations
• Permissions are often the greatest bugbear in a FaaS
implementation
• Devs tend to provide overly permissive capabilities
for resources that interact with FaaS
implementations
• Permissions are usually set in cloud IAM
environments with Policies, Roles, etc
• This includes misconfigurations like Public S3
buckets and access to all DynamoDB tables, etc
abhaybhargav
Examples of IAM
- Effect: Allow
Action:
- 'dynamodb:*'
Resource:
- 'arn:aws:dynamodb:us-east-1:****************:table/TABLE_NAME'
Allows ALL actions on a
DynamoDB Table
- Effect: Allow
Action:
- dynamodb:PutItem
Resource: 'arn:aws:dynamodb:us-east-1:****************:table/TABLE_NAME'
Only PUT allowed on Table
abhaybhargav
DynamoDB Injection
client.scan(TableName = 'dynamo-user', Select = 'ALL_ATTRIBUTES',
ScanFilter = {
'first_name':
{"AttributeValueList": [{"S": "Joe"}],
"ComparisonOperator": "EQ"}
}) Standard “scan” with DynamoDBEQ|NE|IN|LE|LT|GE|GT|BETWEEN|
NOT_NULL|NULL|CONTAINS|
NOT_CONTAINS|BEGINS_WITH
client.scan(TableName = 'dynamo-user', Select = 'ALL_ATTRIBUTES',
ScanFilter = {'first_name': {"AttributeValueList": [{"S": "*"}],
"ComparisonOperator": "GT"}})
Equivalent of ‘OR 1=1, Retrieves all
values from the Table
abhaybhargav
Demo
abhaybhargav
Other Weaknesses
• Authorization Weaknesses especially with JSON Web Tokens (JWTs)
• Denial of Service Attacks based on Library weaknesses
• Dynamic Testing is a major challenge for Serverless Functions
• SAST/SCA becomes the way to go. But gets hard with multiple language
implementations
Copyright - we45, 2018
abhaybhargav
Attacker’s view of GraphQL
abhaybhargav
Security Considerations - GraphQL
Copyright - we45, 2018
abhaybhargav
Security Considerations - GraphQL
• Access Control
Copyright - we45, 2018
abhaybhargav
Security Considerations - GraphQL
• Access Control
• Input Validation
Copyright - we45, 2018
abhaybhargav
Security Considerations - GraphQL
• Access Control
• Input Validation
• Query Whitelisting
Copyright - we45, 2018
abhaybhargav
Security Considerations - GraphQL
• Access Control
• Input Validation
• Query Whitelisting
• Rate Limiting
Copyright - we45, 2018
abhaybhargav
Security Considerations - GraphQL
• Access Control
• Input Validation
• Query Whitelisting
• Rate Limiting
Copyright - we45, 2018
}
abhaybhargav
Security Considerations - GraphQL
• Access Control
• Input Validation
• Query Whitelisting
• Rate Limiting
Copyright - we45, 2018
}
abhaybhargav
Attacker’s View of GraphQL
Copyright - we45, 2018
abhaybhargav
Attacker’s View of GraphQL
• Similar set of flaws as you would see with any other Web App/Web Service
Copyright - we45, 2018
abhaybhargav
Attacker’s View of GraphQL
• Similar set of flaws as you would see with any other Web App/Web Service
• Authorization Flaws and Info Disclosure Flaws take center-stage
Copyright - we45, 2018
abhaybhargav
Attacker’s View of GraphQL
• Similar set of flaws as you would see with any other Web App/Web Service
• Authorization Flaws and Info Disclosure Flaws take center-stage
• NoSQL Flaws might be big with GraphQL Apps
Copyright - we45, 2018
abhaybhargav
Attacker’s View of GraphQL
• Similar set of flaws as you would see with any other Web App/Web Service
• Authorization Flaws and Info Disclosure Flaws take center-stage
• NoSQL Flaws might be big with GraphQL Apps
• Make Denial-of-Service Great Again!
Copyright - we45, 2018
abhaybhargav
GraphQL Introspection
(Information Disclosure)
abhaybhargav
Introspection?
Copyright - we45, 2018
abhaybhargav
Introspection?
Copyright - we45, 2018
abhaybhargav
Introspection?
Copyright - we45, 2018
abhaybhargav
Introspection?
Copyright - we45, 2018
abhaybhargav
Authorization Bypass
abhaybhargav
Anyone remember Mass Assignment?
Copyright - we45, 2018
abhaybhargav
Demo
abhaybhargav
Injection
abhaybhargav
Injection with GraphQL
• Unlike REST (single query per function), GraphQL resolvers are written for a larger
query space
• With NoSQL databases, this could lead to injection (and probably RCE) if Dynamic
Scripting is enabled (Mongo, Elasticsearch, etc)
Copyright - we45, 2018
abhaybhargav
Demo
abhaybhargav
DoS
abhaybhargav
Nested Queries - Resource Exhaustion
• Nested Queries with Many to Many
Fields can be easily scaled to “high cost”
queries
• When coupled with FaaS invocations,
can really add up the costs
Copyright - we45, 2018
abhaybhargav
Demo
Copyright - we45, 2018
abhaybhargav
Conclusions
• Serverless and GraphQL Stacks are going to be big moving forward
• Developers need to largely DIY Implementations => Few Frameworks today!
• Security Tooling => Needs to catch up a WHOLE LOT MORE!
Copyright - we45, 2018
abhaybhargav
Thanks!
•Twitter: @abhaybhargav
•Website and Blog: www.we45.com
•Product: www.orchestron.io
Copyright - we45, 2018

Weitere ähnliche Inhalte

Was ist angesagt?

The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016Frans Rosén
 
Regular Expression Injection
Regular Expression InjectionRegular Expression Injection
Regular Expression InjectionNSConclave
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices Amazon Web Services
 
Pentesting Rest API's by :- Gaurang Bhatnagar
Pentesting Rest API's by :- Gaurang BhatnagarPentesting Rest API's by :- Gaurang Bhatnagar
Pentesting Rest API's by :- Gaurang BhatnagarOWASP Delhi
 
The Hacker's Guide to NoSQL Injection
The Hacker's Guide to NoSQL InjectionThe Hacker's Guide to NoSQL Injection
The Hacker's Guide to NoSQL InjectionPatrycja Wegrzynowicz
 
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチAmazon Web Services Japan
 
OpenAPI development with Python
OpenAPI development with PythonOpenAPI development with Python
OpenAPI development with PythonTakuro Wada
 
Strapi Meetup Presentation
Strapi Meetup PresentationStrapi Meetup Presentation
Strapi Meetup PresentationStrapi
 
Neat tricks to bypass CSRF-protection
Neat tricks to bypass CSRF-protectionNeat tricks to bypass CSRF-protection
Neat tricks to bypass CSRF-protectionMikhail Egorov
 
Building Modern APIs with GraphQL
Building Modern APIs with GraphQLBuilding Modern APIs with GraphQL
Building Modern APIs with GraphQLAmazon Web Services
 
How MITRE ATT&CK helps security operations
How MITRE ATT&CK helps security operationsHow MITRE ATT&CK helps security operations
How MITRE ATT&CK helps security operationsSergey Soldatov
 
How to Test for The OWASP Top Ten
 How to Test for The OWASP Top Ten How to Test for The OWASP Top Ten
How to Test for The OWASP Top TenSecurity Innovation
 
Using AWS CloudTrail Logs for Scalable, Automated Anomaly Detection - SID341 ...
Using AWS CloudTrail Logs for Scalable, Automated Anomaly Detection - SID341 ...Using AWS CloudTrail Logs for Scalable, Automated Anomaly Detection - SID341 ...
Using AWS CloudTrail Logs for Scalable, Automated Anomaly Detection - SID341 ...Amazon Web Services
 
Writing REST APIs with OpenAPI and Swagger Ada
Writing REST APIs with OpenAPI and Swagger AdaWriting REST APIs with OpenAPI and Swagger Ada
Writing REST APIs with OpenAPI and Swagger AdaStephane Carrez
 
Ch 6: Attacking Authentication
Ch 6: Attacking AuthenticationCh 6: Attacking Authentication
Ch 6: Attacking AuthenticationSam Bowne
 
Understanding Application Threat Modelling & Architecture
 Understanding Application Threat Modelling & Architecture Understanding Application Threat Modelling & Architecture
Understanding Application Threat Modelling & ArchitecturePriyanka Aash
 
Applications secure by default
Applications secure by defaultApplications secure by default
Applications secure by defaultSecuRing
 

Was ist angesagt? (20)

Amazon API Gateway
Amazon API GatewayAmazon API Gateway
Amazon API Gateway
 
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
 
Regular Expression Injection
Regular Expression InjectionRegular Expression Injection
Regular Expression Injection
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices
 
Pentesting Rest API's by :- Gaurang Bhatnagar
Pentesting Rest API's by :- Gaurang BhatnagarPentesting Rest API's by :- Gaurang Bhatnagar
Pentesting Rest API's by :- Gaurang Bhatnagar
 
OAuth in the Wild
OAuth in the WildOAuth in the Wild
OAuth in the Wild
 
The Hacker's Guide to NoSQL Injection
The Hacker's Guide to NoSQL InjectionThe Hacker's Guide to NoSQL Injection
The Hacker's Guide to NoSQL Injection
 
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
 
OpenAPI development with Python
OpenAPI development with PythonOpenAPI development with Python
OpenAPI development with Python
 
Strapi Meetup Presentation
Strapi Meetup PresentationStrapi Meetup Presentation
Strapi Meetup Presentation
 
Neat tricks to bypass CSRF-protection
Neat tricks to bypass CSRF-protectionNeat tricks to bypass CSRF-protection
Neat tricks to bypass CSRF-protection
 
Building Modern APIs with GraphQL
Building Modern APIs with GraphQLBuilding Modern APIs with GraphQL
Building Modern APIs with GraphQL
 
How MITRE ATT&CK helps security operations
How MITRE ATT&CK helps security operationsHow MITRE ATT&CK helps security operations
How MITRE ATT&CK helps security operations
 
How to Test for The OWASP Top Ten
 How to Test for The OWASP Top Ten How to Test for The OWASP Top Ten
How to Test for The OWASP Top Ten
 
Using AWS CloudTrail Logs for Scalable, Automated Anomaly Detection - SID341 ...
Using AWS CloudTrail Logs for Scalable, Automated Anomaly Detection - SID341 ...Using AWS CloudTrail Logs for Scalable, Automated Anomaly Detection - SID341 ...
Using AWS CloudTrail Logs for Scalable, Automated Anomaly Detection - SID341 ...
 
Writing REST APIs with OpenAPI and Swagger Ada
Writing REST APIs with OpenAPI and Swagger AdaWriting REST APIs with OpenAPI and Swagger Ada
Writing REST APIs with OpenAPI and Swagger Ada
 
GraphQL
GraphQLGraphQL
GraphQL
 
Ch 6: Attacking Authentication
Ch 6: Attacking AuthenticationCh 6: Attacking Authentication
Ch 6: Attacking Authentication
 
Understanding Application Threat Modelling & Architecture
 Understanding Application Threat Modelling & Architecture Understanding Application Threat Modelling & Architecture
Understanding Application Threat Modelling & Architecture
 
Applications secure by default
Applications secure by defaultApplications secure by default
Applications secure by default
 

Ähnlich wie An Attacker's View of Serverless and GraphQL Apps - Abhay Bhargav - AppSec California 2019

Merging Security with DevOps - An AppSec Perspective
Merging Security with DevOps - An AppSec PerspectiveMerging Security with DevOps - An AppSec Perspective
Merging Security with DevOps - An AppSec PerspectiveAbhay Bhargav
 
Application Deployment at UC Riverside
Application Deployment at UC RiversideApplication Deployment at UC Riverside
Application Deployment at UC RiversideMichael Kennedy
 
GraphQL - The new "Lingua Franca" for API-Development
GraphQL - The new "Lingua Franca" for API-DevelopmentGraphQL - The new "Lingua Franca" for API-Development
GraphQL - The new "Lingua Franca" for API-Developmentjexp
 
Developing Brilliant and Powerful APIs in Ruby & Python
Developing Brilliant and Powerful APIs in Ruby & PythonDeveloping Brilliant and Powerful APIs in Ruby & Python
Developing Brilliant and Powerful APIs in Ruby & PythonSmartBear
 
JIRA 7 for Developers - Bartek Gatz Filip Rogaczewski Ian Grunert
JIRA 7 for Developers - Bartek Gatz Filip Rogaczewski Ian GrunertJIRA 7 for Developers - Bartek Gatz Filip Rogaczewski Ian Grunert
JIRA 7 for Developers - Bartek Gatz Filip Rogaczewski Ian GrunertAtlassian
 
Riak seattle-meetup-august
Riak seattle-meetup-augustRiak seattle-meetup-august
Riak seattle-meetup-augustpharkmillups
 
Kubernetes and AWS Lambda can play nicely together
Kubernetes and AWS Lambda can play nicely togetherKubernetes and AWS Lambda can play nicely together
Kubernetes and AWS Lambda can play nicely togetherEdward Wilde
 
GitBucket: The perfect Github clone by Scala
GitBucket: The perfect Github clone by ScalaGitBucket: The perfect Github clone by Scala
GitBucket: The perfect Github clone by Scalatakezoe
 
Your API on Steroids
Your API on Steroids Your API on Steroids
Your API on Steroids QAware GmbH
 
Lessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxLessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxapidays
 
drupal 7 amfserver presentation: integrating flash and drupal
drupal 7 amfserver presentation: integrating flash and drupaldrupal 7 amfserver presentation: integrating flash and drupal
drupal 7 amfserver presentation: integrating flash and drupalrolf vreijdenberger
 
we45 DEFCON Workshop - Building AppSec Automation with Python
we45 DEFCON Workshop - Building AppSec Automation with Pythonwe45 DEFCON Workshop - Building AppSec Automation with Python
we45 DEFCON Workshop - Building AppSec Automation with PythonAbhay Bhargav
 
Serverless <3 GraphQL | 2019 - Serverless Architecture Conference
Serverless <3 GraphQL | 2019 - Serverless Architecture ConferenceServerless <3 GraphQL | 2019 - Serverless Architecture Conference
Serverless <3 GraphQL | 2019 - Serverless Architecture ConferenceMarcia Villalba
 
aip-workshop1-dev-tutorial
aip-workshop1-dev-tutorialaip-workshop1-dev-tutorial
aip-workshop1-dev-tutorialMatthew Vaughn
 
Spark Hsinchu meetup
Spark Hsinchu meetupSpark Hsinchu meetup
Spark Hsinchu meetupYung-An He
 
"Easy and scalable serverless backend for your next mobile or web app", Arman...
"Easy and scalable serverless backend for your next mobile or web app", Arman..."Easy and scalable serverless backend for your next mobile or web app", Arman...
"Easy and scalable serverless backend for your next mobile or web app", Arman...Fwdays
 
Workshop "Building Modern Web Applications with Firebase (and Angular)", Arm...
Workshop "Building Modern Web Applications with Firebase (and Angular)",  Arm...Workshop "Building Modern Web Applications with Firebase (and Angular)",  Arm...
Workshop "Building Modern Web Applications with Firebase (and Angular)", Arm...Fwdays
 

Ähnlich wie An Attacker's View of Serverless and GraphQL Apps - Abhay Bhargav - AppSec California 2019 (20)

Merging Security with DevOps - An AppSec Perspective
Merging Security with DevOps - An AppSec PerspectiveMerging Security with DevOps - An AppSec Perspective
Merging Security with DevOps - An AppSec Perspective
 
Meetup callback
Meetup callbackMeetup callback
Meetup callback
 
Application Deployment at UC Riverside
Application Deployment at UC RiversideApplication Deployment at UC Riverside
Application Deployment at UC Riverside
 
REST APIs
REST APIsREST APIs
REST APIs
 
GraphQL - The new "Lingua Franca" for API-Development
GraphQL - The new "Lingua Franca" for API-DevelopmentGraphQL - The new "Lingua Franca" for API-Development
GraphQL - The new "Lingua Franca" for API-Development
 
Developing Brilliant and Powerful APIs in Ruby & Python
Developing Brilliant and Powerful APIs in Ruby & PythonDeveloping Brilliant and Powerful APIs in Ruby & Python
Developing Brilliant and Powerful APIs in Ruby & Python
 
JIRA 7 for Developers - Bartek Gatz Filip Rogaczewski Ian Grunert
JIRA 7 for Developers - Bartek Gatz Filip Rogaczewski Ian GrunertJIRA 7 for Developers - Bartek Gatz Filip Rogaczewski Ian Grunert
JIRA 7 for Developers - Bartek Gatz Filip Rogaczewski Ian Grunert
 
Riak seattle-meetup-august
Riak seattle-meetup-augustRiak seattle-meetup-august
Riak seattle-meetup-august
 
Kubernetes and AWS Lambda can play nicely together
Kubernetes and AWS Lambda can play nicely togetherKubernetes and AWS Lambda can play nicely together
Kubernetes and AWS Lambda can play nicely together
 
GitBucket: The perfect Github clone by Scala
GitBucket: The perfect Github clone by ScalaGitBucket: The perfect Github clone by Scala
GitBucket: The perfect Github clone by Scala
 
Your API on Steroids
Your API on Steroids Your API on Steroids
Your API on Steroids
 
API Conference 2021
API Conference 2021API Conference 2021
API Conference 2021
 
Lessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxLessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptx
 
drupal 7 amfserver presentation: integrating flash and drupal
drupal 7 amfserver presentation: integrating flash and drupaldrupal 7 amfserver presentation: integrating flash and drupal
drupal 7 amfserver presentation: integrating flash and drupal
 
we45 DEFCON Workshop - Building AppSec Automation with Python
we45 DEFCON Workshop - Building AppSec Automation with Pythonwe45 DEFCON Workshop - Building AppSec Automation with Python
we45 DEFCON Workshop - Building AppSec Automation with Python
 
Serverless <3 GraphQL | 2019 - Serverless Architecture Conference
Serverless <3 GraphQL | 2019 - Serverless Architecture ConferenceServerless <3 GraphQL | 2019 - Serverless Architecture Conference
Serverless <3 GraphQL | 2019 - Serverless Architecture Conference
 
aip-workshop1-dev-tutorial
aip-workshop1-dev-tutorialaip-workshop1-dev-tutorial
aip-workshop1-dev-tutorial
 
Spark Hsinchu meetup
Spark Hsinchu meetupSpark Hsinchu meetup
Spark Hsinchu meetup
 
"Easy and scalable serverless backend for your next mobile or web app", Arman...
"Easy and scalable serverless backend for your next mobile or web app", Arman..."Easy and scalable serverless backend for your next mobile or web app", Arman...
"Easy and scalable serverless backend for your next mobile or web app", Arman...
 
Workshop "Building Modern Web Applications with Firebase (and Angular)", Arm...
Workshop "Building Modern Web Applications with Firebase (and Angular)",  Arm...Workshop "Building Modern Web Applications with Firebase (and Angular)",  Arm...
Workshop "Building Modern Web Applications with Firebase (and Angular)", Arm...
 

Kürzlich hochgeladen

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 

Kürzlich hochgeladen (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 

An Attacker's View of Serverless and GraphQL Apps - Abhay Bhargav - AppSec California 2019