SlideShare a Scribd company logo
Container Security
>> How We Got Here and Where We’re Going
Who am I?
Phil Estes
Senior Technical Staff Member
IBM Cloud, Open Technologies
Container Strategy/Open Source Leader
Docker community core engine maintainer <
Linux/open source expertise for 15 years @ IBM <
Community activities & accomplishments
> Brought user namespace support to the Docker engine
> Helped design v2.2 image specification with multi-platform support
> Implemented first tool to create multi-platform images in Docker v2.3 registry
> Member of the “Docker Captains” program
2
Motivation
MISINFORMATION
MULTI-
VENDOR/
OS WORLD
FAST
MOVING
ECOSYSTEM
3
Always Be Isolating
- We’ve been working to isolate
processes for a very long time
- Advent of OS era brought a level of
isolation and control
- Problems with shared substrate
led to new ideas:
- chroot, jails, zones
- hardware virtualization
- Linux namespaces & cgroups
4
Containers are our latest invention on the continuum between
performance and (secure) isolation for our applications
A [Linux] Container Primer
5
pid mount
IPC
user network
uts
> Process Isolation
NAMESPACES
CGROUPS
> Resource Control
How We Got Here
- The right time
- Linux kernel isolation primitives matured over a number of
years (credit to LXC, OpenVZ, & many other Linux-centric
container projects)
- Readiness for application simplification plus
distributed complexity
- The right tools
- Docker lowered entry friction to containerizing
(packaging) an application
- Docker API and client hid complexity of “getting it right”
re: Linux kernel isolation
- The right target
- Developers were ripe for the efficiency improvement of
dependency isolation per application
6
But...Is It Secure?
Early Missing/Lacking Features:
- Weak image format (Docker v1)
- No image signing/verification
- No multi-tenancy
- Network security/isolation concerns
- Tricky OS environment hardening
7
Early concerns lead to common deployment model
of “double isolation”: containers deployed within
VM isolation per application/tenant.
2016: The Year of Container Security
- Docker image format v2 - full content-addressability to image content
- User namespaces - isolation from host ID use (especially root)
- Seccomp - secure computing; filtering by Linux syscall
- Docker Content Trust - image signing/provenance; configurable trust
- No new privileges - container cannot elevate any Linux privilege/capability
- PIDs limit - limits the number of processes spawnable by a container
- Network security - fully encrypted control plane, encrypted SDN overlays
- Pluggable AuthN/AuthZ - pluggable support for API access authorization
- Lightweight VM - Intel Clear Containers/Hyper.sh, added KVM isolation
- Vulnerability scanning - Docker, CoreOS, IBM, RH provide image scanning
8
Comparing the Field: The NCC Group Report
9
* NCC Group report “Understanding and Hardening Linux Containers”, v1.1, p. 97, section 9.13
> Users/packagers won’t turn
on security if it’s difficult
(LSM profiles are hard to
write; seccomp, capabilities
are complicated topics)
> Sane defaults are tricky as
well - someone’s app won’t
work and they will complain
> Docker tries to strike a
balance (e.g. DCT off by
default, allowance for
insecure registries)
Container Security Futures
- Microservices-centric security
- Customized seccomp/AppArmor profiles based on application baseline
- Alternatives and Tweaks
- Unikernels? Different viewpoints about applicability
- Fully unprivileged containers
- Cluster-level Security Management
- (Full) Multi-tenancy enablement
- Bundling of security profiles and/or hinting for images
- Cluster-specific security improvements (e.g. mutual TLS in Docker Swarm)
- Linux Kernel & container engine maturity
- User namespace next phase (per-container ID range isolation)
- Namespaces and cgroups continue to mature/improve coverage
10
Unikernels
- Compile your application and
relevant pieces of the kernel
substrate into a single bundle
- Reduce attack surface area
- Matches microservice model
architecture
- Docker integration means
traditional Linux containers and
unikernels can coexist in a
solution
- Not everyone on board with
unikernel model
11
Unprivileged Containers
- Removing the need for elevated (root) privilege through the entire process
of requesting a container be started to completed container execution
- Can be accomplished with setuid sidecar process today (lxc/lxd)
- Work ongoing in the OCI (Open Container Initiative) community with runc to
fully implement unprivileged containers
- More work required in the Linux kernel as well
- Main goal: reduce attack surface and any chance for elevated privilege to be
exploited; unprivileged user can now create and execute a container
12
Application Security Tools
- Application and image vulnerability scanning are a great
first step towards visible security for the container ecosystem
- Dockerbench and the NCC Group report provide detailed
guidance on secure container engine configuration
- But, users and administrators need more tools to help exploit
new capabilities like AppArmor and seccomp.
- These capabilities can be fine tuned specifically for an application, but
expertise or tooling is required to enable this for the general user
13
Thank You! ...Questions?
14
@estesp
github.com/estesp
estesp@gmail.com
https://integratedcode.us
IRC: estesp

More Related Content

PDF
runC: The little engine that could (run Docker containers) by Docker Captain ...
PDF
How Secure Is Your Container? ContainerCon Berlin 2016
PDF
Tokyo OpenStack Summit 2015: Unraveling Docker Security
PDF
Rooting Out Root: User namespaces in Docker
PPTX
Docker Presentation
PDF
Devoxx 2016: A Developer's Guide to OCI and runC
PPTX
Docker and kubernetes
PDF
containerd summit - Deep Dive into containerd
runC: The little engine that could (run Docker containers) by Docker Captain ...
How Secure Is Your Container? ContainerCon Berlin 2016
Tokyo OpenStack Summit 2015: Unraveling Docker Security
Rooting Out Root: User namespaces in Docker
Docker Presentation
Devoxx 2016: A Developer's Guide to OCI and runC
Docker and kubernetes
containerd summit - Deep Dive into containerd

What's hot (20)

PPTX
Dev opsec dockerimage_patch_n_lifecyclemanagement_
PDF
Docker security: Rolling out Trust in your container
PPTX
Containerd - core container runtime component
PPTX
An introduction to k8 s.pptx
PDF
Docker Security and Content Trust
PPTX
Introduction to Microservices with Docker and Kubernetes
PDF
Evoluation of Linux Container Virtualization
PDF
An Introduction to Kubernetes
PDF
Introduction to kubernetes
PDF
Docker introduction
PDF
What's new in kubernetes 1.3?
PDF
Introdution to Docker (theory and hands on) dbCafé - dbTrento
PDF
Building Reusable Development Environments with Docker
PPTX
Linux Container Brief for IEEE WG P2302
PDF
DockerCon EU 2015: Docker and PCI-DSS - Lessons learned in a security sensiti...
PDF
docker installation and basics
PDF
Dessi docker kubernetes paas cloud
PDF
Docker Container Introduction
PDF
Rkt Container Engine
PDF
DockerCon SF 2015: Docker Security
Dev opsec dockerimage_patch_n_lifecyclemanagement_
Docker security: Rolling out Trust in your container
Containerd - core container runtime component
An introduction to k8 s.pptx
Docker Security and Content Trust
Introduction to Microservices with Docker and Kubernetes
Evoluation of Linux Container Virtualization
An Introduction to Kubernetes
Introduction to kubernetes
Docker introduction
What's new in kubernetes 1.3?
Introdution to Docker (theory and hands on) dbCafé - dbTrento
Building Reusable Development Environments with Docker
Linux Container Brief for IEEE WG P2302
DockerCon EU 2015: Docker and PCI-DSS - Lessons learned in a security sensiti...
docker installation and basics
Dessi docker kubernetes paas cloud
Docker Container Introduction
Rkt Container Engine
DockerCon SF 2015: Docker Security
Ad

Viewers also liked (11)

PDF
OpenSCAP Overview(security scanning for docker image and container)
PDF
Containers, docker, and security: state of the union (Bay Area Infracoders Me...
ODP
Automating OpenSCAP with Foreman
PPTX
A (fun!) Comparison of Docker Vulnerability Scanners
PDF
OpenSCAP Overview(security scanning for docker image and container)
PDF
Handling of compromised Linux systems
PDF
Linux Security for Developers
PDF
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
PDF
Linux Security, from Concept to Tooling
PDF
Docker Security - Secure Container Deployment on Linux
PDF
Talking TUF: Securing Software Distribution
OpenSCAP Overview(security scanning for docker image and container)
Containers, docker, and security: state of the union (Bay Area Infracoders Me...
Automating OpenSCAP with Foreman
A (fun!) Comparison of Docker Vulnerability Scanners
OpenSCAP Overview(security scanning for docker image and container)
Handling of compromised Linux systems
Linux Security for Developers
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
Linux Security, from Concept to Tooling
Docker Security - Secure Container Deployment on Linux
Talking TUF: Securing Software Distribution
Ad

Similar to Container Security: How We Got Here and Where We're Going (20)

PPTX
Microservices and containers for the unitiated
PPTX
Containers and workload security an overview
PDF
Breaking and fixing_your_dockerized_environments_owasp_appsec_usa2016
PPTX
SW Docker Security
PDF
HLayer / Docker and its ecosystem
PDF
Docker London: Container Security
PPTX
BRKSDN-2115
PDF
Applied Security for Containers, OW2con'18, June 7-8, 2018, Paris
 
PDF
Lightweight Virtualization in Linux
PDF
Evolution of containers to kubernetes
PDF
DockerCon 2017 - General Session Day 1 - Solomon Hykes
PDF
Introduction to Docker Containers - Docker Captain
PDF
20220406 - SDAN_Presentation1_SDANOverview.pdf
PPTX
Moby Open Source Summit North America 2017
PDF
Container Security
PDF
Docker Fundamental course - linkedin
PDF
Revolutionizing the cloud with container virtualization
PDF
Docker en kernel security
PDF
Cloud orchestration risks
PDF
Introduction to Docker - IndiaOpsUG
Microservices and containers for the unitiated
Containers and workload security an overview
Breaking and fixing_your_dockerized_environments_owasp_appsec_usa2016
SW Docker Security
HLayer / Docker and its ecosystem
Docker London: Container Security
BRKSDN-2115
Applied Security for Containers, OW2con'18, June 7-8, 2018, Paris
 
Lightweight Virtualization in Linux
Evolution of containers to kubernetes
DockerCon 2017 - General Session Day 1 - Solomon Hykes
Introduction to Docker Containers - Docker Captain
20220406 - SDAN_Presentation1_SDANOverview.pdf
Moby Open Source Summit North America 2017
Container Security
Docker Fundamental course - linkedin
Revolutionizing the cloud with container virtualization
Docker en kernel security
Cloud orchestration risks
Introduction to Docker - IndiaOpsUG

More from Phil Estes (20)

PDF
Enabling Security via Container Runtimes
PDF
Extended and embedding: containerd update & project use cases
PDF
Cloud Native TLV Meetup: Securing Containerized Applications Primer
PDF
Securing Containerized Applications: A Primer
PDF
Securing Containerized Applications: A Primer
PDF
Let's Try Every CRI Runtime Available for Kubernetes
PDF
CraftConf 2019: CRI Runtimes Deep Dive: Who Is Running My Pod?
PDF
JAX Con 2019: Containers. Microservices. Cloud. Open Source. Fantasy or Reali...
PDF
Giving Back to Upstream | DockerCon 2019
PDF
What's Running My Containers? A review of runtimes and standards.
PDF
Docker London Meetup: Docker Engine Evolution
PDF
FOSDEM 2019: A containerd Project Update
PDF
CRI Runtimes Deep-Dive: Who's Running My Pod!?
PDF
Docker Athens: Docker Engine Evolution & Containerd Use Cases
PDF
It's 2018. Are My Containers Secure Yet!?
PDF
Docker Engine Evolution: From Monolith to Discrete Components
PDF
An Open Source Story: Open Containers & Open Communities
PDF
Whose Job Is It Anyway? Kubernetes, CRI, & Container Runtimes
PDF
Containerd Project Update: FOSDEM 2018
PDF
Embedding Containerd For Fun and Profit
Enabling Security via Container Runtimes
Extended and embedding: containerd update & project use cases
Cloud Native TLV Meetup: Securing Containerized Applications Primer
Securing Containerized Applications: A Primer
Securing Containerized Applications: A Primer
Let's Try Every CRI Runtime Available for Kubernetes
CraftConf 2019: CRI Runtimes Deep Dive: Who Is Running My Pod?
JAX Con 2019: Containers. Microservices. Cloud. Open Source. Fantasy or Reali...
Giving Back to Upstream | DockerCon 2019
What's Running My Containers? A review of runtimes and standards.
Docker London Meetup: Docker Engine Evolution
FOSDEM 2019: A containerd Project Update
CRI Runtimes Deep-Dive: Who's Running My Pod!?
Docker Athens: Docker Engine Evolution & Containerd Use Cases
It's 2018. Are My Containers Secure Yet!?
Docker Engine Evolution: From Monolith to Discrete Components
An Open Source Story: Open Containers & Open Communities
Whose Job Is It Anyway? Kubernetes, CRI, & Container Runtimes
Containerd Project Update: FOSDEM 2018
Embedding Containerd For Fun and Profit

Recently uploaded (20)

PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
medical staffing services at VALiNTRY
PPTX
Online Work Permit System for Fast Permit Processing
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
history of c programming in notes for students .pptx
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
System and Network Administraation Chapter 3
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
medical staffing services at VALiNTRY
Online Work Permit System for Fast Permit Processing
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
history of c programming in notes for students .pptx
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Which alternative to Crystal Reports is best for small or large businesses.pdf
Understanding Forklifts - TECH EHS Solution
CHAPTER 2 - PM Management and IT Context
How Creative Agencies Leverage Project Management Software.pdf
PTS Company Brochure 2025 (1).pdf.......
Softaken Excel to vCard Converter Software.pdf
Navsoft: AI-Powered Business Solutions & Custom Software Development
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Operating system designcfffgfgggggggvggggggggg
2025 Textile ERP Trends: SAP, Odoo & Oracle
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Odoo POS Development Services by CandidRoot Solutions
System and Network Administraation Chapter 3
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises

Container Security: How We Got Here and Where We're Going

  • 1. Container Security >> How We Got Here and Where We’re Going
  • 2. Who am I? Phil Estes Senior Technical Staff Member IBM Cloud, Open Technologies Container Strategy/Open Source Leader Docker community core engine maintainer < Linux/open source expertise for 15 years @ IBM < Community activities & accomplishments > Brought user namespace support to the Docker engine > Helped design v2.2 image specification with multi-platform support > Implemented first tool to create multi-platform images in Docker v2.3 registry > Member of the “Docker Captains” program 2
  • 4. Always Be Isolating - We’ve been working to isolate processes for a very long time - Advent of OS era brought a level of isolation and control - Problems with shared substrate led to new ideas: - chroot, jails, zones - hardware virtualization - Linux namespaces & cgroups 4 Containers are our latest invention on the continuum between performance and (secure) isolation for our applications
  • 5. A [Linux] Container Primer 5 pid mount IPC user network uts > Process Isolation NAMESPACES CGROUPS > Resource Control
  • 6. How We Got Here - The right time - Linux kernel isolation primitives matured over a number of years (credit to LXC, OpenVZ, & many other Linux-centric container projects) - Readiness for application simplification plus distributed complexity - The right tools - Docker lowered entry friction to containerizing (packaging) an application - Docker API and client hid complexity of “getting it right” re: Linux kernel isolation - The right target - Developers were ripe for the efficiency improvement of dependency isolation per application 6
  • 7. But...Is It Secure? Early Missing/Lacking Features: - Weak image format (Docker v1) - No image signing/verification - No multi-tenancy - Network security/isolation concerns - Tricky OS environment hardening 7 Early concerns lead to common deployment model of “double isolation”: containers deployed within VM isolation per application/tenant.
  • 8. 2016: The Year of Container Security - Docker image format v2 - full content-addressability to image content - User namespaces - isolation from host ID use (especially root) - Seccomp - secure computing; filtering by Linux syscall - Docker Content Trust - image signing/provenance; configurable trust - No new privileges - container cannot elevate any Linux privilege/capability - PIDs limit - limits the number of processes spawnable by a container - Network security - fully encrypted control plane, encrypted SDN overlays - Pluggable AuthN/AuthZ - pluggable support for API access authorization - Lightweight VM - Intel Clear Containers/Hyper.sh, added KVM isolation - Vulnerability scanning - Docker, CoreOS, IBM, RH provide image scanning 8
  • 9. Comparing the Field: The NCC Group Report 9 * NCC Group report “Understanding and Hardening Linux Containers”, v1.1, p. 97, section 9.13 > Users/packagers won’t turn on security if it’s difficult (LSM profiles are hard to write; seccomp, capabilities are complicated topics) > Sane defaults are tricky as well - someone’s app won’t work and they will complain > Docker tries to strike a balance (e.g. DCT off by default, allowance for insecure registries)
  • 10. Container Security Futures - Microservices-centric security - Customized seccomp/AppArmor profiles based on application baseline - Alternatives and Tweaks - Unikernels? Different viewpoints about applicability - Fully unprivileged containers - Cluster-level Security Management - (Full) Multi-tenancy enablement - Bundling of security profiles and/or hinting for images - Cluster-specific security improvements (e.g. mutual TLS in Docker Swarm) - Linux Kernel & container engine maturity - User namespace next phase (per-container ID range isolation) - Namespaces and cgroups continue to mature/improve coverage 10
  • 11. Unikernels - Compile your application and relevant pieces of the kernel substrate into a single bundle - Reduce attack surface area - Matches microservice model architecture - Docker integration means traditional Linux containers and unikernels can coexist in a solution - Not everyone on board with unikernel model 11
  • 12. Unprivileged Containers - Removing the need for elevated (root) privilege through the entire process of requesting a container be started to completed container execution - Can be accomplished with setuid sidecar process today (lxc/lxd) - Work ongoing in the OCI (Open Container Initiative) community with runc to fully implement unprivileged containers - More work required in the Linux kernel as well - Main goal: reduce attack surface and any chance for elevated privilege to be exploited; unprivileged user can now create and execute a container 12
  • 13. Application Security Tools - Application and image vulnerability scanning are a great first step towards visible security for the container ecosystem - Dockerbench and the NCC Group report provide detailed guidance on secure container engine configuration - But, users and administrators need more tools to help exploit new capabilities like AppArmor and seccomp. - These capabilities can be fine tuned specifically for an application, but expertise or tooling is required to enable this for the general user 13