SlideShare a Scribd company logo
1 of 65
How to Build More
Secure Service Brokers
Denise Yu @deniseyu21
Senior Software Engineer, Pivotal R&D
October 7–10, 2019
Austin Convention Center
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Hello #s1p!
Senior Engineer @ Pivotal, currently
engineer on Concourse CI open source,
full-time YAML wrangler, distsys doodler,
storyteller, keynote-deliverer
Previously:
Product Manager for On-Demand Service
Broker SDK
Engineered on
➔ BOSH core
➔ Cloud Foundry Services API
➔ RabbitMQ for Pivotal Cloud Foundry
service
2
@deniseyu21 deniseyu.io
dyu@pivotal.io
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
What’s a service broker?
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
What problem do service brokers solve?
● Cloud Foundry, Knative, and other application platforms are great at managing
the deployment and lifecycle of stateless applications
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
What problem do service brokers solve?
● Cloud Foundry, Knative, and other application platforms are great at managing
the deployment and lifecycle of stateless applications
● But applications need persistent data! (usually)
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
What problem do service brokers solve?
● Cloud Foundry, Knative, and other application platforms are great at managing
the deployment and lifecycle of stateless applications
● But applications need persistent data! (usually)
● Where do we get persistent services from, after cf push?
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
What problem do service brokers solve?
● Cloud Foundry, Knative, and other application platforms are great at managing
the deployment and lifecycle of stateless applications
● But applications need persistent data! (usually)
● Where do we get persistent services from, after cf push?
○ Host it yourself, with any number of “DevOps” tools (BOSH, Kubernetes,
Ansible, Chef, etc)
○ Pay someone else to host it, aka Software-as-a-Service (ex. AWS RDS,
Firebase)
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
What problem do service brokers solve?
● Cloud Foundry, Knative, and other application platforms are great at managing
the deployment and lifecycle of stateless applications
● But applications need persistent data! (usually)
● Where do we get persistent services from, after cf push?
○ Host it yourself, with any number of “DevOps” tools (BOSH, Kubernetes,
Ansible, Chef, etc)
○ Pay someone else to host it, aka Software-as-a-Service (ex. AWS RDS,
Firebase)
● How do we manage how & when applications use services?
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
A service broker is a
component that enables
application developers to
provision new instances
of a service for their
application, when they
need it, configured how
they need it
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Service instances can be conceptualised in many ways
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Service instances can be conceptualised in many ways
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Service instances can be conceptualised in many ways
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Specification that standardizes platform-to-broker, HTTP-based communication,
using “a simple set of API endpoints which can be used to provision, gain
access to and manage service offerings.”
https://www.openservicebrokerapi.org
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Service brokers are chatty!
Service brokers have many
contact points with the outside
world and with their service
instances! It’s very common to
want to ship software-specific
management consoles with
brokers, instrument them for
operability, and so on.
We’ll come back to this later!
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Service Broker Security
Part I:
Design & Deployment
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Is the underlying software designed
for single or multiple tenants?
1
7
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Single-tenant vs. Multitenancy
● Isolated software instance, using
virtual or hardware-based isolation
(or combination)
● Trade in favor of stronger, multi-
layered security gains at the
expense of lost utilization
● Multiple users and/or namespaces
on single software instance, isolated
by application logic
● Trade in favor of cost effectiveness
and higher utilization at the expense
of security only at the application
layer
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Single-tenant vs. Multitenancy
● Isolated software instance, using virtual
or hardware-based isolation (or
combination)
● Multiple users and/or namespaces on
single software instance, isolated by
application logic (higher risk of noisy
neighbors)
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Single-tenant vs. Multitenancy
● Isolated software instance, using virtual
or hardware-based isolation (or
combination)
● Higher likelihood of underutilization
● Multiple users and/or namespaces on
single software instance, isolated by
application logic (higher risk of noisy
neighbors)
● Lower likelihood of underutilization,
better “bin packing”
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Single-tenant vs. Multitenancy
● Isolated software instance, using virtual
or hardware-based isolation (or
combination)
● Higher likelihood of underutilization
● Tends to have slower startup
● Multiple users and/or namespaces on
single software instance, isolated by
application logic (higher risk of noisy
neighbors)
● Lower likelihood of underutilization,
better “bin packing”
● Tends to be faster to spin up
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Align your service instance delivery models
Some products lend themselves superbly to multitenancy, such as PostgresQL and
MySQL, which have supported multiple users at the software level for many years,
and run successfully as multi-tenant SaaS offerings (Heroku, DigitalOcean, Azure,
etc).
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Align your service instance delivery models
Some products lend themselves superbly to multitenancy, such as PostgresQL and
MySQL, which have supported multiple users at the software level for many years,
and run successfully as multi-tenant SaaS offerings (Heroku, DigitalOcean, Azure,
etc).
Others are built with a strong “trusted workload” assumption that don’t translate well
to multitenant offerings. Trying to fight the software’s tenancy abstractions will make
life hard when you’re in the business of packaging software!
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
How and where will users run
your broker and service instances?
2
4
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Platform security
How will your operator host the service broker and instances?
Google Kubernetes Engine (GKE):
“By default, nodes are given the Compute Engine default service account… This
account has broad access by default, making it useful to wide variety of
applications, but it has more permissions than are required to run your
Kubernetes Engine cluster. You should create and use a minimally privileged
service account to run your GKE cluster instead of using the Compute Engine
default service account.”
More at
cloud.google.com/kubernetes-engine/docs/how-to/hardening-your-cluster
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
The Principle of Least Privilege
“Every program and every user of the system
should operate using the least set of
privileges necessary to complete the job.”
Jerome Saltzer & Michael Schroeder, The
Protection of Information in Computer
Systems, 1975.
web.mit.edu/Saltzer/www/publications/protection
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Service Broker Security
Part II:
“Easy wins” and best practices
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Basic auth is not auth 🌶
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Basic auth is not auth 🌶
● Use it for testing, but disable it on prod! Off by default!
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Basic auth is not auth 🌶
● Use it for testing, but disable it on prod! Off by default!
● Industry best practice: OAuth 2.0
○ Recommended to use UAA client
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Basic auth is not auth 🌶
● Use it for testing, but disable it on prod! Off by default!
● Industry best practice: OAuth 2.0
○ Recommended to use UAA client
○ Perform scope-checking against Cloud Controller if designing broker for
Cloud Foundry
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Basic auth is not auth 🌶
● Use it for testing, but disable it on prod! Off by default!
● Industry best practice: OAuth 2.0
○ Recommended to use UAA client
○ Perform scope-checking against Cloud Controller if designing broker for
Cloud Foundry
○ Don’t share UAA clients; issue one per service instance
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Basic auth is not auth 🌶
● Use it for testing, but disable it on prod! Off by default!
● Industry best practice: OAuth 2.0
○ Recommended to use UAA client
○ Perform scope-checking against Cloud Controller if designing broker for
Cloud Foundry
○ Don’t share UAA clients; issue one per service instance
○ Response headers should follow RFC 6750 guidelines for displaying
bearer token validation outcome. tools.ietf.org/html/rfc6750
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Basic auth is not auth 🌶
● Use it for testing, but disable it on prod! Off by default!
● Industry best practice: OAuth 2.0
○ Recommended to use UAA client
○ Perform scope-checking against Cloud Controller if designing broker for
Cloud Foundry
○ Don’t share UAA clients; issue one per service instance
○ Response headers should follow RFC 6750 guidelines for displaying
bearer token validation outcome. tools.ietf.org/html/rfc6750
○ Don’t permit “none” as an input for token validation method
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Sanitize all user inputs
● Inputs to admin dashboards
● Beware SQL injections
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Sanitize all user inputs
● Inputs to admin dashboards
● Beware SQL injections
● Service instance creation request accepts arbitrary configuration JSON
cf create-service mysql large mysql-staging -c ‘{“some”: “text”}’
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Sanitize all user inputs
● Inputs to admin dashboards
● Beware SQL injections
● Service instance creation request accepts arbitrary configuration JSON
cf create-service mysql large mysql-staging -c ‘{“some”: “text”}’
● Don’t forget URI parameters!
Loggregator CVE-2016-2165:
GET
http://loggregator-controller-uri/
<script>window.alert(“yo”)</script>
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Encryption at rest & in-flight
In-flight:
○ Use TLS for process-to-process
communication
○ Perform hostname verification
○ Be careful with proxies; use only one
localhost for each unencrypted
process
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Encryption at rest & in-flight
At rest:
● Leverage encryption features that
ship with the underlying software
if possible
● Provide guidance for enabling
disk encryption
In-flight:
○ Use TLS for process-to-process
communication
○ Perform hostname verification
○ Be careful with proxies; use only one
localhost for each unencrypted
process
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Service binding secrets management
Bindings contain lots of sensitive information that should never be persisted in
plaintext.
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Service binding secrets management
Bindings contain lots of sensitive information that should never be persisted in
plaintext.
Store these credentials in secrets managers, and build your broker to handle
variable resolution when processing requests from the application platform.
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Be aware of service binding side effects
When application developers remove bindings, don’t forget to clean up everything
that was created as part of issuing a new service binding.
Examples:
● Open database connections
● Temporary users and groups
● Temporary files, directories, mounts
● Credentials and configuration files left behind on disk
● Artifacts in external components like credential stores, Kubernetes, etc.
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Use automation to fight leaky credentials
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Use BOSH Process Manager (BPM)
BOSH processes are currently not containerized. The BPM release offers some
security improvements by wrapping each monit-managed process with namespace
isolation, so they at least can’t see each other while they’re living on the same VM.
This offers protection from malicious software packaged in releases that you don’t
author as well as unintended side effects between processes.
https://bosh.io/docs/bpm/bpm/
https://github.com/cloudfoundry/bpm-release
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
To share, or not to share? [Cloud Foundry]
Cloud Foundry optionally lets service authors indicate if instances created by their
brokers are shareable. This means users across different Cloud Foundry spaces can
have their applications read/write to the same service instance.
The amount of complexity involved in engineering for security when sharing
instances entirely depends on the software you are packaging. One way to mitigate
risk is to make shared bindings read-only.
https://docs.cloudfoundry.org/devguide/services/sharing-instances.html
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Service Broker Security
Part III:
Processes & Practices
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Continuous Delivery
4
8
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Reduce your “time to market” for CVE response
● Building safe and sustainable processes for
delivering changes in your software to end
users
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Reduce your “time to market” for CVE response
● Building safe and sustainable processes for
delivering changes in your software to end
users
● Automate testing, deployment, and release
processes as much as possible
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Reduce your “time to market” for CVE response
● Building safe and sustainable processes for
delivering changes in your software to end
users
● Automate testing, deployment, and release
processes as much as possible
● Build and deploy constantly in small batches, so
“emergency patches” have the same cycle time
as your normal release process
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Applying Continuous Delivery principles to your
release engineering processes ensures that
“CVE Patch Weeks” are no different from
normal weeks for your engineering teams.
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Culture & education
5
3
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Grow a healthy security-minded culture
Building a culture around good security practices requires psychological safety to
be curious and ask questions. Without a positive, growth-oriented mindset towards
security, many organisations will default to operating on fear and/or bureaucracy.
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Grow a healthy security-minded culture
Building a culture around good security practices requires psychological safety to
be curious and ask questions. Without a positive, growth-oriented mindset towards
security, many organisations will default to operating on fear and/or bureaucracy.
How do you start building this culture?
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Grow a healthy security-minded culture
Building a culture around good security practices requires psychological safety to
be curious and ask questions. Without a positive, growth-oriented mindset towards
security, many organisations will default to operating on fear and/or bureaucracy.
How do you start building this culture?
● Make it easy to contact the right people. Ex. security@pivotal.io
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Grow a healthy security-minded culture
Building a culture around good security practices requires psychological safety to
be curious and ask questions. Without a positive, growth-oriented mindset towards
security, many organisations will default to operating on fear and/or bureaucracy.
How do you start building this culture?
● Make it easy to contact the right people. Ex. security@pivotal.io
● Form a team to triage security issues and build shared tooling, and iteratively
evolve this team’s remit and responsibilities
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Grow a healthy security-minded culture
Building a culture around good security practices requires psychological safety to
be curious and ask questions. Without a positive, growth-oriented mindset towards
security, many organisations will default to operating on fear and/or bureaucracy.
How do you start building this culture?
● Make it easy to contact the right people. Ex. security@pivotal.io
● Form a team to triage security issues and build shared tooling, and iteratively
evolve this team’s remit and responsibilities
● Develop and socialize processes that promote security education at scale
Recommended viewing: Molly Crowther, “Healthy Agile Security Culture”, S1P 2017
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Threat Modeling workshops
Hands-on workshops that involve a whole team are a great tool for continuous
education. One model is STRIDE, developed by Microsoft.
Spoofing
Tampering
Repudiation
Information disclosure
Denial of service
Elevation of privilege
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Threat Modeling workshops
Step One:
Team agrees on architectural diagram of
system under discussion. Decide any
components to descope, because the
team cannot directly influence near-term
development roadmap. One person
creates a clean visualisation.
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Threat Modeling workshops
Step Two:
Introduce (or review) what each letter of STRIDE stands for.
Resources:
● Adam Shostack, Microsoft
“Elevation of Privilege: The easy way to threat model.”
youtube.com/watch?v=vEqu5fk9rlE
● Nataliya Shevchenko, “Threat Modeling: 12 Available Methods”.
insights.sei.cmu.edu/sei_blog/2018/12/threat-modeling-12-available-
methods.html
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Threat Modeling workshops
Step Three:
Brainstorm specific scenarios that could
happen within each category of threats.
Discuss the viability of each one, and if it
seems high-risk and addressable, record
an action for the team to prioritize a fix
alongside regular backlog work.
(You can use premade scenarios if you’re
using STRIDE -- look up the “Elevation of
Privilege” card game!)
Art from MIcrosoft’s “Elevation of Privilege” threat modeling game:
https://www.microsoft.com/en-
ca/download/details.aspx?id=20303
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
In summary:
● Design and deploy brokers with security in mind
● Prioritize and implement “easy wins” for security best
practice
● Build a security-minded culture to keep improving and
learning
Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Thank you to…
Aram Price
Chris Brown
Molly Crowther
Emily Foster
Chris Piraino
Jatin Naik
Derik Evangelista
Raymond Lee
David Stevenson
Matt McNeeney
Stay Connected.
Slides: deniseyu.io/secure-brokers
@deniseyu21
#springone@s1p

More Related Content

What's hot

Cross-Platform Observability for Cloud Foundry
Cross-Platform Observability for Cloud FoundryCross-Platform Observability for Cloud Foundry
Cross-Platform Observability for Cloud FoundryVMware Tanzu
 
.NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal ...
.NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal ....NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal ...
.NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal ...VMware Tanzu
 
SDLC for Pivotal Platform powered by Spring Initializr and Concourse
SDLC for Pivotal Platform powered by Spring Initializr and ConcourseSDLC for Pivotal Platform powered by Spring Initializr and Concourse
SDLC for Pivotal Platform powered by Spring Initializr and ConcourseVMware Tanzu
 
Extending the Platform
Extending the PlatformExtending the Platform
Extending the PlatformVMware Tanzu
 
Developer Secure Containers for the Cyberspace Battlefield
Developer Secure Containers for the Cyberspace BattlefieldDeveloper Secure Containers for the Cyberspace Battlefield
Developer Secure Containers for the Cyberspace BattlefieldVMware Tanzu
 
Managing the Complexity of Microservices Deployments
Managing the Complexity of Microservices DeploymentsManaging the Complexity of Microservices Deployments
Managing the Complexity of Microservices DeploymentsVMware Tanzu
 
Cloud Foundry Networking with VMware NSX
Cloud Foundry Networking with VMware NSXCloud Foundry Networking with VMware NSX
Cloud Foundry Networking with VMware NSXVMware Tanzu
 
Cloud Foundry Networking: Enabling Direct Communicatitions for Microservices
Cloud Foundry Networking: Enabling Direct Communicatitions for Microservices Cloud Foundry Networking: Enabling Direct Communicatitions for Microservices
Cloud Foundry Networking: Enabling Direct Communicatitions for Microservices VMware Tanzu
 
PRISM and Silverlight
PRISM and SilverlightPRISM and Silverlight
PRISM and Silverlightmark mann
 
Licensing for cross-platform applications made with Python, PHP, and JavaScript
Licensing for cross-platform applications made with Python, PHP, and JavaScriptLicensing for cross-platform applications made with Python, PHP, and JavaScript
Licensing for cross-platform applications made with Python, PHP, and JavaScriptteam-WIBU
 
Kaltura, open source video
Kaltura, open source videoKaltura, open source video
Kaltura, open source videoBart Gysens
 
Codecentric At Ajax World Conference San Jose
Codecentric At Ajax World Conference San JoseCodecentric At Ajax World Conference San Jose
Codecentric At Ajax World Conference San JoseFabian Lange
 
SNIA peer-reviewed, vendor-neutral tutorial: Separate vs. combined app & stor...
SNIA peer-reviewed, vendor-neutral tutorial: Separate vs. combined app & stor...SNIA peer-reviewed, vendor-neutral tutorial: Separate vs. combined app & stor...
SNIA peer-reviewed, vendor-neutral tutorial: Separate vs. combined app & stor...Craig Dunwoody
 
Cloud Configuration Ecosystem at Intuit
Cloud Configuration Ecosystem at IntuitCloud Configuration Ecosystem at Intuit
Cloud Configuration Ecosystem at IntuitVMware Tanzu
 
Liferay Portal Introduction
Liferay Portal IntroductionLiferay Portal Introduction
Liferay Portal IntroductionNguyen Tung
 
OOD Principles and Patterns
OOD Principles and PatternsOOD Principles and Patterns
OOD Principles and PatternsNguyen Tung
 
Spring Cloud Stream: What's New in 2.x—and What's Next?
Spring Cloud Stream: What's New in 2.x—and What's Next?Spring Cloud Stream: What's New in 2.x—and What's Next?
Spring Cloud Stream: What's New in 2.x—and What's Next?VMware Tanzu
 
Hybrid Approach to extend your Web Apps to Tablets & Smartphones- Impetus Web...
Hybrid Approach to extend your Web Apps to Tablets & Smartphones- Impetus Web...Hybrid Approach to extend your Web Apps to Tablets & Smartphones- Impetus Web...
Hybrid Approach to extend your Web Apps to Tablets & Smartphones- Impetus Web...Impetus Technologies
 

What's hot (20)

Cross-Platform Observability for Cloud Foundry
Cross-Platform Observability for Cloud FoundryCross-Platform Observability for Cloud Foundry
Cross-Platform Observability for Cloud Foundry
 
.NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal ...
.NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal ....NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal ...
.NET and Kubernetes: Bringing Legacy .NET Into the Modern World with Pivotal ...
 
SDLC for Pivotal Platform powered by Spring Initializr and Concourse
SDLC for Pivotal Platform powered by Spring Initializr and ConcourseSDLC for Pivotal Platform powered by Spring Initializr and Concourse
SDLC for Pivotal Platform powered by Spring Initializr and Concourse
 
Extending the Platform
Extending the PlatformExtending the Platform
Extending the Platform
 
Developer Secure Containers for the Cyberspace Battlefield
Developer Secure Containers for the Cyberspace BattlefieldDeveloper Secure Containers for the Cyberspace Battlefield
Developer Secure Containers for the Cyberspace Battlefield
 
Managing the Complexity of Microservices Deployments
Managing the Complexity of Microservices DeploymentsManaging the Complexity of Microservices Deployments
Managing the Complexity of Microservices Deployments
 
Cloud Foundry Networking with VMware NSX
Cloud Foundry Networking with VMware NSXCloud Foundry Networking with VMware NSX
Cloud Foundry Networking with VMware NSX
 
Cloud Foundry Networking: Enabling Direct Communicatitions for Microservices
Cloud Foundry Networking: Enabling Direct Communicatitions for Microservices Cloud Foundry Networking: Enabling Direct Communicatitions for Microservices
Cloud Foundry Networking: Enabling Direct Communicatitions for Microservices
 
PRISM and Silverlight
PRISM and SilverlightPRISM and Silverlight
PRISM and Silverlight
 
Licensing for cross-platform applications made with Python, PHP, and JavaScript
Licensing for cross-platform applications made with Python, PHP, and JavaScriptLicensing for cross-platform applications made with Python, PHP, and JavaScript
Licensing for cross-platform applications made with Python, PHP, and JavaScript
 
Kaltura, open source video
Kaltura, open source videoKaltura, open source video
Kaltura, open source video
 
Codecentric At Ajax World Conference San Jose
Codecentric At Ajax World Conference San JoseCodecentric At Ajax World Conference San Jose
Codecentric At Ajax World Conference San Jose
 
SNIA peer-reviewed, vendor-neutral tutorial: Separate vs. combined app & stor...
SNIA peer-reviewed, vendor-neutral tutorial: Separate vs. combined app & stor...SNIA peer-reviewed, vendor-neutral tutorial: Separate vs. combined app & stor...
SNIA peer-reviewed, vendor-neutral tutorial: Separate vs. combined app & stor...
 
Cloud Configuration Ecosystem at Intuit
Cloud Configuration Ecosystem at IntuitCloud Configuration Ecosystem at Intuit
Cloud Configuration Ecosystem at Intuit
 
PCI and the Cloud
PCI and the CloudPCI and the Cloud
PCI and the Cloud
 
Liferay with xebia
Liferay with xebiaLiferay with xebia
Liferay with xebia
 
Liferay Portal Introduction
Liferay Portal IntroductionLiferay Portal Introduction
Liferay Portal Introduction
 
OOD Principles and Patterns
OOD Principles and PatternsOOD Principles and Patterns
OOD Principles and Patterns
 
Spring Cloud Stream: What's New in 2.x—and What's Next?
Spring Cloud Stream: What's New in 2.x—and What's Next?Spring Cloud Stream: What's New in 2.x—and What's Next?
Spring Cloud Stream: What's New in 2.x—and What's Next?
 
Hybrid Approach to extend your Web Apps to Tablets & Smartphones- Impetus Web...
Hybrid Approach to extend your Web Apps to Tablets & Smartphones- Impetus Web...Hybrid Approach to extend your Web Apps to Tablets & Smartphones- Impetus Web...
Hybrid Approach to extend your Web Apps to Tablets & Smartphones- Impetus Web...
 

Similar to How to Build More Secure Service Brokers

Experience + Education = Empowerment
Experience + Education = EmpowermentExperience + Education = Empowerment
Experience + Education = EmpowermentVMware Tanzu
 
Fast 5 Things You Can Do Now to Get Ready for the Cloud
Fast 5 Things You Can Do Now to Get Ready for the CloudFast 5 Things You Can Do Now to Get Ready for the Cloud
Fast 5 Things You Can Do Now to Get Ready for the CloudVMware Tanzu
 
Highly Available and Resilient Multi-Site Deployments Using Spinnaker
Highly Available and Resilient Multi-Site Deployments Using SpinnakerHighly Available and Resilient Multi-Site Deployments Using Spinnaker
Highly Available and Resilient Multi-Site Deployments Using SpinnakerVMware Tanzu
 
Beyond Caching: Extending Redis Enterprise for Real-Time Streams Processing
Beyond Caching: Extending Redis Enterprise for Real-Time Streams ProcessingBeyond Caching: Extending Redis Enterprise for Real-Time Streams Processing
Beyond Caching: Extending Redis Enterprise for Real-Time Streams ProcessingVMware Tanzu
 
My Personal DevOps Journey: From Pipelines to Platforms
My Personal DevOps Journey: From Pipelines to PlatformsMy Personal DevOps Journey: From Pipelines to Platforms
My Personal DevOps Journey: From Pipelines to PlatformsVMware Tanzu
 
Lattice: A Cloud-Native Platform for Your Spring Applications
Lattice: A Cloud-Native Platform for Your Spring ApplicationsLattice: A Cloud-Native Platform for Your Spring Applications
Lattice: A Cloud-Native Platform for Your Spring ApplicationsMatt Stine
 
It’s a Multi-Cloud World, But What About The Data?
It’s a Multi-Cloud World, But What About The Data?It’s a Multi-Cloud World, But What About The Data?
It’s a Multi-Cloud World, But What About The Data?VMware Tanzu
 
Accelerating the Developers' Road to the Cloud at Enterprise Scale
Accelerating the Developers' Road to the Cloud at Enterprise ScaleAccelerating the Developers' Road to the Cloud at Enterprise Scale
Accelerating the Developers' Road to the Cloud at Enterprise ScaleVMware Tanzu
 
Simple Data Movement Patterns: Legacy Application to Cloud-Native Environment...
Simple Data Movement Patterns: Legacy Application to Cloud-Native Environment...Simple Data Movement Patterns: Legacy Application to Cloud-Native Environment...
Simple Data Movement Patterns: Legacy Application to Cloud-Native Environment...VMware Tanzu
 
Square Pegs, Square Holes: CI/CD That Fits
Square Pegs, Square Holes: CI/CD That FitsSquare Pegs, Square Holes: CI/CD That Fits
Square Pegs, Square Holes: CI/CD That FitsVMware Tanzu
 
Building a Data Exchange with Spring Cloud Data Flow
Building a Data Exchange with Spring Cloud Data FlowBuilding a Data Exchange with Spring Cloud Data Flow
Building a Data Exchange with Spring Cloud Data FlowVMware Tanzu
 
Steeltoe: Develop .NET Microservices Without Cloud Platform Lock-In
Steeltoe: Develop .NET Microservices Without Cloud Platform Lock-InSteeltoe: Develop .NET Microservices Without Cloud Platform Lock-In
Steeltoe: Develop .NET Microservices Without Cloud Platform Lock-InVMware Tanzu
 
Modernizing Digital APIs Platform to Cloud-Native Microservices
Modernizing Digital APIs Platform to Cloud-Native MicroservicesModernizing Digital APIs Platform to Cloud-Native Microservices
Modernizing Digital APIs Platform to Cloud-Native MicroservicesVMware Tanzu
 
Extending the Platform with Spring Boot and Cloud Foundry
Extending the Platform with Spring Boot and Cloud FoundryExtending the Platform with Spring Boot and Cloud Foundry
Extending the Platform with Spring Boot and Cloud FoundryKenny Bastani
 
Caching for Microservives - Introduction to Pivotal Cloud Cache
Caching for Microservives - Introduction to Pivotal Cloud CacheCaching for Microservives - Introduction to Pivotal Cloud Cache
Caching for Microservives - Introduction to Pivotal Cloud CacheVMware Tanzu
 
How to Manage Microservices and APIs with Apigee and Istio
How to Manage Microservices and APIs with Apigee and IstioHow to Manage Microservices and APIs with Apigee and Istio
How to Manage Microservices and APIs with Apigee and IstioVMware Tanzu
 
Building a Secure App with Google Polymer and Java / Spring
Building a Secure App with Google Polymer and Java / SpringBuilding a Secure App with Google Polymer and Java / Spring
Building a Secure App with Google Polymer and Java / Springsdeeg
 
Cloud Foundry Services on PKS with No Extra Code, "We Bosh So You Don’t Have ...
Cloud Foundry Services on PKS with No Extra Code, "We Bosh So You Don’t Have ...Cloud Foundry Services on PKS with No Extra Code, "We Bosh So You Don’t Have ...
Cloud Foundry Services on PKS with No Extra Code, "We Bosh So You Don’t Have ...VMware Tanzu
 
Cloud Native Java with Spring Cloud Services
Cloud Native Java with Spring Cloud ServicesCloud Native Java with Spring Cloud Services
Cloud Native Java with Spring Cloud ServicesVMware Tanzu
 
A Tale of Transformation: Changing the Way We Deliver and Transform Product D...
A Tale of Transformation: Changing the Way We Deliver and Transform Product D...A Tale of Transformation: Changing the Way We Deliver and Transform Product D...
A Tale of Transformation: Changing the Way We Deliver and Transform Product D...VMware Tanzu
 

Similar to How to Build More Secure Service Brokers (20)

Experience + Education = Empowerment
Experience + Education = EmpowermentExperience + Education = Empowerment
Experience + Education = Empowerment
 
Fast 5 Things You Can Do Now to Get Ready for the Cloud
Fast 5 Things You Can Do Now to Get Ready for the CloudFast 5 Things You Can Do Now to Get Ready for the Cloud
Fast 5 Things You Can Do Now to Get Ready for the Cloud
 
Highly Available and Resilient Multi-Site Deployments Using Spinnaker
Highly Available and Resilient Multi-Site Deployments Using SpinnakerHighly Available and Resilient Multi-Site Deployments Using Spinnaker
Highly Available and Resilient Multi-Site Deployments Using Spinnaker
 
Beyond Caching: Extending Redis Enterprise for Real-Time Streams Processing
Beyond Caching: Extending Redis Enterprise for Real-Time Streams ProcessingBeyond Caching: Extending Redis Enterprise for Real-Time Streams Processing
Beyond Caching: Extending Redis Enterprise for Real-Time Streams Processing
 
My Personal DevOps Journey: From Pipelines to Platforms
My Personal DevOps Journey: From Pipelines to PlatformsMy Personal DevOps Journey: From Pipelines to Platforms
My Personal DevOps Journey: From Pipelines to Platforms
 
Lattice: A Cloud-Native Platform for Your Spring Applications
Lattice: A Cloud-Native Platform for Your Spring ApplicationsLattice: A Cloud-Native Platform for Your Spring Applications
Lattice: A Cloud-Native Platform for Your Spring Applications
 
It’s a Multi-Cloud World, But What About The Data?
It’s a Multi-Cloud World, But What About The Data?It’s a Multi-Cloud World, But What About The Data?
It’s a Multi-Cloud World, But What About The Data?
 
Accelerating the Developers' Road to the Cloud at Enterprise Scale
Accelerating the Developers' Road to the Cloud at Enterprise ScaleAccelerating the Developers' Road to the Cloud at Enterprise Scale
Accelerating the Developers' Road to the Cloud at Enterprise Scale
 
Simple Data Movement Patterns: Legacy Application to Cloud-Native Environment...
Simple Data Movement Patterns: Legacy Application to Cloud-Native Environment...Simple Data Movement Patterns: Legacy Application to Cloud-Native Environment...
Simple Data Movement Patterns: Legacy Application to Cloud-Native Environment...
 
Square Pegs, Square Holes: CI/CD That Fits
Square Pegs, Square Holes: CI/CD That FitsSquare Pegs, Square Holes: CI/CD That Fits
Square Pegs, Square Holes: CI/CD That Fits
 
Building a Data Exchange with Spring Cloud Data Flow
Building a Data Exchange with Spring Cloud Data FlowBuilding a Data Exchange with Spring Cloud Data Flow
Building a Data Exchange with Spring Cloud Data Flow
 
Steeltoe: Develop .NET Microservices Without Cloud Platform Lock-In
Steeltoe: Develop .NET Microservices Without Cloud Platform Lock-InSteeltoe: Develop .NET Microservices Without Cloud Platform Lock-In
Steeltoe: Develop .NET Microservices Without Cloud Platform Lock-In
 
Modernizing Digital APIs Platform to Cloud-Native Microservices
Modernizing Digital APIs Platform to Cloud-Native MicroservicesModernizing Digital APIs Platform to Cloud-Native Microservices
Modernizing Digital APIs Platform to Cloud-Native Microservices
 
Extending the Platform with Spring Boot and Cloud Foundry
Extending the Platform with Spring Boot and Cloud FoundryExtending the Platform with Spring Boot and Cloud Foundry
Extending the Platform with Spring Boot and Cloud Foundry
 
Caching for Microservives - Introduction to Pivotal Cloud Cache
Caching for Microservives - Introduction to Pivotal Cloud CacheCaching for Microservives - Introduction to Pivotal Cloud Cache
Caching for Microservives - Introduction to Pivotal Cloud Cache
 
How to Manage Microservices and APIs with Apigee and Istio
How to Manage Microservices and APIs with Apigee and IstioHow to Manage Microservices and APIs with Apigee and Istio
How to Manage Microservices and APIs with Apigee and Istio
 
Building a Secure App with Google Polymer and Java / Spring
Building a Secure App with Google Polymer and Java / SpringBuilding a Secure App with Google Polymer and Java / Spring
Building a Secure App with Google Polymer and Java / Spring
 
Cloud Foundry Services on PKS with No Extra Code, "We Bosh So You Don’t Have ...
Cloud Foundry Services on PKS with No Extra Code, "We Bosh So You Don’t Have ...Cloud Foundry Services on PKS with No Extra Code, "We Bosh So You Don’t Have ...
Cloud Foundry Services on PKS with No Extra Code, "We Bosh So You Don’t Have ...
 
Cloud Native Java with Spring Cloud Services
Cloud Native Java with Spring Cloud ServicesCloud Native Java with Spring Cloud Services
Cloud Native Java with Spring Cloud Services
 
A Tale of Transformation: Changing the Way We Deliver and Transform Product D...
A Tale of Transformation: Changing the Way We Deliver and Transform Product D...A Tale of Transformation: Changing the Way We Deliver and Transform Product D...
A Tale of Transformation: Changing the Way We Deliver and Transform Product D...
 

More from VMware Tanzu

What AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItVMware Tanzu
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023VMware Tanzu
 
Enhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleVMware Tanzu
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023VMware Tanzu
 
Platforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductVMware Tanzu
 
Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready AppsVMware Tanzu
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And BeyondVMware Tanzu
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfVMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023VMware Tanzu
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptxVMware Tanzu
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchVMware Tanzu
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishVMware Tanzu
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVMware Tanzu
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - FrenchVMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023VMware Tanzu
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootVMware Tanzu
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerVMware Tanzu
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeVMware Tanzu
 
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense SolutionsSpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense SolutionsVMware Tanzu
 

More from VMware Tanzu (20)

What AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About It
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023
 
Enhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at Scale
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023
 
Platforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a Product
 
Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready Apps
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - English
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software Engineer
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs Practice
 
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense SolutionsSpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
 

Recently uploaded

Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 

Recently uploaded (20)

Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 

How to Build More Secure Service Brokers

  • 1. How to Build More Secure Service Brokers Denise Yu @deniseyu21 Senior Software Engineer, Pivotal R&D October 7–10, 2019 Austin Convention Center
  • 2. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Hello #s1p! Senior Engineer @ Pivotal, currently engineer on Concourse CI open source, full-time YAML wrangler, distsys doodler, storyteller, keynote-deliverer Previously: Product Manager for On-Demand Service Broker SDK Engineered on ➔ BOSH core ➔ Cloud Foundry Services API ➔ RabbitMQ for Pivotal Cloud Foundry service 2 @deniseyu21 deniseyu.io dyu@pivotal.io
  • 3. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ What’s a service broker?
  • 4. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ What problem do service brokers solve? ● Cloud Foundry, Knative, and other application platforms are great at managing the deployment and lifecycle of stateless applications
  • 5. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ What problem do service brokers solve? ● Cloud Foundry, Knative, and other application platforms are great at managing the deployment and lifecycle of stateless applications ● But applications need persistent data! (usually)
  • 6. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ What problem do service brokers solve? ● Cloud Foundry, Knative, and other application platforms are great at managing the deployment and lifecycle of stateless applications ● But applications need persistent data! (usually) ● Where do we get persistent services from, after cf push?
  • 7. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ What problem do service brokers solve? ● Cloud Foundry, Knative, and other application platforms are great at managing the deployment and lifecycle of stateless applications ● But applications need persistent data! (usually) ● Where do we get persistent services from, after cf push? ○ Host it yourself, with any number of “DevOps” tools (BOSH, Kubernetes, Ansible, Chef, etc) ○ Pay someone else to host it, aka Software-as-a-Service (ex. AWS RDS, Firebase)
  • 8. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ What problem do service brokers solve? ● Cloud Foundry, Knative, and other application platforms are great at managing the deployment and lifecycle of stateless applications ● But applications need persistent data! (usually) ● Where do we get persistent services from, after cf push? ○ Host it yourself, with any number of “DevOps” tools (BOSH, Kubernetes, Ansible, Chef, etc) ○ Pay someone else to host it, aka Software-as-a-Service (ex. AWS RDS, Firebase) ● How do we manage how & when applications use services?
  • 9. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ A service broker is a component that enables application developers to provision new instances of a service for their application, when they need it, configured how they need it
  • 10. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Service instances can be conceptualised in many ways
  • 11. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Service instances can be conceptualised in many ways
  • 12. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Service instances can be conceptualised in many ways
  • 13. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Specification that standardizes platform-to-broker, HTTP-based communication, using “a simple set of API endpoints which can be used to provision, gain access to and manage service offerings.” https://www.openservicebrokerapi.org
  • 14. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
  • 15. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Service brokers are chatty! Service brokers have many contact points with the outside world and with their service instances! It’s very common to want to ship software-specific management consoles with brokers, instrument them for operability, and so on. We’ll come back to this later!
  • 16. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Service Broker Security Part I: Design & Deployment
  • 17. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Is the underlying software designed for single or multiple tenants? 1 7
  • 18. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Single-tenant vs. Multitenancy ● Isolated software instance, using virtual or hardware-based isolation (or combination) ● Trade in favor of stronger, multi- layered security gains at the expense of lost utilization ● Multiple users and/or namespaces on single software instance, isolated by application logic ● Trade in favor of cost effectiveness and higher utilization at the expense of security only at the application layer
  • 19. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Single-tenant vs. Multitenancy ● Isolated software instance, using virtual or hardware-based isolation (or combination) ● Multiple users and/or namespaces on single software instance, isolated by application logic (higher risk of noisy neighbors)
  • 20. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Single-tenant vs. Multitenancy ● Isolated software instance, using virtual or hardware-based isolation (or combination) ● Higher likelihood of underutilization ● Multiple users and/or namespaces on single software instance, isolated by application logic (higher risk of noisy neighbors) ● Lower likelihood of underutilization, better “bin packing”
  • 21. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Single-tenant vs. Multitenancy ● Isolated software instance, using virtual or hardware-based isolation (or combination) ● Higher likelihood of underutilization ● Tends to have slower startup ● Multiple users and/or namespaces on single software instance, isolated by application logic (higher risk of noisy neighbors) ● Lower likelihood of underutilization, better “bin packing” ● Tends to be faster to spin up
  • 22. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Align your service instance delivery models Some products lend themselves superbly to multitenancy, such as PostgresQL and MySQL, which have supported multiple users at the software level for many years, and run successfully as multi-tenant SaaS offerings (Heroku, DigitalOcean, Azure, etc).
  • 23. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Align your service instance delivery models Some products lend themselves superbly to multitenancy, such as PostgresQL and MySQL, which have supported multiple users at the software level for many years, and run successfully as multi-tenant SaaS offerings (Heroku, DigitalOcean, Azure, etc). Others are built with a strong “trusted workload” assumption that don’t translate well to multitenant offerings. Trying to fight the software’s tenancy abstractions will make life hard when you’re in the business of packaging software!
  • 24. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ How and where will users run your broker and service instances? 2 4
  • 25. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Platform security How will your operator host the service broker and instances? Google Kubernetes Engine (GKE): “By default, nodes are given the Compute Engine default service account… This account has broad access by default, making it useful to wide variety of applications, but it has more permissions than are required to run your Kubernetes Engine cluster. You should create and use a minimally privileged service account to run your GKE cluster instead of using the Compute Engine default service account.” More at cloud.google.com/kubernetes-engine/docs/how-to/hardening-your-cluster
  • 26. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ The Principle of Least Privilege “Every program and every user of the system should operate using the least set of privileges necessary to complete the job.” Jerome Saltzer & Michael Schroeder, The Protection of Information in Computer Systems, 1975. web.mit.edu/Saltzer/www/publications/protection
  • 27. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Service Broker Security Part II: “Easy wins” and best practices
  • 28. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
  • 29. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Basic auth is not auth 🌶
  • 30. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Basic auth is not auth 🌶 ● Use it for testing, but disable it on prod! Off by default!
  • 31. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Basic auth is not auth 🌶 ● Use it for testing, but disable it on prod! Off by default! ● Industry best practice: OAuth 2.0 ○ Recommended to use UAA client
  • 32. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Basic auth is not auth 🌶 ● Use it for testing, but disable it on prod! Off by default! ● Industry best practice: OAuth 2.0 ○ Recommended to use UAA client ○ Perform scope-checking against Cloud Controller if designing broker for Cloud Foundry
  • 33. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Basic auth is not auth 🌶 ● Use it for testing, but disable it on prod! Off by default! ● Industry best practice: OAuth 2.0 ○ Recommended to use UAA client ○ Perform scope-checking against Cloud Controller if designing broker for Cloud Foundry ○ Don’t share UAA clients; issue one per service instance
  • 34. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Basic auth is not auth 🌶 ● Use it for testing, but disable it on prod! Off by default! ● Industry best practice: OAuth 2.0 ○ Recommended to use UAA client ○ Perform scope-checking against Cloud Controller if designing broker for Cloud Foundry ○ Don’t share UAA clients; issue one per service instance ○ Response headers should follow RFC 6750 guidelines for displaying bearer token validation outcome. tools.ietf.org/html/rfc6750
  • 35. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Basic auth is not auth 🌶 ● Use it for testing, but disable it on prod! Off by default! ● Industry best practice: OAuth 2.0 ○ Recommended to use UAA client ○ Perform scope-checking against Cloud Controller if designing broker for Cloud Foundry ○ Don’t share UAA clients; issue one per service instance ○ Response headers should follow RFC 6750 guidelines for displaying bearer token validation outcome. tools.ietf.org/html/rfc6750 ○ Don’t permit “none” as an input for token validation method
  • 36. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Sanitize all user inputs ● Inputs to admin dashboards ● Beware SQL injections
  • 37. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Sanitize all user inputs ● Inputs to admin dashboards ● Beware SQL injections ● Service instance creation request accepts arbitrary configuration JSON cf create-service mysql large mysql-staging -c ‘{“some”: “text”}’
  • 38. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Sanitize all user inputs ● Inputs to admin dashboards ● Beware SQL injections ● Service instance creation request accepts arbitrary configuration JSON cf create-service mysql large mysql-staging -c ‘{“some”: “text”}’ ● Don’t forget URI parameters! Loggregator CVE-2016-2165: GET http://loggregator-controller-uri/ <script>window.alert(“yo”)</script>
  • 39. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Encryption at rest & in-flight In-flight: ○ Use TLS for process-to-process communication ○ Perform hostname verification ○ Be careful with proxies; use only one localhost for each unencrypted process
  • 40. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Encryption at rest & in-flight At rest: ● Leverage encryption features that ship with the underlying software if possible ● Provide guidance for enabling disk encryption In-flight: ○ Use TLS for process-to-process communication ○ Perform hostname verification ○ Be careful with proxies; use only one localhost for each unencrypted process
  • 41. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Service binding secrets management Bindings contain lots of sensitive information that should never be persisted in plaintext.
  • 42. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Service binding secrets management Bindings contain lots of sensitive information that should never be persisted in plaintext. Store these credentials in secrets managers, and build your broker to handle variable resolution when processing requests from the application platform.
  • 43. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Be aware of service binding side effects When application developers remove bindings, don’t forget to clean up everything that was created as part of issuing a new service binding. Examples: ● Open database connections ● Temporary users and groups ● Temporary files, directories, mounts ● Credentials and configuration files left behind on disk ● Artifacts in external components like credential stores, Kubernetes, etc.
  • 44. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Use automation to fight leaky credentials
  • 45. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Use BOSH Process Manager (BPM) BOSH processes are currently not containerized. The BPM release offers some security improvements by wrapping each monit-managed process with namespace isolation, so they at least can’t see each other while they’re living on the same VM. This offers protection from malicious software packaged in releases that you don’t author as well as unintended side effects between processes. https://bosh.io/docs/bpm/bpm/ https://github.com/cloudfoundry/bpm-release
  • 46. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ To share, or not to share? [Cloud Foundry] Cloud Foundry optionally lets service authors indicate if instances created by their brokers are shareable. This means users across different Cloud Foundry spaces can have their applications read/write to the same service instance. The amount of complexity involved in engineering for security when sharing instances entirely depends on the software you are packaging. One way to mitigate risk is to make shared bindings read-only. https://docs.cloudfoundry.org/devguide/services/sharing-instances.html
  • 47. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Service Broker Security Part III: Processes & Practices
  • 48. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Continuous Delivery 4 8
  • 49. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Reduce your “time to market” for CVE response ● Building safe and sustainable processes for delivering changes in your software to end users
  • 50. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Reduce your “time to market” for CVE response ● Building safe and sustainable processes for delivering changes in your software to end users ● Automate testing, deployment, and release processes as much as possible
  • 51. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Reduce your “time to market” for CVE response ● Building safe and sustainable processes for delivering changes in your software to end users ● Automate testing, deployment, and release processes as much as possible ● Build and deploy constantly in small batches, so “emergency patches” have the same cycle time as your normal release process
  • 52. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Applying Continuous Delivery principles to your release engineering processes ensures that “CVE Patch Weeks” are no different from normal weeks for your engineering teams.
  • 53. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Culture & education 5 3
  • 54. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Grow a healthy security-minded culture Building a culture around good security practices requires psychological safety to be curious and ask questions. Without a positive, growth-oriented mindset towards security, many organisations will default to operating on fear and/or bureaucracy.
  • 55. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Grow a healthy security-minded culture Building a culture around good security practices requires psychological safety to be curious and ask questions. Without a positive, growth-oriented mindset towards security, many organisations will default to operating on fear and/or bureaucracy. How do you start building this culture?
  • 56. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Grow a healthy security-minded culture Building a culture around good security practices requires psychological safety to be curious and ask questions. Without a positive, growth-oriented mindset towards security, many organisations will default to operating on fear and/or bureaucracy. How do you start building this culture? ● Make it easy to contact the right people. Ex. security@pivotal.io
  • 57. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Grow a healthy security-minded culture Building a culture around good security practices requires psychological safety to be curious and ask questions. Without a positive, growth-oriented mindset towards security, many organisations will default to operating on fear and/or bureaucracy. How do you start building this culture? ● Make it easy to contact the right people. Ex. security@pivotal.io ● Form a team to triage security issues and build shared tooling, and iteratively evolve this team’s remit and responsibilities
  • 58. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Grow a healthy security-minded culture Building a culture around good security practices requires psychological safety to be curious and ask questions. Without a positive, growth-oriented mindset towards security, many organisations will default to operating on fear and/or bureaucracy. How do you start building this culture? ● Make it easy to contact the right people. Ex. security@pivotal.io ● Form a team to triage security issues and build shared tooling, and iteratively evolve this team’s remit and responsibilities ● Develop and socialize processes that promote security education at scale Recommended viewing: Molly Crowther, “Healthy Agile Security Culture”, S1P 2017
  • 59. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Threat Modeling workshops Hands-on workshops that involve a whole team are a great tool for continuous education. One model is STRIDE, developed by Microsoft. Spoofing Tampering Repudiation Information disclosure Denial of service Elevation of privilege
  • 60. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Threat Modeling workshops Step One: Team agrees on architectural diagram of system under discussion. Decide any components to descope, because the team cannot directly influence near-term development roadmap. One person creates a clean visualisation.
  • 61. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Threat Modeling workshops Step Two: Introduce (or review) what each letter of STRIDE stands for. Resources: ● Adam Shostack, Microsoft “Elevation of Privilege: The easy way to threat model.” youtube.com/watch?v=vEqu5fk9rlE ● Nataliya Shevchenko, “Threat Modeling: 12 Available Methods”. insights.sei.cmu.edu/sei_blog/2018/12/threat-modeling-12-available- methods.html
  • 62. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Threat Modeling workshops Step Three: Brainstorm specific scenarios that could happen within each category of threats. Discuss the viability of each one, and if it seems high-risk and addressable, record an action for the team to prioritize a fix alongside regular backlog work. (You can use premade scenarios if you’re using STRIDE -- look up the “Elevation of Privilege” card game!) Art from MIcrosoft’s “Elevation of Privilege” threat modeling game: https://www.microsoft.com/en- ca/download/details.aspx?id=20303
  • 63. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ In summary: ● Design and deploy brokers with security in mind ● Prioritize and implement “easy wins” for security best practice ● Build a security-minded culture to keep improving and learning
  • 64. Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Thank you to… Aram Price Chris Brown Molly Crowther Emily Foster Chris Piraino Jatin Naik Derik Evangelista Raymond Lee David Stevenson Matt McNeeney