Apakah paket ubuntu (file deb) hanya md5sum yang diamankan?

13

Latar Belakang Pengantar untuk pertanyaan di bawah ini ###

(jadi pertanyaannya lebih dapat digunakan oleh lebih banyak orang)
Di dalam paket gaya Ubuntu / debian (* .deb file) ada file bernama /DEBIAN/md5sumsyang memiliki isi formulir ini:

212ee8d0856605eb4546c3cff6aa6d35 usr / bin / file1
4131b66dc3913fcbf795159df912809f path / ke / file2
8c21de23b7c25c9d1a093607fc27656a path / ke / file3
jalur c6d010a475366e0644f3bf77d7f922fd / ke / tempat / dari / file4

Karena saya berasumsi file ini akan digunakan untuk memeriksa apakah file yang datang dengan paket itu belum rusak. Karena file tersebut disebut `/ DEBIAN / md5sums" Saya menganggap hexnumber sebelum path + nama file adalah MD5 Message-Digest Algorithm Hash dari file paket.

Sekarang semua orang yang tertarik tahu bahwa MD5 Hash sudah rusak sejak lama. Oleh karena itu sangat mungkin untuk mengubah konten file dalam paket (mis. Jahat) dan masih memiliki file yang memiliki MD5-Hash yang sama (lihat misalnya Buktikan konsep "Memprediksi pemenang ...." ).

Pertanyaan

Mengingat informasi di atas saya ingin tahu yang berikut:

** Dengan asumsi saya menginstal paket di sistem Ubuntu saya. Apakah satu DEBIAN/md5sums-satunya cara untuk memastikan data belum dirusak? **

Menjawab pertanyaan yang menurut saya bisa membantu untuk mencari tahu yang berikut:

  • Apakah paket deb secara keseluruhan juga di-hash (dibuat untuk Hashvalues) sehingga ada cara lain untuk membuat keamanan file yang diterima adalah "aman" / "tidak dicampuri"
  • Jika ada cara lain maka DEBIAN/md5sumsfile untuk memastikan integritas, apa file yang termasuk dalam paket *. Deb?
  • Apakah Ubuntu menggunakan hash untuk repositori / sistem paket yang "kurang rusak" daripada SHA-1 dan MD5?

yang sayangnya saya juga tidak tahu.

Setiap tanggapan yang dapat menjelaskan pertanyaan (atau bahkan hanya sebuah pertanyaan) sangat disambut

memperbarui

(1) https://help.ubuntu.com/community/Repositories/Ubuntu#Authentication_Tab tampaknya menunjukkan bahwa ada (seperti yang saya harapkan) beberapa kunci gpg publik / swasta sedang berlangsung (untuk menjaga repo dan sistem paket) aman dari serangan. Informasi di lokasi yang terhubung tidak terlalu banyak. Hampir tidak ada informasi tentang aspek keamanan dari sistem Paket. Bagaimanapun saya menganggap tautannya sudah menunjukkan bahwa jawaban untuk pertanyaan itu adalah "TIDAK - setidaknya paket deb dari repo - juga dijamin oleh ....". Semoga seseorang memiliki wawasan untuk digunakan untuk jawaban di sini.

(2) Pertanyaan ini tampaknya juga tentang topik "keamanan" dalam sistem paket Ubuntu. Jadi saya hanya menambahkannya di sini sehingga tangan iklannya jika seseorang berusaha untuk mencari tahu pertanyaan: Mengapa perbaikan BADSIG yang diusulkan (pada pembaruan apt-get) aman?

humanityANDpeace
sumber
1
debian.org/doc/debian-policy/… menunjukkan dukungan untuk SHA-1 dan SHA256 per-file checksum, namun saya tidak tahu apa aptitu kebijakan checksum.
chronitis
1
@ sinkitis, terima kasih atas tautannya. Memang hash SHA- * sudah ada di sana saya masih harus mencari tahu bagaimana mereka muncul dalam paket (yang saya belum melihat) atau sistem paket. Apakah Anda tahu lebih banyak? Indikasinya sudah merupakan langkah yang baik
humanityANDpeace

Jawaban:

21

Ubuntu menerbitkan manifes yang ditandatangani dengan kunci RSA. Manifes mencantumkan Packagesfile indeks individual , masing-masing dengan hash MD5, SHA-1 dan SHA-256. Setiap Packagesfile mencantumkan .debfile individual dengan hash MD5, SHA-1 dan SHA-256.

Untuk verifikasi, apt menggunakan hash terbaik yang didukungnya dan diterbitkan oleh arsip tempat ia mengunduh. Dalam hal arsip Ubuntu, ini adalah SHA-256.

Jadi seluruh rantai menginstal paket pada sistem Ubuntu Anda dilindungi oleh RSA dan SHA-256.

Perlindungan MD5 yang ada dalam dpkg benar-benar hanya berguna untuk korupsi yang tidak disengaja, dan tidak perlu untuk melindungi jalur instalasi.

Anda mungkin tertarik pada debsumspaket, tetapi karena menggunakan MD5, paket ini juga hanya berguna untuk memeriksa korupsi yang tidak disengaja.

Jika Anda ingin memeriksa modifikasi sistem berbahaya, maka ini bukan alat yang tepat untuk Anda. Anda harus menjadikan sistem offline dan memeriksa apakah ada catatan sebelumnya, file paket asli, atau hash aman yang dihasilkan dari ini.

Perhatikan bahwa karena modifikasi jahat yang berhasil mungkin hanya dengan menurunkan versi paket ke paket sebelum pembaruan keamanan, memeriksa bahwa semua file paket yang diinstal cocok dengan aslinya, mungkin juga tidak cukup.

Robie Basak
sumber
1
Saya telah mendapatkan beberapa wawasan yang lebih jelas. Dari mana Anda mendapatkan semua informasi ini, yang sulit saya temukan? Apakah Anda memiliki beberapa dokumen / tautan yang Anda gunakan? Saya juga menghargai penyebutan "bahaya penurunan peringkat" yang Anda sebutkan, jadi saya belum mengerti seberapa baik ini dapat dieksploitasi. Bagus! terima kasih
humanityANDpeace
Saya tidak percaya bahwa format repositori apt sudah ditentukan atau didokumentasikan dengan baik di mana saja. Ini buruk, tetapi memang begitulah adanya. Dokumentasi yang benar (dan hanya setahu saya) adalah sumbernya. Saya tahu detailnya karena saya sudah bekerja di sumbernya. Di sisi lain, format dpkg ditentukan dengan sangat baik dalam kebijakan Debian. Ini mencakup apa yang terjadi setelah paket berakhir pada sistem Anda, tetapi tidak bagaimana mereka sampai di sana. Bagian terakhir dilakukan oleh apt.
Robie Basak
Risiko downgrade: ini adalah samping dan tidak benar-benar terhubung langsung ke pertanyaan awal Anda. Jika exploit X ditemukan di versi A, Anda mendapatkan pembaruan keamanan ke versi B, di mana kerentanan diperbaiki. Jika seorang penyerang dapat mengeksploitasi X dalam versi A maka Anda aman, karena Anda meningkatkan ke B. Tetapi jika penyerang juga dapat menurunkan Anda ke A, maka Anda rentan lagi. Anda tidak akan melihat ini bahkan jika semua hash aman Anda cocok dengan paket yang telah Anda instal, karena basis data paket Anda akan mengatakan bahwa Anda seharusnya sudah menginstal A dan bukan B.
Robie Basak
2
@RobieBasak "Saya tidak percaya bahwa format repositori apt sudah ditentukan atau didokumentasikan dengan baik di mana saja." Jelas ini tidak benar. Anda hanya harus mencarinya. Debian Wiki: RepositoryFormat
gertvdijk
6

Saya ingin ini menjadi komentar, tetapi saya tidak bisa memasukkannya ke dalam kotak, jadi saya taruh di sini.

Ya, md5 telah rusak secara kriptologis, tetapi itu tidak berarti itu adalah algoritma hashing tujuan umum yang buruk. Memodifikasi file sehingga memiliki hash yang sama sangat sulit, dan melakukannya dengan perubahan berbahaya tertentu hampir tidak mungkin dilakukan. Dari melihat contoh yang Anda referensikan, ( Prediksi Pemenang ) lihat ini:

"Dokumen-dokumen pertama-tama disiapkan dengan hati-hati sebagai dokumen PDF yang valid, dengan objek gambar tersembunyi dimasukkan, mengandung jumlah bit acak yang cukup. Kemudian, menurut struktur berlian yang ditunjukkan di atas, sebelas tabrakan awalan yang dipilih dihitung, dan ditempatkan di dalam yang tersembunyi objek gambar tepat di tempat yang tepat. Dengan cara ini dua belas dokumen diubah menjadi multi-tabrakan MD5. "

Apa yang dilakukan adalah mengisi file dengan data acak untuk membuat hash cocok. Teknologi ini tidak mendekati mampu menambahkan kode berbahaya tertentu ke file dan memiliki hash berbaris tanpa memecahnya atau membuatnya jelas bahwa file telah diubah (saya tidak tahu apakah itu benar, tetapi banyak hash file yang disertai dengan ukuran file mereka untuk meningkatkan kesulitan tabrakan hash tidak terdeteksi).

jackweirdy
sumber
3
Terima kasih atas jawabannya. Saya pikir itu adalah jawaban yang baik, dalam arti bahwa itu memberikan lebih banyak cahaya ke seluruh latar belakang :) Sayangnya "Stack ... Ask Ubuntu" kadang-kadang sulit dengan "hanya menjawab pertanyaan" dan sangat bagus Anda mengambil keberanian untuk menguraikan topik tersebut.
humanityANDpeace
File PDF yang disiapkan memiliki data acak dan hanya 104kb dengan semua upaya ini. Mengapa Anda mengatakan ini tidak mungkin? Harus ada banyak file dalam paket deb menjadi> 200kb di mana harus dimungkinkan untuk melakukan hal seperti itu. Saya merasa tidak begitu aman setelah melihat bukti konsep, yang membuat saya kagum dan kaget
humanityANDpeace
Ada banyak tempat di file yang sah di mana perubahan halus tidak akan tampak aneh, misalnya perbedaan spasi putih kecil dalam file teks. Anda hanya perlu menemukan sekitar 128 tempat ini untuk memiliki cakupan yang cukup untuk membuat file jahat yang keduanya tampak sah dan juga cocok dengan MD5 target yang Anda inginkan. Saya tidak yakin apakah serangan khusus ini dapat diterapkan pada situasi ini.
Robie Basak
@RobieBasak, Anda salah paham tentang serangan itu. Anda tidak bisa langsung mengubah 128 byte dalam file dan menyimpan md5sum. Anda harus menyisipkan sepotong dari apa yang tampaknya menjadi dua set data acak ke dalam dua salinan file, dan mereka akan memiliki md5sum yang sama satu sama lain, meskipun fakta bahwa dua potongan data "acak" berbeda.
psusi
1

md5 tidak "rusak". Apa yang mereka temukan adalah cara untuk dengan hati-hati membuat pesan asli, dan pesan yang dimodifikasi yang memiliki hash yang sama. Tidak mungkin untuk mengambil pesan asli yang tidak dibuat khusus untuk tujuan merusak (file yang benar), dan memodifikasinya sedemikian rupa untuk mempertahankan md5sum-nya.

psusi
sumber
baik. Tapi apa cara yang baik untuk merujuk ke kondisi keamanan MD5 sekarang, jika tidak "rusak"? Saya bisa mengerti apa yang Anda katakan dan saya berterima kasih untuk menunjukkan itu. Saya masih bertanya-tanya bagaimana cara mengevaluasi keamanan saat ini dengan MD5 dll.
humanityANDpeace
@ humanityANDpeace, "baik-baik saja".
psusi
Saya suka sikap optimis. Saya masih kagum dengan bukti konsep afterall. Terima kasih!
humanityANDpeace
1
"Pakar Crypto menganggap MD5 rusak. Karena itu harus dianggap rusak." itu bukan cara dunia bekerja @RobieBasak Sebagai seorang entpuis kripto (tidak bisa menyebut diri saya seorang "ahli" tetapi saya harus menggali beberapa tahun yang lalu) saya sendiri tidak akan menyatakan MD5 rusak. Hanya bahwa ada kasus menarik yang patut dicoba tetapi tampaknya atm teoretis. Tapi itu tidak akan merusak kemasan Ubuntu;) Kembali ke 0 psusi;)
Rinzwind
1
@ Jackweirdy, sebenarnya, ada, dan itu sebabnya mereka tidak melakukan itu. Metode mereka bergantung pada kedua set data yang memiliki sifat yang sangat spesifik. Ini seperti keypair publik. Anda dapat membuat sepasang kunci yang cocok satu sama lain, tetapi hanya dengan memberikan satu, Anda tidak dapat menemukan yang lainnya.
psusi