Jakie są różnice w zabezpieczeniach między pakietem click a .deb?


31

Instalacja losowego (nieprzyjemnego?) Pliku .deb może być niebezpieczna, ponieważ przyzna wszelkie uprawnienia zainstalowanym aplikacjom i demonowi, ponieważ .deb ma pewne konfiguracje z prośbą o zastosowanie, jeśli użytkownik poprawi swoje hasło podczas procesu instalacji.

Pakiet Click nie potrzebuje hasła (do tej pory testowałem).

Czy pakiet kliknięć będzie bezpieczniejszy dla danych systemowych / użytkowników, czy będzie taki sam? czemu?

Niektóre aspekty, na które najlepiej byłoby odpowiedzieć:

  • czy kliknięcia i deb są oparte na tym samym systemie (dpkg)?
  • czy apparmor może zapewnić rootowi dostęp do aplikacji bez hasła lub czegoś takiego?
  • zostanie poproszony o zaakceptowanie praw dostępu do aplikacji podczas instalacji (przykład podobny do Androida: te aplikacje będą mogły skanować twoją sieć / dom i dostęp do sieci) lub w biegu, gdy będzie to potrzebne (przykład podobny do przeglądarki prośba o prawo do korzystania z kamery) ?
  • blisko tego pytania: czy .apk i kliknięcie będzie brzmiało tak samo (o zasadach i historii użytkownika) ?
  • głównie: czy aplikacja może wysyłać wszystkie moje prywatne dane w sieci za pomocą kliknięcia bez wyraźnego powiadomienia mnie, czy będzie miała przynajmniej prawo do zweryfikowania przez użytkowników, czy też zostanie zablokowana w piaskownicy?
  • Prawdą jest, że: pakiet kliknięć jest mniej wydajny (ogranicza więcej rzeczy), ale jest bezpieczniejszy?

Chciałem dodać tag „kliknij”, ale za mało reputacji, aby to zrobić. Ostatnie zdanie miało być kursywą .
cm-t

tag click-packagesjest już dostępny.
Pandya

Uwaga: pakiety kliknięć są w fazie rozwoju, chciałbym uzyskać odpowiedź na temat celu następnego pakietu stabilnego kliknięcia.
cm-t

Odpowiedzi:


35

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.


1
„aplikacja zostanie usunięta ze wszystkich urządzeń, na których jest zainstalowana” - to wydaje się niepokojące. Czy to oznacza, że ​​Canonical będzie mógł zdalnie odinstalowywać aplikacje z urządzeń użytkowników bez ich zgody?

Ubuntu App Store będzie miał taką możliwość. Korzystanie z tej możliwości będzie prawdopodobnie możliwe tylko wtedy, gdy w grę wchodzi aktywnie złośliwy kod. Nie chcę tu dyktować zasad, ponieważ należy wziąć pod uwagę szereg kwestii, ale najważniejsze jest to, że nie powinno to mieć miejsca bez bardzo ważnego powodu.
jdstrand

2
Rozumiem, że dotyczy to bezpieczeństwa użytkowników (robią to również inne sklepy z aplikacjami), ale niektórzy użytkownicy nie lubią tego rodzaju „wyłączników bezpieczeństwa”, ponieważ oznacza to, że firma może zdalnie odinstalowywać aplikacje (lub więcej), nawet jeśli jest to ze względów bezpieczeństwa. Myślę, że programiści powinni dokładnie rozważyć, jak to zaimplementować, aby uniknąć kontrowersji. Może wyłącz aplikację zamiast ją usuwać, umożliwiając użytkownikowi samodzielne odinstalowanie lub ponowne włączenie i wyświetlanie bardzo widocznych ostrzeżeń ... jako sugestii.

Jeśli Click pakuje własne zależności, co z aktualizacjami zabezpieczeń zależności? Jeśli debash bash jest aktualizowany, wszystkie inne pakiety korzystające z bash naturalnie używają nowej wersji. Jeśli jednak aplikacja Click kliknie pakiet bash, chyba że twórca aplikacji zadba o dołączenie zaktualizowanego pakietu bash, błąd nadal występuje, i przy założeniu, że twórca aplikacji często aktualizuje pakiet. Zauważ, że w tym scenariuszu wyobraź sobie, że bash nie jest pakietem podstawowym.
Hendy Irawan

Brzmi świetnie! Nawet lepiej niż system Android! Uprawnienia Androida stały się czymś w rodzaju umowy EULA, wystarczy kliknąć „tak” bez czytania ...
Galgalesh

2

Spróbuję odpowiedzieć na niektóre z najważniejszych pytań dotyczących bezpieczeństwa i pakietów kliknięć.

  • Czy aplikacja może wysłać wszystkie moje prywatne dane w sieci za pomocą jednego kliknięcia bez wyraźnego powiadomienia mnie o tym?

    • Aplikacje Click będą działały w zamknięciu. Oznacza to, że aplikacja nie może robić złych rzeczy: może uzyskać dostęp tylko do swojego prywatnego katalogu.
  • Czy można zainstalować aplikacje, a następnie mieć prawa roota? bez hasła lub konkretnego monitu?

    • ...
  • Czy użytkownik zostanie poproszony o zaakceptowanie prawa aplikacji? kiedy?

    • Aplikacje Click będą uzyskiwać dostęp do funkcji, które użytkownik zezwala na korzystanie z aplikacji (Uwaga: monit nie jest jeszcze wyświetlany w bieżącej / codziennej wersji Ubuntu Touch) .
  • Czy jest oparty na tym samym systemie dla kliknięć i deb?

    • Opakowanie Debiana (.deb) jest zupełnie inne. Jeśli jednak twoja aplikacja jest wykonana z zestawu Ubuntu SDK, nie musisz używać pakietu Debian, a zamiast tego możesz użyć opakowania Click, które jest o wiele łatwiejsze w użyciu i znacznie bezpieczniejsze dla użytkownika końcowego.
  • Podobnie jak powyżej, aby porównać: czy .apk (Android) i kliknięcie działają w ten sam sposób?

    • Pakiety dla systemu Android i pakiety Ubuntu Click będą działać w podobny sposób, ponieważ każda aplikacja będzie miała własne miejsce do przechowywania danych i że (najlepiej) nie będzie mieć bezpośredniego dostępu do danych innych aplikacji. Obecnie pakiety Androida mogą również odczytywać dane z karty SD lub pamięci wewnętrznej, gdzie nie ma żadnych ograniczeń dostępu. Pakiety Ubuntu Click będą musiały również żądać uprawnień dla określonych funkcji.
  • Prawdą jest, że: pakiety kliknięć są mniej wydajne (ograniczają więcej rzeczy), ale są bezpieczniejsze?

    • ...

Z tych powodów pakiety Click są bardzo bezpieczne, a proces recenzowania ich publikowania jest znacznie prostszy.

Źródła:


Uzupełnij tę odpowiedź, jeśli uważasz, że jest najlepsza
cm-t
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.