20
The Tizen Security Policy May Work For You, But What About Me? Casey Schaufler Intel

The Tizen Security Policy May Work For You, But What … Tizen Isn’t Android • Android • Apps identified by UID • Intent based IPC • SELinux retrofit • Tizen • Users

  • Upload
    dohuong

  • View
    229

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The Tizen Security Policy May Work For You, But What … Tizen Isn’t Android • Android • Apps identified by UID • Intent based IPC • SELinux retrofit • Tizen • Users

The Tizen Security Policy May

Work For You, But What About

Me?

Casey Schaufler

Intel

Page 2: The Tizen Security Policy May Work For You, But What … Tizen Isn’t Android • Android • Apps identified by UID • Intent based IPC • SELinux retrofit • Tizen • Users

2

Wait … That’s Not Ryan!

• Casey Schaufler

• Tizen Security Architect

• Kernel Developer 1979

• Smack LSM 2008

Page 3: The Tizen Security Policy May Work For You, But What … Tizen Isn’t Android • Android • Apps identified by UID • Intent based IPC • SELinux retrofit • Tizen • Users

3

What Is The Tizen Security Policy?

• It’s amazing how few people ask!

• Applications have a policy

• The platform has a policy

• Today’s talk is about the platform

Page 4: The Tizen Security Policy May Work For You, But What … Tizen Isn’t Android • Android • Apps identified by UID • Intent based IPC • SELinux retrofit • Tizen • Users

4

Tizen Isn’t Android

• Android

• Apps identified by UID

• Intent based IPC

• SELinux retrofit

• Tizen

• Users identified by UID

• Socket based IPC

• Smack from inception

Page 5: The Tizen Security Policy May Work For You, But What … Tizen Isn’t Android • Android • Apps identified by UID • Intent based IPC • SELinux retrofit • Tizen • Users

5

Tizen Isn’t Windows Phone, Either

• Windows

• Access controls on APIs

• DLL based services

• Proprietary implementation

• Tizen

• Access controls in system calls

• Process based services

• Community open source

Page 6: The Tizen Security Policy May Work For You, But What … Tizen Isn’t Android • Android • Apps identified by UID • Intent based IPC • SELinux retrofit • Tizen • Users

6

Nor Is Tizen A Linux Distribution

• Distributions

• Complete end user control

• Unconstrained network access

• Generic use model

• Tizen

• Vendor configuration control

• Control over network access

• Configured to specific purposes

Page 7: The Tizen Security Policy May Work For You, But What … Tizen Isn’t Android • Android • Apps identified by UID • Intent based IPC • SELinux retrofit • Tizen • Users

7

Well, What Is Tizen?

• Collection of packages

• Configured for specific profiles

• UDS based services

Page 8: The Tizen Security Policy May Work For You, But What … Tizen Isn’t Android • Android • Apps identified by UID • Intent based IPC • SELinux retrofit • Tizen • Users

8

And Tizen Security?

• Security domains

• Simple separation

• Enforced by Smack

Page 9: The Tizen Security Policy May Work For You, But What … Tizen Isn’t Android • Android • Apps identified by UID • Intent based IPC • SELinux retrofit • Tizen • Users

9

Why Does My Program Break?

• No access to another domain

• Reading files

• Writing files

• Sending messages

Page 10: The Tizen Security Policy May Work For You, But What … Tizen Isn’t Android • Android • Apps identified by UID • Intent based IPC • SELinux retrofit • Tizen • Users

10

But I’m Using The API Correctly!

• APIs hide details from you

• Those details can matter for security

• Sometimes APIs do questionable things

Page 11: The Tizen Security Policy May Work For You, But What … Tizen Isn’t Android • Android • Apps identified by UID • Intent based IPC • SELinux retrofit • Tizen • Users

11

Case In Point: Vconf

• Looks like configuration manager

• Pile of code on top of files

• File access rules apply

Page 12: The Tizen Security Policy May Work For You, But What … Tizen Isn’t Android • Android • Apps identified by UID • Intent based IPC • SELinux retrofit • Tizen • Users

12

To Further Complicate Things

• Sockets have access controls

• Need permission to talk at all

• Many APIs hide communications

Page 13: The Tizen Security Policy May Work For You, But What … Tizen Isn’t Android • Android • Apps identified by UID • Intent based IPC • SELinux retrofit • Tizen • Users

13

So, What Do I Do?

• Understand Smack Policy

• Know what your APIs do

• Consider Security Before you code

Page 14: The Tizen Security Policy May Work For You, But What … Tizen Isn’t Android • Android • Apps identified by UID • Intent based IPC • SELinux retrofit • Tizen • Users

14

Smack Policy - Briefly

• No access between domains

• Smack rules make exceptions

• No global sharing

Page 15: The Tizen Security Policy May Work For You, But What … Tizen Isn’t Android • Android • Apps identified by UID • Intent based IPC • SELinux retrofit • Tizen • Users

15

Smack Rules

• Me You rx

• Me You::Share rwxat

• Me Service w

• Service Me w

Page 16: The Tizen Security Policy May Work For You, But What … Tizen Isn’t Android • Android • Apps identified by UID • Intent based IPC • SELinux retrofit • Tizen • Users

16

Who Are You Sharing With?

• Identify the objects you use

• Find out how you access them

• You can

• Join a domain

• Create Smack rules

• Do things differently

Page 17: The Tizen Security Policy May Work For You, But What … Tizen Isn’t Android • Android • Apps identified by UID • Intent based IPC • SELinux retrofit • Tizen • Users

17

Know Your APIs

• Read the internals documentation

• Run using strace

• Ask someone

• Don’t assume the API knows what

it is doing

Page 18: The Tizen Security Policy May Work For You, But What … Tizen Isn’t Android • Android • Apps identified by UID • Intent based IPC • SELinux retrofit • Tizen • Users

18

Sorry, but …

• No magic wand

Page 19: The Tizen Security Policy May Work For You, But What … Tizen Isn’t Android • Android • Apps identified by UID • Intent based IPC • SELinux retrofit • Tizen • Users

“You

security

people are

insane!”

Page 20: The Tizen Security Policy May Work For You, But What … Tizen Isn’t Android • Android • Apps identified by UID • Intent based IPC • SELinux retrofit • Tizen • Users