Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Bezpieczeństwo aplikacji w systemie Tizen

Podobne prezentacje


Prezentacja na temat: "Bezpieczeństwo aplikacji w systemie Tizen"— Zapis prezentacji:

1 Bezpieczeństwo aplikacji w systemie Tizen
Tomasz Świerczek Samsung R&D Institute Poland

2 Tizen – czym jest?

3 Tizen – nad czym pracujemy?
...wiele innych projektów systemd KDBus libima libsmack conman ... Webkit W3C ... Bootloadery uboot Rozwijamy jądro Linuksa Smack IMA/EVM Linux Containers Sterowniki

4 Bezpieczeństwo aplikacji w systemie Tizen
3 przykłady problemów w projektowaniu systemu 3 rozwiązania Open Source

5 Bezpieczeństwo aplikacji
Aplikacja #1 Dane RW

6 Bezpieczeństwo aplikacji
/dev/camera RW Aplikacja #1 Dane RW

7 Bezpieczeństwo aplikacji
/dev/camera RW Aplikacja #1 Dane RW RW Aplikacja #2

8 Bezpieczeństwo aplikacji
/dev/camera RW Aplikacja #1 Dane RW RW RW Aplikacja #2

9 Bezpieczeństwo aplikacji
/dev/camera RW Aplikacja #1 Dane RW RW RW Aplikacja #2

10 Problemy do rozwiązania
(1) Ochrona zasobów systemowych przed aplikacjami (2) Ochrona aplikacji i ich zasobów przed innymi aplikacjami (3) Ochrona aplikacji przed nimi samymi

11 Rozwiązanie (1) – aplikacje i zasoby systemowe
(Niektore) aplikacje (czasami) mogą mieć dostęp do (pewnych) zasobów ? Aplikacja #1 /dev/camera RW

12 Rozwiązanie (1) – aplikacje i zasoby systemowe
(Niektore) aplikacje (czasami) mogą mieć dostęp do (pewnych) zasobów Uprzywilejowany serwis zarządza dostępem do zasobu ? Aplikacja #1 Serwis (demon) /dev/camera RW RW

13 Rozwiązanie (1) – aplikacje i zasoby systemowe
(Niektore) aplikacje (czasami) mogą mieć dostęp do (pewnych) zasobów Uprzywilejowany serwis zarządza dostępem do zasobu Osobny uprzywilejowany proces zna uprawnienia aplikacji ? Aplikacja #1 Serwis (demon) /dev/camera RW RW ? Serwis uprawnień aplikacji

14 Rozwiązanie (1) – aplikacje i zasoby systemowe
Serwis obsługuje zasób systemowy musi umieć zidentyfikować klienta (np getsockopt(...,SO_PEERSEC,...) Serwis uprawnień aplikacji zna wszystkie aplikacje i ich uprawnienia potrafi odpowiedzieć na pytanie „czy A ma dostęp do B”?

15 Rozwiązanie (1) – aplikacje i zasoby systemowe
Serwis obsługuje zasób systemowy musi umieć zidentyfikować klienta (np getsockopt(...,SO_PEERSEC,...) Serwis uprawnień aplikacji zna wszystkie aplikacje i ich uprawnienia potrafi odpowiedzieć na pytanie „czy A ma dostęp do B”? PolKit gotowe rozwiązanie użyty np. w Ubuntu

16 Rozwiązanie (1) – aplikacje i zasoby systemowe
Serwis obsługuje zasób systemowy musi umieć zidentyfikować klienta (np getsockopt(...,SO_PEERSEC,...) Serwis uprawnień aplikacji zna wszystkie aplikacje i ich uprawnienia potrafi odpowiedzieć na pytanie „czy A ma dostęp do B”? PolKit gotowe rozwiązanie użyty np. w Ubuntu IPC : DBUS skomplikowana polityka, reguły w JS ***WOLNY***

17 Rozwiązanie (1) – aplikacje i zasoby systemowe
Autorskie rozwiążanie – projekt Cynara po angielsku Artichoke po polsku Karczoch  Serwis uprawnień aplikacji oparty o prostą bazę danych polityki sqlite3 IPC: Unix Domain Socket wkrótce na github’ie... Amaizing things will happen here soon. You just wait. Dr. Bertruger, Doom 3

18 Rozwiązanie (2) – aplikacje i ich dane
Dane, process i przestrzeń adresowa aplikacji są przeznaczone tylko dla niej Aplikacja #1 Dane RW Dane Aplikacja #2 RW

19 Rozwiązanie (2) – aplikacje i ich dane
Android – UID per aplikacja multiuser?

20 Rozwiązanie (2) – aplikacje i ich dane
Android – UID per aplikacja multiuser? Tizen – Smack Simplified Mandatory Access Control in Kernel rodzaj LSM etykiety per proces, plik, socket, ... każdy dostęp musi być zezwolony wprost poza standardowymi etykietami na dysku: xattr autor: Casey Schaufler (

21 Rozwiązanie (2) – aplikacje i ich dane
Smack – jak działa? Access Exec Jabłko Truskawka

22 Rozwiązanie (2) – aplikacje i ich dane
Smack – jak działa? exec() Truskawka Access Exec Jabłko Truskawka

23 Rozwiązanie (2) – aplikacje i ich dane
Smack – jak działa? exec() Truskawka Access Exec Access Jabłko Truskawka Kiwi

24 Rozwiązanie (2) – aplikacje i ich dane
Smack – jak działa? exec() Truskawka open(..., O_RDWR) Access Exec Access Jabłko Truskawka Kiwi

25 Rozwiązanie (2) – aplikacje i ich dane
Smack – jak działa? exec() Truskawka open(..., O_RDWR) Access Exec Truskawka Kiwi RW Podgląd reguł: cat /smack/load2 Access Jabłko Truskawka Kiwi

26 Rozwiązanie (2) – aplikacje i ich dane
Smack – jak działa? exec() Truskawka open(..., O_CREAT) Access Exec Access Jabłko Truskawka Truskawka

27 Rozwiązanie (2) – aplikacje i ich dane
Tizen – Smack separacja zasobów i aplikacji etykietami A A A Usługi System

28 Rozwiązanie (3) – ochrona integralności plików
Czy uruchomiona aplikacja na pewno jest tą za którą się podaje? Czy otwierany plik nie został podmieniony? Aplikacja #1

29 Rozwiązanie (3) – ochrona integralności plików
Z pomocą przychodzi Linux – IMA/EVM Integrity Measurement Architecture Extended Verification Module System podpisów i hashy plików przechowywanie: xattr Autor: Dimitry Kasatkin ( Aplikacja #1

30 Rozwiązanie (3) – aplikacje i ich dane
IMA/EVM – jak działa? exec() open()

31 Rozwiązanie (3) – aplikacje i ich dane
IMA/EVM – jak działa? exec() open() Policz hash z zawartości Odczytaj podpis z xattr Zweryfikuj podpis cyfrowy zawartości pliku ŹLE OK

32 Rozwiązanie (3) – aplikacje i ich dane
IMA/EVM – jak działa? exec() open() Policz hash z zawartości Odczytaj podpis z xattr Zweryfikuj podpis cyfrowy zawartości pliku Klucz publiczny do weryfikacji Klucz prywatny poza urządzeniem ŹLE OK

33 Podsumowanie rozwiązań
(1) Ochrona zasobów systemowych przed aplikacjami Wprowadzenie serwisów + Cynara/PolKit (2) Ochrona aplikacji i ich zasobów przed innymi aplikacjami Smack (3) Ochrona aplikacji przed nimi samymi IMA/EVM

34 Pytania


Pobierz ppt "Bezpieczeństwo aplikacji w systemie Tizen"

Podobne prezentacje


Reklamy Google