SlideShare a Scribd company logo
Quentin Machu
@Quentin__M | quentin.machu@coreos.com
Clair
A Container Image Security Analyzer
We’re hiring in all departments! Email: careers@coreos.com Positions: coreos.com/ careers
90+ Projects on GitHub, 1,000+ Contributors
OPEN SOURCE
CoreOS.com - @coreoslinux - github/coreos
Secure solutions, support plans, training + more
ENTERPRISE
sales@coreos.com - tectonic.com - quay.io
CoreOS is Running the World’s Containers
Secure the Internet
MISSION
2
Storytelling()
A traditional deployment
5
But … wait
6
A containerized deployment
7
A container in practice ...
8
Is that all ?
9
CVE-2015-0235
aka
GHOST
“GHOST is a buffer overflow bug affecting the gethostbyname() and
gethostbyname2() function calls in the glibc library. This vulnerability
allows a remote attacker that is able to make an application call to either of
these functions to execute arbitrary code.”
11
CVE-2014-0160
aka
Heartbleed
“The TLS and DTLS implementations in OpenSSL do not properly handle
Heartbeat Extension packets, which allows remote attackers to obtain
sensitive information from process memory via crafted packets that trigger
a buffer over-read.”
12
76K
Vulnerabilities
13
How do we make this better for
developers?
Open source project for the static analysis of
vulnerabilities in appc and docker containers.
github.com/coreos/clair
15
Showtime()
- Static analysis
- Do the job only once
- Suggest & Notify
- Built as a framework
Clair in a few points
17
Static analysis
CONTEXT
Millions of container images
- Running these containers is expensive
- Running any untrusted container is unsafe
- “We need to go deeper”
- Secure solutions can become pretty complex
- Several dynamic analysis tools exist
- Requires human input and guidance
18
- Extract and store enough to inform about both known
and future vulnerabilities
- Reuse analysis data as much as possible
Do the job only once
CONTEXT
Millions of container images
Over 15 new vulnerabilities / day
What happens when new vulnerabilities are published ?
19
“I read your security report about my container, but …
what can I actually do?”
Here, look, here’s what you can easily fix.
“I feel confident about my container now. I’m lazy though and
don’t want to check the report again. Tell me as soon as
there’s something new that I should be concerned about”
Sure. Where can I contact you?
Suggest & Notify
20
Built as a framework
Open Source and Extensibility
are the heart and soul of Clair
v1.1.021
Built as a framework
- Detectors
type FeaturesDetector interface {
GetRequiredFiles() []string
Detect(map[string][]byte) ([]database.FeatureVersion, error)
}
v1.1.0
type NamespaceDetector interface {
GetRequiredFiles() []string
Detect(map[string][]byte) *database.Namespace
}
type DataDetector interface {
Supported(path string, format string) bool
Detect(layerReader io.ReadCloser, toExtract []string, maxFileSize int64) (data map[string][]byte, err error)
}
22
Built as a frameworktype Fetcher interface {
FetchUpdate(database.Datastore) (FetcherResponse, error)
Clean()
}
Built as a framework
- Vulnerability Updaters / Notifiers
type Notifier interface {
Configure(config.NotifierConfig) (bool, error)
Send(database.VulnerabilityNotification) error
}
v1.1.023
type Datastore interface {
ListNamespaces() ([]Namespace, error)
InsertLayer(Layer) error
FindLayer(name string, withFeatures, withVulnerabilities bool) (Layer, error)
DeleteLayer(name string) error
ListVulnerabilities(namespaceName string, limit int, page int) ([]Vulnerability, int, error)
InsertVulnerabilities(vulnerabilities []Vulnerability, createNotification bool) error
FindVulnerability(namespaceName, name string) (Vulnerability, error)
DeleteVulnerability(namespaceName, name string) error
InsertVulnerabilityFixes(vulnerabilityNamespace, vulnerabilityName string, fixes []FeatureVersion) error
DeleteVulnerabilityFix(vulnerabilityNamespace, vulnerabilityName, featureName string) error
GetAvailableNotification(renotifyInterval time.Duration) (VulnerabilityNotification, error)
GetNotification(name string, limit int, page PageNumber) (VulnerabilityNotification, PageNumber, error)
SetNotificationNotified(name string) error
DeleteNotification(name string) error
InsertKeyValue(key, value string) error
GetKeyValue(key string) (string, error)
Lock(name string, owner string, duration time.Duration, renew bool) (bool, time.Time)
Unlock(name, owner string)
FindLock(name string) (string, time.Time, error)
Ping() bool
Close()
}
Built as a framework
- Datastores
v1.1.024
- Image format: appc, Docker
- Operating systems: Debian, Ubuntu, CentOS
- Detection: package managers (dpkg, rpm)
- Vulnerability sources: Distribution-specific
- Database: PostgresSQL 9.4+
- Notification: Webhook
What does it currently support ?
v1.1.025
- Revisit database implementation
- MySQL Support (Huawei)
- Improve release distribution
- Embed migrations
- Address client UX
- Integrate a solid command-line tool (Wemanity)
- Expand detection capabilities
- Add Alpine Linux support (goo.gl/TSkCxM)
- Implement npm (Huawei), python, OWASP
- Anything you’d like to see!
What’s next?
v1.1.026
coreos.com/fest - @coreosfest
May 9 & 10, 2016 - Berlin, Germany
Thank you!
We’re hiring in all departments! Email: careers@coreos.com Positions: coreos.com/ careers
Quentin Machu
@Quentin__M | quentin.machu@coreos.com

More Related Content

What's hot

GKE vs OpenStack Magnum
GKE vs OpenStack MagnumGKE vs OpenStack Magnum
GKE vs OpenStack Magnum
Motohiro OTSUKA
 
Microservices at scale with docker and kubernetes - AMS JUG 2017
Microservices at scale with docker and kubernetes - AMS JUG 2017Microservices at scale with docker and kubernetes - AMS JUG 2017
Microservices at scale with docker and kubernetes - AMS JUG 2017
Arjen Wassink
 
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on KubernetesMonitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Martin Etmajer
 
Cantainer CI/ CD with Kubernetes
Cantainer CI/ CD with KubernetesCantainer CI/ CD with Kubernetes
Cantainer CI/ CD with Kubernetes
inwin stack
 
Moby and Kubernetes entitlements
Moby and Kubernetes entitlements Moby and Kubernetes entitlements
Moby and Kubernetes entitlements
Docker, Inc.
 
Tectonic Summit 2016: Kubernetes 1.5 and Beyond
Tectonic Summit 2016: Kubernetes 1.5 and BeyondTectonic Summit 2016: Kubernetes 1.5 and Beyond
Tectonic Summit 2016: Kubernetes 1.5 and Beyond
CoreOS
 
Docker Summit 2016 - Kubernetes: Sweets and Bitters
Docker Summit 2016 - Kubernetes: Sweets and BittersDocker Summit 2016 - Kubernetes: Sweets and Bitters
Docker Summit 2016 - Kubernetes: Sweets and Bitters
smalltown
 
Demystfying container-networking
Demystfying container-networkingDemystfying container-networking
Demystfying container-networking
Balasundaram Natarajan
 
Integration kubernetes with docker private registry
Integration kubernetes with docker private registryIntegration kubernetes with docker private registry
Integration kubernetes with docker private registry
HungWei Chiu
 
AWS ECSを用いてbatchを動かそう
AWS ECSを用いてbatchを動かそうAWS ECSを用いてbatchを動かそう
AWS ECSを用いてbatchを動かそう
taisho2
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
Martin Danielsson
 
Kubernetes on aws
Kubernetes on awsKubernetes on aws
Kubernetes on aws
Yousun Jeong
 
From dev to prod: Kubernetes on AWS (short ver.)
From dev to prod: Kubernetes on AWS (short ver.)From dev to prod: Kubernetes on AWS (short ver.)
From dev to prod: Kubernetes on AWS (short ver.)
佑介 九岡
 
DockerCon EU 2015: Trading Bitcoin with Docker
DockerCon EU 2015: Trading Bitcoin with DockerDockerCon EU 2015: Trading Bitcoin with Docker
DockerCon EU 2015: Trading Bitcoin with Docker
Docker, Inc.
 
Introduction kubernetes 2017_12_24
Introduction kubernetes 2017_12_24Introduction kubernetes 2017_12_24
Introduction kubernetes 2017_12_24
Sam Zheng
 
It takes a Village to do the Impossible - Jeff Lindsay
It takes a Village to do the Impossible - Jeff LindsayIt takes a Village to do the Impossible - Jeff Lindsay
It takes a Village to do the Impossible - Jeff Lindsay
Docker, Inc.
 
Discovering Docker Volume Plugins and Apps using VirtualBox
Discovering Docker Volume Plugins and Apps using VirtualBoxDiscovering Docker Volume Plugins and Apps using VirtualBox
Discovering Docker Volume Plugins and Apps using VirtualBox
Clinton Kitson
 
CI / CD / CS - Continuous Security in Kubernetes
CI / CD / CS - Continuous Security in KubernetesCI / CD / CS - Continuous Security in Kubernetes
CI / CD / CS - Continuous Security in Kubernetes
Sysdig
 
Rex gke-clustree
Rex gke-clustreeRex gke-clustree
Rex gke-clustree
Romain Vrignaud
 
Docker for mere mortals
Docker for mere mortalsDocker for mere mortals
Docker for mere mortals
Henryk Konsek
 

What's hot (20)

GKE vs OpenStack Magnum
GKE vs OpenStack MagnumGKE vs OpenStack Magnum
GKE vs OpenStack Magnum
 
Microservices at scale with docker and kubernetes - AMS JUG 2017
Microservices at scale with docker and kubernetes - AMS JUG 2017Microservices at scale with docker and kubernetes - AMS JUG 2017
Microservices at scale with docker and kubernetes - AMS JUG 2017
 
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on KubernetesMonitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
 
Cantainer CI/ CD with Kubernetes
Cantainer CI/ CD with KubernetesCantainer CI/ CD with Kubernetes
Cantainer CI/ CD with Kubernetes
 
Moby and Kubernetes entitlements
Moby and Kubernetes entitlements Moby and Kubernetes entitlements
Moby and Kubernetes entitlements
 
Tectonic Summit 2016: Kubernetes 1.5 and Beyond
Tectonic Summit 2016: Kubernetes 1.5 and BeyondTectonic Summit 2016: Kubernetes 1.5 and Beyond
Tectonic Summit 2016: Kubernetes 1.5 and Beyond
 
Docker Summit 2016 - Kubernetes: Sweets and Bitters
Docker Summit 2016 - Kubernetes: Sweets and BittersDocker Summit 2016 - Kubernetes: Sweets and Bitters
Docker Summit 2016 - Kubernetes: Sweets and Bitters
 
Demystfying container-networking
Demystfying container-networkingDemystfying container-networking
Demystfying container-networking
 
Integration kubernetes with docker private registry
Integration kubernetes with docker private registryIntegration kubernetes with docker private registry
Integration kubernetes with docker private registry
 
AWS ECSを用いてbatchを動かそう
AWS ECSを用いてbatchを動かそうAWS ECSを用いてbatchを動かそう
AWS ECSを用いてbatchを動かそう
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Kubernetes on aws
Kubernetes on awsKubernetes on aws
Kubernetes on aws
 
From dev to prod: Kubernetes on AWS (short ver.)
From dev to prod: Kubernetes on AWS (short ver.)From dev to prod: Kubernetes on AWS (short ver.)
From dev to prod: Kubernetes on AWS (short ver.)
 
DockerCon EU 2015: Trading Bitcoin with Docker
DockerCon EU 2015: Trading Bitcoin with DockerDockerCon EU 2015: Trading Bitcoin with Docker
DockerCon EU 2015: Trading Bitcoin with Docker
 
Introduction kubernetes 2017_12_24
Introduction kubernetes 2017_12_24Introduction kubernetes 2017_12_24
Introduction kubernetes 2017_12_24
 
It takes a Village to do the Impossible - Jeff Lindsay
It takes a Village to do the Impossible - Jeff LindsayIt takes a Village to do the Impossible - Jeff Lindsay
It takes a Village to do the Impossible - Jeff Lindsay
 
Discovering Docker Volume Plugins and Apps using VirtualBox
Discovering Docker Volume Plugins and Apps using VirtualBoxDiscovering Docker Volume Plugins and Apps using VirtualBox
Discovering Docker Volume Plugins and Apps using VirtualBox
 
CI / CD / CS - Continuous Security in Kubernetes
CI / CD / CS - Continuous Security in KubernetesCI / CD / CS - Continuous Security in Kubernetes
CI / CD / CS - Continuous Security in Kubernetes
 
Rex gke-clustree
Rex gke-clustreeRex gke-clustree
Rex gke-clustree
 
Docker for mere mortals
Docker for mere mortalsDocker for mere mortals
Docker for mere mortals
 

Viewers also liked

113 online suicide prevention: First two year results presented at the ESSSB1...
113 online suicide prevention: First two year results presented at the ESSSB1...113 online suicide prevention: First two year results presented at the ESSSB1...
113 online suicide prevention: First two year results presented at the ESSSB1...
Jan Mokkenstorm
 
Instruction manual of ALK-88 ultra-mini optic fiber fusion splicer with speci...
Instruction manual of ALK-88 ultra-mini optic fiber fusion splicer with speci...Instruction manual of ALK-88 ultra-mini optic fiber fusion splicer with speci...
Instruction manual of ALK-88 ultra-mini optic fiber fusion splicer with speci...
Eloik Communication Equipment Technology Co.,Ltd
 
Pies en polvorosa.
Pies en polvorosa. Pies en polvorosa.
Pies en polvorosa. AraceliFdez
 
The value proposition of the IT unit of the future
The value proposition of the IT unit of the futureThe value proposition of the IT unit of the future
The value proposition of the IT unit of the future
Microsoft Schweiz
 
MundoOfertas muestras gratis en Kallejeo.com: "Quiero ir a..." 020511
MundoOfertas muestras gratis en Kallejeo.com: "Quiero ir a..." 020511MundoOfertas muestras gratis en Kallejeo.com: "Quiero ir a..." 020511
MundoOfertas muestras gratis en Kallejeo.com: "Quiero ir a..." 020511
Mundo Ofertas
 
Obert 24h els perills d´internet
Obert 24h els perills d´internetObert 24h els perills d´internet
Obert 24h els perills d´internet
Daniel González
 
TpM2016: Sanfte Mobilität in Berggebieten: Erfolgreiche Beispiele
TpM2016: Sanfte Mobilität in Berggebieten: Erfolgreiche BeispieleTpM2016: Sanfte Mobilität in Berggebieten: Erfolgreiche Beispiele
TpM2016: Sanfte Mobilität in Berggebieten: Erfolgreiche Beispiele
Tourism professional Meeting TpM @ HES-SO Valais
 
Mobile web is dead heres why
Mobile web is dead heres whyMobile web is dead heres why
Mobile web is dead heres why
Scott Hutchinson
 
Social media marketing: comunicare e creare relazioni all’epoca del web 2.0”...
Social media marketing: comunicare e creare relazioni all’epoca del web 2.0”...Social media marketing: comunicare e creare relazioni all’epoca del web 2.0”...
Social media marketing: comunicare e creare relazioni all’epoca del web 2.0”...
Claudia Zarabara
 
Ejercicio escalas1 (1)
Ejercicio escalas1 (1)Ejercicio escalas1 (1)
Ejercicio escalas1 (1)UTEPSA, UAGRM
 
Revista Senior Class número 8
Revista Senior Class número 8Revista Senior Class número 8
Revista Senior Class número 8
betionejgv
 
Manual de semillas forestales a producir en viveros forestales
Manual de semillas forestales a producir en viveros forestalesManual de semillas forestales a producir en viveros forestales
Manual de semillas forestales a producir en viveros forestales
pirdais pea
 
Jlmf22 presentacion 2013
Jlmf22   presentacion 2013Jlmf22   presentacion 2013
Jlmf22 presentacion 2013JLMF22
 
Jamás Permitas.
Jamás Permitas.Jamás Permitas.
Jamás Permitas.
Syl Heredia
 

Viewers also liked (20)

113 online suicide prevention: First two year results presented at the ESSSB1...
113 online suicide prevention: First two year results presented at the ESSSB1...113 online suicide prevention: First two year results presented at the ESSSB1...
113 online suicide prevention: First two year results presented at the ESSSB1...
 
bw_proposal_hospitality
bw_proposal_hospitalitybw_proposal_hospitality
bw_proposal_hospitality
 
Instruction manual of ALK-88 ultra-mini optic fiber fusion splicer with speci...
Instruction manual of ALK-88 ultra-mini optic fiber fusion splicer with speci...Instruction manual of ALK-88 ultra-mini optic fiber fusion splicer with speci...
Instruction manual of ALK-88 ultra-mini optic fiber fusion splicer with speci...
 
Certificates
CertificatesCertificates
Certificates
 
presentation
presentationpresentation
presentation
 
Pies en polvorosa.
Pies en polvorosa. Pies en polvorosa.
Pies en polvorosa.
 
The value proposition of the IT unit of the future
The value proposition of the IT unit of the futureThe value proposition of the IT unit of the future
The value proposition of the IT unit of the future
 
MundoOfertas muestras gratis en Kallejeo.com: "Quiero ir a..." 020511
MundoOfertas muestras gratis en Kallejeo.com: "Quiero ir a..." 020511MundoOfertas muestras gratis en Kallejeo.com: "Quiero ir a..." 020511
MundoOfertas muestras gratis en Kallejeo.com: "Quiero ir a..." 020511
 
CR2O Flyer 2016
CR2O Flyer 2016CR2O Flyer 2016
CR2O Flyer 2016
 
Obert 24h els perills d´internet
Obert 24h els perills d´internetObert 24h els perills d´internet
Obert 24h els perills d´internet
 
TpM2016: Sanfte Mobilität in Berggebieten: Erfolgreiche Beispiele
TpM2016: Sanfte Mobilität in Berggebieten: Erfolgreiche BeispieleTpM2016: Sanfte Mobilität in Berggebieten: Erfolgreiche Beispiele
TpM2016: Sanfte Mobilität in Berggebieten: Erfolgreiche Beispiele
 
Mobile web is dead heres why
Mobile web is dead heres whyMobile web is dead heres why
Mobile web is dead heres why
 
Social media marketing: comunicare e creare relazioni all’epoca del web 2.0”...
Social media marketing: comunicare e creare relazioni all’epoca del web 2.0”...Social media marketing: comunicare e creare relazioni all’epoca del web 2.0”...
Social media marketing: comunicare e creare relazioni all’epoca del web 2.0”...
 
Ejercicio escalas1 (1)
Ejercicio escalas1 (1)Ejercicio escalas1 (1)
Ejercicio escalas1 (1)
 
Conoce BMA
Conoce BMAConoce BMA
Conoce BMA
 
Revista Senior Class número 8
Revista Senior Class número 8Revista Senior Class número 8
Revista Senior Class número 8
 
Didáctica crítica
Didáctica críticaDidáctica crítica
Didáctica crítica
 
Manual de semillas forestales a producir en viveros forestales
Manual de semillas forestales a producir en viveros forestalesManual de semillas forestales a producir en viveros forestales
Manual de semillas forestales a producir en viveros forestales
 
Jlmf22 presentacion 2013
Jlmf22   presentacion 2013Jlmf22   presentacion 2013
Jlmf22 presentacion 2013
 
Jamás Permitas.
Jamás Permitas.Jamás Permitas.
Jamás Permitas.
 

Similar to Clair, A Container Image Security Analyzer

Serial Killer - Silently Pwning your Java Endpoints // OWASP BeNeLux Day 2016
Serial Killer - Silently Pwning your Java Endpoints // OWASP BeNeLux Day 2016Serial Killer - Silently Pwning your Java Endpoints // OWASP BeNeLux Day 2016
Serial Killer - Silently Pwning your Java Endpoints // OWASP BeNeLux Day 2016
Christian Schneider
 
The art of messaging tune (Joker 2015 edition)
The art of messaging tune (Joker 2015 edition)The art of messaging tune (Joker 2015 edition)
The art of messaging tune (Joker 2015 edition)
Vyacheslav Lapin
 
Docker, Linux Containers, and Security: Does It Add Up?
Docker, Linux Containers, and Security: Does It Add Up?Docker, Linux Containers, and Security: Does It Add Up?
Docker, Linux Containers, and Security: Does It Add Up?
Jérôme Petazzoni
 
Docker, Linux Containers (LXC), and security
Docker, Linux Containers (LXC), and securityDocker, Linux Containers (LXC), and security
Docker, Linux Containers (LXC), and security
Jérôme Petazzoni
 
[Wroclaw #7] Why So Serial?
[Wroclaw #7] Why So Serial?[Wroclaw #7] Why So Serial?
[Wroclaw #7] Why So Serial?
OWASP
 
Containers, docker, and security: state of the union (Bay Area Infracoders Me...
Containers, docker, and security: state of the union (Bay Area Infracoders Me...Containers, docker, and security: state of the union (Bay Area Infracoders Me...
Containers, docker, and security: state of the union (Bay Area Infracoders Me...
Jérôme Petazzoni
 
Presentation of Python, Django, DockerStack
Presentation of Python, Django, DockerStackPresentation of Python, Django, DockerStack
Presentation of Python, Django, DockerStack
David Sanchez
 
Better Code through Lint and Checkstyle
Better Code through Lint and CheckstyleBetter Code through Lint and Checkstyle
Better Code through Lint and Checkstyle
Marc Prengemann
 
AntiRE en Masse
AntiRE en MasseAntiRE en Masse
AntiRE en Masse
Kurt Baumgartner
 
2 Roads to Redemption - Thoughts on XSS and SQLIA
2 Roads to Redemption - Thoughts on XSS and SQLIA2 Roads to Redemption - Thoughts on XSS and SQLIA
2 Roads to Redemption - Thoughts on XSS and SQLIA
guestfdcb8a
 
Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'
Jen Andre
 
PVS-Studio vs Chromium
PVS-Studio vs ChromiumPVS-Studio vs Chromium
PVS-Studio vs Chromium
PVS-Studio
 
PVS-Studio vs Chromium
PVS-Studio vs ChromiumPVS-Studio vs Chromium
PVS-Studio vs Chromium
Andrey Karpov
 
Protect Your Payloads: Modern Keying Techniques
Protect Your Payloads: Modern Keying TechniquesProtect Your Payloads: Modern Keying Techniques
Protect Your Payloads: Modern Keying Techniques
Leo Loobeek
 
Docker practical solutions
Docker practical solutionsDocker practical solutions
Docker practical solutions
Kesav Kumar Kolla
 
Software Bertillonage: Finding the Provenance of an Entity
Software Bertillonage: Finding the Provenance of an EntitySoftware Bertillonage: Finding the Provenance of an Entity
Software Bertillonage: Finding the Provenance of an Entity
migod
 
Online Meetup: Why should container system / platform builders care about con...
Online Meetup: Why should container system / platform builders care about con...Online Meetup: Why should container system / platform builders care about con...
Online Meetup: Why should container system / platform builders care about con...
Docker, Inc.
 
The Future of Web Attacks - CONFidence 2010
The Future of Web Attacks - CONFidence 2010The Future of Web Attacks - CONFidence 2010
The Future of Web Attacks - CONFidence 2010Mario Heiderich
 
Common primitives in Docker environments
Common primitives in Docker environmentsCommon primitives in Docker environments
Common primitives in Docker environments
alexandru giurgiu
 

Similar to Clair, A Container Image Security Analyzer (20)

Serial Killer - Silently Pwning your Java Endpoints // OWASP BeNeLux Day 2016
Serial Killer - Silently Pwning your Java Endpoints // OWASP BeNeLux Day 2016Serial Killer - Silently Pwning your Java Endpoints // OWASP BeNeLux Day 2016
Serial Killer - Silently Pwning your Java Endpoints // OWASP BeNeLux Day 2016
 
The art of messaging tune (Joker 2015 edition)
The art of messaging tune (Joker 2015 edition)The art of messaging tune (Joker 2015 edition)
The art of messaging tune (Joker 2015 edition)
 
Docker, Linux Containers, and Security: Does It Add Up?
Docker, Linux Containers, and Security: Does It Add Up?Docker, Linux Containers, and Security: Does It Add Up?
Docker, Linux Containers, and Security: Does It Add Up?
 
Docker, Linux Containers (LXC), and security
Docker, Linux Containers (LXC), and securityDocker, Linux Containers (LXC), and security
Docker, Linux Containers (LXC), and security
 
[Wroclaw #7] Why So Serial?
[Wroclaw #7] Why So Serial?[Wroclaw #7] Why So Serial?
[Wroclaw #7] Why So Serial?
 
Containers, docker, and security: state of the union (Bay Area Infracoders Me...
Containers, docker, and security: state of the union (Bay Area Infracoders Me...Containers, docker, and security: state of the union (Bay Area Infracoders Me...
Containers, docker, and security: state of the union (Bay Area Infracoders Me...
 
Presentation of Python, Django, DockerStack
Presentation of Python, Django, DockerStackPresentation of Python, Django, DockerStack
Presentation of Python, Django, DockerStack
 
JavaSecure
JavaSecureJavaSecure
JavaSecure
 
Better Code through Lint and Checkstyle
Better Code through Lint and CheckstyleBetter Code through Lint and Checkstyle
Better Code through Lint and Checkstyle
 
AntiRE en Masse
AntiRE en MasseAntiRE en Masse
AntiRE en Masse
 
2 Roads to Redemption - Thoughts on XSS and SQLIA
2 Roads to Redemption - Thoughts on XSS and SQLIA2 Roads to Redemption - Thoughts on XSS and SQLIA
2 Roads to Redemption - Thoughts on XSS and SQLIA
 
Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'Codetainer: a Docker-based browser code 'sandbox'
Codetainer: a Docker-based browser code 'sandbox'
 
PVS-Studio vs Chromium
PVS-Studio vs ChromiumPVS-Studio vs Chromium
PVS-Studio vs Chromium
 
PVS-Studio vs Chromium
PVS-Studio vs ChromiumPVS-Studio vs Chromium
PVS-Studio vs Chromium
 
Protect Your Payloads: Modern Keying Techniques
Protect Your Payloads: Modern Keying TechniquesProtect Your Payloads: Modern Keying Techniques
Protect Your Payloads: Modern Keying Techniques
 
Docker practical solutions
Docker practical solutionsDocker practical solutions
Docker practical solutions
 
Software Bertillonage: Finding the Provenance of an Entity
Software Bertillonage: Finding the Provenance of an EntitySoftware Bertillonage: Finding the Provenance of an Entity
Software Bertillonage: Finding the Provenance of an Entity
 
Online Meetup: Why should container system / platform builders care about con...
Online Meetup: Why should container system / platform builders care about con...Online Meetup: Why should container system / platform builders care about con...
Online Meetup: Why should container system / platform builders care about con...
 
The Future of Web Attacks - CONFidence 2010
The Future of Web Attacks - CONFidence 2010The Future of Web Attacks - CONFidence 2010
The Future of Web Attacks - CONFidence 2010
 
Common primitives in Docker environments
Common primitives in Docker environmentsCommon primitives in Docker environments
Common primitives in Docker environments
 

More from CoreOS

Tectonic Summit 2016: Managing 6 PB of Earth Imagery with Kubernetes
Tectonic Summit 2016: Managing 6 PB of Earth Imagery with KubernetesTectonic Summit 2016: Managing 6 PB of Earth Imagery with Kubernetes
Tectonic Summit 2016: Managing 6 PB of Earth Imagery with Kubernetes
CoreOS
 
Tectonic Summit 2016: It's Go Time
Tectonic Summit 2016: It's Go Time Tectonic Summit 2016: It's Go Time
Tectonic Summit 2016: It's Go Time
CoreOS
 
Tectonic Summit 2016: Betting on Kubernetes
Tectonic Summit 2016: Betting on KubernetesTectonic Summit 2016: Betting on Kubernetes
Tectonic Summit 2016: Betting on Kubernetes
CoreOS
 
Tectonic Summit 2016: Multi-Cluster Kubernetes: Planning for Unknowns
Tectonic Summit 2016: Multi-Cluster Kubernetes: Planning for UnknownsTectonic Summit 2016: Multi-Cluster Kubernetes: Planning for Unknowns
Tectonic Summit 2016: Multi-Cluster Kubernetes: Planning for Unknowns
CoreOS
 
Tectonic Summit 2016: Networking for Kubernetes
Tectonic Summit 2016: Networking for Kubernetes Tectonic Summit 2016: Networking for Kubernetes
Tectonic Summit 2016: Networking for Kubernetes
CoreOS
 
Tectonic Summit 2016: Multitenant Data Architectures with Kubernetes
Tectonic Summit 2016: Multitenant Data Architectures with KubernetesTectonic Summit 2016: Multitenant Data Architectures with Kubernetes
Tectonic Summit 2016: Multitenant Data Architectures with Kubernetes
CoreOS
 
Tectonic Summit 2016: Brandon Philips, CTO of CoreOS, Keynote
Tectonic Summit 2016: Brandon Philips, CTO of CoreOS, KeynoteTectonic Summit 2016: Brandon Philips, CTO of CoreOS, Keynote
Tectonic Summit 2016: Brandon Philips, CTO of CoreOS, Keynote
CoreOS
 
Tectonic Summit 2016: Ticketmaster's Public Cloud & Kubernetes Strategy
Tectonic Summit 2016: Ticketmaster's Public Cloud & Kubernetes StrategyTectonic Summit 2016: Ticketmaster's Public Cloud & Kubernetes Strategy
Tectonic Summit 2016: Ticketmaster's Public Cloud & Kubernetes Strategy
CoreOS
 
Tectonic Summit 2016: Alex Polvi, CEO of CoreOS, Keynote
Tectonic Summit 2016: Alex Polvi, CEO of CoreOS, KeynoteTectonic Summit 2016: Alex Polvi, CEO of CoreOS, Keynote
Tectonic Summit 2016: Alex Polvi, CEO of CoreOS, Keynote
CoreOS
 
Tectonic Summit 2016: CoreOS Tectonic on AWS
Tectonic Summit 2016: CoreOS Tectonic on AWSTectonic Summit 2016: CoreOS Tectonic on AWS
Tectonic Summit 2016: CoreOS Tectonic on AWS
CoreOS
 
Tectonic Summit 2016: Preparing for Cloud Native
Tectonic Summit 2016: Preparing for Cloud Native Tectonic Summit 2016: Preparing for Cloud Native
Tectonic Summit 2016: Preparing for Cloud Native
CoreOS
 
Etcd- Mission Critical Key-Value Store
Etcd- Mission Critical Key-Value StoreEtcd- Mission Critical Key-Value Store
Etcd- Mission Critical Key-Value Store
CoreOS
 
Tectonic Summit 2015: Containers Across the Cloud and Data Center
Tectonic Summit 2015: Containers Across the Cloud and Data CenterTectonic Summit 2015: Containers Across the Cloud and Data Center
Tectonic Summit 2015: Containers Across the Cloud and Data Center
CoreOS
 
CoreOS in a Nutshell
CoreOS in a NutshellCoreOS in a Nutshell
CoreOS in a Nutshell
CoreOS
 

More from CoreOS (14)

Tectonic Summit 2016: Managing 6 PB of Earth Imagery with Kubernetes
Tectonic Summit 2016: Managing 6 PB of Earth Imagery with KubernetesTectonic Summit 2016: Managing 6 PB of Earth Imagery with Kubernetes
Tectonic Summit 2016: Managing 6 PB of Earth Imagery with Kubernetes
 
Tectonic Summit 2016: It's Go Time
Tectonic Summit 2016: It's Go Time Tectonic Summit 2016: It's Go Time
Tectonic Summit 2016: It's Go Time
 
Tectonic Summit 2016: Betting on Kubernetes
Tectonic Summit 2016: Betting on KubernetesTectonic Summit 2016: Betting on Kubernetes
Tectonic Summit 2016: Betting on Kubernetes
 
Tectonic Summit 2016: Multi-Cluster Kubernetes: Planning for Unknowns
Tectonic Summit 2016: Multi-Cluster Kubernetes: Planning for UnknownsTectonic Summit 2016: Multi-Cluster Kubernetes: Planning for Unknowns
Tectonic Summit 2016: Multi-Cluster Kubernetes: Planning for Unknowns
 
Tectonic Summit 2016: Networking for Kubernetes
Tectonic Summit 2016: Networking for Kubernetes Tectonic Summit 2016: Networking for Kubernetes
Tectonic Summit 2016: Networking for Kubernetes
 
Tectonic Summit 2016: Multitenant Data Architectures with Kubernetes
Tectonic Summit 2016: Multitenant Data Architectures with KubernetesTectonic Summit 2016: Multitenant Data Architectures with Kubernetes
Tectonic Summit 2016: Multitenant Data Architectures with Kubernetes
 
Tectonic Summit 2016: Brandon Philips, CTO of CoreOS, Keynote
Tectonic Summit 2016: Brandon Philips, CTO of CoreOS, KeynoteTectonic Summit 2016: Brandon Philips, CTO of CoreOS, Keynote
Tectonic Summit 2016: Brandon Philips, CTO of CoreOS, Keynote
 
Tectonic Summit 2016: Ticketmaster's Public Cloud & Kubernetes Strategy
Tectonic Summit 2016: Ticketmaster's Public Cloud & Kubernetes StrategyTectonic Summit 2016: Ticketmaster's Public Cloud & Kubernetes Strategy
Tectonic Summit 2016: Ticketmaster's Public Cloud & Kubernetes Strategy
 
Tectonic Summit 2016: Alex Polvi, CEO of CoreOS, Keynote
Tectonic Summit 2016: Alex Polvi, CEO of CoreOS, KeynoteTectonic Summit 2016: Alex Polvi, CEO of CoreOS, Keynote
Tectonic Summit 2016: Alex Polvi, CEO of CoreOS, Keynote
 
Tectonic Summit 2016: CoreOS Tectonic on AWS
Tectonic Summit 2016: CoreOS Tectonic on AWSTectonic Summit 2016: CoreOS Tectonic on AWS
Tectonic Summit 2016: CoreOS Tectonic on AWS
 
Tectonic Summit 2016: Preparing for Cloud Native
Tectonic Summit 2016: Preparing for Cloud Native Tectonic Summit 2016: Preparing for Cloud Native
Tectonic Summit 2016: Preparing for Cloud Native
 
Etcd- Mission Critical Key-Value Store
Etcd- Mission Critical Key-Value StoreEtcd- Mission Critical Key-Value Store
Etcd- Mission Critical Key-Value Store
 
Tectonic Summit 2015: Containers Across the Cloud and Data Center
Tectonic Summit 2015: Containers Across the Cloud and Data CenterTectonic Summit 2015: Containers Across the Cloud and Data Center
Tectonic Summit 2015: Containers Across the Cloud and Data Center
 
CoreOS in a Nutshell
CoreOS in a NutshellCoreOS in a Nutshell
CoreOS in a Nutshell
 

Recently uploaded

Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 

Recently uploaded (20)

Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 

Clair, A Container Image Security Analyzer

  • 1. Quentin Machu @Quentin__M | quentin.machu@coreos.com Clair A Container Image Security Analyzer
  • 2. We’re hiring in all departments! Email: careers@coreos.com Positions: coreos.com/ careers 90+ Projects on GitHub, 1,000+ Contributors OPEN SOURCE CoreOS.com - @coreoslinux - github/coreos Secure solutions, support plans, training + more ENTERPRISE sales@coreos.com - tectonic.com - quay.io CoreOS is Running the World’s Containers Secure the Internet MISSION 2
  • 3.
  • 8. A container in practice ... 8
  • 10.
  • 11. CVE-2015-0235 aka GHOST “GHOST is a buffer overflow bug affecting the gethostbyname() and gethostbyname2() function calls in the glibc library. This vulnerability allows a remote attacker that is able to make an application call to either of these functions to execute arbitrary code.” 11
  • 12. CVE-2014-0160 aka Heartbleed “The TLS and DTLS implementations in OpenSSL do not properly handle Heartbeat Extension packets, which allows remote attackers to obtain sensitive information from process memory via crafted packets that trigger a buffer over-read.” 12
  • 14. How do we make this better for developers?
  • 15. Open source project for the static analysis of vulnerabilities in appc and docker containers. github.com/coreos/clair 15
  • 17. - Static analysis - Do the job only once - Suggest & Notify - Built as a framework Clair in a few points 17
  • 18. Static analysis CONTEXT Millions of container images - Running these containers is expensive - Running any untrusted container is unsafe - “We need to go deeper” - Secure solutions can become pretty complex - Several dynamic analysis tools exist - Requires human input and guidance 18
  • 19. - Extract and store enough to inform about both known and future vulnerabilities - Reuse analysis data as much as possible Do the job only once CONTEXT Millions of container images Over 15 new vulnerabilities / day What happens when new vulnerabilities are published ? 19
  • 20. “I read your security report about my container, but … what can I actually do?” Here, look, here’s what you can easily fix. “I feel confident about my container now. I’m lazy though and don’t want to check the report again. Tell me as soon as there’s something new that I should be concerned about” Sure. Where can I contact you? Suggest & Notify 20
  • 21. Built as a framework Open Source and Extensibility are the heart and soul of Clair v1.1.021
  • 22. Built as a framework - Detectors type FeaturesDetector interface { GetRequiredFiles() []string Detect(map[string][]byte) ([]database.FeatureVersion, error) } v1.1.0 type NamespaceDetector interface { GetRequiredFiles() []string Detect(map[string][]byte) *database.Namespace } type DataDetector interface { Supported(path string, format string) bool Detect(layerReader io.ReadCloser, toExtract []string, maxFileSize int64) (data map[string][]byte, err error) } 22
  • 23. Built as a frameworktype Fetcher interface { FetchUpdate(database.Datastore) (FetcherResponse, error) Clean() } Built as a framework - Vulnerability Updaters / Notifiers type Notifier interface { Configure(config.NotifierConfig) (bool, error) Send(database.VulnerabilityNotification) error } v1.1.023
  • 24. type Datastore interface { ListNamespaces() ([]Namespace, error) InsertLayer(Layer) error FindLayer(name string, withFeatures, withVulnerabilities bool) (Layer, error) DeleteLayer(name string) error ListVulnerabilities(namespaceName string, limit int, page int) ([]Vulnerability, int, error) InsertVulnerabilities(vulnerabilities []Vulnerability, createNotification bool) error FindVulnerability(namespaceName, name string) (Vulnerability, error) DeleteVulnerability(namespaceName, name string) error InsertVulnerabilityFixes(vulnerabilityNamespace, vulnerabilityName string, fixes []FeatureVersion) error DeleteVulnerabilityFix(vulnerabilityNamespace, vulnerabilityName, featureName string) error GetAvailableNotification(renotifyInterval time.Duration) (VulnerabilityNotification, error) GetNotification(name string, limit int, page PageNumber) (VulnerabilityNotification, PageNumber, error) SetNotificationNotified(name string) error DeleteNotification(name string) error InsertKeyValue(key, value string) error GetKeyValue(key string) (string, error) Lock(name string, owner string, duration time.Duration, renew bool) (bool, time.Time) Unlock(name, owner string) FindLock(name string) (string, time.Time, error) Ping() bool Close() } Built as a framework - Datastores v1.1.024
  • 25. - Image format: appc, Docker - Operating systems: Debian, Ubuntu, CentOS - Detection: package managers (dpkg, rpm) - Vulnerability sources: Distribution-specific - Database: PostgresSQL 9.4+ - Notification: Webhook What does it currently support ? v1.1.025
  • 26. - Revisit database implementation - MySQL Support (Huawei) - Improve release distribution - Embed migrations - Address client UX - Integrate a solid command-line tool (Wemanity) - Expand detection capabilities - Add Alpine Linux support (goo.gl/TSkCxM) - Implement npm (Huawei), python, OWASP - Anything you’d like to see! What’s next? v1.1.026
  • 27. coreos.com/fest - @coreosfest May 9 & 10, 2016 - Berlin, Germany
  • 28. Thank you! We’re hiring in all departments! Email: careers@coreos.com Positions: coreos.com/ careers Quentin Machu @Quentin__M | quentin.machu@coreos.com

Editor's Notes

  1. And that’s not all, NVD Some of these vulns became so important that … In one hand, we have fast-paced developers deploying all sort of containers, and in the other hand, we have thousands of vulnerabilities awaiting to be exploited and lead to critical data leak / loss.
  2. With containerized applications and the rise of cluster managers, the way security assessment is realized changed. Dependency management shifted away from the op teams to the developers - and that bring them a new set of responsabilities. To help developers identifying the vulnerabilities that may threaten their containers, we recently built Clair.
  3. Before explaining how it works, I would like to show you what insights Clair can provide through the demo of its integration with Quay, our secure container image registry.
  4. I’ll describe Clair with 4 points
  5. Basically it stores everything it can detect using the static analysis. And because of the immutable nature of container images, that knowledge can be crossmatched with vulnerability databases, now and in the future in order to determine the vulnerabilities that may affect these images. Additionally, Clair does this for every layer that compose an image, which means that it could re-use analysis data across multiple images that may share the same layers.
  6. … Clair also recognizes that people are lazy.