Uwaga: Pracuję w zespole bezpieczeństwa Ubuntu i pomogłem zaprojektować historię ograniczania aplikacji dla Ubuntu. Dla jasności przeredagowałem pytania.
P: „Czy pakiety kliknięć będą bezpieczniejsze w odniesieniu do systemu i danych użytkownika, czy będą takie same?”
Odp .: Ogólnie rzecz biorąc, pakiety kliknięć są bezpieczniejsze niż debaty w odniesieniu do danych systemowych i użytkowników.
Pakiety kliknięć nie zawierają skryptów opiekuna, które podczas instalacji działają jako root, tak jak robią to pakiety deb. Pakiety Click są po prostu rozpakowywane, a następnie używane są haki dostarczone przez system, jeśli zostaną zadeklarowane przez kliknięcie. Na przykład kliknięcie może zadeklarować użycie haka na pulpicie do wygenerowania pliku na pulpicie lub haka AppArmor do wygenerowania profilu AppArmor dla aplikacji. Ponieważ pakiet deb ma koncepcję skryptów opiekuńczych zaprojektowanych w celu umożliwienia szerokiej personalizacji oprogramowania lub systemu, pakiety deb powinny być instalowane tylko z zaufanego źródła, np. Podpisanego archiwum z dystrybucji takiej jak Ubuntu. Pakiety Click mogą być instalowane bezpośrednio i możesz mieć pewność, że instalacja pakietu nie zepsuje twojego systemu. To jednak tylko część historii - jeśli zainstalujesz pakiet kliknięć z niezaufanego źródła,
Rzeczywista moc kliknięcia polega na zastosowaniu go w połączeniu z repozytorium oprogramowania i silnymi zasadami. Na przykład bezpieczeństwo pakietu kliknięcia zainstalowanego z Ubuntu App Store jest zwykle wyższy niż bezpieczeństwo debu zainstalowanego z zaufanego archiwum. Wynika to z faktu, że w sklepie Ubuntu App Store model zaufania polega na tym, że aplikacje są uważane za niezaufane *, a zasady i kontrole są stosowane, aby zapewnić, że pakiety kliknięć w sklepie mają odpowiedni manifest bezpieczeństwa, a zatem działają w bardzo ścisłym zamknięciu. W przeciwieństwie do pakietów deb w archiwum Ubuntu - model zaufania polega na tym, że oprogramowanie i pakiet deb są uważane za zaufane i ogólnie oprogramowanie nie działa w zamknięciu (chociaż istnieje wiele wyjątków, w których profil AppArmor jest dostarczany z oprogramowaniem aby uchronić się przed błędami bezpieczeństwa).
- Zaufane pakiety mogą być również dostarczane za pośrednictwem Ubuntu App Store. Chociaż są rzadkie, zazwyczaj są opracowywane przez firmę Canonical i mogą, ale nie muszą, działać w zamknięciu.
Aby odpowiedzieć na konkretne pytania:
P: Czy kliknięcie jest oparte na tym samym systemie co deb?
Odp .: Format pakietu niskiego poziomu dla kliknięcia to deb. Jednak pakowanie z kliknięciem jest znacznie prostsze, ponieważ używa manifestu deklaratywnego i przechwytuje zamiast tradycyjnych plików pakowania i skryptów opiekuna.
P: Czy AppArmor może zapewnić uprzywilejowany dostęp do aplikacji bez interakcji użytkownika?
Odp .: AppArmor jest silnie rootowany i może zezwalać lub odmawiać dostępu do zasobów systemowych (plików, DBus, sieci itp.) W oparciu o zdefiniowane zasady bezpieczeństwa. Sam pakiet kliknięć nie jest wymagany do wysłania manifestu bezpieczeństwa AppArmor ani do wysłania manifestu bezpieczeństwa AppArmor, który jest „bezpieczny”. Bezpieczeństwo systemu to kombinacja kliknięcia i polityka sklepu, który dostarcza pakiety kliknięć. Pakiety kliknięć dostarczane za pośrednictwem Ubuntu App Store będą używać polityki AppArmor, która jest bardzo restrykcyjna i nie zezwala na działania uprzywilejowane za kulisami (np. Aplikacja działająca zgodnie z tymi zasadami nie może uruchamiać programów w systemie za kulisami, uzyskać dostęp do konta na Facebooku , kradnij klucze gpg lub ssh, manipuluj siecią itp.)
P: Czy podczas instalacji użytkownik zostanie poproszony o przyznanie praw dostępu do aplikacji, tak jak w Androidzie? (np. „ta aplikacja może skanować Twoją sieć / dom i uzyskać dostęp do sieci”)
Odp .: Nie. Sam pakiet kliknięć może zostać zainstalowany bez monitowania przy użyciu narzędzi niskiego poziomu. W systemie Ubuntu pakiety kliknięć powinny być instalowane za pośrednictwem sklepu Ubuntu App Store (patrz wyżej), a ze względu na zasady Ubuntu App Store w połączeniu z możliwościami klikania i systemem Ubuntu nie ma potrzeby klikania bezkontekstowych monitów instalacyjnych. Ubuntu może to zrobić, ponieważ aplikacje zainstalowane ze sklepu Ubuntu App Store działają w restrykcyjnym zamknięciu (tzn. Nie mogą robić złych rzeczy za kulisami), a gdy aplikacja potrzebuje dodatkowego dostępu, robi to za pomocą kontrolowanych interfejsów API, które mogą obejmować monitowanie.
W przypadku uprzywilejowanych interfejsów API mamy koncepcję zaufanych pomocników, dzięki którym użytkownik otrzyma kontekstowy monit o zezwolenie lub odmowę dostępu (z (opcjonalnym) odwołalnym buforowaniem, aby użytkownik nie był pytany za każdym razem). Na przykład, jeśli aplikacja musi uzyskać dostęp do usługi lokalizacji (zaufany pomocnik), użytkownik zostanie poproszony o zezwolenie na dostęp w momencie, gdy aplikacja spróbuje skorzystać z usługi lokalizacji, co daje kontekst, dzięki czemu użytkownik może utworzyć świadoma decyzja. To samo stanie się z nagrywaniem wideo i audio. Często nie musimy w ogóle wyświetlać monitu o bezpieczeństwo i możemy zezwolić na dostęp na podstawie interakcji użytkownika z aplikacją. Na przykład, jeśli aplikacja chce załadować zdjęcie, pojawi się okno dialogowe wyboru obrazu. Za kulisami, ponieważ aplikacja nie ma dostępu do katalogu ~ / Pictures, użyje interfejsu API Content-Hub, który uruchomi selektor plików galerii, aby użytkownik mógł wybrać zdjęcie do przesłania. Centrum treści pobiera następnie zdjęcie z galerii i przekazuje je do aplikacji. W ten sposób nie ma dialogu bezpieczeństwa, użytkownik ma tylko naturalną interakcję, ale za kulisami istnieje dorozumiana decyzja o zaufaniu.
P: Powiązane z tym pytaniem: czy .apk i kliknięcie będą miały podobny język w odniesieniu do zasad i doświadczeń użytkowników?
Odp .: Nie, nie ma monitu o instalację z wyżej wymienionych powodów. Uprawnienia Androida i uprawnienia bezpieczeństwa dla pakietów kliknięć zdefiniowanych dla Ubuntu mają pewne podobieństwa, ale są różne i różnie zaimplementowane.
P: W szczególności, za pomocą kliknięcia, czy aplikacja może wysyłać wszystkie moje prywatne dane przez sieć bez mojej wiedzy, czy będzie to w jakiś sposób ograniczone, aby temu zapobiec?
Odp .: Jeśli zainstalujesz kliknięcie z niezaufanego źródła, tak, może on zrobić wszystko. Jeśli zainstalujesz kliknięcie ze sklepu Ubuntu App Store, nie, aplikacja nie może wysłać wszystkich danych przez sieć, ponieważ nie ma do nich dostępu. Oczywiście aplikacja może wydawać się robić jedną rzecz i robić inną, więc jeśli użytkownik przyzna dostęp do usługi lokalizacyjnej lub daje aplikacji dostęp do zdjęcia, aplikacja może być zła z tymi danymi - ale w tym miejscu oceny / recenzje i zasady bezpieczeństwa App Store wchodzą w życie. Zgłoszenie takiej aplikacji zostanie zbadane. W razie potrzeby aplikacja zostanie usunięta ze sklepu, aplikacja zostanie usunięta ze wszystkich urządzeń, na których jest zainstalowana, a dostęp App Store dewelopera zostanie cofnięty.
P: Czy można powiedzieć, że pakiety kliknięć są bezpieczniejsze od deb, ale mniej wydajne, ponieważ są bardziej ograniczone?
ZA:Jak widać z powyższego, odpowiedź nie jest taka prosta. Samo kliknięcie może dostarczyć oprogramowanie, które może zrobić wszystko. Format opakowania z kliknięciem jest celowo ogólnym przeznaczeniem i może być używany na wiele sposobów i nie jest specyficzny dla Ubuntu. W przypadku Ubuntu kombinacja kliknięć, interfejsów API Ubuntu, zasad AppArmor i App Store zapewnia programistom bardzo potężne środowisko do dostarczania aplikacji użytkownikom w sposób bezpieczny i łatwy w użyciu. Użyteczność samych aplikacji zależy od interfejsów API oferowanych aplikacjom przez system bazowy. Początkowy zestaw interfejsów API, które będą oferowane w pierwszych telefonach wysyłkowych Ubuntu, pozwoli programistom tworzyć wszelkiego rodzaju zabawne i użyteczne aplikacje przy użyciu bogatego interfejsu API i zestawu SDK.