SlideShare a Scribd company logo
1 of 51
Download to read offline
Kernel Recipes 2013 – Samir Bellabes
Linux Security Modules
SELinux, AppArmor & Tomoyo
trough security models
-
Kernel Recipes 2013
Kernel Recipes 2013 – Samir Bellabes
Previously on KR Season 1
Kernel Recipes 2013 – Samir Bellabes
Previously on KR Season 1
● Formal models for computer security
● Specify functional & assurance requirements → CC
● Implementation
● Testing → CC
CC = Common Criteria
Kernel Recipes 2013 – Samir Bellabes
Previously on KR Season 1
● LOMAC : Low Water-Mark Mandatory Access Control - 2000
● Bell-La Padula (BLP) – 1973
● object-capability - 1981
● Take-grant - 1977
● Biba – 1977
● Access control Matrix – 1971
● ..
Kernel Recipes 2013 – Samir Bellabes
Previously on KR Season 1
security
integrity
authentication
IMA
keys
availability
confidentiality
auditcrypto
accounting
non repudiation
Shared properties
Kernel Recipes 2013 – Samir Bellabes
Previously on KR Season 1
access control objectssubject
policy
What is MAC ?
Kernel Recipes 2013 – Samir Bellabes
Previously on KR Season 1
access control objectssubject
policy
What is MAC ?
Attributes are
applied
They are
differents
Kernel Recipes 2013 – Samir Bellabes
Summary
Kernel Recipes 2013 – Samir Bellabes
Summary
● Model for SELinux
– History & discuss
● Model for AppArmor
– History & discuss
● Model for Tomoyo
– History & discuss
● Summary of the Linux Security Summit 2013 meeting
● Discuss about using LSM hooks for “information flow”
Kernel Recipes 2013 – Samir Bellabes
Access Control: timetable
SELinux proposed by NSA
Hooks mechanism
2001
hooks upstream
2003
removing LSM ?
2006
tomoyo
2009 →
AppArmor
2010 →
smack
2008 →
Stacking / chaining : 2004 → ..
RBAC
92/96
LOMAC
2000
PaX
2000 →
Linux 2.2 : 99 Linux 2.6 : 03
Linux 2.0 : 96
Linux 2.4 : 01
Take Grant
77
Biba
77
Access Control
Matrix 71
Object
capablity
81
OrBAC
2003
TCSEC
Orange book
85
RSBAC
98
TMAC
98
ABAC
2003
RBAC : Role
TMAC : team
RSBAC : rule set
LOMAC : low
OrBAC : organise
ABAC : attribute
MAC/DAC
60/70
Bell-LP
73
SELinux
2003 →
Kernel Recipes 2013 – Samir Bellabes
SELinux
Kernel Recipes 2013 – Samir Bellabes
Model for SELinux : history
● NSA was the original developer
● Implementation of the operating system security architecture called
Flask
● In the 2.5.x series, LSM framework was developed,so SELinux was
ported for 2.6.0
● Flask : Flux Advanced Security Kernel
Kernel Recipes 2013 – Samir Bellabes
SELinux model : the Flask architecture
● Flask architecture simply implements MAC
● Principle of “least privilege”
● Objects and subjects are related to security attributes inside a
“security context”
● Dealing with security context is not easy, so we can refer to it with a
SID : security identifier, a kind or pointer, reference to the context.
Exemple : it's working well for persistent objects
● A security decision can be made with {SID(subject), SID(object)}.
● Two kind of decisions exist :
– Labeling decision : obj/sub transition → creating new file from directory
– Access decision : check permissions for operations using Access Vector
Cache (AVC) : access vector gives decisions for all permissions for a
object, or directly on the server policy
Kernel Recipes 2013 – Samir Bellabes
SELinux model : the Flask architecture
● Security policy over process and objects
● True innovation : splitting the technical architecture from the policy
(not only a modularity)
● Demonstration by implementing :
– Type enforcement (TE) 1980-1985
– Role Based Access Control (RBAC) 1992-1996
– Multi Level Security (MLS)
Kernel Recipes 2013 – Samir Bellabes
SELinux model : TE – type enforcement
● SAT : Secure Ada Target, 1st implementation, late 1980s
● Labels (security informations) on subjects and objects
● security context with labels on subjects → “domain label” (DTE)
● security context with labels on objects → “type label” (DTE)
● class exist for using objects directly:
– Same type, but different class → can manage the situation
● TE uses role for users, not domain.
– credentials mechanism → b6dff3 : separate task security context from
task_struct, so no more true label on subject
● TE enables the labeling decisions and the access decisions
Kernel Recipes 2013 – Samir Bellabes
SELinux model : TE – type enforcement
● obj3, obj1 and obj2 are in the same type “foo_t”
obj2
obj1
obj3
S1
S0
obj0
foo_t
bar_t
Kernel Recipes 2013 – Samir Bellabes
SELinux model : type enforcement
● “So it's all about classification ?”
– I think so, but it is not really a shared idea..
Kernel Recipes 2013 – Samir Bellabes
SELinux model : RBAC
● RBAC : Role Based Access Control
● Attaching roles on users, attaching permissions on roles
Kernel Recipes 2013 – Samir Bellabes
SELinux model : RBAC
● RBAC : Role Based Access Control
● Attaching roles on users, attaching permissions on roles
USER
Kernel Recipes 2013 – Samir Bellabes
SELinux model : RBAC
● RBAC : Role Based Access Control
● Attaching roles on users, attaching permissions on roles
USER
R0
R1
R2
Kernel Recipes 2013 – Samir Bellabes
SELinux model : RBAC
● RBAC : Role Based Access Control
● Attaching roles on users, attaching permissions on roles
USER
R0
R1
R2
bar_t
snafu_t
ack_t
truc_t
foo_t
Kernel Recipes 2013 – Samir Bellabes
SELinux model : RBAC
● RBAC : Role Based Access Control
● Attaching roles on users, attaching permissions on roles
USER
R0
R1
R2
foo_t
bar_t
snafu_t
ack_t
truc_t
obj2 obj1
obj0
Kernel Recipes 2013 – Samir Bellabes
SELinux model : RBAC
● RBAC : Role Based Access Control
● Attaching roles on users, attaching permissions on roles
USER
R0
R1
R2
foo_t
bar_t
snafu_t
ack_t
truc_t
obj2 obj1
obj0
USER+
Role transition
Kernel Recipes 2013 – Samir Bellabes
SELinux model : MLS
● It's about security levels
● SELinux implements Bell-Lapadula model
Kernel Recipes 2013 – Samir Bellabes
SELinux model : MLS
● It's about security levels
● SELinux implements Bell-Lapadula model
secret
top secret
confidential
unclassified
Transition states are managed
time
Kernel Recipes 2013 – Samir Bellabes
SELinux model : MLS
● It's about security levels
● SELinux implements Bell-Lapadula model
time
secret
top secret
confidential
unclassified
Transition states are managed
Read-down : Security(subject) > Security(object)
write-up: Security(subject) < Security(object)
Kernel Recipes 2013 – Samir Bellabes
SELinux model : MLS
● It's about security levels
● SELinux implements Bell-Lapadula model
time
secret
top secret
confidential
unclassified
Transition states are managed
Read-down : Security(subject) > Security(object)
write-up: Security(subject) < Security(object)
Opposite is Biba for integrity
Kernel Recipes 2013 – Samir Bellabes
SELinux : booting
● Booting / quit is a real deal : assure reliability on security is hard
(embedded, ...).
● start_kernel()
● security_init()
● Initial SID (1)
● Initialize AVC, selinuxfs
● Set enforcing mode from config
● (some stuff called relabeling)
● Start /sbin/init with label context
Kernel Recipes 2013 – Samir Bellabes
AppArmor
Kernel Recipes 2013 – Samir Bellabes
Model for AppArmor : history
● Originally from 1998
● Upstream in 2.6.36
Kernel Recipes 2013 – Samir Bellabes
AppArmor model : type enforcement
● A modified domain type enforcement (again) : Profile is the domain
type
– Normally subject ↔ objects ↔ permissions (type enforcement)
– But profile A = { (obj0, perm0), (obj1, perm1), .. }
– Profiles are stored in database
● Using information labels on objects (void *security) until creds patches
(2.6.29)
● For files, AppArmor is using path-name as information, no label
(dealing with mount point) (called implicit labeling)
● Using a technical mean called “deriving implicit types” ..
Kernel Recipes 2013 – Samir Bellabes
Tomoyo
Kernel Recipes 2013 – Samir Bellabes
Tomoyo model : type enforcement
● Process are attached a single domain
● If a process exec a program, divide or transit the domain
● Operations granularity on objects are “read/write/execute”
Kernel Recipes 2013 – Samir Bellabes
Tomoyo model : domain → path-named
● Starting with domain <kernel>
● Domain for /sbin/init is <kernel>/sbin/init/
● Exemple :
– <kernel>/sbin/init/etc/rc.d/service
– <kernel>/usr/sbin/sshd/bin/bash
● There are some exceptions (restarting services no more <kernel>/..)
Kernel Recipes 2013 – Samir Bellabes
Tomoyo model : type enforcement
● Process are attached a single domain
● If a process exec a program, divide or transit the domain
● Operations granularity on objects are “read/write/execute”
exec
obj0
obj1
obj0
obj2
Permission on domain
Not process
Kernel Recipes 2013 – Samir Bellabes
Model for Tomoyo : history
● As far as I remember : Fighting
● Revive “void *security” : b6dff3
● Hook for network : post_accept
● Merging
● ..
Kernel Recipes 2013 – Samir Bellabes
Summary of Linux Security Summit 2013
Kernel Recipes 2013 – Samir Bellabes
Summary of LSS 2013
● Update on all security modules.
● Security mechanisms : ASLR, anti-patterns : using PaX plugins for
gcc (!), using Coccinelle (!!!!),
● Stacking (agaaaaain..) but now it's called multiple concurrent security
models
● technical papers for embedded
● http://kernsec.org/wiki/index.php/Linux_Security_Summit_2013
Kernel Recipes 2013 – Samir Bellabes
Using LSM hooks for
“information flow”
Kernel Recipes 2013 – Samir Bellabes
Using LSM hooks for
“information flow”
Entering #no_bullshit zone
Thanks Gandi for sponsoring Kernel Recipes
Kernel Recipes 2013 – Samir Bellabes
Information flow with hooks ?
● It's all about state machine and transitions
State 0
S1
socket()
S2
bind()
S1S1
S3
connect()
Kernel Recipes 2013 – Samir Bellabes
Information flow with hooks ?
● It's all about state machine and transitions
State 0
S1
socket()
S2
bind()
S1S1
S3
connect()
How can we build this interesting kind of graphs ?
Why not using LSM hooks as “borders” ?
Kernel Recipes 2013 – Samir Bellabes
Information flow with hooks ?
because ghosts are among us !
Kernel Recipes 2013 – Samir Bellabes
Information flow with hooks ?
● Let's take a memory buffer
● There are lots of functions which can modify m
– write(m,..), mmap(m,..), str*(m,..)
● Let's say you can actually don't miss a function which can modify m
and you can put a trap (hook) inside all this functions.
● So now you can have the graph ..
Kernel Recipes 2013 – Samir Bellabes
Information flow with hooks ?
● Let's take a memory buffer
● There are lots of functions which can modify m
– write(m,..), mmap(m,..), str*(m,..)
● Let's say you can actually don't miss a function which can modify m
and you can put a trap (hook) inside all this functions.
● So now you can have the graph ..
● What about m[10] = 0; ??
● How can you hook this operation ?
Kernel Recipes 2013 – Samir Bellabes
Information flow with hooks ?
● Ghosts ?
window window window
Doors
pick-locking anyone?
backdoor
Kernel Recipes 2013 – Samir Bellabes
Information flow with hooks ?
● Ghosts ?
window window window
Doors
pick-locking anyone?
backdoor
I'm a ghost,
I can cross walls..
Where is the hook ?
Kernel Recipes 2013 – Samir Bellabes
Information flow with hooks ?
● But it's possible to catch incoherent status of course
– Before there was 3 users inside, now there is 4 users.
● The incoherence will appears by keeping label informations on
objects, and between two hooks.
Kernel Recipes 2013 – Samir Bellabes
Exiting #no_bullshit zone
Kernel Recipes 2013 – Samir Bellabes
What's next ? Security at KR season 3 ?..
● what are “technical mechanism” for security implementation ?
● It's called “hardened kernel”
→ ASLR, PaX, PIE/SSP, RELRO, toolchain, …
→ KR Season 3 ?
Kernel Recipes 2013 – Samir Bellabes
Linux Security Modules
-
Thanks hupstream for this event !
Kernel Recipes 2013

More Related Content

What's hot

Distro Recipes 2013: Retrofitting Init: systemd migration in Mageia
Distro Recipes 2013: Retrofitting Init: systemd migration in MageiaDistro Recipes 2013: Retrofitting Init: systemd migration in Mageia
Distro Recipes 2013: Retrofitting Init: systemd migration in MageiaAnne Nicolas
 
Adding Extended Attribute Support to NFS
Adding Extended Attribute Support to NFSAdding Extended Attribute Support to NFS
Adding Extended Attribute Support to NFSJames Morris
 
Have You Driven an SELinux Lately? - An Update on the SELinux Project - OLS ...
Have You Driven an SELinux Lately? - An Update on the SELinux Project -  OLS ...Have You Driven an SELinux Lately? - An Update on the SELinux Project -  OLS ...
Have You Driven an SELinux Lately? - An Update on the SELinux Project - OLS ...James Morris
 
Stop disabling SELinux!
Stop disabling SELinux!Stop disabling SELinux!
Stop disabling SELinux!Maciej Lasyk
 
Basic Linux Security
Basic Linux SecurityBasic Linux Security
Basic Linux Securitypankaj009
 
Security of Linux containers in the cloud
Security of Linux containers in the cloudSecurity of Linux containers in the cloud
Security of Linux containers in the cloudDobrica Pavlinušić
 
Unix Security
Unix SecurityUnix Security
Unix Securityreplay21
 
Understanding SELinux For the Win
Understanding SELinux For the WinUnderstanding SELinux For the Win
Understanding SELinux For the Winbmbouter
 
How to use SELINUX (No I don't mean turn it off)
How to use SELINUX (No I don't mean turn it off)How to use SELINUX (No I don't mean turn it off)
How to use SELINUX (No I don't mean turn it off)Chuck Reeves
 
MR201406 A Re-introduction to SELinux
MR201406 A Re-introduction to SELinuxMR201406 A Re-introduction to SELinux
MR201406 A Re-introduction to SELinuxFFRI, Inc.
 
Security, Hack1ng and Hardening on Linux - an Overview
Security, Hack1ng and Hardening on Linux - an OverviewSecurity, Hack1ng and Hardening on Linux - an Overview
Security, Hack1ng and Hardening on Linux - an OverviewKaiwan Billimoria
 
Linux Operating System Vulnerabilities
Linux Operating System VulnerabilitiesLinux Operating System Vulnerabilities
Linux Operating System VulnerabilitiesInformation Technology
 
XPDS16: XSM-Flask, current limitations and Ongoing work. - Anshul Makkar, Ct...
XPDS16:  XSM-Flask, current limitations and Ongoing work. - Anshul Makkar, Ct...XPDS16:  XSM-Flask, current limitations and Ongoing work. - Anshul Makkar, Ct...
XPDS16: XSM-Flask, current limitations and Ongoing work. - Anshul Makkar, Ct...The Linux Foundation
 

What's hot (20)

Distro Recipes 2013: Retrofitting Init: systemd migration in Mageia
Distro Recipes 2013: Retrofitting Init: systemd migration in MageiaDistro Recipes 2013: Retrofitting Init: systemd migration in Mageia
Distro Recipes 2013: Retrofitting Init: systemd migration in Mageia
 
Adding Extended Attribute Support to NFS
Adding Extended Attribute Support to NFSAdding Extended Attribute Support to NFS
Adding Extended Attribute Support to NFS
 
Have You Driven an SELinux Lately? - An Update on the SELinux Project - OLS ...
Have You Driven an SELinux Lately? - An Update on the SELinux Project -  OLS ...Have You Driven an SELinux Lately? - An Update on the SELinux Project -  OLS ...
Have You Driven an SELinux Lately? - An Update on the SELinux Project - OLS ...
 
SELinux Basic Usage
SELinux Basic UsageSELinux Basic Usage
SELinux Basic Usage
 
Stop disabling SELinux!
Stop disabling SELinux!Stop disabling SELinux!
Stop disabling SELinux!
 
Basic Linux Security
Basic Linux SecurityBasic Linux Security
Basic Linux Security
 
Security of Linux containers in the cloud
Security of Linux containers in the cloudSecurity of Linux containers in the cloud
Security of Linux containers in the cloud
 
Linux security
Linux securityLinux security
Linux security
 
Unix Security
Unix SecurityUnix Security
Unix Security
 
Linux Security
Linux SecurityLinux Security
Linux Security
 
Introduction To SELinux
Introduction To SELinuxIntroduction To SELinux
Introduction To SELinux
 
Understanding SELinux For the Win
Understanding SELinux For the WinUnderstanding SELinux For the Win
Understanding SELinux For the Win
 
How to use SELINUX (No I don't mean turn it off)
How to use SELINUX (No I don't mean turn it off)How to use SELINUX (No I don't mean turn it off)
How to use SELINUX (No I don't mean turn it off)
 
MR201406 A Re-introduction to SELinux
MR201406 A Re-introduction to SELinuxMR201406 A Re-introduction to SELinux
MR201406 A Re-introduction to SELinux
 
Introduction to SELinux Part-I
Introduction to SELinux Part-IIntroduction to SELinux Part-I
Introduction to SELinux Part-I
 
Security, Hack1ng and Hardening on Linux - an Overview
Security, Hack1ng and Hardening on Linux - an OverviewSecurity, Hack1ng and Hardening on Linux - an Overview
Security, Hack1ng and Hardening on Linux - an Overview
 
Security and Linux Security
Security and Linux SecuritySecurity and Linux Security
Security and Linux Security
 
Selinux
SelinuxSelinux
Selinux
 
Linux Operating System Vulnerabilities
Linux Operating System VulnerabilitiesLinux Operating System Vulnerabilities
Linux Operating System Vulnerabilities
 
XPDS16: XSM-Flask, current limitations and Ongoing work. - Anshul Makkar, Ct...
XPDS16:  XSM-Flask, current limitations and Ongoing work. - Anshul Makkar, Ct...XPDS16:  XSM-Flask, current limitations and Ongoing work. - Anshul Makkar, Ct...
XPDS16: XSM-Flask, current limitations and Ongoing work. - Anshul Makkar, Ct...
 

Viewers also liked

linux security: interact with linux
linux security: interact with linuxlinux security: interact with linux
linux security: interact with linuxAmmar WK
 
Linux Security Scanning with Lynis
Linux Security Scanning with LynisLinux Security Scanning with Lynis
Linux Security Scanning with LynisMichael Boelen
 
Introduction To Linux Security
Introduction To Linux SecurityIntroduction To Linux Security
Introduction To Linux SecurityMichael Boman
 
Linux Security, from Concept to Tooling
Linux Security, from Concept to ToolingLinux Security, from Concept to Tooling
Linux Security, from Concept to ToolingMichael Boelen
 
Linux Security for Developers
Linux Security for DevelopersLinux Security for Developers
Linux Security for DevelopersMichael Boelen
 
What's New with Linux on System z
What's New with Linux on System zWhat's New with Linux on System z
What's New with Linux on System zNovell
 
Docker app armor_usecase
Docker app armor_usecaseDocker app armor_usecase
Docker app armor_usecaseKazuki Omo
 
Operating Docker
Operating DockerOperating Docker
Operating DockerJen Andre
 
LCNA14: Security in the Cloud: Containers, KVM, and Xen - George Dunlap, Citr...
LCNA14: Security in the Cloud: Containers, KVM, and Xen - George Dunlap, Citr...LCNA14: Security in the Cloud: Containers, KVM, and Xen - George Dunlap, Citr...
LCNA14: Security in the Cloud: Containers, KVM, and Xen - George Dunlap, Citr...The Linux Foundation
 
Systemz Security Overview (for non-Mainframe folks)
Systemz Security Overview (for non-Mainframe folks)Systemz Security Overview (for non-Mainframe folks)
Systemz Security Overview (for non-Mainframe folks)Mike Smith
 
Protection in Operating System Layer
Protection in Operating System LayerProtection in Operating System Layer
Protection in Operating System LayerSidharth D
 
Unitrends Sales Presentation 2010
Unitrends Sales Presentation 2010Unitrends Sales Presentation 2010
Unitrends Sales Presentation 2010lincolng
 
File System Implementation & Linux Security
File System Implementation & Linux SecurityFile System Implementation & Linux Security
File System Implementation & Linux SecurityGeo Marian
 
Operating systems security 2007 vulnerability report
Operating systems security 2007 vulnerability reportOperating systems security 2007 vulnerability report
Operating systems security 2007 vulnerability reportAjit Gaddam
 

Viewers also liked (19)

linux security: interact with linux
linux security: interact with linuxlinux security: interact with linux
linux security: interact with linux
 
Linux Security Scanning with Lynis
Linux Security Scanning with LynisLinux Security Scanning with Lynis
Linux Security Scanning with Lynis
 
Linux Security Myth
Linux Security MythLinux Security Myth
Linux Security Myth
 
Introduction To Linux Security
Introduction To Linux SecurityIntroduction To Linux Security
Introduction To Linux Security
 
Linux Security, from Concept to Tooling
Linux Security, from Concept to ToolingLinux Security, from Concept to Tooling
Linux Security, from Concept to Tooling
 
Linux Security for Developers
Linux Security for DevelopersLinux Security for Developers
Linux Security for Developers
 
Linux Hardening
Linux HardeningLinux Hardening
Linux Hardening
 
What's New with Linux on System z
What's New with Linux on System zWhat's New with Linux on System z
What's New with Linux on System z
 
Docker app armor_usecase
Docker app armor_usecaseDocker app armor_usecase
Docker app armor_usecase
 
Operating Docker
Operating DockerOperating Docker
Operating Docker
 
LCNA14: Security in the Cloud: Containers, KVM, and Xen - George Dunlap, Citr...
LCNA14: Security in the Cloud: Containers, KVM, and Xen - George Dunlap, Citr...LCNA14: Security in the Cloud: Containers, KVM, and Xen - George Dunlap, Citr...
LCNA14: Security in the Cloud: Containers, KVM, and Xen - George Dunlap, Citr...
 
Apparmor
ApparmorApparmor
Apparmor
 
Systemz Security Overview (for non-Mainframe folks)
Systemz Security Overview (for non-Mainframe folks)Systemz Security Overview (for non-Mainframe folks)
Systemz Security Overview (for non-Mainframe folks)
 
Protection in Operating System Layer
Protection in Operating System LayerProtection in Operating System Layer
Protection in Operating System Layer
 
Unitrends Sales Presentation 2010
Unitrends Sales Presentation 2010Unitrends Sales Presentation 2010
Unitrends Sales Presentation 2010
 
File System Implementation & Linux Security
File System Implementation & Linux SecurityFile System Implementation & Linux Security
File System Implementation & Linux Security
 
Operating systems security 2007 vulnerability report
Operating systems security 2007 vulnerability reportOperating systems security 2007 vulnerability report
Operating systems security 2007 vulnerability report
 
Jaundice
Jaundice Jaundice
Jaundice
 
Linux security
Linux securityLinux security
Linux security
 

Similar to Kernel Recipes 2013 - Linux Security Modules: different formal concepts

IBM WebSphere MQ for z/OS - Security
IBM WebSphere MQ for z/OS - SecurityIBM WebSphere MQ for z/OS - Security
IBM WebSphere MQ for z/OS - SecurityDamon Cross
 
SELinux Johannesburg Linux User Group (JoziJUg)
SELinux Johannesburg Linux User Group (JoziJUg)SELinux Johannesburg Linux User Group (JoziJUg)
SELinux Johannesburg Linux User Group (JoziJUg)Jumping Bean
 
Kubernetes - Security Journey
Kubernetes - Security JourneyKubernetes - Security Journey
Kubernetes - Security JourneyJerry Jalava
 
Hardening Kubernetes by Securing Pods
Hardening Kubernetes by Securing PodsHardening Kubernetes by Securing Pods
Hardening Kubernetes by Securing PodsSuraj Deshmukh
 
The Future of Security and Productivity in Our Newly Remote World
The Future of Security and Productivity in Our Newly Remote WorldThe Future of Security and Productivity in Our Newly Remote World
The Future of Security and Productivity in Our Newly Remote WorldDevOps.com
 
CloudNativeTurkey - Lines of Defence.pdf
CloudNativeTurkey - Lines of Defence.pdfCloudNativeTurkey - Lines of Defence.pdf
CloudNativeTurkey - Lines of Defence.pdfKoray Oksay
 
Lines of Defense - Securing your Kubernetes Clusters by Koray Oksay
Lines of Defense - Securing your Kubernetes Clusters by Koray OksayLines of Defense - Securing your Kubernetes Clusters by Koray Oksay
Lines of Defense - Securing your Kubernetes Clusters by Koray OksayContainerDay Security 2023
 
Who is afraid of privileged containers ?
Who is afraid of privileged containers ?Who is afraid of privileged containers ?
Who is afraid of privileged containers ?Marko Bevc
 
Security best practices for kubernetes deployment
Security best practices for kubernetes deployment  Security best practices for kubernetes deployment
Security best practices for kubernetes deployment Aqua Security
 
Security best practices for kubernetes deployment
Security best practices for kubernetes deploymentSecurity best practices for kubernetes deployment
Security best practices for kubernetes deploymentMichael Cherny
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Mitigating Java Deserialization attacks from within the JVM
Mitigating Java Deserialization attacks from within the JVMMitigating Java Deserialization attacks from within the JVM
Mitigating Java Deserialization attacks from within the JVMApostolos Giannakidis
 
Chris Rutter: Avoiding The Security Brick
Chris Rutter: Avoiding The Security BrickChris Rutter: Avoiding The Security Brick
Chris Rutter: Avoiding The Security BrickMichael Man
 
Secrets Management and Delivery to Kubernetes Pods
Secrets Management and Delivery to Kubernetes PodsSecrets Management and Delivery to Kubernetes Pods
Secrets Management and Delivery to Kubernetes PodsSatish Devarapalli
 
Groovy In the Cloud
Groovy In the CloudGroovy In the Cloud
Groovy In the CloudJim Driscoll
 
CERN OpenStack Cloud Control Plane - From VMs to K8s
CERN OpenStack Cloud Control Plane - From VMs to K8sCERN OpenStack Cloud Control Plane - From VMs to K8s
CERN OpenStack Cloud Control Plane - From VMs to K8sBelmiro Moreira
 
Security for cloud native workloads
Security for cloud native workloadsSecurity for cloud native workloads
Security for cloud native workloadsRuncy Oommen
 
Secure container: Kata container and gVisor
Secure container: Kata container and gVisorSecure container: Kata container and gVisor
Secure container: Kata container and gVisorChing-Hsuan Yen
 

Similar to Kernel Recipes 2013 - Linux Security Modules: different formal concepts (20)

IBM WebSphere MQ for z/OS - Security
IBM WebSphere MQ for z/OS - SecurityIBM WebSphere MQ for z/OS - Security
IBM WebSphere MQ for z/OS - Security
 
Penetration Testing AWS
Penetration Testing AWSPenetration Testing AWS
Penetration Testing AWS
 
SELinux Johannesburg Linux User Group (JoziJUg)
SELinux Johannesburg Linux User Group (JoziJUg)SELinux Johannesburg Linux User Group (JoziJUg)
SELinux Johannesburg Linux User Group (JoziJUg)
 
Kubernetes - Security Journey
Kubernetes - Security JourneyKubernetes - Security Journey
Kubernetes - Security Journey
 
Hardening Kubernetes by Securing Pods
Hardening Kubernetes by Securing PodsHardening Kubernetes by Securing Pods
Hardening Kubernetes by Securing Pods
 
The Future of Security and Productivity in Our Newly Remote World
The Future of Security and Productivity in Our Newly Remote WorldThe Future of Security and Productivity in Our Newly Remote World
The Future of Security and Productivity in Our Newly Remote World
 
CloudNativeTurkey - Lines of Defence.pdf
CloudNativeTurkey - Lines of Defence.pdfCloudNativeTurkey - Lines of Defence.pdf
CloudNativeTurkey - Lines of Defence.pdf
 
Lines of Defense - Securing your Kubernetes Clusters by Koray Oksay
Lines of Defense - Securing your Kubernetes Clusters by Koray OksayLines of Defense - Securing your Kubernetes Clusters by Koray Oksay
Lines of Defense - Securing your Kubernetes Clusters by Koray Oksay
 
Who is afraid of privileged containers ?
Who is afraid of privileged containers ?Who is afraid of privileged containers ?
Who is afraid of privileged containers ?
 
Container Security Mmanagement
Container Security MmanagementContainer Security Mmanagement
Container Security Mmanagement
 
Security best practices for kubernetes deployment
Security best practices for kubernetes deployment  Security best practices for kubernetes deployment
Security best practices for kubernetes deployment
 
Security best practices for kubernetes deployment
Security best practices for kubernetes deploymentSecurity best practices for kubernetes deployment
Security best practices for kubernetes deployment
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Mitigating Java Deserialization attacks from within the JVM
Mitigating Java Deserialization attacks from within the JVMMitigating Java Deserialization attacks from within the JVM
Mitigating Java Deserialization attacks from within the JVM
 
Chris Rutter: Avoiding The Security Brick
Chris Rutter: Avoiding The Security BrickChris Rutter: Avoiding The Security Brick
Chris Rutter: Avoiding The Security Brick
 
Secrets Management and Delivery to Kubernetes Pods
Secrets Management and Delivery to Kubernetes PodsSecrets Management and Delivery to Kubernetes Pods
Secrets Management and Delivery to Kubernetes Pods
 
Groovy In the Cloud
Groovy In the CloudGroovy In the Cloud
Groovy In the Cloud
 
CERN OpenStack Cloud Control Plane - From VMs to K8s
CERN OpenStack Cloud Control Plane - From VMs to K8sCERN OpenStack Cloud Control Plane - From VMs to K8s
CERN OpenStack Cloud Control Plane - From VMs to K8s
 
Security for cloud native workloads
Security for cloud native workloadsSecurity for cloud native workloads
Security for cloud native workloads
 
Secure container: Kata container and gVisor
Secure container: Kata container and gVisorSecure container: Kata container and gVisor
Secure container: Kata container and gVisor
 

More from Anne Nicolas

Kernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstKernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstAnne Nicolas
 
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMIKernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMIAnne Nicolas
 
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelKernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelAnne Nicolas
 
Kernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyKernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyAnne Nicolas
 
Kernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and futureKernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and futureAnne Nicolas
 
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...Anne Nicolas
 
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataKernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataAnne Nicolas
 
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Anne Nicolas
 
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxEmbedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxAnne Nicolas
 
Embedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less specialEmbedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less specialAnne Nicolas
 
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconEmbedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconAnne Nicolas
 
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) pictureEmbedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) pictureAnne Nicolas
 
Embedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayEmbedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayAnne Nicolas
 
Embedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmakerEmbedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmakerAnne Nicolas
 
Embedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integrationEmbedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integrationAnne Nicolas
 
Embedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debuggingEmbedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debuggingAnne Nicolas
 
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaEmbedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaAnne Nicolas
 
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedKernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedAnne Nicolas
 
Kernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPKernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPAnne Nicolas
 
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Anne Nicolas
 

More from Anne Nicolas (20)

Kernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstKernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream first
 
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMIKernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
 
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelKernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
 
Kernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyKernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are money
 
Kernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and futureKernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and future
 
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
 
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataKernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
 
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
 
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxEmbedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
 
Embedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less specialEmbedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less special
 
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconEmbedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
 
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) pictureEmbedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
 
Embedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayEmbedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops way
 
Embedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmakerEmbedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmaker
 
Embedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integrationEmbedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integration
 
Embedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debuggingEmbedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debugging
 
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaEmbedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
 
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedKernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
 
Kernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPKernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDP
 
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
 

Recently uploaded

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Recently uploaded (20)

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

Kernel Recipes 2013 - Linux Security Modules: different formal concepts

  • 1. Kernel Recipes 2013 – Samir Bellabes Linux Security Modules SELinux, AppArmor & Tomoyo trough security models - Kernel Recipes 2013
  • 2. Kernel Recipes 2013 – Samir Bellabes Previously on KR Season 1
  • 3. Kernel Recipes 2013 – Samir Bellabes Previously on KR Season 1 ● Formal models for computer security ● Specify functional & assurance requirements → CC ● Implementation ● Testing → CC CC = Common Criteria
  • 4. Kernel Recipes 2013 – Samir Bellabes Previously on KR Season 1 ● LOMAC : Low Water-Mark Mandatory Access Control - 2000 ● Bell-La Padula (BLP) – 1973 ● object-capability - 1981 ● Take-grant - 1977 ● Biba – 1977 ● Access control Matrix – 1971 ● ..
  • 5. Kernel Recipes 2013 – Samir Bellabes Previously on KR Season 1 security integrity authentication IMA keys availability confidentiality auditcrypto accounting non repudiation Shared properties
  • 6. Kernel Recipes 2013 – Samir Bellabes Previously on KR Season 1 access control objectssubject policy What is MAC ?
  • 7. Kernel Recipes 2013 – Samir Bellabes Previously on KR Season 1 access control objectssubject policy What is MAC ? Attributes are applied They are differents
  • 8. Kernel Recipes 2013 – Samir Bellabes Summary
  • 9. Kernel Recipes 2013 – Samir Bellabes Summary ● Model for SELinux – History & discuss ● Model for AppArmor – History & discuss ● Model for Tomoyo – History & discuss ● Summary of the Linux Security Summit 2013 meeting ● Discuss about using LSM hooks for “information flow”
  • 10. Kernel Recipes 2013 – Samir Bellabes Access Control: timetable SELinux proposed by NSA Hooks mechanism 2001 hooks upstream 2003 removing LSM ? 2006 tomoyo 2009 → AppArmor 2010 → smack 2008 → Stacking / chaining : 2004 → .. RBAC 92/96 LOMAC 2000 PaX 2000 → Linux 2.2 : 99 Linux 2.6 : 03 Linux 2.0 : 96 Linux 2.4 : 01 Take Grant 77 Biba 77 Access Control Matrix 71 Object capablity 81 OrBAC 2003 TCSEC Orange book 85 RSBAC 98 TMAC 98 ABAC 2003 RBAC : Role TMAC : team RSBAC : rule set LOMAC : low OrBAC : organise ABAC : attribute MAC/DAC 60/70 Bell-LP 73 SELinux 2003 →
  • 11. Kernel Recipes 2013 – Samir Bellabes SELinux
  • 12. Kernel Recipes 2013 – Samir Bellabes Model for SELinux : history ● NSA was the original developer ● Implementation of the operating system security architecture called Flask ● In the 2.5.x series, LSM framework was developed,so SELinux was ported for 2.6.0 ● Flask : Flux Advanced Security Kernel
  • 13. Kernel Recipes 2013 – Samir Bellabes SELinux model : the Flask architecture ● Flask architecture simply implements MAC ● Principle of “least privilege” ● Objects and subjects are related to security attributes inside a “security context” ● Dealing with security context is not easy, so we can refer to it with a SID : security identifier, a kind or pointer, reference to the context. Exemple : it's working well for persistent objects ● A security decision can be made with {SID(subject), SID(object)}. ● Two kind of decisions exist : – Labeling decision : obj/sub transition → creating new file from directory – Access decision : check permissions for operations using Access Vector Cache (AVC) : access vector gives decisions for all permissions for a object, or directly on the server policy
  • 14. Kernel Recipes 2013 – Samir Bellabes SELinux model : the Flask architecture ● Security policy over process and objects ● True innovation : splitting the technical architecture from the policy (not only a modularity) ● Demonstration by implementing : – Type enforcement (TE) 1980-1985 – Role Based Access Control (RBAC) 1992-1996 – Multi Level Security (MLS)
  • 15. Kernel Recipes 2013 – Samir Bellabes SELinux model : TE – type enforcement ● SAT : Secure Ada Target, 1st implementation, late 1980s ● Labels (security informations) on subjects and objects ● security context with labels on subjects → “domain label” (DTE) ● security context with labels on objects → “type label” (DTE) ● class exist for using objects directly: – Same type, but different class → can manage the situation ● TE uses role for users, not domain. – credentials mechanism → b6dff3 : separate task security context from task_struct, so no more true label on subject ● TE enables the labeling decisions and the access decisions
  • 16. Kernel Recipes 2013 – Samir Bellabes SELinux model : TE – type enforcement ● obj3, obj1 and obj2 are in the same type “foo_t” obj2 obj1 obj3 S1 S0 obj0 foo_t bar_t
  • 17. Kernel Recipes 2013 – Samir Bellabes SELinux model : type enforcement ● “So it's all about classification ?” – I think so, but it is not really a shared idea..
  • 18. Kernel Recipes 2013 – Samir Bellabes SELinux model : RBAC ● RBAC : Role Based Access Control ● Attaching roles on users, attaching permissions on roles
  • 19. Kernel Recipes 2013 – Samir Bellabes SELinux model : RBAC ● RBAC : Role Based Access Control ● Attaching roles on users, attaching permissions on roles USER
  • 20. Kernel Recipes 2013 – Samir Bellabes SELinux model : RBAC ● RBAC : Role Based Access Control ● Attaching roles on users, attaching permissions on roles USER R0 R1 R2
  • 21. Kernel Recipes 2013 – Samir Bellabes SELinux model : RBAC ● RBAC : Role Based Access Control ● Attaching roles on users, attaching permissions on roles USER R0 R1 R2 bar_t snafu_t ack_t truc_t foo_t
  • 22. Kernel Recipes 2013 – Samir Bellabes SELinux model : RBAC ● RBAC : Role Based Access Control ● Attaching roles on users, attaching permissions on roles USER R0 R1 R2 foo_t bar_t snafu_t ack_t truc_t obj2 obj1 obj0
  • 23. Kernel Recipes 2013 – Samir Bellabes SELinux model : RBAC ● RBAC : Role Based Access Control ● Attaching roles on users, attaching permissions on roles USER R0 R1 R2 foo_t bar_t snafu_t ack_t truc_t obj2 obj1 obj0 USER+ Role transition
  • 24. Kernel Recipes 2013 – Samir Bellabes SELinux model : MLS ● It's about security levels ● SELinux implements Bell-Lapadula model
  • 25. Kernel Recipes 2013 – Samir Bellabes SELinux model : MLS ● It's about security levels ● SELinux implements Bell-Lapadula model secret top secret confidential unclassified Transition states are managed time
  • 26. Kernel Recipes 2013 – Samir Bellabes SELinux model : MLS ● It's about security levels ● SELinux implements Bell-Lapadula model time secret top secret confidential unclassified Transition states are managed Read-down : Security(subject) > Security(object) write-up: Security(subject) < Security(object)
  • 27. Kernel Recipes 2013 – Samir Bellabes SELinux model : MLS ● It's about security levels ● SELinux implements Bell-Lapadula model time secret top secret confidential unclassified Transition states are managed Read-down : Security(subject) > Security(object) write-up: Security(subject) < Security(object) Opposite is Biba for integrity
  • 28. Kernel Recipes 2013 – Samir Bellabes SELinux : booting ● Booting / quit is a real deal : assure reliability on security is hard (embedded, ...). ● start_kernel() ● security_init() ● Initial SID (1) ● Initialize AVC, selinuxfs ● Set enforcing mode from config ● (some stuff called relabeling) ● Start /sbin/init with label context
  • 29. Kernel Recipes 2013 – Samir Bellabes AppArmor
  • 30. Kernel Recipes 2013 – Samir Bellabes Model for AppArmor : history ● Originally from 1998 ● Upstream in 2.6.36
  • 31. Kernel Recipes 2013 – Samir Bellabes AppArmor model : type enforcement ● A modified domain type enforcement (again) : Profile is the domain type – Normally subject ↔ objects ↔ permissions (type enforcement) – But profile A = { (obj0, perm0), (obj1, perm1), .. } – Profiles are stored in database ● Using information labels on objects (void *security) until creds patches (2.6.29) ● For files, AppArmor is using path-name as information, no label (dealing with mount point) (called implicit labeling) ● Using a technical mean called “deriving implicit types” ..
  • 32. Kernel Recipes 2013 – Samir Bellabes Tomoyo
  • 33. Kernel Recipes 2013 – Samir Bellabes Tomoyo model : type enforcement ● Process are attached a single domain ● If a process exec a program, divide or transit the domain ● Operations granularity on objects are “read/write/execute”
  • 34. Kernel Recipes 2013 – Samir Bellabes Tomoyo model : domain → path-named ● Starting with domain <kernel> ● Domain for /sbin/init is <kernel>/sbin/init/ ● Exemple : – <kernel>/sbin/init/etc/rc.d/service – <kernel>/usr/sbin/sshd/bin/bash ● There are some exceptions (restarting services no more <kernel>/..)
  • 35. Kernel Recipes 2013 – Samir Bellabes Tomoyo model : type enforcement ● Process are attached a single domain ● If a process exec a program, divide or transit the domain ● Operations granularity on objects are “read/write/execute” exec obj0 obj1 obj0 obj2 Permission on domain Not process
  • 36. Kernel Recipes 2013 – Samir Bellabes Model for Tomoyo : history ● As far as I remember : Fighting ● Revive “void *security” : b6dff3 ● Hook for network : post_accept ● Merging ● ..
  • 37. Kernel Recipes 2013 – Samir Bellabes Summary of Linux Security Summit 2013
  • 38. Kernel Recipes 2013 – Samir Bellabes Summary of LSS 2013 ● Update on all security modules. ● Security mechanisms : ASLR, anti-patterns : using PaX plugins for gcc (!), using Coccinelle (!!!!), ● Stacking (agaaaaain..) but now it's called multiple concurrent security models ● technical papers for embedded ● http://kernsec.org/wiki/index.php/Linux_Security_Summit_2013
  • 39. Kernel Recipes 2013 – Samir Bellabes Using LSM hooks for “information flow”
  • 40. Kernel Recipes 2013 – Samir Bellabes Using LSM hooks for “information flow” Entering #no_bullshit zone Thanks Gandi for sponsoring Kernel Recipes
  • 41. Kernel Recipes 2013 – Samir Bellabes Information flow with hooks ? ● It's all about state machine and transitions State 0 S1 socket() S2 bind() S1S1 S3 connect()
  • 42. Kernel Recipes 2013 – Samir Bellabes Information flow with hooks ? ● It's all about state machine and transitions State 0 S1 socket() S2 bind() S1S1 S3 connect() How can we build this interesting kind of graphs ? Why not using LSM hooks as “borders” ?
  • 43. Kernel Recipes 2013 – Samir Bellabes Information flow with hooks ? because ghosts are among us !
  • 44. Kernel Recipes 2013 – Samir Bellabes Information flow with hooks ? ● Let's take a memory buffer ● There are lots of functions which can modify m – write(m,..), mmap(m,..), str*(m,..) ● Let's say you can actually don't miss a function which can modify m and you can put a trap (hook) inside all this functions. ● So now you can have the graph ..
  • 45. Kernel Recipes 2013 – Samir Bellabes Information flow with hooks ? ● Let's take a memory buffer ● There are lots of functions which can modify m – write(m,..), mmap(m,..), str*(m,..) ● Let's say you can actually don't miss a function which can modify m and you can put a trap (hook) inside all this functions. ● So now you can have the graph .. ● What about m[10] = 0; ?? ● How can you hook this operation ?
  • 46. Kernel Recipes 2013 – Samir Bellabes Information flow with hooks ? ● Ghosts ? window window window Doors pick-locking anyone? backdoor
  • 47. Kernel Recipes 2013 – Samir Bellabes Information flow with hooks ? ● Ghosts ? window window window Doors pick-locking anyone? backdoor I'm a ghost, I can cross walls.. Where is the hook ?
  • 48. Kernel Recipes 2013 – Samir Bellabes Information flow with hooks ? ● But it's possible to catch incoherent status of course – Before there was 3 users inside, now there is 4 users. ● The incoherence will appears by keeping label informations on objects, and between two hooks.
  • 49. Kernel Recipes 2013 – Samir Bellabes Exiting #no_bullshit zone
  • 50. Kernel Recipes 2013 – Samir Bellabes What's next ? Security at KR season 3 ?.. ● what are “technical mechanism” for security implementation ? ● It's called “hardened kernel” → ASLR, PaX, PIE/SSP, RELRO, toolchain, … → KR Season 3 ?
  • 51. Kernel Recipes 2013 – Samir Bellabes Linux Security Modules - Thanks hupstream for this event ! Kernel Recipes 2013