SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Ubuntu Application 
Confinement 
Or: How I learned to stop worrying 
and trust application developers 
Ted Gould 
ted@canonical.com 
@tedjgould 
SMU 
3 Sept 2014
“I'm more worried about Murphy 
than I am Machievilli” 
— Michi Henning
Ideal 
Cracker
Diminished User Experience
Dead 
Battery 
© Andy Armstrong — CC-BY-SA — https://www.flickr.com/photos/andyarmstrong/190078748/
© Josh Hallett — CC-BY — https://www.flickr.com/photos/hyku/368912557/ 
Data 
Protection
Physical 
Destruction 
© Antti T. Nissinen — CC-BY — https://www.flickr.com/photos/54177777@N00/373864777/
Phone Usage 
http://hbr.org/2013/01/how-people-really-use-mobile/
App 
App
App Writable Area 
~/.cache/$(pkg) 
~/.local/share/$(pkg) 
~/.config/$(pkg) 
App Readable Area 
/usr/share/icons/ 
/bin/sh 
/usr/bin/qmlscene 
App Restricted Area 
~/.cache/$(other pkg) 
~/.local/share/address-book 
~/Documents/
Application 
Switcher
Presentation Application Switcher
Infinite App Illusion 
Technical User 
How many 
apps can I 
run? 
1 GB RAM 
1 GHz Quad Core
User 
Interaction 
Only!!!
Linux Kernel 
OOM Killer 
(want to include 
graphics resources in 
the future)
What happens: 
App is asked to save 
state 
Graphic buffers 
grabbed for screenshot 
Timeout, then all 
processes are sent 
SIGSTOP
What happens: 
NOTHING!
Positive: 
Ask to save state nicely via life cycle 
Stop using processing when not asked 
Negative: 
SIGSTOP apps 
SIGKILL apps on OOM killer
DBus
DBus Message 
Type Signal or Method 
Destination :0.54 or “com.canonical.Unity” 
Path /com/canonical/Unity/Dash 
Interface com.canonical.unity.dash 
Method ShowAttention 
Payload [“foo”, “bar”]
Request permission at 
time of use
Review (1/2) 
Ubuntu Applications are¹: 
ELF Binaries 
Link to C libs 
Draw on an EGL Buffer 
¹ This is really only from a confinement/lifecycle perspective, we have a 
really nice QML SDK that makes application author's lives much 
easier, you should use it if you can.
Review (2/2) 
Ubuntu Applications are: 
Confined. By default the applications are 
restricted from using a lot of functionality that 
might be expected from a traditional Linux user 
session. 
Managed. The application lifecycle works to 
keep the user in control of what is draining the 
battery and using resources. 
Have Friends. Trusted helpers provide ways to 
implement the functionality you need and work 
with confinement.
Additional Info 
http://www.ubuntu.com/phone 
https://developer.ubuntu.com 
https://wiki.ubuntu.com/Security/AppArmor 
https://wiki.ubuntu.com/Mir
© Stéfan — CC-BY-SA — https://www.flickr.com/photos/st3f4n/143623934

Weitere ähnliche Inhalte

Ähnlich wie Ubuntu application confinement

Mediating Applications on the Android System
Mediating Applications on the Android SystemMediating Applications on the Android System
Mediating Applications on the Android System
Nizar Maan
 
Distributed Co-ordinator Model for Optimal Utilization of Software and Piracy...
Distributed Co-ordinator Model for Optimal Utilization of Software and Piracy...Distributed Co-ordinator Model for Optimal Utilization of Software and Piracy...
Distributed Co-ordinator Model for Optimal Utilization of Software and Piracy...
CSCJournals
 
Mobile application security
Mobile application securityMobile application security
Mobile application security
Shubhneet Goel
 
Android Code Optimization Techniques 2
Android Code Optimization Techniques 2Android Code Optimization Techniques 2
Android Code Optimization Techniques 2
Ishrat khan
 

Ähnlich wie Ubuntu application confinement (20)

Secret Web Performance Metric - DevDayBe
Secret Web Performance Metric - DevDayBeSecret Web Performance Metric - DevDayBe
Secret Web Performance Metric - DevDayBe
 
Dori waldman android _course_2
Dori waldman android _course_2Dori waldman android _course_2
Dori waldman android _course_2
 
Portable storage device management
Portable storage device managementPortable storage device management
Portable storage device management
 
A Survey of Cyber foraging systems: Open Issues, Research Challenges
A Survey of Cyber foraging systems: Open Issues, Research ChallengesA Survey of Cyber foraging systems: Open Issues, Research Challenges
A Survey of Cyber foraging systems: Open Issues, Research Challenges
 
A Framework for Providing Selective Permissions to Android Applications
A Framework for Providing Selective Permissions to Android ApplicationsA Framework for Providing Selective Permissions to Android Applications
A Framework for Providing Selective Permissions to Android Applications
 
IRJET- An Efficient Hardware-Oriented Runtime Approach for Stack-Based Softwa...
IRJET- An Efficient Hardware-Oriented Runtime Approach for Stack-Based Softwa...IRJET- An Efficient Hardware-Oriented Runtime Approach for Stack-Based Softwa...
IRJET- An Efficient Hardware-Oriented Runtime Approach for Stack-Based Softwa...
 
Dori waldman android _course
Dori waldman android _courseDori waldman android _course
Dori waldman android _course
 
Mediating Applications on the Android System
Mediating Applications on the Android SystemMediating Applications on the Android System
Mediating Applications on the Android System
 
Usability specification-document-template
Usability specification-document-templateUsability specification-document-template
Usability specification-document-template
 
The secret web performance metric no one is talking about
The secret web performance metric no one is talking aboutThe secret web performance metric no one is talking about
The secret web performance metric no one is talking about
 
Distributed Co-ordinator Model for Optimal Utilization of Software and Piracy...
Distributed Co-ordinator Model for Optimal Utilization of Software and Piracy...Distributed Co-ordinator Model for Optimal Utilization of Software and Piracy...
Distributed Co-ordinator Model for Optimal Utilization of Software and Piracy...
 
Apparmor
ApparmorApparmor
Apparmor
 
Alternative Viewers for Second Life & OpenSim
Alternative Viewers for Second Life & OpenSimAlternative Viewers for Second Life & OpenSim
Alternative Viewers for Second Life & OpenSim
 
Let's Take Drupal Offline!
Let's Take Drupal Offline!Let's Take Drupal Offline!
Let's Take Drupal Offline!
 
Mobile application security
Mobile application securityMobile application security
Mobile application security
 
Mobile Application Security
Mobile Application SecurityMobile Application Security
Mobile Application Security
 
Android Code Optimization Techniques 2
Android Code Optimization Techniques 2Android Code Optimization Techniques 2
Android Code Optimization Techniques 2
 
5945632 (1).ppt
5945632 (1).ppt5945632 (1).ppt
5945632 (1).ppt
 
Centralized Tool for Software and USB
Centralized Tool for Software and USBCentralized Tool for Software and USB
Centralized Tool for Software and USB
 
Keep calm and write reusable code in Android
Keep calm and write reusable code in AndroidKeep calm and write reusable code in Android
Keep calm and write reusable code in Android
 

Ubuntu application confinement