Apakah saya harus membuat paket snap baru setiap kali ketergantungan mendapat pembaruan keamanan?

9

Jika saya membuat paket snap dengan katakanlah 5 dependensi. Apakah saya harus membuat versi paket baru setiap kali ketergantungan mendapat pembaruan (keamanan)?

Maksud saya keuntungan dari paket deb Dan karena mereka hanya mengirimkan pembaruan keamanan saya dapat (99%) yakin bahwa pembaruan perpustakaan tidak akan merusak API sehingga perangkat lunak saya bisa rusak.

Felix Haller
sumber

Jawaban:

7

Jawaban singkatnya adalah ya, Anda harus membangun kembali snap Anda jika Anda perlu memperbarui dependensi. Namun, ada jawaban yang lebih panjang di sini.

Katakanlah Anda memiliki beberapa aplikasi yang menggunakan SSL (bisa berupa perangkat lunak tertanam atau situs web lengkap menggunakan Apache). Anda melakukan riset dan menggunakan pertukaran kunci spesifik dan algoritma simetris. Sekarang katakanlah kerentanan keamanan ditemukan di SSL, dan versi baru dirilis. Hanya karena ini merupakan rilis keamanan tidak berarti kerentanan yang ditambal ada di salah satu algoritma yang Anda gunakan. Bagaimana jika tidak? Bagaimana jika, dengan menambal kerentanan itu dalam suatu algoritma yang tidak Anda gunakan, sesuatu yang Anda lakukanpenggunaan rusak atau terganggu (terjadi pada saya baru-baru ini dengan PHP)? Jika Anda menggabungkannya, Anda dapat menelepon apakah Anda perlu memutakhirkan berdasarkan penggunaan-per-penggunaan. Anda juga dapat mengujinya secara luas sebelum meluncurkannya ke semua pengguna Anda. Ada juga kemungkinan bahwa distribusi yang Anda targetkan memiliki versi SSL yang berbeda yang tidak berfungsi dengan perangkat lunak Anda, di mana menggabungkannya dengan cepat memberikan pengalaman umum di seluruh platform.

Jelas ada trade off antara manfaat berbagi dependensi dan manfaat menggabungkannya.

Kyle
sumber
1
Anda telah menjawab beberapa pertanyaan singkat baru-baru ini, dengan tingkat otoritas tertentu. Apakah kamu seorang dev? Jika tidak, dapatkah Anda menautkan ke sumber yang kredibel? Jika demikian, dapatkah Anda membuat beberapa sumber yang kredibel?
muru
1
(Selain itu: Jika saya harus mempercayai penilaian dan pemahaman setiap pengembang kode OpenSSL alih-alih, katakanlah, tim keamanan Canonical atau pengelola Debian yang telah menangani OpenSSL selama bertahun-tahun, pembicaraan mengenai snap security adalah beban omong kosong. )
muru
2
Jika Anda menginstal perangkat lunak dari pengembang, Anda mempercayai pengembang itu. Pertanyaan tentang bagaimana mereka menangani SSL adalah contoh yang baik - hanya memiliki versi perpustakaan yang ditambal tidak membantu Anda jika pengembang aplikasi tidak menggunakan perpustakaan dengan bijak. Ada banyak contoh aplikasi yang memiliki keamanan buruk karena pilihan algoritma yang buruk atau manajemen kunci atau pengecekan tanda tangan - tidak ada hubungannya dengan versi OpenSSL yang ditautkan. Adalah bijaksana untuk memahami ini - Anda tidak secara ajaib mendapatkan keamanan dengan mendapatkan pustaka yang lebih baru di sistem Anda.
Mark Shuttleworth
2
Sebaliknya, jika aplikasi IS terganggu, deb biasanya akan membiarkan penyerang pergi ke seluruh sistem, sementara snap tidak akan. Tidak ada sistem yang sempurna, tetapi masuk akal untuk mengatakan bahwa terkunci adalah perbaikan yang berguna dalam beberapa kasus.
Mark Shuttleworth
1
@MarkShuttleworth Saya mungkin percaya dev X untuk memberikan aplikasi yang layak dalam bahasa Y, tapi saya mungkin tidak percaya mereka untuk memahami apakah patch tertentu untuk OpenSSL dapat menyebabkan masalah bagi mereka, dan menurut saya, itulah yang dibutuhkan oleh mereka. Itu adalah tingkat perincian teknis yang menurut saya kebanyakan pengembang aplikasi tidak nyaman, itulah sebabnya mereka (dan pengguna) bergantung pada perpustakaan seperti OpenSSL dan distribusi seperti Ubuntu. Tentu saja, saya bukan siapa-siapa, jadi pendapat saya tidak masuk hitungan. (Juga, terkunci mungkin terbatas, itu tidak berarti mereka tidak menangani data pengguna, ...
muru