AppArmor LSM Update Introduce self John Johansen.

Slides:



Advertisements
Similar presentations
Windows NT server and workstation Name: Li Shen Course: COCS541 Instructor: Mort Anvari.
Advertisements

Usage of the memoQ web service API by LSP – a case study
Lightweight virtual system mechanism Gao feng
01/05/2015Leiden Institute of Advanced Computer Science 1 The Open Kernel Environment - spinning Linux - Herbert Bos Bart Samwel
Lecture 19 Page 1 CS 111 Online Protecting Operating Systems Resources How do we use these various tools to protect actual OS resources? Memory? Files?
Secure web browsers, malicious hardware, and hardware support for binary translation Sam King.
Speedstack: PCB Stack Up Data Exchange Using IPC-2581 Rev B
Chapter 9 Building a Secure Operating System for Linux.
Memory Management 2010.
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
SELinux. 2SELinux Wikipedia says: Security-Enhanced Linux (SELinux) is an implementation of mandatory access control using Linux Security Modules (LSM)
ADVANCED LINUX SECURITY. Abstract : Using mandatory access control greatly increases the security of an operating system. SELinux, which is an implementation.
Network File System (NFS) in AIX System COSC513 Operation Systems Instructor: Prof. Anvari Yuan Ma SID:
Google Chrome Your Customized Google Buddy April 2012 John Riley and Denise Tate-Kuhler.
Seth Gibson Rapid Experience Development Build It On Stone.
JIT in webkit. What’s JIT See time_compilation for more info. time_compilation.
POOMA 2.4 Progress and Plans Scott Haney, Mark Mitchell, James Crotinger, Jeffrey Oldham, and Stephen Smith October 22, 2001 Los Alamos National Laboratory.
1 Lecture 19 Configuration Management Software Engineering.
Basic Security: Java vs.NET Master Seminar Advanced Software Engineering Topics Prof. Jacques Pasquier-Rocha Software Engineering Group Department of Informatics.
Chapter 3.5 Memory and I/O Systems. 2 Memory Management Memory problems are one of the leading causes of bugs in programs (60-80%) MUCH worse in languages.
Operating Systems Memory management. Memory Management List of Topics 1. Memory Management 2. Memory In Systems Design 3. Binding Times 4. Introduction.
Chapter 8 – Main Memory (Pgs ). Overview  Everything to do with memory is complicated by the fact that more than 1 program can be in memory.
Challenges in KeyStone Workshop Getting Ready for Hawking, Moonshot and Edison.
ADV. NETWORK SECURITY CODY WATSON What’s in Your Dongle and Bank Account? Mandatory and Discretionary Protections of External Resources.
AMB HW LOW LEVEL SIMULATION VS HW OUTPUT G. Volpi, INFN Pisa.
© Donald F. Ferguson, All rights reserved. Topics in Computer Science: Modern Internet Service Oriented Application Development Lecture 8: IPaaS.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Protection & Security Greg Bilodeau CS 5204 October 13, 2009.
Application Design Document Developers: o Uri Goldenberg o Henry Abravanel o Academic.
Web Server Security: Protecting Your Pages NOAA OAR WebShop 2001 August 2 nd, 2001 Jeremy Warren.
Security-Enhanced Linux Stephanie Stelling Center for Information Security Department of Computer Science University of Tulsa, Tulsa, OK
1 Titanium Review: Language and Compiler Amir Kamil Titanium Language and Compiler Changes Amir Kamil U.C. Berkeley September.
MAUS Status A. Dobbs CM43 29 th October Contents MAUS Overview Infrastructure Geometry and CDB Detector Updates CKOV EMR KL TOF Tracker Global Tracking.
Checkpoint-restore in userspace. Are we there yet? Pavel Emelyanov LinuxCon Europe 2012.
Linux Kernel Security (SELinux vs AppArmor vs Grsecurity)
SELinux Overview Dan Walsh SELinux for Dummies Dan Walsh
December 1, 2006©2006 Craig Zilles1 Threads & Atomic Operations in Hardware  Previously, we introduced multi-core parallelism & cache coherence —Today.
SE Linux Implementation Russell Coker. What is SE Linux? A system for Mandatory Access Control (MAC) based on the Linux Security Modules (LSM) framework.
SDN-O LCM for Mercury Release Key Points and Overview
OpenShift & SELinux Dan Walsh Twitter: #rhatdan
Seven Problems of Linux Containers
Paper Discussions Karthik Dantu Steve Ko.
BioPortal as (the only functional) OOR SandBox (so far)
Chapter 14: System Protection
Linux Containers Overview & Roadmap
CSE 105 theory of computation
Informatica PowerCenter Performance Tuning Tips
Taming Data Logistics: The Hardest Part of Data Science
Compositional Pointer and Escape Analysis for Java Programs
 .NET CORE
Atomic Operations in Hardware
Atomic Operations in Hardware
Containers and Virtualisation
Dan Walsh Red Hat, Inc. Sandbox Dan Walsh Red Hat, Inc.
AppArmor Update 2014 Linux Security Summit
AppArmor Update 2015 Linux Security Summit
Making the LSM available to containers FOSDEM18
The UNIX Time-Sharing System
Design IV Chapter 18 11/14/2018 Crowley OS Chap. 18.
Central Processing Unit
CSCE 315 – Programming Studio, Fall 2017 Tanzir Ahmed
File System B. Ramamurthy B.Ramamurthy 11/27/2018.
Light-weight Contexts: An OS Abstraction for Safety and Performance
Xen Network I/O Performance Analysis and Opportunities for Improvement
Data Model.
CSE 105 theory of computation
TriFoil System Overview From Global Directions, Inc.
Lecture 4: Instruction Set Design/Pipelining
Games Development 2 Entity / Architecture Review
CSE 105 theory of computation
Presentation transcript:

AppArmor LSM Update Introduce self John Johansen

AppArmor - the year in retrospect Land incremental improvements Lay the Foundation Eliminate out of tree patches Improve and extend What landed What is close to landing What else was worked on Interesting year work on minor improvements - Working towards eliminating the out of tree patches while at the same time working towards major improvements - Slow progress towards completing the model - Well aware that apparmor isn't complete and is missing some critical pieces - especially the upstream version Some of this has been in planning/dev for years

What landed? Released AppArmor 2.7, 2.8 Mostly under the hoods improvements Kernel Bug fixes aafs introspection interface improvements Userspace Rewrote/updated some basic tools to python/python 3 Simple policy language improvements/consistency Policy compiler improvements Reduced memory usage Improved compilation performance Finished minimization Better compression Basic lxc integration Kernel - a few bugs fixes - aafs – start of removing the out of tree introspection patch (procfs style) - still missing loaded policy - WIP should land soon Userspace - tools a hodgepodge of different languages just cleaning up and doing house keeping - file, capability, Completely changed the memory foot print 2-4x speed improvements 30-40% Reduced policy size Very basic lxc integration, wrapping container to harden it, more to come

What is close to landing? mount rules RCU lock rework policy introspection Matching engine improvements cleaned up matching/verification Differential compression Cache line alignment policy templating – aa-easyprof sandbox dbus prototype All of these have had patches/prototypes posted out Mount rules – base is in testing in precise, pretty solid but there are some extensions that we would like to work in (lsm hook to update state for pivot_root) Policy introspection – dir for each profile First set of matching engine improvements faster, reduce size 2x+ (policy dependent), Actually speeds up creation of dfa Templating – improve policy generation, base “parameterized” base set of rules Sandbox – similar to selinux sandbox dynamically generated policy +chroot/container + nested xserver

What is being worked on? dfa → ehfa state machine sharing variables audit refactor/learning extended mediation Environment variable matching/filtering net ipc, ... improved internal labeling namespaces improvements improved lxc integration stacking delegation/tainting user policy Things that have been worked on but haven't laned yet 2nd set of matching engine improvements - share states between domains, precompute intersections – reduces size, faster - reduce size again, choke points, extend abilities – variables, back refs, embedded dfas - don't dump our learning stream to audit - better filtering than secure exec (which is very limited) - finish up ipc - finally have a network implementation worth upstreaming - coarse af/proto mediation, socket labeling, some secmark - and the big step - internal labeling key to much of the extended mediation - NS how much can be loaded, ...

Labels & Stacking Stacking label 1 profile A profile B profile C user profile profile B profile C NS Container User NS Stacking Internal Labeling - not really labeling as in selinux or type enforcement but similar - currently cache a single profile off of some objects (short circuit lookups etc) - is roughly a set of profiles (could be done as states, profiles:accept perm, domain internal label) - label check is done before falling through to access path check (files pathname, ..) - sid maps to a label Stacking - sadly not even at working prototype stage - just a label with a little extra information - track current profile/ns (top of stack) - only current ns (top of stack), can be manipulated or seen from within that NS - NS are hierarchical - set up new policy NS for container, and it can load its only policy

Thank you for your time