Apa perbedaan keamanan antara paket klik dan .deb?

31

Menginstal .deb (nasty?) Secara acak dapat berbahaya karena akan memberikan semua hak istimewa ke aplikasi dan daemon yang diinstal karena .deb memiliki beberapa konfigurasi yang meminta diterapkan jika pengguna memvalidasi kata sandi pada proses instalasi.

Paket klik tidak memerlukan kata sandi (sejauh ini saya telah menguji).

Apakah paket klik lebih aman untuk sistem / data pengguna atau akan sama? Mengapa?

Beberapa aspek yang bagus untuk dijawab:

  • apakah klik dan deb didasarkan pada sistem yang sama (dpkg)?
  • dapatkah apparmor menyediakan akses root ke aplikasi tanpa kata sandi atau sesuatu?
  • apakah pengguna akan diminta untuk menerima hak akses aplikasi saat memasang (contoh seperti android: aplikasi ini akan dapat memindai / home dan mengakses jaringan Anda) atau dalam perjalanan saat membutuhkan hak (contoh seperti browser misalnya meminta hak untuk menggunakan cam) ?
  • dekat dengan pertanyaan ini: apakah .apk dan klik akan kata yang sama (tentang kebijakan dan kisah pengguna) ?
  • terutama: dapatkah aplikasi mengirim semua data pribadi saya di jaringan dengan klik tanpa memberi tahu saya secara eksplisit atau akankah paling tidak divalidasi oleh pengguna untuk melakukannya atau akankah diblokir di kotak pasir?
  • Memang benar untuk mengatakan: paket klik kurang kuat (membatasi lebih banyak hal), tetapi lebih aman?
cm-t
sumber
Saya ingin menambahkan tag "klik" tetapi tidak cukup reputasi untuk melakukannya. Kalimat terakhir dianggap miring .
cm-t
tag click-packagessudah tersedia.
Pandya
NB: paket klik sedang dalam pengembangan, saya berharap memiliki jawaban untuk target paket klik stabil berikutnya.
cm-t

Jawaban:

35

Catatan: Saya bekerja di tim keamanan Ubuntu dan membantu merancang kisah pengurungan aplikasi untuk Ubuntu. Saya menulis ulang pertanyaan untuk kejelasan.

T: "Apakah paket klik akan lebih aman berkenaan dengan sistem dan data pengguna atau apakah sama?"

A: Secara umum, paket klik lebih aman dari pada debat terkait sistem dan data pengguna.

Paket klik tidak termasuk skrip pengelola yang dijalankan sebagai root pada instalasi seperti paket deb lakukan. Paket klik hanya dibongkar dan kemudian kait yang disediakan oleh sistem digunakan jika dinyatakan oleh klik. Misalnya, klik mungkin menyatakan untuk menggunakan pengait desktop untuk membuat file desktop atau pengait AppArmor untuk menghasilkan profil AppArmor untuk aplikasi tersebut. Karena kemasan deb memiliki konsep skrip pengelola yang dirancang untuk memungkinkan penyesuaian ekstensif perangkat lunak atau sistem, paket deb hanya boleh diinstal dari sumber tepercaya, misalnya arsip bertanda tangan dari distribusi seperti Ubuntu. Paket klik dapat diinstal secara langsung dan Anda dapat yakin instalasi paket tidak akan merusak sistem Anda. Namun, itu hanya sebagian dari cerita-- jika Anda menginstal paket klik dari sumber yang tidak terpercaya,

Kekuatan klik sebenarnya adalah ketika digunakan bersama dengan repositori perangkat lunak dengan kebijakan yang kuat. Misalnya, keamanan paket klik yang diinstal dari Ubuntu App Store biasanya lebih tinggi daripada deb yang diinstal dari arsip tepercaya. Ini karena di Ubuntu App Store, model kepercayaan adalah aplikasi dianggap tidak tepercaya * dan ada kebijakan dan pemeriksaan untuk memastikan bahwa paket klik di toko memiliki manifes keamanan yang tepat dan karenanya dijalankan di bawah kurungan yang sangat ketat. Bandingkan dengan paket deb dalam arsip Ubuntu - model kepercayaannya adalah bahwa perangkat lunak dan paket deb dianggap tepercaya dan secara umum perangkat lunak tidak berjalan di bawah kurungan (meskipun ada banyak pengecualian di mana profil AppArmor dikirimkan bersama perangkat lunak tersebut. untuk mencegah bug keamanan).

  • Paket tepercaya juga dapat dikirimkan melalui App Store Ubuntu. Meskipun tidak umum, mereka biasanya dikembangkan oleh Canonical dan mungkin atau mungkin tidak berjalan di bawah kurungan.

Untuk menjawab pertanyaan spesifik Anda:

T: Apakah klik berdasarkan sistem yang sama dengan deb?

SEBUAH: Format paket tingkat rendah untuk klik adalah deb. Namun, kemasan klik jauh lebih sederhana karena menggunakan manifes deklaratif dan kait daripada file kemasan tradisional dan skrip pengelola.

T: Dapatkah AppArmor memberikan akses istimewa ke aplikasi tanpa interaksi pengguna?

SEBUAH: AppArmor adalah root kuat dan dapat mengizinkan atau menolak akses ke sumber daya sistem (file, DBus, jaringan, dll) berdasarkan kebijakan keamanan yang ditetapkan. Paket klik sendiri tidak diperlukan untuk mengirimkan manifes keamanan AppArmor atau untuk mengirim manifes keamanan AppArmor yang 'aman'. Apa yang membuat sistem aman adalah kombinasi klik dan kebijakan toko yang memberikan paket klik. Paket klik yang dikirimkan melalui Ubuntu App Store akan menggunakan kebijakan AppArmor yang sangat ketat dan tidak mengizinkan tindakan istimewa di belakang layar (misalnya, aplikasi yang berjalan di bawah kebijakan ini tidak dapat menjalankan program pada sistem di belakang layar, mengakses akun facebook Anda , mencuri kunci gpg atau ssh Anda, memanipulasi jaringan, dll)

T: Apakah pengguna akan diminta pada waktu pemasangan untuk memberikan hak akses ke aplikasi seperti di Android? (mis., "aplikasi ini dapat memindai / home dan mengakses jaringan Anda")

A: Tidak. Paket klik itu sendiri dapat diinstal tanpa diminta menggunakan alat tingkat rendah. Di Ubuntu, paket klik harus diinstal melalui Ubuntu App store (lihat di atas) dan karena kebijakan Ubuntu App store dikombinasikan dengan kemampuan klik dan sistem Ubuntu, tidak perlu untuk klik-melalui, petunjuk instalasi kurang konteks. Ubuntu dapat melakukan ini karena aplikasi yang diinstal dari Ubuntu App store berjalan di bawah batasan ketat (yaitu mereka tidak dapat melakukan hal-hal buruk di balik layar) dan ketika suatu aplikasi membutuhkan akses tambahan, ia melakukannya dengan menggunakan API terkontrol yang mungkin termasuk meminta.

Dalam kasus API yang diistimewakan, kami memiliki konsep pembantu tepercaya sehingga pengguna akan memiliki permintaan kontekstual untuk mengizinkan atau menolak akses (dengan) caching yang dapat dibatalkan sehingga pengguna tidak ditanya setiap kali). Misalnya, jika aplikasi perlu mengakses layanan lokasi (pembantu yang tepercaya), pengguna akan diminta untuk mengizinkan akses pada saat aplikasi mencoba menggunakan layanan lokasi, yang memberikan konteks sehingga pengguna dapat membuat keputusan berdasarkan informasi. Hal yang sama akan terjadi pada perekaman video dan audio. Seringkali, kita tidak perlu memiliki prompt keamanan sama sekali dan kita dapat mengizinkan akses berdasarkan interaksi yang digerakkan pengguna dengan aplikasi. Misalnya, jika aplikasi ingin mengunggah gambar, akan ada dialog untuk memilih gambar. Di belakang layar, karena aplikasi tidak diperbolehkan mengakses direktori ~ / Pictures, itu akan menggunakan API hub konten yang akan meluncurkan pemilih file galeri bagi pengguna untuk memilih gambar untuk diunggah. Pusat konten kemudian mengambil gambar dari galeri dan memberikannya ke aplikasi. Dengan cara ini, tidak ada dialog keamanan, hanya ada interaksi alami bagi pengguna, tetapi di balik layar, ada keputusan kepercayaan tersirat.

T: Terkait dengan pertanyaan ini: apakah .apk dan klik memiliki bahasa yang sama terkait dengan kebijakan dan pengalaman pengguna?

A: Tidak, tidak ada instalasi yang meminta alasan yang disebutkan di atas. Izin Android dan izin keamanan untuk paket klik yang ditentukan untuk Ubuntu memiliki beberapa kesamaan, tetapi berbeda dan diterapkan secara berbeda.

T: Khususnya, dengan klik, dapatkah suatu aplikasi mengirim semua data pribadi saya melalui jaringan tanpa saya ketahui atau akankah itu dibatasi dengan cara tertentu untuk mencegah hal ini?

A: Jika Anda menginstal klik dari sumber yang tidak terpercaya, ya, itu bisa melakukan apa saja. Jika Anda menginstal klik dari Ubuntu App Store, tidak, aplikasi tidak dapat mengirim semua data Anda melalui jaringan karena tidak memiliki akses ke sana. Tentu saja, aplikasi dapat melakukan satu hal dan melakukan hal lain sehingga jika pengguna memberikan akses ke layanan lokasi atau memberikan akses aplikasi ke gambar, maka aplikasi tersebut bisa jahat dengan data itu - tetapi di situlah peringkat / ulasan dan kebijakan keamanan App Store mulai berlaku. Jika aplikasi seperti ini dilaporkan, itu akan diselidiki. Jika sesuai, aplikasi akan dihapus dari toko, aplikasi akan dihapus dari perangkat mana pun di mana ia diinstal dan akses App Store pengembang akan dicabut.

T: Dapatkah dikatakan bahwa paket klik lebih aman daripada deb, tetapi kurang kuat karena lebih terbatas?

SEBUAH:Seperti dapat dilihat dari jawaban di atas, jawabannya tidak sesederhana itu. Klik dengan sendirinya dapat mengirimkan perangkat lunak yang dapat melakukan apa saja. Format kemasan klik sengaja untuk keperluan umum dan dapat digunakan dalam berbagai cara dan sama sekali tidak khusus untuk Ubuntu. Untuk Ubuntu, kombinasi kebijakan klik, API Ubuntu, AppArmor, dan App Store menyediakan lingkungan yang sangat kuat bagi pengembang untuk mengirimkan aplikasi kepada pengguna dengan cara yang aman dan mudah digunakan orang. Utilitas aplikasi itu sendiri tergantung pada API yang ditawarkan ke aplikasi oleh sistem yang mendasarinya. Set awal API yang akan ditawarkan pada ponsel pengiriman pertama Ubuntu akan memungkinkan pengembang untuk membuat semua jenis aplikasi yang menyenangkan dan bermanfaat menggunakan API dan SDK yang kaya.

jdstrand
sumber
1
"aplikasi akan dihapus dari perangkat mana pun di mana ia diinstal" - yang tampaknya memprihatinkan. Apakah ini berarti bahwa Canonical akan dapat menghapus aplikasi dari jarak jauh dari perangkat pengguna tanpa izin mereka?
Ubuntu App Store akan memiliki kemampuan ini. Menjalankan kemampuan ini kemungkinan hanya akan dilakukan ketika ada kode berbahaya yang terlibat. Saya tidak ingin mendikte kebijakan di sini karena ada sejumlah pertimbangan yang masih harus diperhatikan, tetapi intinya adalah ini seharusnya tidak boleh terjadi tanpa alasan yang sangat bagus.
jdstrand
2
Saya mengerti ini untuk keamanan pengguna (toko aplikasi lain juga melakukan ini), tetapi beberapa pengguna tidak suka "bunuh switch" semacam ini, karena ini berarti bahwa perusahaan dapat menghapus aplikasi dari jarak jauh (atau lebih), bahkan jika itu untuk alasan keamanan. Saya pikir para pengembang harus mempertimbangkan dengan hati-hati bagaimana menerapkan ini, untuk menghindari kontroversi. Mungkin menonaktifkan aplikasi alih-alih menghapusnya, memungkinkan pengguna untuk menghapus atau mengaktifkan kembali sendiri, dan menampilkan peringatan yang sangat menonjol ... sebagai saran.
Jika Klik mengemas dependensinya sendiri, bagaimana dengan pembaruan keamanan dependensi? Jika bash deb diperbarui semua paket lain menggunakan bash secara alami menggunakan versi baru. Namun jika bash paket aplikasi Click maka kecuali jika pengembang aplikasi berhati-hati untuk memasukkan bash diperbarui bug masih ada, dan dengan asumsi bahwa pengembang aplikasi sering memperbarui paket. Perhatikan ini dalam skenario ini bayangkan bahwa bash bukan paket dasar.
Hendy Irawan
Ini terdengar sangat keren! Bahkan lebih baik dari sistem android! Izin Android telah menjadi sesuatu seperti EULA, cukup klik "ya" tanpa membaca ...
Merlijn Sebrechts
2

Saya akan mencoba menjawab beberapa pertanyaan paling penting mengenai paket keamanan dan klik.

  • Dapatkah aplikasi mengirim semua data pribadi saya di jaringan dengan satu klik tanpa membiarkan saya mengetahuinya secara eksplisit?

    • Aplikasi klik akan berjalan di bawah kurungan. Artinya, aplikasi ini dicegah melakukan hal-hal buruk: ia hanya dapat mengakses direktori pribadinya sendiri.
  • Bisakah aplikasi diinstal dan kemudian memiliki hak root? tanpa kata sandi atau permintaan khusus?

    • ...
  • Apakah pengguna akan diminta untuk menerima hak aplikasi? kapan?

    • Aplikasi klik akan mengakses fitur yang memungkinkan pengguna untuk menggunakan aplikasi (NB: prompt belum pada rilis Ubuntu Touch saat ini / setiap hari) .
  • Apakah ini didasarkan pada sistem yang sama untuk klik dan deb?

    • Kemasan Debian (.deb) sama sekali berbeda. Namun, jika aplikasi Anda dibuat dengan Ubuntu SDK, Anda tidak perlu menggunakan kemasan Debian dan sebaliknya dapat menggunakan kemasan Klik, yang jauh lebih mudah digunakan dan jauh lebih aman bagi pengguna akhir.
  • Mirip seperti di atas, untuk membandingkan: Lakukan .apk (Android) dan klik berfungsi dengan cara yang sama?

    • Paket Android dan paket Klik Ubuntu akan bekerja dengan cara yang sama, di mana setiap aplikasi akan memiliki ruang sendiri untuk menyimpan data dan itu (idealnya) dilarang mengakses data aplikasi lain secara langsung. Saat ini, paket Android juga dapat membaca data dari kartu SD atau penyimpanan internal, di mana tidak ada batasan akses. Paket Ubuntu Click juga harus meminta izin untuk fitur tertentu.
  • Memang benar untuk mengatakan: paket klik kurang kuat (membatasi lebih banyak hal), tetapi lebih aman?

    • ...

Karena alasan ini, paket Klik sangat aman dan proses peninjauan untuk menerbitkannya jauh lebih sederhana.

Sumber:

cm-t
sumber
Silakan lengkapi jawaban ini karena menurut Anda ini yang terbaik
cm-t