SlideShare a Scribd company logo
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

More Related Content

What's hot

OWASP API Security Top 10 Examples
OWASP API Security Top 10 ExamplesOWASP API Security Top 10 Examples
OWASP API Security Top 10 Examples42Crunch
 
XSS Attacks Exploiting XSS Filter by Masato Kinugawa - CODE BLUE 2015
XSS Attacks Exploiting XSS Filter by Masato Kinugawa - CODE BLUE 2015XSS Attacks Exploiting XSS Filter by Masato Kinugawa - CODE BLUE 2015
XSS Attacks Exploiting XSS Filter by Masato Kinugawa - CODE BLUE 2015CODE BLUE
 
API Security - OWASP top 10 for APIs + tips for pentesters
API Security - OWASP top 10 for APIs + tips for pentestersAPI Security - OWASP top 10 for APIs + tips for pentesters
API Security - OWASP top 10 for APIs + tips for pentestersInon Shkedy
 
Black and Blue APIs: Attacker's and Defender's View of API Vulnerabilities
Black and Blue APIs: Attacker's and Defender's View of API VulnerabilitiesBlack and Blue APIs: Attacker's and Defender's View of API Vulnerabilities
Black and Blue APIs: Attacker's and Defender's View of API VulnerabilitiesMatt Tesauro
 
Security Testing with OWASP ZAP in CI/CD - Simon Bennetts - Codemotion Amster...
Security Testing with OWASP ZAP in CI/CD - Simon Bennetts - Codemotion Amster...Security Testing with OWASP ZAP in CI/CD - Simon Bennetts - Codemotion Amster...
Security Testing with OWASP ZAP in CI/CD - Simon Bennetts - Codemotion Amster...Codemotion
 
Source Code Analysis with SAST
Source Code Analysis with SASTSource Code Analysis with SAST
Source Code Analysis with SASTBlueinfy Solutions
 
Microservices Security
Microservices SecurityMicroservices Security
Microservices SecurityAditi Anand
 
Waf bypassing Techniques
Waf bypassing TechniquesWaf bypassing Techniques
Waf bypassing TechniquesAvinash Thapa
 
XSS Magic tricks
XSS Magic tricksXSS Magic tricks
XSS Magic tricksGarethHeyes
 
Peeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API SecurityPeeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API SecurityMatt Tesauro
 
DVGA writeup
DVGA writeupDVGA writeup
DVGA writeupYu Iwama
 
Spring Framework - Spring Security
Spring Framework - Spring SecuritySpring Framework - Spring Security
Spring Framework - Spring SecurityDzmitry Naskou
 
Welcome to the Jungle: Pentesting AWS
Welcome to the Jungle: Pentesting AWSWelcome to the Jungle: Pentesting AWS
Welcome to the Jungle: Pentesting AWSMike Felch
 
Rest API Security - A quick understanding of Rest API Security
Rest API Security - A quick understanding of Rest API SecurityRest API Security - A quick understanding of Rest API Security
Rest API Security - A quick understanding of Rest API SecurityMohammed Fazuluddin
 
OWASP Top 10 A4 – Insecure Direct Object Reference
OWASP Top 10 A4 – Insecure Direct Object ReferenceOWASP Top 10 A4 – Insecure Direct Object Reference
OWASP Top 10 A4 – Insecure Direct Object ReferenceNarudom Roongsiriwong, CISSP
 
Gateway/APIC security
Gateway/APIC securityGateway/APIC security
Gateway/APIC securityShiu-Fun Poon
 
Hacking and Defending APIs - Red and Blue make Purple.pdf
Hacking and Defending APIs - Red and Blue make Purple.pdfHacking and Defending APIs - Red and Blue make Purple.pdf
Hacking and Defending APIs - Red and Blue make Purple.pdfMatt Tesauro
 

What's hot (20)

OWASP API Security Top 10 Examples
OWASP API Security Top 10 ExamplesOWASP API Security Top 10 Examples
OWASP API Security Top 10 Examples
 
OWASP Top Ten
OWASP Top TenOWASP Top Ten
OWASP Top Ten
 
XSS Attacks Exploiting XSS Filter by Masato Kinugawa - CODE BLUE 2015
XSS Attacks Exploiting XSS Filter by Masato Kinugawa - CODE BLUE 2015XSS Attacks Exploiting XSS Filter by Masato Kinugawa - CODE BLUE 2015
XSS Attacks Exploiting XSS Filter by Masato Kinugawa - CODE BLUE 2015
 
API Security - OWASP top 10 for APIs + tips for pentesters
API Security - OWASP top 10 for APIs + tips for pentestersAPI Security - OWASP top 10 for APIs + tips for pentesters
API Security - OWASP top 10 for APIs + tips for pentesters
 
Black and Blue APIs: Attacker's and Defender's View of API Vulnerabilities
Black and Blue APIs: Attacker's and Defender's View of API VulnerabilitiesBlack and Blue APIs: Attacker's and Defender's View of API Vulnerabilities
Black and Blue APIs: Attacker's and Defender's View of API Vulnerabilities
 
Security Testing with OWASP ZAP in CI/CD - Simon Bennetts - Codemotion Amster...
Security Testing with OWASP ZAP in CI/CD - Simon Bennetts - Codemotion Amster...Security Testing with OWASP ZAP in CI/CD - Simon Bennetts - Codemotion Amster...
Security Testing with OWASP ZAP in CI/CD - Simon Bennetts - Codemotion Amster...
 
Source Code Analysis with SAST
Source Code Analysis with SASTSource Code Analysis with SAST
Source Code Analysis with SAST
 
Microservices Security
Microservices SecurityMicroservices Security
Microservices Security
 
Waf bypassing Techniques
Waf bypassing TechniquesWaf bypassing Techniques
Waf bypassing Techniques
 
XSS Magic tricks
XSS Magic tricksXSS Magic tricks
XSS Magic tricks
 
Peeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API SecurityPeeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API Security
 
DVGA writeup
DVGA writeupDVGA writeup
DVGA writeup
 
Spring Framework - Spring Security
Spring Framework - Spring SecuritySpring Framework - Spring Security
Spring Framework - Spring Security
 
Pentesting ReST API
Pentesting ReST APIPentesting ReST API
Pentesting ReST API
 
Welcome to the Jungle: Pentesting AWS
Welcome to the Jungle: Pentesting AWSWelcome to the Jungle: Pentesting AWS
Welcome to the Jungle: Pentesting AWS
 
Rest API Security - A quick understanding of Rest API Security
Rest API Security - A quick understanding of Rest API SecurityRest API Security - A quick understanding of Rest API Security
Rest API Security - A quick understanding of Rest API Security
 
OWASP Top 10 A4 – Insecure Direct Object Reference
OWASP Top 10 A4 – Insecure Direct Object ReferenceOWASP Top 10 A4 – Insecure Direct Object Reference
OWASP Top 10 A4 – Insecure Direct Object Reference
 
Gateway/APIC security
Gateway/APIC securityGateway/APIC security
Gateway/APIC security
 
Hacking and Defending APIs - Red and Blue make Purple.pdf
Hacking and Defending APIs - Red and Blue make Purple.pdfHacking and Defending APIs - Red and Blue make Purple.pdf
Hacking and Defending APIs - Red and Blue make Purple.pdf
 
API Security Lifecycle
API Security LifecycleAPI Security Lifecycle
API Security Lifecycle
 

Similar to 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
 

Similar to 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...
 

Recently uploaded

Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Alison B. Lowndes
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsExpeed Software
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...Product School
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...Product School
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyJohn Staveley
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityScyllaDB
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Thierry Lestable
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsPaul Groth
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...Product School
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀DianaGray10
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 

Recently uploaded (20)

Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 

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