r   e   k   l   a   m   a
r   e   k   l   a   m   a

Większe bezpieczeństwo Androida 4.3 dzięki rozszerzeniom SELinux (ale i większa kontrola nad użytkownikiem?)

Strona główna AktualnościOPROGRAMOWANIE

W prezentacji zalet pokazanego właśnie światu Androida 4.3 Google położyło nacisk na wprowadzenie ograniczania uprawnień kont użytkowników, tak by np. móc udostępnić takie odporne na transakcje wewnątrz aplikacji konto dzieciom. Bezpieczeństwo (choć w tym wypadku raczej już nie użytkowników) ma też zwiększyć zamknięcie całego stosu wideo i wzmocnienie DRM pod kątem ochrony filmów i e-booków przed piractwem. Znacznie mniej mówi się o czymś innym – wprowadzeniu do google'owego systemu rozszerzeń bezpieczeństwa SELinux, dobrze znanych na linuksowych serwerach (przez który najprawdopodobniej został zrealizowany mechanizm ograniczania uprawnień dla użytkowników

Opracowany przez programistów amerykańskiej Narodowej Agencji Bezpieczeństwa SELinux (Security-Enhanced Linux) to zbiór modyfikacji jądra i zestaw dodatkowych narzędzi, który od niemal dziesięciu lat jest stałym elementem Linuksa. W porównaniu do używanego od początku w Androidzie modelu bezpieczeństwa aplikacji, poprzez uruchamianie ich w sandboksie, określającym zakres dostępnych dla nich danych i izolującym od innych uruchomionych aplikacji, jest sporym krokiem naprzód.

Zastosowana w sandboksie Androida ochrona uznaniowa (discretionary protection) jest bowiem implementacją zwykłego uniksowego modelu bezpieczeństwa, w którym użytkownik otrzymuje pełną kontrolę nad należącymi do niego obiektami. SELinux pozwala na znacznie więcej, wprowadzając takie polityki bezpieczeństwa jak kontrola dostępu oparta o role, przymusowa kontrola dostępu czy egzekwowanie typów, zgodnie z założeniem, by każdy obiekt systemowy – aplikacja, proces, konto użytkownika czy urządzenie – miał jak najmniejszą możliwą liczbę uprawnień (tylko tyle, ile rzeczywiście niezbędne jest dla jego działania).

We wzmocnionym przez SELinuksa modelu bezpieczeństwa Androida możliwe będzie znaczne zmniejszenie powierzchni ataku – aplikacjom można przyznawać różne poziomy zaufania, kontrolując przy tym, do jakiego rodzaju danych mogą mieć one dostęp. Przy niewielkich rozmiarach androidowego jądra, znacznie ograniczających liczbę możliwych do uruchomienia na nim exploitów z normalnego, desktopowego Linuksa, powinno to wystarczyć do skutecznego zablokowania pandemii malware na google'owym systemie. Spora liczba eskalacji uprawnień na Androidzie wykorzystywała niezwiązane z jądrem powierzchnie ataku, co w teorii SELinux powinien powstrzymać.

Praktyka dopiero pokaże, na ile SELinux sprawdzi się na mobilnych urządzeniach i czy nie okaże się dokuczliwym utrudnieniem życia dla „zwykłych użytkowników” – właściwa konfiguracja tego mechanizmu nie jest łatwa, dlatego zwykle na desktopowych Linuksach się go nie aktywuje. Możliwe też, że utrudni on uruchamianie starszych aplikacji, pisanych z myślą o dość „luźnym” starszym modelu bezpieczeństwa.

SELinux to nie koniec zabezpieczania Androida 4.3. W systemie rozwiązano także problem przechowywania poufnych danych w urządzeniu – kluczy, haseł czy certyfikatów. Rozszerzenia mechanizmu Android KeyChain pozwalają teraz na wykorzystanie sprzętowej ochrony zapewnianej przez Trusted Platform Module (w urządzeniach zawierających czip TPM), tak że poufne dane nie będą mogły być wykradzione przez napastnika nawet wówczas, gdy uzyska pełen fizyczny dostęp do telefonu czy tabletu. Dodano też w Android Keystore możliwość tworzenia i przechowywania kluczy prywatnych, które mogą być wykorzystywane tylko przez jedną wybraną aplikację.

Te wszystkie działania na rzecz bezpieczeństwa mają oczywiście drugie dno: jeśli czipy TPM upowszechnią się w urządzeniach z Androidem, a konfiguracja SELinuksa będzie kontrolowana przez Google, a nie użytkownika (przynajmniej na urządzeniach, które nie zostały uwolnione), to google'owy stanie się równie „bezpieczny” (w sensie interesów producentów oprogramowania i dostawców treści), co zamknięte systemy mobilne Apple i Microsoftu. To, że wizja taka bliska jest sercom decydentów Google'a nie jest tylko fantazjowaniem – wystarczy zapoznać się z zapisami licencji na SDK do urządzenia Chromecast. Nakłada ona na programistów obowiązek uzyskania pisemnej zgody Google na publiczne rozpowszechnianie aplikacji powstałych za pomocą tego SDK, coś, czego w żaden sposób nie można uznać za zgodne z literą i duchem wolnych licencji software'owych.

r   e   k   l   a   m   a
© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.